Merge branch 'master' into gnome-team
This commit is contained in:
		
						commit
						1cd97066c2
					
				
					 133 changed files with 41059 additions and 35613 deletions
				
			
		| 
						 | 
					@ -457,7 +457,7 @@ configuration file:
 | 
				
			||||||
          (group-n 3 (one-or-more digit))
 | 
					          (group-n 3 (one-or-more digit))
 | 
				
			||||||
          line-end))
 | 
					          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"))
 | 
					(setq debbugs-gnu-default-packages '("guix" "guix-patches"))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
;; Show feature requests.
 | 
					;; Show feature requests.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -77,6 +77,7 @@ manual}).
 | 
				
			||||||
* Packaging::                   Packaging tutorials
 | 
					* Packaging::                   Packaging tutorials
 | 
				
			||||||
* System Configuration::        Customizing the GNU System
 | 
					* System Configuration::        Customizing the GNU System
 | 
				
			||||||
* Containers::                  Isolated environments and nested systems
 | 
					* Containers::                  Isolated environments and nested systems
 | 
				
			||||||
 | 
					* Virtual Machines::            Virtual machines usage and configuration
 | 
				
			||||||
* Advanced package management::  Power to the users!
 | 
					* Advanced package management::  Power to the users!
 | 
				
			||||||
* Software Development::        Environments, continuous integration, etc.
 | 
					* Software Development::        Environments, continuous integration, etc.
 | 
				
			||||||
* Environment management::      Control environment
 | 
					* Environment management::      Control environment
 | 
				
			||||||
| 
						 | 
					@ -155,6 +156,11 @@ Guix System Containers
 | 
				
			||||||
* A Database Container::
 | 
					* A Database Container::
 | 
				
			||||||
* Container Networking::
 | 
					* Container Networking::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Virtual Machines
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Network bridge for QEMU::
 | 
				
			||||||
 | 
					* Routed network for libvirt::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Advanced package management
 | 
					Advanced package management
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Guix Profiles in Practice::   Strategies for multiple profiles and manifests.
 | 
					* Guix Profiles in Practice::   Strategies for multiple profiles and manifests.
 | 
				
			||||||
| 
						 | 
					@ -3702,6 +3708,236 @@ sudo ip netns del $ns
 | 
				
			||||||
sudo ip link del $host
 | 
					sudo ip link del $host
 | 
				
			||||||
@end example
 | 
					@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 *********************************************************************
 | 
					@c *********************************************************************
 | 
				
			||||||
@node Advanced package management
 | 
					@node Advanced package management
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										187
									
								
								doc/guix.texi
									
										
									
									
									
								
							
							
						
						
									
										187
									
								
								doc/guix.texi
									
										
									
									
									
								
							| 
						 | 
					@ -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
 | 
					@var{output} of @var{obj}---this is useful when @var{obj} produces
 | 
				
			||||||
multiple outputs (@pxref{Packages with Multiple Outputs}).
 | 
					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}
 | 
					@item #+@var{obj}
 | 
				
			||||||
@itemx #+@var{obj}:output
 | 
					@itemx #+@var{obj}:output
 | 
				
			||||||
@itemx (ungexp-native @var{obj})
 | 
					@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:
 | 
					following forms:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@example
 | 
					@example
 | 
				
			||||||
(@var{file-name} @var{package})
 | 
					(@var{file-name} @var{obj})
 | 
				
			||||||
(@var{file-name} @var{package} @var{output})
 | 
					(@var{file-name} @var{obj} @var{output})
 | 
				
			||||||
(@var{file-name} @var{derivation})
 | 
					(@var{file-name} @var{gexp-input})
 | 
				
			||||||
(@var{file-name} @var{derivation} @var{output})
 | 
					 | 
				
			||||||
(@var{file-name} @var{store-item})
 | 
					(@var{file-name} @var{store-item})
 | 
				
			||||||
@end example
 | 
					@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}.
 | 
					of Coreutils, regardless of the current value of @code{%current-system}.
 | 
				
			||||||
@end defmac
 | 
					@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
 | 
					Of course, in addition to gexps embedded in ``host'' code, there are
 | 
				
			||||||
also modules containing build tools.  To make it clear that they 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"})
 | 
					@item @code{home-directory} (default: @code{"/var/lib/laminar"})
 | 
				
			||||||
The directory for job configurations and run directories.
 | 
					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"})
 | 
					@item @code{bind-http} (default: @code{"*:8080"})
 | 
				
			||||||
The interface/port or unix socket on which laminard should listen for
 | 
					The interface/port or unix socket on which laminard should listen for
 | 
				
			||||||
incoming connections to the web frontend.
 | 
					incoming connections to the web frontend.
 | 
				
			||||||
| 
						 | 
					@ -35169,17 +35209,24 @@ services.
 | 
				
			||||||
@subsubheading Libvirt daemon
 | 
					@subsubheading Libvirt daemon
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@code{libvirtd} is the server side daemon component of the libvirt
 | 
					@code{libvirtd} is the server side daemon component of the libvirt
 | 
				
			||||||
virtualization management system.  This daemon runs on host servers
 | 
					virtualization management system.  This daemon runs on host servers and
 | 
				
			||||||
and performs required management tasks for virtualized guests.
 | 
					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
 | 
					@defvar libvirt-service-type
 | 
				
			||||||
This is the type of the @uref{https://libvirt.org, libvirt daemon}.
 | 
					This is the type of the @uref{https://libvirt.org, libvirt daemon}.
 | 
				
			||||||
Its value must be a @code{libvirt-configuration}.
 | 
					Its value must be a @code{libvirt-configuration}.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@lisp
 | 
					@lisp
 | 
				
			||||||
 | 
					(users (cons (user-account
 | 
				
			||||||
 | 
					              (name "user")
 | 
				
			||||||
 | 
					              (group "users")
 | 
				
			||||||
 | 
					              (supplementary-groups '("libvirt"
 | 
				
			||||||
 | 
					                                      "audio" "video" "wheel")))
 | 
				
			||||||
 | 
					             %base-user-accounts))
 | 
				
			||||||
(service libvirt-service-type
 | 
					(service libvirt-service-type
 | 
				
			||||||
         (libvirt-configuration
 | 
					         (libvirt-configuration
 | 
				
			||||||
          (unix-sock-group "libvirt")
 | 
					 | 
				
			||||||
          (tls-port "16555")))
 | 
					          (tls-port "16555")))
 | 
				
			||||||
@end lisp
 | 
					@end lisp
 | 
				
			||||||
@end defvar
 | 
					@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
 | 
					'trusted' set of users access to management capabilities without
 | 
				
			||||||
becoming root.
 | 
					becoming root.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Defaults to @samp{"root"}.
 | 
					Defaults to @samp{"libvirt"}.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@end deftypevr
 | 
					@end deftypevr
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -38761,58 +38808,6 @@ the coordinator database, and is used by the agent to authenticate.
 | 
				
			||||||
@end table
 | 
					@end table
 | 
				
			||||||
@end deftp
 | 
					@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
 | 
					@subsubheading Guix Data Service
 | 
				
			||||||
The @uref{http://data.guix.gnu.org,Guix Data Service} processes, stores
 | 
					The @uref{http://data.guix.gnu.org,Guix Data Service} processes, stores
 | 
				
			||||||
and provides data about GNU Guix.  This includes information about
 | 
					and provides data about GNU Guix.  This includes information about
 | 
				
			||||||
| 
						 | 
					@ -45119,6 +45114,7 @@ sound support.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@cindex PulseAudio, home service
 | 
					@cindex PulseAudio, home service
 | 
				
			||||||
@cindex RTP, for PulseAudio
 | 
					@cindex RTP, for PulseAudio
 | 
				
			||||||
 | 
					@subsubheading PulseAudio RTP Streaming Services
 | 
				
			||||||
 | 
					
 | 
				
			||||||
The following services dynamically reconfigure the
 | 
					The following services dynamically reconfigure the
 | 
				
			||||||
@uref{https://pulseaudio.org,PulseAudio sound server}: they let you
 | 
					@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.
 | 
					This is the multicast address used by default by the two services above.
 | 
				
			||||||
@end defvar
 | 
					@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
 | 
					@node Mail Home Services
 | 
				
			||||||
@subsection Mail Home Services
 | 
					@subsection Mail Home Services
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -477,7 +477,9 @@ asdf-build-system."
 | 
				
			||||||
        #:description
 | 
					        #:description
 | 
				
			||||||
        "Taking care about Icecat and Icedove, built from Mozilla Firefox
 | 
					        "Taking care about Icecat and Icedove, built from Mozilla Firefox
 | 
				
			||||||
and Thunderbird."
 | 
					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
 | 
					(define-team racket
 | 
				
			||||||
  (team 'racket
 | 
					  (team 'racket
 | 
				
			||||||
| 
						 | 
					@ -676,6 +678,10 @@ GLib/GIO, GTK, GStreamer and Webkit."
 | 
				
			||||||
                       "ekaitz@elenq.tech")
 | 
					                       "ekaitz@elenq.tech")
 | 
				
			||||||
  bootstrap zig)
 | 
					  bootstrap zig)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-member (person "Clément Lassieur"
 | 
				
			||||||
 | 
					                       "clement@lassieur.org")
 | 
				
			||||||
 | 
					  mozilla)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define (find-team name)
 | 
					(define (find-team name)
 | 
				
			||||||
  (or (hash-ref %teams (string->symbol name))
 | 
					  (or (hash-ref %teams (string->symbol name))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -5,6 +5,7 @@
 | 
				
			||||||
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 | 
					;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 | 
				
			||||||
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 | 
					;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 | 
				
			||||||
;;; Copyright © 2023 Efraim Flashner <efraim@flashner.co.il>
 | 
					;;; Copyright © 2023 Efraim Flashner <efraim@flashner.co.il>
 | 
				
			||||||
 | 
					;;; Copyright © 2023 Herman Rimm <herman_rimm@protonmail.com>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -37,6 +38,7 @@
 | 
				
			||||||
            u-boot-mx6cuboxi-bootloader
 | 
					            u-boot-mx6cuboxi-bootloader
 | 
				
			||||||
            u-boot-nintendo-nes-classic-edition-bootloader
 | 
					            u-boot-nintendo-nes-classic-edition-bootloader
 | 
				
			||||||
            u-boot-novena-bootloader
 | 
					            u-boot-novena-bootloader
 | 
				
			||||||
 | 
					            u-boot-orangepi-r1-plus-lts-rk3328-bootloader
 | 
				
			||||||
            u-boot-pine64-plus-bootloader
 | 
					            u-boot-pine64-plus-bootloader
 | 
				
			||||||
            u-boot-pine64-lts-bootloader
 | 
					            u-boot-pine64-lts-bootloader
 | 
				
			||||||
            u-boot-pinebook-bootloader
 | 
					            u-boot-pinebook-bootloader
 | 
				
			||||||
| 
						 | 
					@ -93,6 +95,15 @@
 | 
				
			||||||
        (write-file-on-device u-boot (stat:size (stat u-boot))
 | 
					        (write-file-on-device u-boot (stat:size (stat u-boot))
 | 
				
			||||||
                              image (* 69 1024)))))
 | 
					                              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
 | 
					(define install-puma-rk3399-u-boot
 | 
				
			||||||
  #~(lambda (bootloader root-index image)
 | 
					  #~(lambda (bootloader root-index image)
 | 
				
			||||||
      (let ((spl (string-append bootloader "/libexec/idbloader.img"))
 | 
					      (let ((spl (string-append bootloader "/libexec/idbloader.img"))
 | 
				
			||||||
| 
						 | 
					@ -233,6 +244,12 @@
 | 
				
			||||||
   (inherit u-boot-imx-bootloader)
 | 
					   (inherit u-boot-imx-bootloader)
 | 
				
			||||||
   (package u-boot-novena)))
 | 
					   (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
 | 
					(define u-boot-pine64-plus-bootloader
 | 
				
			||||||
  (bootloader
 | 
					  (bootloader
 | 
				
			||||||
   (inherit u-boot-allwinner64-bootloader)
 | 
					   (inherit u-boot-allwinner64-bootloader)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -120,12 +120,7 @@ format."
 | 
				
			||||||
when installed, will make the extension contained in PKG available as a
 | 
					when installed, will make the extension contained in PKG available as a
 | 
				
			||||||
Chromium browser extension.  PKG-OUTPUT specifies which output of PKG to use."
 | 
					Chromium browser extension.  PKG-OUTPUT specifies which output of PKG to use."
 | 
				
			||||||
  (let* ((name (package-name pkg))
 | 
					  (let* ((name (package-name pkg))
 | 
				
			||||||
         (version (package-version 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)))
 | 
					 | 
				
			||||||
    (package
 | 
					    (package
 | 
				
			||||||
      (inherit pkg)
 | 
					      (inherit pkg)
 | 
				
			||||||
      (name (string-append name "-chromium"))
 | 
					      (name (string-append name "-chromium"))
 | 
				
			||||||
| 
						 | 
					@ -138,6 +133,12 @@ Chromium browser extension.  PKG-OUTPUT specifies which output of PKG to use."
 | 
				
			||||||
      (arguments
 | 
					      (arguments
 | 
				
			||||||
       (list #:modules '((guix build utils))
 | 
					       (list #:modules '((guix build utils))
 | 
				
			||||||
             #:builder
 | 
					             #:builder
 | 
				
			||||||
 | 
					             (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
 | 
					               #~(begin
 | 
				
			||||||
                   (use-modules (guix build utils))
 | 
					                   (use-modules (guix build utils))
 | 
				
			||||||
                   (define (base16-char->chromium-base16 char)
 | 
					                   (define (base16-char->chromium-base16 char)
 | 
				
			||||||
| 
						 | 
					@ -152,4 +153,4 @@ Chromium browser extension.  PKG-OUTPUT specifies which output of PKG to use."
 | 
				
			||||||
                                         "/share/chromium/extensions")))
 | 
					                                         "/share/chromium/extensions")))
 | 
				
			||||||
                     (mkdir-p extension-directory)
 | 
					                     (mkdir-p extension-directory)
 | 
				
			||||||
                     (symlink #$json (string-append extension-directory "/"
 | 
					                     (symlink #$json (string-append extension-directory "/"
 | 
				
			||||||
                                                  file-name ".json")))))))))
 | 
					                                                    file-name ".json"))))))))))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -33,7 +33,6 @@
 | 
				
			||||||
                                 %precious-signals)
 | 
					                                 %precious-signals)
 | 
				
			||||||
  #:autoload (shepherd system) (unblock-signals)
 | 
					  #:autoload (shepherd system) (unblock-signals)
 | 
				
			||||||
  #:export (default-mounts
 | 
					  #:export (default-mounts
 | 
				
			||||||
            make-forkexec-constructor/container
 | 
					 | 
				
			||||||
            fork+exec-command/container))
 | 
					            fork+exec-command/container))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
;;; Commentary:
 | 
					;;; Commentary:
 | 
				
			||||||
| 
						 | 
					@ -101,27 +100,6 @@
 | 
				
			||||||
                           (file-exists? (file-system-mapping-source mapping)))
 | 
					                           (file-exists? (file-system-mapping-source mapping)))
 | 
				
			||||||
                         mappings)))))
 | 
					                         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
 | 
					(define* (exec-command* command #:key user group log-file pid-file
 | 
				
			||||||
                        (supplementary-groups '())
 | 
					                        (supplementary-groups '())
 | 
				
			||||||
                        (directory "/") (environment-variables (environ)))
 | 
					                        (directory "/") (environment-variables (environ)))
 | 
				
			||||||
| 
						 | 
					@ -144,74 +122,6 @@ shepherd (PID 1)."
 | 
				
			||||||
                #:directory directory
 | 
					                #:directory directory
 | 
				
			||||||
                #:environment-variables environment-variables))
 | 
					                #: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
 | 
					(define* (fork+exec-command/container command
 | 
				
			||||||
                                      #:key pid
 | 
					                                      #:key pid
 | 
				
			||||||
                                      #:allow-other-keys
 | 
					                                      #:allow-other-keys
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,6 @@
 | 
				
			||||||
;;; GNU Guix --- Functional package management for GNU
 | 
					;;; GNU Guix --- Functional package management for GNU
 | 
				
			||||||
;;; Copyright © 2023 Ludovic Courtès <ludo@gnu.org>
 | 
					;;; Copyright © 2023 Ludovic Courtès <ludo@gnu.org>
 | 
				
			||||||
 | 
					;;; Copyright © 2023 Brian Cully <bjc@spork.org>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -19,13 +20,112 @@
 | 
				
			||||||
(define-module (gnu home services sound)
 | 
					(define-module (gnu home services sound)
 | 
				
			||||||
  #:use-module (gnu home services)
 | 
					  #:use-module (gnu home services)
 | 
				
			||||||
  #:use-module (gnu home services shepherd)
 | 
					  #: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 records)
 | 
				
			||||||
  #:use-module (guix gexp)
 | 
					  #:use-module (guix gexp)
 | 
				
			||||||
  #:use-module (srfi srfi-1)
 | 
					  #:use-module (srfi srfi-1)
 | 
				
			||||||
  #:use-module (ice-9 match)
 | 
					  #:use-module (ice-9 match)
 | 
				
			||||||
  #:export (home-pulseaudio-rtp-sink-service-type
 | 
					  #:export (home-pulseaudio-rtp-sink-service-type
 | 
				
			||||||
            home-pulseaudio-rtp-source-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))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -45,10 +45,10 @@
 | 
				
			||||||
  #:autoload   (gnu packages gnupg) (guile-gcrypt)
 | 
					  #:autoload   (gnu packages gnupg) (guile-gcrypt)
 | 
				
			||||||
  #:use-module (gnu packages iso-codes)
 | 
					  #:use-module (gnu packages iso-codes)
 | 
				
			||||||
  #:use-module (gnu packages linux)
 | 
					  #:use-module (gnu packages linux)
 | 
				
			||||||
  #:use-module (gnu packages nano)
 | 
					 | 
				
			||||||
  #:use-module (gnu packages ncurses)
 | 
					  #:use-module (gnu packages ncurses)
 | 
				
			||||||
  #:use-module (gnu packages package-management)
 | 
					  #:use-module (gnu packages package-management)
 | 
				
			||||||
  #:use-module (gnu packages pciutils)
 | 
					  #:use-module (gnu packages pciutils)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages text-editors)
 | 
				
			||||||
  #:use-module (gnu packages tls)
 | 
					  #:use-module (gnu packages tls)
 | 
				
			||||||
  #:use-module (gnu packages xorg)
 | 
					  #:use-module (gnu packages xorg)
 | 
				
			||||||
  #:use-module (gnu system locale)
 | 
					  #:use-module (gnu system locale)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										16
									
								
								gnu/local.mk
									
										
									
									
									
								
							
							
						
						
									
										16
									
								
								gnu/local.mk
									
										
									
									
									
								
							| 
						 | 
					@ -62,6 +62,7 @@
 | 
				
			||||||
# Copyright © 2023 B. Wilson <elaexuotee@wilsonb.com>
 | 
					# Copyright © 2023 B. Wilson <elaexuotee@wilsonb.com>
 | 
				
			||||||
# Copyright © 2023 Bruno Victal <mirai@makinata.eu>
 | 
					# Copyright © 2023 Bruno Victal <mirai@makinata.eu>
 | 
				
			||||||
# Copyright © 2023 gemmaro <gemmaro.dev@gmail.com>
 | 
					# Copyright © 2023 gemmaro <gemmaro.dev@gmail.com>
 | 
				
			||||||
 | 
					# Copyright © 2023 Herman Rimm <herman@rimm.ee>
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# This file is part of GNU Guix.
 | 
					# This file is part of GNU Guix.
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
| 
						 | 
					@ -240,7 +241,6 @@ GNU_SYSTEM_MODULES =				\
 | 
				
			||||||
  %D%/packages/dvtm.scm				\
 | 
					  %D%/packages/dvtm.scm				\
 | 
				
			||||||
  %D%/packages/easyrpg.scm			\
 | 
					  %D%/packages/easyrpg.scm			\
 | 
				
			||||||
  %D%/packages/ebook.scm			\
 | 
					  %D%/packages/ebook.scm			\
 | 
				
			||||||
  %D%/packages/ed.scm				\
 | 
					 | 
				
			||||||
  %D%/packages/education.scm			\
 | 
					  %D%/packages/education.scm			\
 | 
				
			||||||
  %D%/packages/efi.scm				\
 | 
					  %D%/packages/efi.scm				\
 | 
				
			||||||
  %D%/packages/electronics.scm			\
 | 
					  %D%/packages/electronics.scm			\
 | 
				
			||||||
| 
						 | 
					@ -456,7 +456,6 @@ GNU_SYSTEM_MODULES =				\
 | 
				
			||||||
  %D%/packages/musl.scm				\
 | 
					  %D%/packages/musl.scm				\
 | 
				
			||||||
  %D%/packages/mtools.scm			\
 | 
					  %D%/packages/mtools.scm			\
 | 
				
			||||||
  %D%/packages/myrddin.scm			\
 | 
					  %D%/packages/myrddin.scm			\
 | 
				
			||||||
  %D%/packages/nano.scm				\
 | 
					 | 
				
			||||||
  %D%/packages/ncdu.scm				\
 | 
					  %D%/packages/ncdu.scm				\
 | 
				
			||||||
  %D%/packages/ncurses.scm			\
 | 
					  %D%/packages/ncurses.scm			\
 | 
				
			||||||
  %D%/packages/netpbm.scm			\
 | 
					  %D%/packages/netpbm.scm			\
 | 
				
			||||||
| 
						 | 
					@ -753,6 +752,7 @@ GNU_SYSTEM_MODULES =				\
 | 
				
			||||||
						\
 | 
											\
 | 
				
			||||||
  %D%/system/images/hurd.scm			\
 | 
					  %D%/system/images/hurd.scm			\
 | 
				
			||||||
  %D%/system/images/novena.scm			\
 | 
					  %D%/system/images/novena.scm			\
 | 
				
			||||||
 | 
					  %D%/system/images/orangepi-r1-plus-lts-rk3328.scm	\
 | 
				
			||||||
  %D%/system/images/pine64.scm			\
 | 
					  %D%/system/images/pine64.scm			\
 | 
				
			||||||
  %D%/system/images/pinebook-pro.scm		\
 | 
					  %D%/system/images/pinebook-pro.scm		\
 | 
				
			||||||
  %D%/system/images/rock64.scm			\
 | 
					  %D%/system/images/rock64.scm			\
 | 
				
			||||||
| 
						 | 
					@ -1071,6 +1071,7 @@ dist_patch_DATA =						\
 | 
				
			||||||
  %D%/packages/patches/cursynth-wave-rand.patch			\
 | 
					  %D%/packages/patches/cursynth-wave-rand.patch			\
 | 
				
			||||||
  %D%/packages/patches/cvs-CVE-2017-12836.patch		\
 | 
					  %D%/packages/patches/cvs-CVE-2017-12836.patch		\
 | 
				
			||||||
  %D%/packages/patches/d-feet-drop-unused-meson-argument.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/date-output-pkg-config-files.patch	\
 | 
				
			||||||
  %D%/packages/patches/datefudge-gettimeofday.patch		\
 | 
					  %D%/packages/patches/datefudge-gettimeofday.patch		\
 | 
				
			||||||
  %D%/packages/patches/dbacl-include-locale.h.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/online-judge-tools.patch		\
 | 
				
			||||||
  %D%/packages/patches/onnx-optimizer-system-library.patch	\
 | 
					  %D%/packages/patches/onnx-optimizer-system-library.patch	\
 | 
				
			||||||
  %D%/packages/patches/onnx-use-system-googletest.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-shared-libraries.patch	\
 | 
				
			||||||
  %D%/packages/patches/onnx-skip-model-downloads.patch		\
 | 
					  %D%/packages/patches/onnx-skip-model-downloads.patch		\
 | 
				
			||||||
  %D%/packages/patches/openbios-aarch64-riscv64-support.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-random2-getrandbits-test.patch		\
 | 
				
			||||||
  %D%/packages/patches/python-poppler-qt5-fix-build.patch	\
 | 
					  %D%/packages/patches/python-poppler-qt5-fix-build.patch	\
 | 
				
			||||||
  %D%/packages/patches/python-pypdf-annotate-tests-appropriately.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-sip-include-dirs.patch	\
 | 
				
			||||||
  %D%/packages/patches/python-sgmllib3k-assertions.patch	\
 | 
					  %D%/packages/patches/python-sgmllib3k-assertions.patch	\
 | 
				
			||||||
  %D%/packages/patches/python-sphinx-prompt-docutils-0.19.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/shakespeare-spl-fix-grammar.patch		\
 | 
				
			||||||
  %D%/packages/patches/shared-mime-info-xdgmime-path.patch	\
 | 
					  %D%/packages/patches/shared-mime-info-xdgmime-path.patch	\
 | 
				
			||||||
  %D%/packages/patches/sharutils-CVE-2018-1000097.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-config.patch			\
 | 
				
			||||||
  %D%/packages/patches/slim-sigusr1.patch			\
 | 
					 | 
				
			||||||
  %D%/packages/patches/slim-reset.patch				\
 | 
					 | 
				
			||||||
  %D%/packages/patches/slim-login.patch				\
 | 
					  %D%/packages/patches/slim-login.patch				\
 | 
				
			||||||
  %D%/packages/patches/slim-display.patch			\
 | 
					  %D%/packages/patches/slim-display.patch			\
 | 
				
			||||||
  %D%/packages/patches/stex-copy-from-immutable-store.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/tofi-32bit-compat.patch			\
 | 
				
			||||||
  %D%/packages/patches/tpetra-remove-duplicate-using.patch	\
 | 
					  %D%/packages/patches/tpetra-remove-duplicate-using.patch	\
 | 
				
			||||||
  %D%/packages/patches/transcode-ffmpeg.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-egg-modules-to-path.patch	\
 | 
				
			||||||
  %D%/packages/patches/trytond-add-guix_trytond_path.patch	\
 | 
					  %D%/packages/patches/trytond-add-guix_trytond_path.patch	\
 | 
				
			||||||
  %D%/packages/patches/ttf2eot-cstddef.patch			\
 | 
					  %D%/packages/patches/ttf2eot-cstddef.patch			\
 | 
				
			||||||
| 
						 | 
					@ -2078,13 +2079,9 @@ dist_patch_DATA =						\
 | 
				
			||||||
  %D%/packages/patches/tuxpaint-stamps-path.patch		\
 | 
					  %D%/packages/patches/tuxpaint-stamps-path.patch		\
 | 
				
			||||||
  %D%/packages/patches/twinkle-bcg729.patch			\
 | 
					  %D%/packages/patches/twinkle-bcg729.patch			\
 | 
				
			||||||
  %D%/packages/patches/u-boot-allow-disabling-openssl.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-nintendo-nes-serial.patch		\
 | 
				
			||||||
  %D%/packages/patches/u-boot-patman-change-id.patch	\
 | 
					  %D%/packages/patches/u-boot-patman-change-id.patch	\
 | 
				
			||||||
  %D%/packages/patches/u-boot-rockchip-inno-usb.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/ucx-tcp-iface-ioctl.patch		\
 | 
				
			||||||
  %D%/packages/patches/ultrastar-deluxe-no-freesans.patch		\
 | 
					  %D%/packages/patches/ultrastar-deluxe-no-freesans.patch		\
 | 
				
			||||||
  %D%/packages/patches/ungoogled-chromium-extension-search-path.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/xgboost-use-system-dmlc-core.patch       \
 | 
				
			||||||
  %D%/packages/patches/xmonad-dynamic-linking.patch		\
 | 
					  %D%/packages/patches/xmonad-dynamic-linking.patch		\
 | 
				
			||||||
  %D%/packages/patches/xnnpack-system-libraries.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-cxx11-eof.patch		\
 | 
				
			||||||
  %D%/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch	\
 | 
					  %D%/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch	\
 | 
				
			||||||
  %D%/packages/patches/xplanet-1.3.1-libimage_gif.c.patch	\
 | 
					  %D%/packages/patches/xplanet-1.3.1-libimage_gif.c.patch	\
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -407,7 +407,7 @@ interface and is based on GNU Guile.")
 | 
				
			||||||
(define-public swineherd
 | 
					(define-public swineherd
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "swineherd")
 | 
					    (name "swineherd")
 | 
				
			||||||
    (version "0.0.3")
 | 
					    (version "0.0.4")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method git-fetch)
 | 
					              (method git-fetch)
 | 
				
			||||||
              (uri (git-reference
 | 
					              (uri (git-reference
 | 
				
			||||||
| 
						 | 
					@ -416,7 +416,7 @@ interface and is based on GNU Guile.")
 | 
				
			||||||
              (file-name (git-file-name name version))
 | 
					              (file-name (git-file-name name version))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0il1ikaj478n7xs4vqgawbshvmwq3nd0gp235mwqvmf4knra6j3g"))))
 | 
					                "0iij1pl0y410k1dk1ifa56dxmjb1blv0y3k5rxy794gwg6w6c480"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     '(#:configure-flags '("--localstatedir=/var")
 | 
					     '(#:configure-flags '("--localstatedir=/var")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -41,7 +41,6 @@
 | 
				
			||||||
  #:use-module (gnu packages compression)
 | 
					  #:use-module (gnu packages compression)
 | 
				
			||||||
  #:use-module (gnu packages cpp)
 | 
					  #:use-module (gnu packages cpp)
 | 
				
			||||||
  #:use-module (gnu packages documentation)
 | 
					  #:use-module (gnu packages documentation)
 | 
				
			||||||
  #:use-module (gnu packages ed)
 | 
					 | 
				
			||||||
  #:use-module (gnu packages flex)
 | 
					  #:use-module (gnu packages flex)
 | 
				
			||||||
  #:use-module (gnu packages fltk)
 | 
					  #:use-module (gnu packages fltk)
 | 
				
			||||||
  #:use-module (gnu packages gcc)
 | 
					  #:use-module (gnu packages gcc)
 | 
				
			||||||
| 
						 | 
					@ -63,6 +62,7 @@
 | 
				
			||||||
  #:use-module (gnu packages shells)
 | 
					  #:use-module (gnu packages shells)
 | 
				
			||||||
  #:use-module (gnu packages tex)
 | 
					  #:use-module (gnu packages tex)
 | 
				
			||||||
  #:use-module (gnu packages texinfo)
 | 
					  #:use-module (gnu packages texinfo)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages text-editors)
 | 
				
			||||||
  #:use-module (gnu packages xiph)
 | 
					  #:use-module (gnu packages xiph)
 | 
				
			||||||
  #:use-module (gnu packages xml)
 | 
					  #:use-module (gnu packages xml)
 | 
				
			||||||
  #:use-module (gnu packages xorg)
 | 
					  #:use-module (gnu packages xorg)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -320,9 +320,9 @@ runtime.")
 | 
				
			||||||
                            (toolchain (assoc-ref inputs "cross-toolchain"))
 | 
					                            (toolchain (assoc-ref inputs "cross-toolchain"))
 | 
				
			||||||
                            (includes  (string-append
 | 
					                            (includes  (string-append
 | 
				
			||||||
                                        toolchain
 | 
					                                        toolchain
 | 
				
			||||||
                                        "/arm-none-eabi/include:"
 | 
					                                        "/arm-none-eabi/include/c++:"
 | 
				
			||||||
                                        toolchain
 | 
					                                        toolchain
 | 
				
			||||||
                                        "/arm-none-eabi/include/arm-none-eabi/armv7e-m")))
 | 
					                                        "/arm-none-eabi/include/c++/arm-none-eabi/armv7e-m")))
 | 
				
			||||||
                       (display
 | 
					                       (display
 | 
				
			||||||
                        (string-append "#!" (which "sh") "\n"
 | 
					                        (string-append "#!" (which "sh") "\n"
 | 
				
			||||||
                                       "export CROSS_CPATH=" includes "\n"
 | 
					                                       "export CROSS_CPATH=" includes "\n"
 | 
				
			||||||
| 
						 | 
					@ -333,8 +333,7 @@ runtime.")
 | 
				
			||||||
                                       " -Daxoloti_release=" runtime
 | 
					                                       " -Daxoloti_release=" runtime
 | 
				
			||||||
                                       " -Daxoloti_runtime=" runtime
 | 
					                                       " -Daxoloti_runtime=" runtime
 | 
				
			||||||
                                       " -jar " dir "/Axoloti.jar")))))
 | 
					                                       " -jar " dir "/Axoloti.jar")))))
 | 
				
			||||||
                 (chmod target #o555))
 | 
					                 (chmod target #o555)))))
 | 
				
			||||||
               #t)))
 | 
					 | 
				
			||||||
         (add-after 'install 'strip-jar-timestamps
 | 
					         (add-after 'install 'strip-jar-timestamps
 | 
				
			||||||
           (assoc-ref ant:%standard-phases 'strip-jar-timestamps)))))
 | 
					           (assoc-ref ant:%standard-phases 'strip-jar-timestamps)))))
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -48,7 +48,6 @@
 | 
				
			||||||
  #:use-module (gnu packages attr)
 | 
					  #:use-module (gnu packages attr)
 | 
				
			||||||
  #:use-module (gnu packages bash)
 | 
					  #:use-module (gnu packages bash)
 | 
				
			||||||
  #:use-module (gnu packages bison)
 | 
					  #:use-module (gnu packages bison)
 | 
				
			||||||
  #:use-module (gnu packages ed)
 | 
					 | 
				
			||||||
  #:use-module (gnu packages gcc)
 | 
					  #:use-module (gnu packages gcc)
 | 
				
			||||||
  #:use-module (gnu packages guile)
 | 
					  #:use-module (gnu packages guile)
 | 
				
			||||||
  #:use-module (gnu packages multiprecision)
 | 
					  #:use-module (gnu packages multiprecision)
 | 
				
			||||||
| 
						 | 
					@ -57,6 +56,7 @@
 | 
				
			||||||
  #:use-module (gnu packages linux)
 | 
					  #:use-module (gnu packages linux)
 | 
				
			||||||
  #:use-module (gnu packages pcre)
 | 
					  #:use-module (gnu packages pcre)
 | 
				
			||||||
  #:use-module (gnu packages texinfo)
 | 
					  #:use-module (gnu packages texinfo)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages text-editors)
 | 
				
			||||||
  #:use-module (gnu packages hurd)
 | 
					  #:use-module (gnu packages hurd)
 | 
				
			||||||
  #:use-module (gnu packages pkg-config)
 | 
					  #:use-module (gnu packages pkg-config)
 | 
				
			||||||
  #:use-module (gnu packages python)
 | 
					  #:use-module (gnu packages python)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -7611,13 +7611,13 @@ genomic intervals.  In addition, it can use BAM or BigWig files as input.")
 | 
				
			||||||
(define-public r-genomeinfodb
 | 
					(define-public r-genomeinfodb
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "r-genomeinfodb")
 | 
					    (name "r-genomeinfodb")
 | 
				
			||||||
    (version "1.38.2")
 | 
					    (version "1.38.5")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (bioconductor-uri "GenomeInfoDb" version))
 | 
					              (uri (bioconductor-uri "GenomeInfoDb" version))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "07xncxak8yjy04m7zh779jfjbsdmdbk8a5xs4rbajx4zp3hm4wb7"))))
 | 
					                "17w5zrvpk2x0sc55xfkbn9krphg4aszmvwmj1qfsf1bdrazfpwic"))))
 | 
				
			||||||
    (properties
 | 
					    (properties
 | 
				
			||||||
     `((upstream-name . "GenomeInfoDb")))
 | 
					     `((upstream-name . "GenomeInfoDb")))
 | 
				
			||||||
    (build-system r-build-system)
 | 
					    (build-system r-build-system)
 | 
				
			||||||
| 
						 | 
					@ -13085,14 +13085,14 @@ samples.")
 | 
				
			||||||
(define-public r-biocneighbors
 | 
					(define-public r-biocneighbors
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "r-biocneighbors")
 | 
					    (name "r-biocneighbors")
 | 
				
			||||||
    (version "1.20.0")
 | 
					    (version "1.20.1")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (bioconductor-uri "BiocNeighbors" version))
 | 
					       (uri (bioconductor-uri "BiocNeighbors" version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "0a5wg099fgwjbzd6r3mr4l02rcmjqlkdcz1w97qzwx1mir41fmas"))))
 | 
					         "0w7hd6w0lmj1jaaq9zd5gwnnpkzcr0byqm5q584wjg4xgvsb981j"))))
 | 
				
			||||||
    (properties `((upstream-name . "BiocNeighbors")))
 | 
					    (properties `((upstream-name . "BiocNeighbors")))
 | 
				
			||||||
    (build-system r-build-system)
 | 
					    (build-system r-build-system)
 | 
				
			||||||
    (propagated-inputs
 | 
					    (propagated-inputs
 | 
				
			||||||
| 
						 | 
					@ -13242,14 +13242,14 @@ data.")
 | 
				
			||||||
(define-public r-metapod
 | 
					(define-public r-metapod
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "r-metapod")
 | 
					    (name "r-metapod")
 | 
				
			||||||
    (version "1.10.0")
 | 
					    (version "1.10.1")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (bioconductor-uri "metapod" version))
 | 
					       (uri (bioconductor-uri "metapod" version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "1nhxwj6gwc3hqji7icp1q6n0hj1gnvv1y5zhd2myhm7kj3sic2qc"))))
 | 
					         "05cy3xvj78n2p9l2pxfys7aczr51gm2ywprn4qmzr7ppb6rq5f66"))))
 | 
				
			||||||
    (properties `((upstream-name . "metapod")))
 | 
					    (properties `((upstream-name . "metapod")))
 | 
				
			||||||
    (build-system r-build-system)
 | 
					    (build-system r-build-system)
 | 
				
			||||||
    (propagated-inputs
 | 
					    (propagated-inputs
 | 
				
			||||||
| 
						 | 
					@ -13728,14 +13728,14 @@ multiplication and calculation of row/column sums or means.")
 | 
				
			||||||
(define-public r-batchelor
 | 
					(define-public r-batchelor
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "r-batchelor")
 | 
					    (name "r-batchelor")
 | 
				
			||||||
    (version "1.18.0")
 | 
					    (version "1.18.1")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (bioconductor-uri "batchelor" version))
 | 
					       (uri (bioconductor-uri "batchelor" version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "1d5zik3bhz26ky2kpxd9kdzs9ff696qqys5gl8qwmmp8qym520l2"))))
 | 
					         "1z4ddkdd3mzqg0c6l94qmrdwrm7427k5xiwzgkzx43gh1j4911d5"))))
 | 
				
			||||||
    (properties `((upstream-name . "batchelor")))
 | 
					    (properties `((upstream-name . "batchelor")))
 | 
				
			||||||
    (build-system r-build-system)
 | 
					    (build-system r-build-system)
 | 
				
			||||||
    (propagated-inputs
 | 
					    (propagated-inputs
 | 
				
			||||||
| 
						 | 
					@ -15821,14 +15821,14 @@ type and symbol colors.")
 | 
				
			||||||
(define-public r-genomicscores
 | 
					(define-public r-genomicscores
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "r-genomicscores")
 | 
					    (name "r-genomicscores")
 | 
				
			||||||
    (version "2.14.2")
 | 
					    (version "2.14.3")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (bioconductor-uri "GenomicScores" version))
 | 
					       (uri (bioconductor-uri "GenomicScores" version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "1wjq6lb2x7vazlr838hlh1ar5pis2bgzya9lm8ki30d1m0hpk66k"))))
 | 
					         "0rhyfbm5whz4jygar9cqcrfy92h1lyam5wd8d9svhh80f15v53m9"))))
 | 
				
			||||||
    (properties `((upstream-name . "GenomicScores")))
 | 
					    (properties `((upstream-name . "GenomicScores")))
 | 
				
			||||||
    (build-system r-build-system)
 | 
					    (build-system r-build-system)
 | 
				
			||||||
    (propagated-inputs
 | 
					    (propagated-inputs
 | 
				
			||||||
| 
						 | 
					@ -21332,13 +21332,13 @@ variable and significantly correlated genes.")
 | 
				
			||||||
(define-public r-sparsearray
 | 
					(define-public r-sparsearray
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "r-sparsearray")
 | 
					    (name "r-sparsearray")
 | 
				
			||||||
    (version "1.2.2")
 | 
					    (version "1.2.3")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (bioconductor-uri "SparseArray" version))
 | 
					       (uri (bioconductor-uri "SparseArray" version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "1kjs3v2ycpcc0plr88af1661ngmclmalkiy6am7i4m75cpa3889p"))))
 | 
					        (base32 "19cy1nmmi65fxh012ymgp1kg112yl1m0khcs4y034p5iwlfv7fp6"))))
 | 
				
			||||||
    (properties `((upstream-name . "SparseArray")))
 | 
					    (properties `((upstream-name . "SparseArray")))
 | 
				
			||||||
    (build-system r-build-system)
 | 
					    (build-system r-build-system)
 | 
				
			||||||
    (propagated-inputs (list r-biocgenerics
 | 
					    (propagated-inputs (list r-biocgenerics
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -161,6 +161,7 @@
 | 
				
			||||||
  #:use-module (gnu packages time)
 | 
					  #:use-module (gnu packages time)
 | 
				
			||||||
  #:use-module (gnu packages tls)
 | 
					  #:use-module (gnu packages tls)
 | 
				
			||||||
  #:use-module (gnu packages uglifyjs)
 | 
					  #:use-module (gnu packages uglifyjs)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages video)
 | 
				
			||||||
  #:use-module (gnu packages vim)
 | 
					  #:use-module (gnu packages vim)
 | 
				
			||||||
  #:use-module (gnu packages web)
 | 
					  #:use-module (gnu packages web)
 | 
				
			||||||
  #:use-module (gnu packages wget)
 | 
					  #:use-module (gnu packages wget)
 | 
				
			||||||
| 
						 | 
					@ -4287,6 +4288,107 @@ annotations of the genome.")
 | 
				
			||||||
other types of unwanted sequence from high-throughput sequencing reads.")
 | 
					other types of unwanted sequence from high-throughput sequencing reads.")
 | 
				
			||||||
    (license license:expat)))
 | 
					    (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
 | 
					(define-public libbigwig
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "libbigwig")
 | 
					    (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.")
 | 
					facilitates comparative analysis of known RNA families.")
 | 
				
			||||||
    (license license:bsd-3)))
 | 
					    (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
 | 
					(define-public r-seurat-utils
 | 
				
			||||||
  (let ((commit "0b6f5b548a49148cfbeaa654e8a618c0a020afa5")
 | 
					  (let ((commit "c0374cc9e25ce391ba8013fda0f8c7babbb9201d")
 | 
				
			||||||
        (revision "1"))
 | 
					        (revision "1"))
 | 
				
			||||||
    (package
 | 
					    (package
 | 
				
			||||||
      (name "r-seurat-utils")
 | 
					      (name "r-seurat-utils")
 | 
				
			||||||
      (version (git-version "1.6.5" revision commit))
 | 
					      (version (git-version "2.5.0" revision commit))
 | 
				
			||||||
      (source (origin
 | 
					      (source (origin
 | 
				
			||||||
                (method git-fetch)
 | 
					                (method git-fetch)
 | 
				
			||||||
                (uri (git-reference
 | 
					                (uri (git-reference
 | 
				
			||||||
| 
						 | 
					@ -17908,12 +18038,15 @@ facilitates comparative analysis of known RNA families.")
 | 
				
			||||||
                (file-name (git-file-name name version))
 | 
					                (file-name (git-file-name name version))
 | 
				
			||||||
                (sha256
 | 
					                (sha256
 | 
				
			||||||
                 (base32
 | 
					                 (base32
 | 
				
			||||||
                  "1mn64h375mkj6x4ix5493z32gqg96yc507j5jr0lx9g5wk1bf762"))))
 | 
					                  "15l86b43q245gzz7gsr5rhs4sir74lc14d64yqxfqcb0zrb2bzzd"))))
 | 
				
			||||||
      (properties `((upstream-name . "Seurat.utils")))
 | 
					      (properties `((upstream-name . "Seurat.utils")))
 | 
				
			||||||
      (build-system r-build-system)
 | 
					      (build-system r-build-system)
 | 
				
			||||||
      (propagated-inputs (list r-codeandroll2
 | 
					      (propagated-inputs (list r-codeandroll2
 | 
				
			||||||
                               r-cowplot
 | 
					                               r-cowplot
 | 
				
			||||||
 | 
					                               r-databaselinke-r
 | 
				
			||||||
                               r-dplyr
 | 
					                               r-dplyr
 | 
				
			||||||
 | 
					                               r-enhancedvolcano
 | 
				
			||||||
 | 
					                               r-foreach
 | 
				
			||||||
                               r-ggcorrplot
 | 
					                               r-ggcorrplot
 | 
				
			||||||
                               r-ggexpress
 | 
					                               r-ggexpress
 | 
				
			||||||
                               r-ggplot2
 | 
					                               r-ggplot2
 | 
				
			||||||
| 
						 | 
					@ -17921,15 +18054,21 @@ facilitates comparative analysis of known RNA families.")
 | 
				
			||||||
                               r-ggrepel
 | 
					                               r-ggrepel
 | 
				
			||||||
                               r-hgnchelper
 | 
					                               r-hgnchelper
 | 
				
			||||||
                               r-htmlwidgets
 | 
					                               r-htmlwidgets
 | 
				
			||||||
 | 
					                               r-job
 | 
				
			||||||
 | 
					                               r-magrittr
 | 
				
			||||||
                               r-markdownhelpers
 | 
					                               r-markdownhelpers
 | 
				
			||||||
                               r-markdownreports
 | 
					                               r-markdownreports
 | 
				
			||||||
                               r-matrix
 | 
					                               r-matrix
 | 
				
			||||||
                               r-matrixstats
 | 
					                               r-matrixstats
 | 
				
			||||||
 | 
					                               r-pheatmap
 | 
				
			||||||
 | 
					                               r-plotly
 | 
				
			||||||
                               r-princurve
 | 
					                               r-princurve
 | 
				
			||||||
 | 
					                               r-qs
 | 
				
			||||||
                               r-r-utils
 | 
					                               r-r-utils
 | 
				
			||||||
                               r-readr
 | 
					                               r-readr
 | 
				
			||||||
                               r-readwriter
 | 
					                               r-readwriter
 | 
				
			||||||
                               r-reshape2
 | 
					                               r-reshape2
 | 
				
			||||||
 | 
					                               r-rstudioapi
 | 
				
			||||||
                               r-scales
 | 
					                               r-scales
 | 
				
			||||||
                               r-seurat
 | 
					                               r-seurat
 | 
				
			||||||
                               r-soupx
 | 
					                               r-soupx
 | 
				
			||||||
| 
						 | 
					@ -17938,6 +18077,7 @@ facilitates comparative analysis of known RNA families.")
 | 
				
			||||||
                               r-stringr
 | 
					                               r-stringr
 | 
				
			||||||
                               r-tibble
 | 
					                               r-tibble
 | 
				
			||||||
                               r-tictoc
 | 
					                               r-tictoc
 | 
				
			||||||
 | 
					                               r-tidyverse
 | 
				
			||||||
                               r-vroom))
 | 
					                               r-vroom))
 | 
				
			||||||
      (home-page "https://github.com/vertesy/Seurat.utils")
 | 
					      (home-page "https://github.com/vertesy/Seurat.utils")
 | 
				
			||||||
      (synopsis "Collection of utility functions for Seurat")
 | 
					      (synopsis "Collection of utility functions for Seurat")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -87,15 +87,16 @@
 | 
				
			||||||
(define-public transmission
 | 
					(define-public transmission
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "transmission")
 | 
					    (name "transmission")
 | 
				
			||||||
    (version "4.0.4")
 | 
					    (version "4.0.5")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "https://github.com/transmission/transmission"
 | 
					              (uri (string-append "https://github.com/transmission/transmission"
 | 
				
			||||||
                                  "/releases/download/" version "/transmission-"
 | 
					                                  "/releases/download/" version "/transmission-"
 | 
				
			||||||
                                  version ".tar.xz"))
 | 
					                                  version ".tar.xz"))
 | 
				
			||||||
 | 
					              (patches (search-patches "transmission-4.0.5-fix-build.patch"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "19nm7f4x3zq610da5fl63vpycj4kv07np6ldm8czpgyziwqv9xqm"))))
 | 
					                "0mv3ds3bbp1fbmdlrjinmzvk46acpafydirh7h2014j7988zys7x"))))
 | 
				
			||||||
    (build-system cmake-build-system)
 | 
					    (build-system cmake-build-system)
 | 
				
			||||||
    (outputs '("out"                      ; library and command-line interface
 | 
					    (outputs '("out"                      ; library and command-line interface
 | 
				
			||||||
               "gui"))                    ; graphical user interface
 | 
					               "gui"))                    ; graphical user interface
 | 
				
			||||||
| 
						 | 
					@ -253,8 +254,8 @@ XML-RPC over SCGI.")
 | 
				
			||||||
    (license l:gpl2+)))
 | 
					    (license l:gpl2+)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public tremc
 | 
					(define-public tremc
 | 
				
			||||||
  (let ((commit "6c15e3f5637c8f3641473328bd8c5b0cc122d930")
 | 
					  (let ((commit "d8deaa5ac25bb45a2ca3a930309d6ecc74836a54")
 | 
				
			||||||
        (revision "0"))
 | 
					        (revision "1"))
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "tremc")
 | 
					    (name "tremc")
 | 
				
			||||||
    (version (git-version "0.9.3" revision commit))
 | 
					    (version (git-version "0.9.3" revision commit))
 | 
				
			||||||
| 
						 | 
					@ -267,7 +268,7 @@ XML-RPC over SCGI.")
 | 
				
			||||||
       (file-name (git-file-name name version))
 | 
					       (file-name (git-file-name name version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "1anlqzbwgmhrxlh20pfzf4iyw5l2w227h95rq6xf29ai7vddr82k"))))
 | 
					         "08kpqmgisja98918f2hlmdrld5662dqlkssp0pqlki38l6fvbj7r"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:tests? #f                      ; no test suite
 | 
					     `(#:tests? #f                      ; no test suite
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -18,6 +18,7 @@
 | 
				
			||||||
;;; Copyright © 2022, 2023 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
 | 
					;;; Copyright © 2022, 2023 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
 | 
				
			||||||
;;; Copyright © 2021 Stefan <stefan-guix@vodafonemail.de>
 | 
					;;; Copyright © 2021 Stefan <stefan-guix@vodafonemail.de>
 | 
				
			||||||
;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 | 
					;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 | 
				
			||||||
 | 
					;;; Copyright © 2023 Herman Rimm <herman@rimm.ee>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; 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
 | 
					  ;; and https://patchwork.ozlabs.org/project/uboot/patch/20210406151059.1187379-1-icenowy@aosc.io
 | 
				
			||||||
  (search-patch "u-boot-rockchip-inno-usb.patch"))
 | 
					  (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
 | 
					(define %u-boot-allow-disabling-openssl-patch
 | 
				
			||||||
  ;; Fixes build of u-boot 2021.10 without openssl
 | 
					  ;; Fixes build of u-boot 2021.10 without openssl
 | 
				
			||||||
  ;; https://lists.denx.de/pipermail/u-boot/2021-October/462728.html
 | 
					  ;; https://lists.denx.de/pipermail/u-boot/2021-October/462728.html
 | 
				
			||||||
  (search-patch "u-boot-allow-disabling-openssl.patch"))
 | 
					  (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
 | 
					(define u-boot
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "u-boot")
 | 
					    (name "u-boot")
 | 
				
			||||||
    (version "2023.07.02")
 | 
					    (version "2023.10")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (patches
 | 
					              (patches
 | 
				
			||||||
               (list %u-boot-rockchip-inno-usb-patch
 | 
					               (list %u-boot-rockchip-inno-usb-patch
 | 
				
			||||||
                     %u-boot-allow-disabling-openssl-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")))
 | 
					                     (search-patch "u-boot-patman-change-id.patch")))
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append
 | 
					              (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"))
 | 
					                    "u-boot-" version ".tar.bz2"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1m91w3fpywllkwm000dqsw3294j0szs1lz6qbgwv1aql3ic4hskb"))))
 | 
					                "0039rravvjq9yi41645fynycw4c869px024xfc0n212f05pnq3p0"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     (list bison
 | 
					     (list bison
 | 
				
			||||||
| 
						 | 
					@ -778,6 +764,7 @@ also initializes the boards (RAM etc).")
 | 
				
			||||||
     (modify-inputs (package-native-inputs u-boot)
 | 
					     (modify-inputs (package-native-inputs u-boot)
 | 
				
			||||||
       (append fontconfig
 | 
					       (append fontconfig
 | 
				
			||||||
               python-sphinx
 | 
					               python-sphinx
 | 
				
			||||||
 | 
					               python-sphinx-prompt
 | 
				
			||||||
               texinfo
 | 
					               texinfo
 | 
				
			||||||
               which)))
 | 
					               which)))
 | 
				
			||||||
    (synopsis "U-Boot documentation")
 | 
					    (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
 | 
					version, contrary to Novena upstream, does not load u-boot.img from the first
 | 
				
			||||||
partition."))
 | 
					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
 | 
					(define-public u-boot-cubieboard
 | 
				
			||||||
  (make-u-boot-package "Cubieboard" "arm-linux-gnueabihf"))
 | 
					  (make-u-boot-package "Cubieboard" "arm-linux-gnueabihf"))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -21,6 +21,7 @@
 | 
				
			||||||
(define-module (gnu packages browser-extensions)
 | 
					(define-module (gnu packages browser-extensions)
 | 
				
			||||||
  #:use-module (guix gexp)
 | 
					  #:use-module (guix gexp)
 | 
				
			||||||
  #:use-module (guix packages)
 | 
					  #:use-module (guix packages)
 | 
				
			||||||
 | 
					  #:use-module (guix download)
 | 
				
			||||||
  #:use-module (guix git-download)
 | 
					  #:use-module (guix git-download)
 | 
				
			||||||
  #:use-module (guix build-system copy)
 | 
					  #:use-module (guix build-system copy)
 | 
				
			||||||
  #:use-module (guix build-system gnu)
 | 
					  #:use-module (guix build-system gnu)
 | 
				
			||||||
| 
						 | 
					@ -155,7 +156,7 @@ ungoogled-chromium.")
 | 
				
			||||||
(define-public passff-host
 | 
					(define-public passff-host
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "passff-host")
 | 
					    (name "passff-host")
 | 
				
			||||||
    (version "1.2.3")
 | 
					    (version "1.2.4")
 | 
				
			||||||
    (home-page "https://github.com/passff/passff-host")
 | 
					    (home-page "https://github.com/passff/passff-host")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method git-fetch)
 | 
					              (method git-fetch)
 | 
				
			||||||
| 
						 | 
					@ -163,7 +164,7 @@ ungoogled-chromium.")
 | 
				
			||||||
              (file-name (git-file-name name version))
 | 
					              (file-name (git-file-name name version))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1p18l1jh20x4v8dj64z9qjlp96fxsl5h069iynxfpbkzj6hd74yl"))))
 | 
					                "1lcwa1qzfxlifmj33qndp1wgi6yx6vj21ir0az79vhm5k03p961z"))))
 | 
				
			||||||
    (build-system copy-build-system)
 | 
					    (build-system copy-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     (let ((native-manifests "lib/icecat/native-messaging-hosts"))
 | 
					     (let ((native-manifests "lib/icecat/native-messaging-hosts"))
 | 
				
			||||||
| 
						 | 
					@ -193,7 +194,7 @@ properly.")
 | 
				
			||||||
(define passff
 | 
					(define passff
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "passff")
 | 
					    (name "passff")
 | 
				
			||||||
    (version "1.15")
 | 
					    (version "1.16")
 | 
				
			||||||
    (home-page "https://github.com/passff/passff")
 | 
					    (home-page "https://github.com/passff/passff")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method git-fetch)
 | 
					              (method git-fetch)
 | 
				
			||||||
| 
						 | 
					@ -201,7 +202,7 @@ properly.")
 | 
				
			||||||
              (file-name (git-file-name name version))
 | 
					              (file-name (git-file-name name version))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1gymqyqppr8k9fqv5js7f6pk6hcc47qpf51x5cy6aahsk2v1qssj"))))
 | 
					                "0y3cbgy89lgvq6lfabp7mi1zhphdvihcccn3yw5mmaql9yrdm5kc"))))
 | 
				
			||||||
    (propagated-inputs (list passff-host))
 | 
					    (propagated-inputs (list passff-host))
 | 
				
			||||||
    (build-system copy-build-system)
 | 
					    (build-system copy-build-system)
 | 
				
			||||||
    (properties '((addon-id . "passff@invicem.pro")))
 | 
					    (properties '((addon-id . "passff@invicem.pro")))
 | 
				
			||||||
| 
						 | 
					@ -251,3 +252,28 @@ with the @uref{https://keepassxc.org, KeePassXC} password manager.")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public keepassxc-browser/icecat
 | 
					(define-public keepassxc-browser/icecat
 | 
				
			||||||
  (make-icecat-extension keepassxc-browser))
 | 
					  (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))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -14,6 +14,7 @@
 | 
				
			||||||
;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
 | 
					;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
 | 
				
			||||||
;;; Copyright © 2019 Eric Bavier <bavier@member.fsf.org>
 | 
					;;; Copyright © 2019 Eric Bavier <bavier@member.fsf.org>
 | 
				
			||||||
;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si>
 | 
					;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si>
 | 
				
			||||||
 | 
					;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -233,10 +234,35 @@ files.")
 | 
				
			||||||
     `(#:tests? #f ; there is no check target
 | 
					     `(#:tests? #f ; there is no check target
 | 
				
			||||||
       #:parallel-build? #f             ;randomly fails to link
 | 
					       #:parallel-build? #f             ;randomly fails to link
 | 
				
			||||||
       #:configure-flags ; Add $libdir to the RUNPATH of all the executables.
 | 
					       #: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
 | 
					       ;; Building in parallel is flaky: “ld: […]/cachetest.c:393: undefined
 | 
				
			||||||
       ;; reference to `paranoia_free'”.
 | 
					       ;; 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/")
 | 
					    (home-page "https://www.xiph.org/paranoia/")
 | 
				
			||||||
    (synopsis "Audio CD reading utility")
 | 
					    (synopsis "Audio CD reading utility")
 | 
				
			||||||
    (description "Cdparanoia retrieves audio tracks from CDDA capable CDROM
 | 
					    (description "Cdparanoia retrieves audio tracks from CDDA capable CDROM
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -22,10 +22,10 @@
 | 
				
			||||||
  #:use-module (guix packages)
 | 
					  #:use-module (guix packages)
 | 
				
			||||||
  #:use-module (guix licenses)
 | 
					  #:use-module (guix licenses)
 | 
				
			||||||
  #:use-module (guix download)
 | 
					  #:use-module (guix download)
 | 
				
			||||||
  #:use-module (gnu packages ed)
 | 
					 | 
				
			||||||
  #:use-module (gnu packages bison)
 | 
					  #:use-module (gnu packages bison)
 | 
				
			||||||
  #:use-module (gnu packages compression)
 | 
					  #:use-module (gnu packages compression)
 | 
				
			||||||
  #:use-module (gnu packages groff)
 | 
					  #:use-module (gnu packages groff)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages text-editors)
 | 
				
			||||||
  #:use-module (guix build-system gnu))
 | 
					  #:use-module (guix build-system gnu))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public cook
 | 
					(define-public cook
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -484,7 +484,7 @@ operating on batches.")
 | 
				
			||||||
(define-public google-highway
 | 
					(define-public google-highway
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "google-highway")
 | 
					    (name "google-highway")
 | 
				
			||||||
    (version "1.0.5")
 | 
					    (version "1.0.7")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method git-fetch)
 | 
					       (method git-fetch)
 | 
				
			||||||
| 
						 | 
					@ -493,10 +493,11 @@ operating on batches.")
 | 
				
			||||||
             (commit version)))
 | 
					             (commit version)))
 | 
				
			||||||
       (file-name (git-file-name name version))
 | 
					       (file-name (git-file-name name version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "01ig4iqicm57nycl9q8mx1b22gvl4wj5j1vfp1jczhmrga4bca8v"))))
 | 
					        (base32 "0cx38hnislqyd4vd47mlpgjpr1zmpf1fms2bj6nb00fjv53q1sb7"))))
 | 
				
			||||||
    (build-system cmake-build-system)
 | 
					    (build-system cmake-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:configure-flags (list "-DHWY_SYSTEM_GTEST=on")))
 | 
					     `(#:configure-flags (list "-DHWY_SYSTEM_GTEST=on"
 | 
				
			||||||
 | 
					                               "-DBUILD_SHARED_LIBS=ON")))
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     (list googletest))
 | 
					     (list googletest))
 | 
				
			||||||
    (home-page "https://github.com/google/highway")
 | 
					    (home-page "https://github.com/google/highway")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							| 
						 | 
					@ -971,7 +971,7 @@ EUI-64, also known as MAC-48 media access control addresses.")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (crate-uri "gl-generator" version))
 | 
					       (uri (crate-uri "gl_generator" version))
 | 
				
			||||||
       (file-name
 | 
					       (file-name
 | 
				
			||||||
        (string-append name "-" version ".tar.gz"))
 | 
					        (string-append name "-" version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
| 
						 | 
					@ -997,7 +997,7 @@ EUI-64, also known as MAC-48 media access control addresses.")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (crate-uri "gl-generator" version))
 | 
					       (uri (crate-uri "gl_generator" version))
 | 
				
			||||||
       (file-name
 | 
					       (file-name
 | 
				
			||||||
        (string-append name "-" version ".tar.gz"))
 | 
					        (string-append name "-" version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
| 
						 | 
					@ -1012,7 +1012,7 @@ EUI-64, also known as MAC-48 media access control addresses.")
 | 
				
			||||||
   (source
 | 
					   (source
 | 
				
			||||||
    (origin
 | 
					    (origin
 | 
				
			||||||
      (method url-fetch)
 | 
					      (method url-fetch)
 | 
				
			||||||
      (uri (crate-uri "gl-generator" version))
 | 
					      (uri (crate-uri "gl_generator" version))
 | 
				
			||||||
      (file-name
 | 
					      (file-name
 | 
				
			||||||
       (string-append name "-" version ".tar.gz"))
 | 
					       (string-append name "-" version ".tar.gz"))
 | 
				
			||||||
      (sha256
 | 
					      (sha256
 | 
				
			||||||
| 
						 | 
					@ -1228,7 +1228,7 @@ EUI-64, also known as MAC-48 media access control addresses.")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (crate-uri "glutin-egl-sys" version))
 | 
					       (uri (crate-uri "glutin_egl_sys" version))
 | 
				
			||||||
       (file-name
 | 
					       (file-name
 | 
				
			||||||
        (string-append name "-" version ".tar.gz"))
 | 
					        (string-append name "-" version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
| 
						 | 
					@ -1252,7 +1252,7 @@ EUI-64, also known as MAC-48 media access control addresses.")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (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"))
 | 
					       (file-name (string-append name "-" version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "0g81bz7ppvaksvwcw1jg553g8b2shvmnfm9ms6hixwvinj20z438"))))
 | 
					        (base32 "0g81bz7ppvaksvwcw1jg553g8b2shvmnfm9ms6hixwvinj20z438"))))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							| 
						 | 
					@ -53,7 +53,11 @@
 | 
				
			||||||
       ;; The default is OpenSSL which provides better PBKDF performance.
 | 
					       ;; The default is OpenSSL which provides better PBKDF performance.
 | 
				
			||||||
       "--with-crypto_backend=gcrypt"
 | 
					       "--with-crypto_backend=gcrypt"
 | 
				
			||||||
       ;; GRUB 2.06 supports LUKS2, but does it reliably support all set-ups…?
 | 
					       ;; 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
 | 
					   (native-inputs
 | 
				
			||||||
    (list pkg-config))
 | 
					    (list pkg-config))
 | 
				
			||||||
   (inputs
 | 
					   (inputs
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -627,7 +627,7 @@ error reporting, better tracing, profiling, and a debugger.")
 | 
				
			||||||
(define-public rr
 | 
					(define-public rr
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "rr")
 | 
					    (name "rr")
 | 
				
			||||||
    (version "5.6.0")
 | 
					    (version "5.7.0")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method git-fetch)
 | 
					              (method git-fetch)
 | 
				
			||||||
              (uri (git-reference
 | 
					              (uri (git-reference
 | 
				
			||||||
| 
						 | 
					@ -635,7 +635,7 @@ error reporting, better tracing, profiling, and a debugger.")
 | 
				
			||||||
                    (commit version)))
 | 
					                    (commit version)))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0sdpsd7bcbmx9gmp7lv71znzxz708wm8qxq5apbyc6hh80z4fzqz"))
 | 
					                "0y50gynh3bb28vsxspn0g71b0m1mmqdgs63pbq08sv7vps35nllz"))
 | 
				
			||||||
              (file-name (git-file-name name version))))
 | 
					              (file-name (git-file-name name version))))
 | 
				
			||||||
    (build-system cmake-build-system)
 | 
					    (build-system cmake-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -74,7 +74,7 @@
 | 
				
			||||||
(define-public diffoscope
 | 
					(define-public diffoscope
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "diffoscope")
 | 
					    (name "diffoscope")
 | 
				
			||||||
    (version "252")
 | 
					    (version "253")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method git-fetch)
 | 
					       (method git-fetch)
 | 
				
			||||||
| 
						 | 
					@ -83,7 +83,7 @@
 | 
				
			||||||
             (commit version)))
 | 
					             (commit version)))
 | 
				
			||||||
       (file-name (git-file-name name version))
 | 
					       (file-name (git-file-name name version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "1hnsnqpr0v9siqja1wxm64wv0vjacg6j9ph9n4xsiaarpndj1b4r"))))
 | 
					        (base32 "1nvq0lv246rah0ryb2qd20yf3gfy0iwfi3335rg9c3gpz0ha4wnb"))))
 | 
				
			||||||
    (build-system python-build-system)
 | 
					    (build-system python-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     (list
 | 
					     (list
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -27,6 +27,7 @@
 | 
				
			||||||
;;; Copyright © 2022 Disseminate Dissent <disseminatedissent@protonmail.com>
 | 
					;;; Copyright © 2022 Disseminate Dissent <disseminatedissent@protonmail.com>
 | 
				
			||||||
;;; Copyright © 2023 Timotej Lazar <timotej.lazar@araneo.si>
 | 
					;;; Copyright © 2023 Timotej Lazar <timotej.lazar@araneo.si>
 | 
				
			||||||
;;; Copyright © 2023 Morgan Smith <Morgan.J.Smith@outlook.com>
 | 
					;;; Copyright © 2023 Morgan Smith <Morgan.J.Smith@outlook.com>
 | 
				
			||||||
 | 
					;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -843,11 +844,11 @@ systems.  Output format is completely customizable.")
 | 
				
			||||||
       (base32 "17l5vspfcgfbkqg7bakp3gql29yb05gzawm8n3im30ilzdr53678"))))
 | 
					       (base32 "17l5vspfcgfbkqg7bakp3gql29yb05gzawm8n3im30ilzdr53678"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:tests? #f                      ; no check target
 | 
					     (list #:tests? #f                      ; no check target
 | 
				
			||||||
       #:make-flags (list (string-append "CC=" ,(cc-for-target))
 | 
					           #:make-flags #~(list (string-append "CC=" #$(cc-for-target))
 | 
				
			||||||
                          (string-append "PREFIX=" %output))
 | 
					                                (string-append "PREFIX=" #$output))
 | 
				
			||||||
           #:phases
 | 
					           #:phases
 | 
				
			||||||
       (modify-phases %standard-phases
 | 
					           #~(modify-phases %standard-phases
 | 
				
			||||||
               (delete 'configure)            ; no configure script
 | 
					               (delete 'configure)            ; no configure script
 | 
				
			||||||
               (add-after 'build 'build-extra
 | 
					               (add-after 'build 'build-extra
 | 
				
			||||||
                 (lambda* (#:key make-flags #:allow-other-keys)
 | 
					                 (lambda* (#:key make-flags #:allow-other-keys)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -486,59 +486,46 @@ GTK+, lets you select a desktop session and log in to it.")
 | 
				
			||||||
(define-public slim
 | 
					(define-public slim
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "slim")
 | 
					    (name "slim")
 | 
				
			||||||
    (version "1.3.6")
 | 
					    (version "1.4.0")
 | 
				
			||||||
    (source (origin
 | 
					    (source
 | 
				
			||||||
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
             ;; Used to be available from download.berlios.de.
 | 
					       (uri (string-append "mirror://sourceforge/slim-fork/slim-" version
 | 
				
			||||||
	     (uri (string-append
 | 
					                           ".tar.gz"))
 | 
				
			||||||
                   "mirror://sourceforge/slim.berlios/slim-"
 | 
					 | 
				
			||||||
                   version ".tar.gz"))
 | 
					 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
	      (base32 "1pqhk22jb4aja4hkrm7rjgbgzjyh7i4zswdgf5nw862l2znzxpi1"))
 | 
					        (base32 "011jfmksy0kgw4z0y70mc80bm5kmz5i1sgm6krrfj0h00zak22rm"))
 | 
				
			||||||
       (patches (search-patches "slim-config.patch"
 | 
					       (patches (search-patches "slim-config.patch"
 | 
				
			||||||
                                      "slim-reset.patch"
 | 
					 | 
				
			||||||
                                "slim-login.patch"
 | 
					                                "slim-login.patch"
 | 
				
			||||||
                                      "slim-session.patch"
 | 
					 | 
				
			||||||
                                      "slim-sigusr1.patch"
 | 
					 | 
				
			||||||
                                "slim-display.patch"))))
 | 
					                                "slim-display.patch"))))
 | 
				
			||||||
    (build-system cmake-build-system)
 | 
					    (build-system cmake-build-system)
 | 
				
			||||||
    (inputs `(("linux-pam" ,linux-pam)
 | 
					    (inputs (list fontconfig
 | 
				
			||||||
	      ("libpng" ,libpng)
 | 
					                  freeglut
 | 
				
			||||||
	      ("libjpeg" ,libjpeg-turbo)
 | 
					                  freetype
 | 
				
			||||||
	      ("freeglut" ,freeglut)
 | 
					                  libjpeg-turbo
 | 
				
			||||||
	      ("libxrandr" ,libxrandr)
 | 
					                  libpng
 | 
				
			||||||
	      ("libxrender" ,libxrender)
 | 
					                  libx11
 | 
				
			||||||
	      ("freetype" ,freetype)
 | 
					                  libxft
 | 
				
			||||||
	      ("fontconfig" ,fontconfig)
 | 
					                  libxmu
 | 
				
			||||||
              ("libx11" ,libx11)
 | 
					                  libxrandr
 | 
				
			||||||
	      ("libxft" ,libxft)
 | 
					                  libxrender
 | 
				
			||||||
	      ("libxmu" ,libxmu)
 | 
					                  linux-pam
 | 
				
			||||||
	      ("xauth" ,xauth)))
 | 
					                  xauth))
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs (list pkg-config))
 | 
				
			||||||
     (list pkg-config))
 | 
					 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     '(#:phases
 | 
					     (list
 | 
				
			||||||
       (modify-phases %standard-phases
 | 
					      #:phases
 | 
				
			||||||
 | 
					      #~(modify-phases %standard-phases
 | 
				
			||||||
          (add-before 'configure 'set-new-etc-location
 | 
					          (add-before 'configure 'set-new-etc-location
 | 
				
			||||||
            (lambda _
 | 
					            (lambda _
 | 
				
			||||||
              (substitute* "CMakeLists.txt"
 | 
					              (substitute* "CMakeLists.txt"
 | 
				
			||||||
                (("/etc")
 | 
					                (("/etc")
 | 
				
			||||||
                (string-append (assoc-ref %outputs "out") "/etc"))
 | 
					                 (string-append #$output "/etc"))))))
 | 
				
			||||||
               (("install.*systemd.*")
 | 
					      #:configure-flags
 | 
				
			||||||
               ;; The build system's logic here is: if "Linux", then
 | 
					      #~(list "-DUSE_PAM=yes" "-DUSE_CONSOLEKIT=no")
 | 
				
			||||||
                ;; "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))
 | 
					      #:tests? #f))
 | 
				
			||||||
 | 
					    ;; The original project (https://github.com/iwamatsu/slim) has not been
 | 
				
			||||||
    ;; This used to be at <http://slim.berlios.de/>.
 | 
					    ;; maintained since 2013, so we use slim-fork instead.
 | 
				
			||||||
    (home-page "https://github.com/iwamatsu/slim")
 | 
					    (home-page "https://slim-fork.sourceforge.io/")
 | 
				
			||||||
    (synopsis "Desktop-independent graphical login manager for X11")
 | 
					    (synopsis "Desktop-independent graphical login manager for X11")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
     "SLiM is a Desktop-independent graphical login manager for X11, derived
 | 
					     "SLiM is a Desktop-independent graphical login manager for X11, derived
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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+)))
 | 
					 | 
				
			||||||
| 
						 | 
					@ -310,7 +310,7 @@ supported devices, as well as input/output file format support.")
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     (list pkg-config
 | 
					     (list pkg-config
 | 
				
			||||||
           python
 | 
					           python
 | 
				
			||||||
           glad
 | 
					           glad-0.1
 | 
				
			||||||
           stb-image
 | 
					           stb-image
 | 
				
			||||||
           utf8-h))
 | 
					           utf8-h))
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -10647,7 +10647,7 @@ sgml/html integration, and indentation (working with sgml).")
 | 
				
			||||||
(define-public emacs-jinx
 | 
					(define-public emacs-jinx
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "emacs-jinx")
 | 
					    (name "emacs-jinx")
 | 
				
			||||||
    (version "0.9")
 | 
					    (version "1.0")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method git-fetch)
 | 
					       (method git-fetch)
 | 
				
			||||||
| 
						 | 
					@ -10657,8 +10657,7 @@ sgml/html integration, and indentation (working with sgml).")
 | 
				
			||||||
         (commit version)))
 | 
					         (commit version)))
 | 
				
			||||||
       (file-name (git-file-name name version))
 | 
					       (file-name (git-file-name name version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32 "00rlp7iby02zd3sqigpyskph4a26r0dgp53y17hm4xjr6zqifhz5"))))
 | 
				
			||||||
         "0xayrqnsws2n2p0qbdl291fva4ljp3kqrr591xbq1wr6n95hfyn5"))))
 | 
					 | 
				
			||||||
    (build-system emacs-build-system)
 | 
					    (build-system emacs-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     (list
 | 
					     (list
 | 
				
			||||||
| 
						 | 
					@ -17616,7 +17615,7 @@ been adapted to also work with mu4e.")
 | 
				
			||||||
(define-public emacs-tempel
 | 
					(define-public emacs-tempel
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "emacs-tempel")
 | 
					    (name "emacs-tempel")
 | 
				
			||||||
    (version "0.8")
 | 
					    (version "1.0")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method git-fetch)
 | 
					              (method git-fetch)
 | 
				
			||||||
              (uri (git-reference
 | 
					              (uri (git-reference
 | 
				
			||||||
| 
						 | 
					@ -17625,7 +17624,7 @@ been adapted to also work with mu4e.")
 | 
				
			||||||
              (file-name (git-file-name name version))
 | 
					              (file-name (git-file-name name version))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "10dcf56x74jrbdzaa9kphyzq2rz5alv800dnnzpbnvwzh29lfyka"))))
 | 
					                "0f1z5p6vbbjsh7cn7hqhv4c6h4awczpf14sbwpzsnwqsxsfjdh34"))))
 | 
				
			||||||
    (build-system emacs-build-system)
 | 
					    (build-system emacs-build-system)
 | 
				
			||||||
    (propagated-inputs
 | 
					    (propagated-inputs
 | 
				
			||||||
     (list emacs-compat))
 | 
					     (list emacs-compat))
 | 
				
			||||||
| 
						 | 
					@ -17637,8 +17636,8 @@ the Emacs Tempo library.  You may also write your templates in Lisp.")
 | 
				
			||||||
    (license license:gpl3+)))
 | 
					    (license license:gpl3+)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public emacs-tempel-collection
 | 
					(define-public emacs-tempel-collection
 | 
				
			||||||
  (let ((commit "cd9529b2a2fdfd49010117d2a1fc49adf9725051")
 | 
					  (let ((commit "4a1d717eb30a78680c8f4df2d71e395c846c5371")
 | 
				
			||||||
        (revision "0"))
 | 
					        (revision "1"))
 | 
				
			||||||
    (package
 | 
					    (package
 | 
				
			||||||
      (name "emacs-tempel-collection")
 | 
					      (name "emacs-tempel-collection")
 | 
				
			||||||
      (version (git-version "0.1" revision commit))
 | 
					      (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))
 | 
					                (file-name (git-file-name name version))
 | 
				
			||||||
                (sha256
 | 
					                (sha256
 | 
				
			||||||
                 (base32
 | 
					                 (base32
 | 
				
			||||||
                  "02x6jq5k7fa46ni64qf8wrmkay6zfbmkildb727zs6wchmyg2znn"))))
 | 
					                  "0ifmzn5d9mpsjwvg2ir0sy3r4czxa7d6j97l8rrp8ai7jqvydadm"))))
 | 
				
			||||||
      (build-system emacs-build-system)
 | 
					      (build-system emacs-build-system)
 | 
				
			||||||
      (propagated-inputs (list emacs-tempel))
 | 
					      (propagated-inputs (list emacs-tempel))
 | 
				
			||||||
      (home-page "https://github.com/Crandel/tempel-collection")
 | 
					      (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.")
 | 
					in said buffer using sxiv.")
 | 
				
			||||||
    (license license:unlicense)))
 | 
					    (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:"
 | 
					;; Package has no releases or tags.  Version is extracted from "Version:"
 | 
				
			||||||
;; keyword in main file.
 | 
					;; keyword in main file.
 | 
				
			||||||
(define-public emacs-mu4e-dashboard
 | 
					(define-public emacs-mu4e-dashboard
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -11,6 +11,7 @@
 | 
				
			||||||
;;; Copyright © 2021 Noisytoot <noisytoot@disroot.org>
 | 
					;;; Copyright © 2021 Noisytoot <noisytoot@disroot.org>
 | 
				
			||||||
;;; Copyright © 2021, 2023 Kaelyn Takata <kaelyn.alexi@protonmail.com>
 | 
					;;; Copyright © 2021, 2023 Kaelyn Takata <kaelyn.alexi@protonmail.com>
 | 
				
			||||||
;;; Copyright © 2022 Brian Cully <bjc@spork.org>
 | 
					;;; Copyright © 2022 Brian Cully <bjc@spork.org>
 | 
				
			||||||
 | 
					;;; Copyright © 2023 Aaron Covrig <aaron.covrig.us@ieee.org>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -64,8 +65,10 @@
 | 
				
			||||||
  #:use-module (gnu packages docbook)
 | 
					  #:use-module (gnu packages docbook)
 | 
				
			||||||
  #:use-module (gnu packages elf)
 | 
					  #:use-module (gnu packages elf)
 | 
				
			||||||
  #:use-module (gnu packages flex)
 | 
					  #:use-module (gnu packages flex)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages freedesktop)
 | 
				
			||||||
  #:use-module (gnu packages gawk)
 | 
					  #:use-module (gnu packages gawk)
 | 
				
			||||||
  #:use-module (gnu packages glib)
 | 
					  #:use-module (gnu packages glib)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages gnome)
 | 
				
			||||||
  #:use-module (gnu packages gnupg)
 | 
					  #:use-module (gnu packages gnupg)
 | 
				
			||||||
  #:use-module (gnu packages golang)
 | 
					  #:use-module (gnu packages golang)
 | 
				
			||||||
  #:use-module (gnu packages golang-check)
 | 
					  #:use-module (gnu packages golang-check)
 | 
				
			||||||
| 
						 | 
					@ -81,6 +84,7 @@
 | 
				
			||||||
  #:use-module (gnu packages nfs)
 | 
					  #:use-module (gnu packages nfs)
 | 
				
			||||||
  #:use-module (gnu packages onc-rpc)
 | 
					  #:use-module (gnu packages onc-rpc)
 | 
				
			||||||
  #:use-module (gnu packages openldap)
 | 
					  #:use-module (gnu packages openldap)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages password-utils)
 | 
				
			||||||
  #:use-module (gnu packages pcre)
 | 
					  #:use-module (gnu packages pcre)
 | 
				
			||||||
  #:use-module (gnu packages perl)
 | 
					  #:use-module (gnu packages perl)
 | 
				
			||||||
  #:use-module (gnu packages photo)
 | 
					  #:use-module (gnu packages photo)
 | 
				
			||||||
| 
						 | 
					@ -91,6 +95,7 @@
 | 
				
			||||||
  #:use-module (gnu packages python-crypto)
 | 
					  #:use-module (gnu packages python-crypto)
 | 
				
			||||||
  #:use-module (gnu packages python-web)
 | 
					  #:use-module (gnu packages python-web)
 | 
				
			||||||
  #:use-module (gnu packages python-xyz)
 | 
					  #:use-module (gnu packages python-xyz)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages qt)
 | 
				
			||||||
  #:use-module (gnu packages readline)
 | 
					  #:use-module (gnu packages readline)
 | 
				
			||||||
  #:use-module (gnu packages rsync)
 | 
					  #:use-module (gnu packages rsync)
 | 
				
			||||||
  #:use-module (gnu packages sssd)
 | 
					  #:use-module (gnu packages sssd)
 | 
				
			||||||
| 
						 | 
					@ -2112,3 +2117,29 @@ filtering and ordering functionality.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@end itemize\n")
 | 
					@end itemize\n")
 | 
				
			||||||
    (license license:gpl3)))
 | 
					    (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+)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -142,7 +142,7 @@
 | 
				
			||||||
  ;; <https://bitcoincore.org/en/lifecycle/#schedule>.
 | 
					  ;; <https://bitcoincore.org/en/lifecycle/#schedule>.
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "bitcoin-core")
 | 
					    (name "bitcoin-core")
 | 
				
			||||||
    (version "25.1")
 | 
					    (version "26.0")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri
 | 
					              (uri
 | 
				
			||||||
| 
						 | 
					@ -150,7 +150,7 @@
 | 
				
			||||||
                              version "/bitcoin-" version ".tar.gz"))
 | 
					                              version "/bitcoin-" version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1jcq2686x6f1g8xk91h3qfw89v1klw931wbpbcvc5a6zv2cabhmy"))))
 | 
					                "18f0rl7nzr64m54d6hmrphg7z39mmj2ix47kv78n5nr8dqkrj7db"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     (list autoconf
 | 
					     (list autoconf
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -3159,7 +3159,7 @@ and readability.  This package bundles those icons into a font.")
 | 
				
			||||||
(define-public font-lxgw-wenkai
 | 
					(define-public font-lxgw-wenkai
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "font-lxgw-wenkai")
 | 
					    (name "font-lxgw-wenkai")
 | 
				
			||||||
    (version "1.311")
 | 
					    (version "1.315")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append
 | 
					              (uri (string-append
 | 
				
			||||||
| 
						 | 
					@ -3167,7 +3167,7 @@ and readability.  This package bundles those icons into a font.")
 | 
				
			||||||
                    version "/lxgw-wenkai-v" version ".tar.gz"))
 | 
					                    version "/lxgw-wenkai-v" version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0f5fnqcwp8kicrbkncn5j1w06cil771jfdcjf2w48vl62m4gmf27"))))
 | 
					                "0isb7rbg8yb6hv8xk1ngngkgzpyb3papkl19jczwrwm373m8bn3f"))))
 | 
				
			||||||
    (build-system font-build-system)
 | 
					    (build-system font-build-system)
 | 
				
			||||||
    (home-page "https://lxgw.github.io/2021/01/28/Klee-Simpchin/")
 | 
					    (home-page "https://lxgw.github.io/2021/01/28/Klee-Simpchin/")
 | 
				
			||||||
    (synopsis "Simplified Chinese Imitation Song typeface")
 | 
					    (synopsis "Simplified Chinese Imitation Song typeface")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -56,6 +56,7 @@
 | 
				
			||||||
  #:use-module (guix svn-download)
 | 
					  #:use-module (guix svn-download)
 | 
				
			||||||
  #:use-module (guix utils)
 | 
					  #:use-module (guix utils)
 | 
				
			||||||
  #:use-module (guix build-system cmake)
 | 
					  #:use-module (guix build-system cmake)
 | 
				
			||||||
 | 
					  #:use-module (guix build-system copy)
 | 
				
			||||||
  #:use-module (guix build-system gnu)
 | 
					  #:use-module (guix build-system gnu)
 | 
				
			||||||
  #:use-module (guix build-system python)
 | 
					  #:use-module (guix build-system python)
 | 
				
			||||||
  #:use-module (guix build-system scons)
 | 
					  #: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.")
 | 
					people base their games, ports to new platforms, and other projects.")
 | 
				
			||||||
      (license license:gpl2))))
 | 
					      (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
 | 
					(define-public instead
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "instead")
 | 
					    (name "instead")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -10939,6 +10939,80 @@ implemented using ncurses user interface.  An SDL graphical version is also
 | 
				
			||||||
available.")
 | 
					available.")
 | 
				
			||||||
    (license license:gpl3+)))
 | 
					    (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
 | 
					(define-public schiffbruch
 | 
				
			||||||
  ;; There haven't been any releases for several years, so I've taken the most
 | 
					  ;; 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
 | 
					  ;; recent commit from the master branch that didn't fail to build (the last
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1182,6 +1182,21 @@ provides the GNU compiler for the Go programming language.")
 | 
				
			||||||
       (substitute-keyword-arguments (package-arguments gccgo)
 | 
					       (substitute-keyword-arguments (package-arguments gccgo)
 | 
				
			||||||
         ((#:phases phases)
 | 
					         ((#:phases phases)
 | 
				
			||||||
          #~(modify-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
 | 
					              (add-after 'install 'wrap-go-with-tool-path
 | 
				
			||||||
                (lambda* (#:key outputs #:allow-other-keys)
 | 
					                (lambda* (#:key outputs #:allow-other-keys)
 | 
				
			||||||
                  (let* ((out (assoc-ref outputs "out"))
 | 
					                  (let* ((out (assoc-ref outputs "out"))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1939,7 +1939,7 @@ to the OSM opening hours specification.")
 | 
				
			||||||
(define-public josm
 | 
					(define-public josm
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "josm")
 | 
					    (name "josm")
 | 
				
			||||||
    (version "18822")
 | 
					    (version "18907")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method svn-fetch)
 | 
					              (method svn-fetch)
 | 
				
			||||||
              (uri (svn-reference
 | 
					              (uri (svn-reference
 | 
				
			||||||
| 
						 | 
					@ -1948,7 +1948,7 @@ to the OSM opening hours specification.")
 | 
				
			||||||
                     (recursive? #f)))
 | 
					                     (recursive? #f)))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0b4q6n3jbqrh7dsfmcf2g0xdd1wjj62sjq8lwvggvrpqlk1fyn1b"))
 | 
					                "0vkczijw537f4y1b7hfxa45k3ww6nf2cf485b19dnbgh9ab6mnjl"))
 | 
				
			||||||
              (file-name (string-append name "-" version "-checkout"))
 | 
					              (file-name (string-append name "-" version "-checkout"))
 | 
				
			||||||
              (modules '((guix build utils)))
 | 
					              (modules '((guix build utils)))
 | 
				
			||||||
            (snippet
 | 
					            (snippet
 | 
				
			||||||
| 
						 | 
					@ -1962,6 +1962,7 @@ to the OSM opening hours specification.")
 | 
				
			||||||
     (list java-commons-jcs
 | 
					     (list java-commons-jcs
 | 
				
			||||||
           java-commons-compress
 | 
					           java-commons-compress
 | 
				
			||||||
           java-jmapviewer
 | 
					           java-jmapviewer
 | 
				
			||||||
 | 
					           java-jakarta-annotations-api
 | 
				
			||||||
           java-jakarta-json
 | 
					           java-jakarta-json
 | 
				
			||||||
           java-jsr305
 | 
					           java-jsr305
 | 
				
			||||||
           java-metadata-extractor
 | 
					           java-metadata-extractor
 | 
				
			||||||
| 
						 | 
					@ -2328,7 +2329,7 @@ associated attribute file (@file{.dbf}).")
 | 
				
			||||||
(define-public spatialite-tools
 | 
					(define-public spatialite-tools
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "spatialite-tools")
 | 
					    (name "spatialite-tools")
 | 
				
			||||||
    (version "5.1.0")
 | 
					    (version "5.1.0a")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -2336,7 +2337,7 @@ associated attribute file (@file{.dbf}).")
 | 
				
			||||||
                           "spatialite-tools-sources/"
 | 
					                           "spatialite-tools-sources/"
 | 
				
			||||||
                           "spatialite-tools-" version ".tar.gz"))
 | 
					                           "spatialite-tools-" version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "1dc3hnqa9ns0ycsac6wyl96pi052y7rrf233lq7sk708ghv30c6z"))))
 | 
					        (base32 "1kh1amab452m3801knmpn1jcg27axakb90gd8fxwv240irsk97hi"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     (list pkg-config))
 | 
					     (list pkg-config))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -18,6 +18,7 @@
 | 
				
			||||||
;;; Copyright © 2021, 2022, 2023 John Kehayias <john.kehayias@protonmail.com>
 | 
					;;; Copyright © 2021, 2022, 2023 John Kehayias <john.kehayias@protonmail.com>
 | 
				
			||||||
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
 | 
					;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
 | 
				
			||||||
;;; Copyright © 2023 Kaelyn Takata <kaelyn.alexi@protonmail.com>
 | 
					;;; Copyright © 2023 Kaelyn Takata <kaelyn.alexi@protonmail.com>
 | 
				
			||||||
 | 
					;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; 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.")
 | 
					Polygon meshes, and Extruded polygon meshes.")
 | 
				
			||||||
    (license license:x11)))
 | 
					    (license license:x11)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public glad
 | 
					(define-public glad-0.1
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "glad")
 | 
					    (name "glad")
 | 
				
			||||||
    (version "0.1.36")
 | 
					    (version "0.1.36")
 | 
				
			||||||
| 
						 | 
					@ -208,12 +209,12 @@ Polygon meshes, and Extruded polygon meshes.")
 | 
				
			||||||
         "0m55ya1zrmg6n2cljkajy80ilmi5sblln8742fm0k1sw9k7hzn8n"))))
 | 
					         "0m55ya1zrmg6n2cljkajy80ilmi5sblln8742fm0k1sw9k7hzn8n"))))
 | 
				
			||||||
    (build-system python-build-system)
 | 
					    (build-system python-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:phases
 | 
					     (list #:phases
 | 
				
			||||||
       (modify-phases %standard-phases
 | 
					           #~(modify-phases %standard-phases
 | 
				
			||||||
               (add-after 'install 'install-cmakelists.txt
 | 
					               (add-after 'install 'install-cmakelists.txt
 | 
				
			||||||
           (lambda* (#:key outputs #:allow-other-keys)
 | 
					                 (lambda _
 | 
				
			||||||
             (let* ((out (assoc-ref outputs "out"))
 | 
					                   (let ((share (string-append #$output "/share/"
 | 
				
			||||||
                    (share (string-append out "/share/" ,name)))
 | 
					                                               #$(package-name this-package))))
 | 
				
			||||||
                     (install-file "CMakeLists.txt" share)))))))
 | 
					                     (install-file "CMakeLists.txt" share)))))))
 | 
				
			||||||
    (home-page "https://github.com/Dav1dde/glad")
 | 
					    (home-page "https://github.com/Dav1dde/glad")
 | 
				
			||||||
    (synopsis "Multi-language GL/GLES/EGL/GLX/WGL loader generator")
 | 
					    (synopsis "Multi-language GL/GLES/EGL/GLX/WGL loader generator")
 | 
				
			||||||
| 
						 | 
					@ -221,6 +222,32 @@ Polygon meshes, and Extruded polygon meshes.")
 | 
				
			||||||
generate a GL/GLES/EGL/GLX/WGL loader tailored for specific requirements.")
 | 
					generate a GL/GLES/EGL/GLX/WGL loader tailored for specific requirements.")
 | 
				
			||||||
    (license license:expat)))
 | 
					    (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
 | 
					(define-public s2tc
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "s2tc")
 | 
					    (name "s2tc")
 | 
				
			||||||
| 
						 | 
					@ -888,7 +915,7 @@ OpenGL.")
 | 
				
			||||||
(define-public glfw
 | 
					(define-public glfw
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "glfw")
 | 
					    (name "glfw")
 | 
				
			||||||
    (version "3.3.4")
 | 
					    (version "3.3.9")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "https://github.com/glfw/glfw"
 | 
					              (uri (string-append "https://github.com/glfw/glfw"
 | 
				
			||||||
| 
						 | 
					@ -896,7 +923,7 @@ OpenGL.")
 | 
				
			||||||
                                  "/glfw-" version ".zip"))
 | 
					                                  "/glfw-" version ".zip"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1kcrpl4d6b6h23ib5j9q670d9w3knd07whgbanbmwwhbcqnc9lmv"))))
 | 
					                "023dn97n4h14n5lbjpzjv0y6a2plj254c0w3rr3wraf3z08189jm"))))
 | 
				
			||||||
    (build-system cmake-build-system)
 | 
					    (build-system cmake-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     (list
 | 
					     (list
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -7557,7 +7557,7 @@ metadata in photo and video files of various formats.")
 | 
				
			||||||
           libwebp
 | 
					           libwebp
 | 
				
			||||||
           libxml2
 | 
					           libxml2
 | 
				
			||||||
           sqlite
 | 
					           sqlite
 | 
				
			||||||
           webkitgtk))
 | 
					           webkitgtk-for-gtk3))
 | 
				
			||||||
    (home-page "https://wiki.gnome.org/Apps/Shotwell")
 | 
					    (home-page "https://wiki.gnome.org/Apps/Shotwell")
 | 
				
			||||||
    (synopsis "Photo manager for GNOME 3")
 | 
					    (synopsis "Photo manager for GNOME 3")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
| 
						 | 
					@ -11872,14 +11872,13 @@ functionality.")
 | 
				
			||||||
                "1s4lqy883s296mbh4fywd1l3z79811ia00xs57c316pb1an97mmd"))))
 | 
					                "1s4lqy883s296mbh4fywd1l3z79811ia00xs57c316pb1an97mmd"))))
 | 
				
			||||||
    (build-system meson-build-system)
 | 
					    (build-system meson-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:glib-or-gtk? #t
 | 
					     (list
 | 
				
			||||||
 | 
					      #:glib-or-gtk? #t
 | 
				
			||||||
      #:configure-flags
 | 
					      #:configure-flags
 | 
				
			||||||
      ;; Ensure the RUNPATH contains all installed library locations.
 | 
					      ;; Ensure the RUNPATH contains all installed library locations.
 | 
				
			||||||
       (list (string-append "-Dc_link_args=-Wl,-rpath="
 | 
					      #~(list (string-append "-Dc_link_args=-Wl,-rpath=" #$output
 | 
				
			||||||
                            (assoc-ref %outputs "out")
 | 
					 | 
				
			||||||
                             "/lib/gthumb/extensions")
 | 
					                             "/lib/gthumb/extensions")
 | 
				
			||||||
             (string-append "-Dcpp_link_args=-Wl,-rpath="
 | 
					              (string-append "-Dcpp_link_args=-Wl,-rpath=" #$output
 | 
				
			||||||
                            (assoc-ref %outputs "out")
 | 
					 | 
				
			||||||
                             "/lib/gthumb/extensions"))))
 | 
					                             "/lib/gthumb/extensions"))))
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     (list desktop-file-utils   ; for update-desktop-database
 | 
					     (list desktop-file-utils   ; for update-desktop-database
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -262,7 +262,7 @@ supports HTTP, HTTPS and GnuTLS.")
 | 
				
			||||||
(define-public gnunet
 | 
					(define-public gnunet
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "gnunet")
 | 
					    (name "gnunet")
 | 
				
			||||||
    (version "0.19.4")
 | 
					    (version "0.20.0")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -270,14 +270,7 @@ supports HTTP, HTTPS and GnuTLS.")
 | 
				
			||||||
                           ".tar.gz"))
 | 
					                           ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "16q0mkkr9b33wlm307ignfgvv0kilzr42155m5dpz66m13s3v9h0"))
 | 
					         "064mmhksznbsymanikwqkgmdhk2f0zjll2aq2cmxa14wm5w9w0jn"))))
 | 
				
			||||||
       (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"))))))
 | 
					 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     (list bluez
 | 
					     (list bluez
 | 
				
			||||||
| 
						 | 
					@ -450,14 +443,14 @@ The following services are supported:
 | 
				
			||||||
(define-public gnunet-gtk
 | 
					(define-public gnunet-gtk
 | 
				
			||||||
  (package (inherit gnunet)
 | 
					  (package (inherit gnunet)
 | 
				
			||||||
    (name "gnunet-gtk")
 | 
					    (name "gnunet-gtk")
 | 
				
			||||||
    (version "0.19.0")
 | 
					    (version "0.20.0")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "mirror://gnu/gnunet/gnunet-gtk-"
 | 
					              (uri (string-append "mirror://gnu/gnunet/gnunet-gtk-"
 | 
				
			||||||
                                  version ".tar.gz"))
 | 
					                                  version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0z2731l69vnfsa0cdsw8wh8g1d08wz15y5n0a58qjpf7baric01k"))))
 | 
					                "0bandj2f24v4wfq1v5j73zn5jp25dn8r7y0wd7znlkmbh86fb4g9"))))
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     (list #:configure-flags
 | 
					     (list #:configure-flags
 | 
				
			||||||
           #~(list "--with-libunique"
 | 
					           #~(list "--with-libunique"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -70,7 +70,6 @@
 | 
				
			||||||
  #:use-module (gnu packages swig)
 | 
					  #:use-module (gnu packages swig)
 | 
				
			||||||
  #:use-module (gnu packages texinfo)
 | 
					  #:use-module (gnu packages texinfo)
 | 
				
			||||||
  #:use-module (gnu packages tls)
 | 
					  #:use-module (gnu packages tls)
 | 
				
			||||||
  #:use-module (gnu packages tor)
 | 
					 | 
				
			||||||
  #:use-module (gnu packages web)
 | 
					  #:use-module (gnu packages web)
 | 
				
			||||||
  #:use-module (gnu packages xorg)
 | 
					  #:use-module (gnu packages xorg)
 | 
				
			||||||
  #:use-module (gnu packages xdisorg)
 | 
					  #: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-try-tiny
 | 
				
			||||||
           perl-type-tiny
 | 
					           perl-type-tiny
 | 
				
			||||||
           perl-types-path-tiny
 | 
					           perl-types-path-tiny
 | 
				
			||||||
           torsocks))
 | 
					           (@ (gnu packages tor) torsocks))) ;avoid dependency loop
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     (list perl-file-which
 | 
					     (list perl-file-which
 | 
				
			||||||
           perl-gnupg-interface
 | 
					           perl-gnupg-interface
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -547,9 +547,9 @@ variable defined below.  It requires guile-json to be installed."
 | 
				
			||||||
;; XXXX: Workaround 'snippet' limitations.
 | 
					;; XXXX: Workaround 'snippet' limitations.
 | 
				
			||||||
(define computed-origin-method (@@ (guix packages) computed-origin-method))
 | 
					(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-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
 | 
					;; 'icecat-source' is a "computed" origin that generates an IceCat tarball
 | 
				
			||||||
;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat'
 | 
					;; 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"))
 | 
					                  "firefox-" upstream-firefox-version ".source.tar.xz"))
 | 
				
			||||||
            (sha256
 | 
					            (sha256
 | 
				
			||||||
             (base32
 | 
					             (base32
 | 
				
			||||||
              "0a578r4kri7jdw8pkkzp7f1mm9idlk7sjxjghcb08k5p14172gyv"))))
 | 
					              "0rmw486yhkb1is1j2fy51djl5p5qggf2fhp2hgzfdj4s2bjydmv6"))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
         ;; The upstream-icecat-base-version may be older than the
 | 
					         ;; The upstream-icecat-base-version may be older than the
 | 
				
			||||||
         ;; %icecat-base-version.
 | 
					         ;; %icecat-base-version.
 | 
				
			||||||
         (upstream-icecat-base-version "115.5.0")
 | 
					         (upstream-icecat-base-version "115.6.0")
 | 
				
			||||||
         (gnuzilla-commit "bd66797f3bb057c9d051d4276d63843b4d7ee854")
 | 
					         (gnuzilla-commit "6a76a10682b6e63f562e4b9f26f3ef12f88bd839")
 | 
				
			||||||
         (gnuzilla-source
 | 
					         (gnuzilla-source
 | 
				
			||||||
          (origin
 | 
					          (origin
 | 
				
			||||||
            (method git-fetch)
 | 
					            (method git-fetch)
 | 
				
			||||||
| 
						 | 
					@ -586,7 +586,7 @@ variable defined below.  It requires guile-json to be installed."
 | 
				
			||||||
                                      (string-take gnuzilla-commit 8)))
 | 
					                                      (string-take gnuzilla-commit 8)))
 | 
				
			||||||
            (sha256
 | 
					            (sha256
 | 
				
			||||||
             (base32
 | 
					             (base32
 | 
				
			||||||
              "0v3ckm8yv566f2y9a2bfzakbsk529f1ykr7dj69kb9k93dgny3ja"))))
 | 
					              "15bvlz7c4d8mk10zc317rai91hd96wnchikcfdfxzl35zdnd315r"))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
         ;; 'search-patch' returns either a valid file name or #f, so wrap it
 | 
					         ;; 'search-patch' returns either a valid file name or #f, so wrap it
 | 
				
			||||||
         ;; in 'assume-valid-file-name' to avoid 'local-file' warnings.
 | 
					         ;; in 'assume-valid-file-name' to avoid 'local-file' warnings.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -414,6 +414,18 @@ Features include:
 | 
				
			||||||
@end itemize")
 | 
					@end itemize")
 | 
				
			||||||
    (license license:expat)))
 | 
					    (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
 | 
					(define-public go-github-com-tdewolff-test
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "go-github-com-tdewolff-test")
 | 
					    (name "go-github-com-tdewolff-test")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -971,6 +971,140 @@ in the style of communicating sequential processes (@dfn{CSP}).")
 | 
				
			||||||
     ;; https://go.dev/issue/44505
 | 
					     ;; https://go.dev/issue/44505
 | 
				
			||||||
     (alist-replace "go" (list go-1.17) (package-native-inputs go-1.17)))))
 | 
					     (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-public go go-1.17)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define make-go-std
 | 
					(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.18 (make-go-std go-1.18))
 | 
				
			||||||
(define-public go-std-1.19 (make-go-std go-1.19))
 | 
					(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.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
 | 
					(define-public go-0xacab-org-leap-shapeshifter
 | 
				
			||||||
  (let ((commit "0aa6226582efb8e563540ec1d3c5cfcd19200474")
 | 
					  (let ((commit "0aa6226582efb8e563540ec1d3c5cfcd19200474")
 | 
				
			||||||
| 
						 | 
					@ -4466,17 +4601,6 @@ Go.")
 | 
				
			||||||
slices, JSON and other data.")
 | 
					slices, JSON and other data.")
 | 
				
			||||||
    (license license:expat)))
 | 
					    (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
 | 
					(define-public go-github-com-technoweenie-multipartstreamer
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "go-github-com-technoweenie-multipartstreamer")
 | 
					    (name "go-github-com-technoweenie-multipartstreamer")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2267,7 +2267,7 @@ users and in some situations.")
 | 
				
			||||||
(define-public guile-udev
 | 
					(define-public guile-udev
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "guile-udev")
 | 
					    (name "guile-udev")
 | 
				
			||||||
    (version "0.2.4")
 | 
					    (version "0.3.0")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method git-fetch)
 | 
					              (method git-fetch)
 | 
				
			||||||
              (uri (git-reference
 | 
					              (uri (git-reference
 | 
				
			||||||
| 
						 | 
					@ -2276,7 +2276,7 @@ users and in some situations.")
 | 
				
			||||||
              (file-name (git-file-name name version))
 | 
					              (file-name (git-file-name name version))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1q1snj8gz2bvqw2v2jvwlzn5xfh7f7wlp922isnzismrp4adc918"))))
 | 
					                "0zvn7ph6sbz5q8jnbkrxxlbxlyf0j8q34hr4a2yxklvg29ya7sd3"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     (list
 | 
					     (list
 | 
				
			||||||
| 
						 | 
					@ -2289,7 +2289,10 @@ users and in some situations.")
 | 
				
			||||||
              (substitute* (find-files "." "\\.scm")
 | 
					              (substitute* (find-files "." "\\.scm")
 | 
				
			||||||
                (("load-extension \"libguile-udev\"")
 | 
					                (("load-extension \"libguile-udev\"")
 | 
				
			||||||
                 (format #f "load-extension \"~a/lib/libguile-udev.so\""
 | 
					                 (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
 | 
					    (native-inputs (list autoconf
 | 
				
			||||||
                         automake
 | 
					                         automake
 | 
				
			||||||
                         gettext-minimal
 | 
					                         gettext-minimal
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -21,9 +21,12 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-module (gnu packages i2p)
 | 
					(define-module (gnu packages i2p)
 | 
				
			||||||
  #:use-module (gnu packages boost)
 | 
					  #:use-module (gnu packages boost)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages check)
 | 
				
			||||||
  #:use-module (gnu packages compression)
 | 
					  #:use-module (gnu packages compression)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages pkg-config)
 | 
				
			||||||
  #:use-module (gnu packages tls)
 | 
					  #:use-module (gnu packages tls)
 | 
				
			||||||
  #:use-module (gnu packages upnp)
 | 
					  #:use-module (gnu packages upnp)
 | 
				
			||||||
 | 
					  #:use-module (guix gexp)
 | 
				
			||||||
  #:use-module (guix packages)
 | 
					  #:use-module (guix packages)
 | 
				
			||||||
  #:use-module (guix git-download)
 | 
					  #:use-module (guix git-download)
 | 
				
			||||||
  #:use-module (guix build-system cmake)
 | 
					  #:use-module (guix build-system cmake)
 | 
				
			||||||
| 
						 | 
					@ -32,7 +35,7 @@
 | 
				
			||||||
(define-public i2pd
 | 
					(define-public i2pd
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "i2pd")
 | 
					    (name "i2pd")
 | 
				
			||||||
    (version "2.44.0")
 | 
					    (version "2.50.0")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method git-fetch)
 | 
					       (method git-fetch)
 | 
				
			||||||
| 
						 | 
					@ -41,41 +44,18 @@
 | 
				
			||||||
             (commit version)))
 | 
					             (commit version)))
 | 
				
			||||||
       (file-name (git-file-name name version))
 | 
					       (file-name (git-file-name name version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "0fwaalfxqdahgvx5rfkvdmf6gl10w328a18ddhyn5kvpmp9x7fgl"))))
 | 
					        (base32 "1vr251mgffawi3rj51dzlnv3fs1ssz6gl17qbsyhfr5fcd7s0hc5"))))
 | 
				
			||||||
    (build-system cmake-build-system)
 | 
					    (build-system cmake-build-system)
 | 
				
			||||||
 | 
					    (native-inputs (list check pkg-config))
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     (list boost miniupnpc openssl zlib))
 | 
					     (list boost miniupnpc openssl zlib))
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     '(#:configure-flags
 | 
					     (list
 | 
				
			||||||
       (let ((source (assoc-ref %build-inputs "source")))
 | 
					      #:configure-flags
 | 
				
			||||||
         (list (string-append "-S" source "/build")
 | 
					      #~(list (string-append "-S" #$source "/build")
 | 
				
			||||||
               "-DWITH_PCH=OFF"
 | 
					 | 
				
			||||||
               "-DWITH_STATIC=OFF"
 | 
					 | 
				
			||||||
              "-DWITH_UPNP=ON"
 | 
					              "-DWITH_UPNP=ON"
 | 
				
			||||||
               "-DWITH_LIBRARY=ON"
 | 
					 | 
				
			||||||
              "-DBUILD_SHARED_LIBS=ON"
 | 
					              "-DBUILD_SHARED_LIBS=ON"
 | 
				
			||||||
               "-DWITH_BINARY=ON"))
 | 
					              "-DBUILD_TESTING=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))))))))))
 | 
					 | 
				
			||||||
    (home-page "https://i2pd.website/")
 | 
					    (home-page "https://i2pd.website/")
 | 
				
			||||||
    (synopsis "Router for an end-to-end encrypted and anonymous internet")
 | 
					    (synopsis "Router for an end-to-end encrypted and anonymous internet")
 | 
				
			||||||
    (description "i2pd is a client for the anonymous I2P network, upon which
 | 
					    (description "i2pd is a client for the anonymous I2P network, upon which
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -617,7 +617,7 @@ official designation is ISO/IEC 29199-2). This library is an implementation of t
 | 
				
			||||||
(define-public jpegoptim
 | 
					(define-public jpegoptim
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
   (name "jpegoptim")
 | 
					   (name "jpegoptim")
 | 
				
			||||||
   (version "1.4.7")
 | 
					   (version "1.5.5")
 | 
				
			||||||
   (source
 | 
					   (source
 | 
				
			||||||
    (origin
 | 
					    (origin
 | 
				
			||||||
      (method git-fetch)
 | 
					      (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))))
 | 
					            (commit (string-append "v" version))))
 | 
				
			||||||
      (file-name (git-file-name name version))
 | 
					      (file-name (git-file-name name version))
 | 
				
			||||||
      (sha256
 | 
					      (sha256
 | 
				
			||||||
       (base32 "06f6d08xvmsiki4mc1qs985gsjqmsxx793a93b72y25q84wbg9x9"))))
 | 
					       (base32 "18zq7ada7n17vgkkcixpisxsbs7i8xp5qjp78hyyvmmb9dqy97fy"))))
 | 
				
			||||||
   (build-system gnu-build-system)
 | 
					   (build-system gnu-build-system)
 | 
				
			||||||
   (arguments
 | 
					   (arguments
 | 
				
			||||||
    `(#:tests? #f                       ; no tests
 | 
					    (list #:tests? #f))
 | 
				
			||||||
      ,@(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"))))))
 | 
					 | 
				
			||||||
          '())))
 | 
					 | 
				
			||||||
   (inputs (list libjpeg-turbo))
 | 
					   (inputs (list libjpeg-turbo))
 | 
				
			||||||
   (native-inputs
 | 
					 | 
				
			||||||
    (if (and (target-riscv64?)
 | 
					 | 
				
			||||||
             (%current-target-system))
 | 
					 | 
				
			||||||
      (list config)
 | 
					 | 
				
			||||||
      '()))
 | 
					 | 
				
			||||||
   (synopsis "Optimize JPEG images")
 | 
					   (synopsis "Optimize JPEG images")
 | 
				
			||||||
   (description
 | 
					   (description
 | 
				
			||||||
    "jpegoptim provides lossless optimization (based on optimizing
 | 
					    "jpegoptim provides lossless optimization (based on optimizing
 | 
				
			||||||
the Huffman tables) and \"lossy\" optimization based on setting
 | 
					the Huffman tables) and \"lossy\" optimization based on setting
 | 
				
			||||||
maximum quality factor.")
 | 
					maximum quality factor.")
 | 
				
			||||||
   (license license:gpl2+)
 | 
					   (license license:gpl3+)
 | 
				
			||||||
   (home-page "https://www.kokkonen.net/tjko/projects.html#jpegoptim")))
 | 
					   (home-page "https://www.kokkonen.net/tjko/projects.html#jpegoptim")))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public libicns
 | 
					(define-public libicns
 | 
				
			||||||
| 
						 | 
					@ -1501,6 +1483,26 @@ channels.")
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1lvxnpds0vcf0lil6ia2036ghqlbl740c4d2sz0q5g6l93fjyija"))))
 | 
					                "1lvxnpds0vcf0lil6ia2036ghqlbl740c4d2sz0q5g6l93fjyija"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (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
 | 
					    (propagated-inputs
 | 
				
			||||||
     ;; These are all in the 'Libs.private' field of libmng.pc.
 | 
					     ;; These are all in the 'Libs.private' field of libmng.pc.
 | 
				
			||||||
     (list lcms libjpeg-turbo zlib))
 | 
					     (list lcms libjpeg-turbo zlib))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -13719,6 +13719,34 @@ Processing specification.")
 | 
				
			||||||
    ;; with classpath exception
 | 
					    ;; with classpath exception
 | 
				
			||||||
    (license license:epl2.0)))
 | 
					    (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
 | 
					(define-public java-xmp
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "java-xmp")
 | 
					    (name "java-xmp")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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
 | 
					;; The current "stable" kernels. That is, the most recently released major
 | 
				
			||||||
;; versions that are still supported upstream.
 | 
					;; 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-public linux-libre-6.6-gnu-revision "gnu")
 | 
				
			||||||
(define deblob-scripts-6.6
 | 
					(define deblob-scripts-6.6
 | 
				
			||||||
  (linux-libre-deblob-scripts
 | 
					  (linux-libre-deblob-scripts
 | 
				
			||||||
| 
						 | 
					@ -504,7 +504,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
 | 
				
			||||||
   (base32 "1hg3ck1j8288fhlhcvhgs1zzwh3i62nfvphw7x3vsaqr75kiwbjp")))
 | 
					   (base32 "1hg3ck1j8288fhlhcvhgs1zzwh3i62nfvphw7x3vsaqr75kiwbjp")))
 | 
				
			||||||
(define-public linux-libre-6.6-pristine-source
 | 
					(define-public linux-libre-6.6-pristine-source
 | 
				
			||||||
  (let ((version linux-libre-6.6-version)
 | 
					  (let ((version linux-libre-6.6-version)
 | 
				
			||||||
        (hash (base32 "0hfqdyxl4nqmm4pspfm1ang8616dbsaj0d968c0186ch0738xrhc")))
 | 
					        (hash (base32 "05i4ayj9wyjkd1s8ixx7bxwcyagqyx8rhj1zvbc3cjqyw4sc8djh")))
 | 
				
			||||||
   (make-linux-libre-source version
 | 
					   (make-linux-libre-source version
 | 
				
			||||||
                            (%upstream-linux-source version hash)
 | 
					                            (%upstream-linux-source version hash)
 | 
				
			||||||
                            deblob-scripts-6.6)))
 | 
					                            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.
 | 
					;; The "longterm" kernels — the older releases with long-term upstream support.
 | 
				
			||||||
;; Here are the support timelines:
 | 
					;; Here are the support timelines:
 | 
				
			||||||
;; <https://www.kernel.org/category/releases.html>
 | 
					;; <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-public linux-libre-6.1-gnu-revision "gnu")
 | 
				
			||||||
(define deblob-scripts-6.1
 | 
					(define deblob-scripts-6.1
 | 
				
			||||||
  (linux-libre-deblob-scripts
 | 
					  (linux-libre-deblob-scripts
 | 
				
			||||||
| 
						 | 
					@ -522,12 +522,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
 | 
				
			||||||
   (base32 "1hdibv43xbn1lv83i6qjgfmf1bvqxvq17fryfsq4r4sjgs9212js")))
 | 
					   (base32 "1hdibv43xbn1lv83i6qjgfmf1bvqxvq17fryfsq4r4sjgs9212js")))
 | 
				
			||||||
(define-public linux-libre-6.1-pristine-source
 | 
					(define-public linux-libre-6.1-pristine-source
 | 
				
			||||||
  (let ((version linux-libre-6.1-version)
 | 
					  (let ((version linux-libre-6.1-version)
 | 
				
			||||||
        (hash (base32 "1qc4cwqlfni9i6mzh6arghdsd842hp9lb7s832dxw1p261mg4prn")))
 | 
					        (hash (base32 "0hdm28k49kmy9r96hckps0bvvaq9m06l72n8ih305rccs6a2cgby")))
 | 
				
			||||||
   (make-linux-libre-source version
 | 
					   (make-linux-libre-source version
 | 
				
			||||||
                            (%upstream-linux-source version hash)
 | 
					                            (%upstream-linux-source version hash)
 | 
				
			||||||
                            deblob-scripts-6.1)))
 | 
					                            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-public linux-libre-5.15-gnu-revision "gnu")
 | 
				
			||||||
(define deblob-scripts-5.15
 | 
					(define deblob-scripts-5.15
 | 
				
			||||||
  (linux-libre-deblob-scripts
 | 
					  (linux-libre-deblob-scripts
 | 
				
			||||||
| 
						 | 
					@ -537,12 +537,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
 | 
				
			||||||
   (base32 "1idjrn2w8jrixj8ifkk1awxyyq5042nc4p2mld4rda96azlnp948")))
 | 
					   (base32 "1idjrn2w8jrixj8ifkk1awxyyq5042nc4p2mld4rda96azlnp948")))
 | 
				
			||||||
(define-public linux-libre-5.15-pristine-source
 | 
					(define-public linux-libre-5.15-pristine-source
 | 
				
			||||||
  (let ((version linux-libre-5.15-version)
 | 
					  (let ((version linux-libre-5.15-version)
 | 
				
			||||||
        (hash (base32 "00lyv7zsj97mkg9i7dkb1a6km22mnr0qr687d9zz4ckjq1pb2sq9")))
 | 
					        (hash (base32 "086nssif66s86wkixz4yb7xilz1k49g32l0ib28r8fjzc23rv95j")))
 | 
				
			||||||
   (make-linux-libre-source version
 | 
					   (make-linux-libre-source version
 | 
				
			||||||
                            (%upstream-linux-source version hash)
 | 
					                            (%upstream-linux-source version hash)
 | 
				
			||||||
                            deblob-scripts-5.15)))
 | 
					                            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-public linux-libre-5.10-gnu-revision "gnu1")
 | 
				
			||||||
(define deblob-scripts-5.10
 | 
					(define deblob-scripts-5.10
 | 
				
			||||||
  (linux-libre-deblob-scripts
 | 
					  (linux-libre-deblob-scripts
 | 
				
			||||||
| 
						 | 
					@ -552,12 +552,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
 | 
				
			||||||
   (base32 "0xrrnmb5kcc5r21bdm24aq0fnkk1imn367c1cxlj78b6l6gigx4b")))
 | 
					   (base32 "0xrrnmb5kcc5r21bdm24aq0fnkk1imn367c1cxlj78b6l6gigx4b")))
 | 
				
			||||||
(define-public linux-libre-5.10-pristine-source
 | 
					(define-public linux-libre-5.10-pristine-source
 | 
				
			||||||
  (let ((version linux-libre-5.10-version)
 | 
					  (let ((version linux-libre-5.10-version)
 | 
				
			||||||
        (hash (base32 "1vnamiyr378q52xgkg7kvpx80zck729dim77vp06a3q6n580g5gz")))
 | 
					        (hash (base32 "0qw8g0h4k0b4dyvspbj51cwr68ihwjzsi2b2261ipy3l1nl1fln5")))
 | 
				
			||||||
   (make-linux-libre-source version
 | 
					   (make-linux-libre-source version
 | 
				
			||||||
                            (%upstream-linux-source version hash)
 | 
					                            (%upstream-linux-source version hash)
 | 
				
			||||||
                            deblob-scripts-5.10)))
 | 
					                            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-public linux-libre-5.4-gnu-revision "gnu1")
 | 
				
			||||||
(define deblob-scripts-5.4
 | 
					(define deblob-scripts-5.4
 | 
				
			||||||
  (linux-libre-deblob-scripts
 | 
					  (linux-libre-deblob-scripts
 | 
				
			||||||
| 
						 | 
					@ -567,12 +567,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
 | 
				
			||||||
   (base32 "0sw67b2pk3lng4y67diqqnhxaggnp3nbkx8dxc5fs27rinfxr4m1")))
 | 
					   (base32 "0sw67b2pk3lng4y67diqqnhxaggnp3nbkx8dxc5fs27rinfxr4m1")))
 | 
				
			||||||
(define-public linux-libre-5.4-pristine-source
 | 
					(define-public linux-libre-5.4-pristine-source
 | 
				
			||||||
  (let ((version linux-libre-5.4-version)
 | 
					  (let ((version linux-libre-5.4-version)
 | 
				
			||||||
        (hash (base32 "1c5n47dq9khb15hz24a000k3hj913vv1dda6famnm8wpjbfr176k")))
 | 
					        (hash (base32 "05cvvwjiznn7hfd02qklklalg0chahvh5v18w64lcva6kzj9kbjd")))
 | 
				
			||||||
   (make-linux-libre-source version
 | 
					   (make-linux-libre-source version
 | 
				
			||||||
                            (%upstream-linux-source version hash)
 | 
					                            (%upstream-linux-source version hash)
 | 
				
			||||||
                            deblob-scripts-5.4)))
 | 
					                            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-public linux-libre-4.19-gnu-revision "gnu1")
 | 
				
			||||||
(define deblob-scripts-4.19
 | 
					(define deblob-scripts-4.19
 | 
				
			||||||
  (linux-libre-deblob-scripts
 | 
					  (linux-libre-deblob-scripts
 | 
				
			||||||
| 
						 | 
					@ -582,12 +582,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
 | 
				
			||||||
   (base32 "1425mhkfxn18vxn05bb4h3li7x1jl7l1hf1zi8xhnqv3wa31h9wl")))
 | 
					   (base32 "1425mhkfxn18vxn05bb4h3li7x1jl7l1hf1zi8xhnqv3wa31h9wl")))
 | 
				
			||||||
(define-public linux-libre-4.19-pristine-source
 | 
					(define-public linux-libre-4.19-pristine-source
 | 
				
			||||||
  (let ((version linux-libre-4.19-version)
 | 
					  (let ((version linux-libre-4.19-version)
 | 
				
			||||||
        (hash (base32 "1kkkpm34p5rq0iijzrzwaq0cb62w543argargw5p1wzg8803rlsk")))
 | 
					        (hash (base32 "0dlbl47xs7z4yf9cxbxqzd7zs1f9070jr6ck231wgppa6lwwwb82")))
 | 
				
			||||||
    (make-linux-libre-source version
 | 
					    (make-linux-libre-source version
 | 
				
			||||||
                             (%upstream-linux-source version hash)
 | 
					                             (%upstream-linux-source version hash)
 | 
				
			||||||
                             deblob-scripts-4.19)))
 | 
					                             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-public linux-libre-4.14-gnu-revision "gnu1")
 | 
				
			||||||
(define deblob-scripts-4.14
 | 
					(define deblob-scripts-4.14
 | 
				
			||||||
  (linux-libre-deblob-scripts
 | 
					  (linux-libre-deblob-scripts
 | 
				
			||||||
| 
						 | 
					@ -597,7 +597,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
 | 
				
			||||||
   (base32 "1faagsj4i31z2bp83hflx3q9vrddjnn37a3ah2b47iaplva7z1nd")))
 | 
					   (base32 "1faagsj4i31z2bp83hflx3q9vrddjnn37a3ah2b47iaplva7z1nd")))
 | 
				
			||||||
(define-public linux-libre-4.14-pristine-source
 | 
					(define-public linux-libre-4.14-pristine-source
 | 
				
			||||||
  (let ((version linux-libre-4.14-version)
 | 
					  (let ((version linux-libre-4.14-version)
 | 
				
			||||||
        (hash (base32 "0j5nrankrhi56qzmyjg1pznqx1zgk5f7cfa154smjbn3zlm7lcv6")))
 | 
					        (hash (base32 "0iaaqdkszmfarvjfszc9rf7y9zsv3w82934xmvmzmsbiz86547ca")))
 | 
				
			||||||
    (make-linux-libre-source version
 | 
					    (make-linux-libre-source version
 | 
				
			||||||
                             (%upstream-linux-source version hash)
 | 
					                             (%upstream-linux-source version hash)
 | 
				
			||||||
                             deblob-scripts-4.14)))
 | 
					                             deblob-scripts-4.14)))
 | 
				
			||||||
| 
						 | 
					@ -9474,6 +9474,19 @@ providing convenience for writing the daemon's modules as well as external
 | 
				
			||||||
tools for managing PipeWire.")
 | 
					tools for managing PipeWire.")
 | 
				
			||||||
    (license license:expat)))
 | 
					    (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
 | 
					(define-public ell
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "ell")
 | 
					    (name "ell")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -3284,8 +3284,8 @@ C, C++, Java, Python, Erlang, Haskell, Objective-C, Diff, Webkit.")
 | 
				
			||||||
  (sbcl-package->ecl-package sbcl-colorize))
 | 
					  (sbcl-package->ecl-package sbcl-colorize))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public sbcl-3bmd
 | 
					(define-public sbcl-3bmd
 | 
				
			||||||
  (let ((commit "4e08d82d7c8fb1b8fc708c87f4d9d13a1ab490cb")
 | 
					  (let ((commit "e68b2d442f29b4534c1c8e2f2cdf7583643a2fc5")
 | 
				
			||||||
        (revision "3"))
 | 
					        (revision "4"))
 | 
				
			||||||
    (package
 | 
					    (package
 | 
				
			||||||
      (name "sbcl-3bmd")
 | 
					      (name "sbcl-3bmd")
 | 
				
			||||||
      (version (git-version "0.0.0" revision commit))
 | 
					      (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")
 | 
					               (url "https://github.com/3b/3bmd")
 | 
				
			||||||
               (commit commit)))
 | 
					               (commit commit)))
 | 
				
			||||||
         (sha256
 | 
					         (sha256
 | 
				
			||||||
          (base32 "1j885ykg2yds0l7dmw21lrhs7pd66lf541pf9lb677nkhc2f62jz"))
 | 
					          (base32 "12xqih1gnwsn1baqm7bq3kxss73phn06gvd0v1h1vwsjd1xgpq3g"))
 | 
				
			||||||
         (file-name (git-file-name "cl-3bmd" version))))
 | 
					         (file-name (git-file-name "cl-3bmd" version))))
 | 
				
			||||||
      (build-system asdf-build-system/sbcl)
 | 
					      (build-system asdf-build-system/sbcl)
 | 
				
			||||||
      (arguments
 | 
					      (arguments
 | 
				
			||||||
| 
						 | 
					@ -3666,11 +3666,11 @@ processes that doesn't run under Emacs.  Lisp processes created by
 | 
				
			||||||
  (sbcl-package->ecl-package sbcl-slime-swank))
 | 
					  (sbcl-package->ecl-package sbcl-slime-swank))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public sbcl-mgl-pax
 | 
					(define-public sbcl-mgl-pax
 | 
				
			||||||
  (let ((commit "ed82a80207b70801fab061f6592cf7d7355294a6")
 | 
					  (let ((commit "6782eb041c152721972420dfafa192692d16b7ce")
 | 
				
			||||||
        (revision "0"))
 | 
					        (revision "1"))
 | 
				
			||||||
    (package
 | 
					    (package
 | 
				
			||||||
      (name "sbcl-mgl-pax")
 | 
					      (name "sbcl-mgl-pax")
 | 
				
			||||||
      (version (git-version "0.1.0" revision commit))
 | 
					      (version (git-version "0.3.0" revision commit))
 | 
				
			||||||
      (source
 | 
					      (source
 | 
				
			||||||
       (origin
 | 
					       (origin
 | 
				
			||||||
         (method git-fetch)
 | 
					         (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")
 | 
					               (url "https://github.com/melisgl/mgl-pax")
 | 
				
			||||||
               (commit commit)))
 | 
					               (commit commit)))
 | 
				
			||||||
         (sha256
 | 
					         (sha256
 | 
				
			||||||
          (base32 "008wfa70q68cj6npi4107mfjhjzfjmvrhm1x51jpndsn2165c5bx"))
 | 
					          (base32 "0fjbzc2fn17m80lfsc8121sa0bk7fg42fqlwhm01sk1fj4s48pma"))
 | 
				
			||||||
         (file-name (git-file-name "cl-mgl-pax" version))))
 | 
					         (file-name (git-file-name "cl-mgl-pax" version))))
 | 
				
			||||||
      (build-system asdf-build-system/sbcl)
 | 
					      (build-system asdf-build-system/sbcl)
 | 
				
			||||||
      ;; (native-inputs
 | 
					      ;; (native-inputs
 | 
				
			||||||
| 
						 | 
					@ -3690,7 +3690,8 @@ processes that doesn't run under Emacs.  Lisp processes created by
 | 
				
			||||||
             sbcl-md5
 | 
					             sbcl-md5
 | 
				
			||||||
             sbcl-named-readtables
 | 
					             sbcl-named-readtables
 | 
				
			||||||
             sbcl-pythonic-string-reader
 | 
					             sbcl-pythonic-string-reader
 | 
				
			||||||
             sbcl-slime-swank))
 | 
					             sbcl-slime-swank
 | 
				
			||||||
 | 
					             sbcl-trivial-utf-8))
 | 
				
			||||||
      (arguments
 | 
					      (arguments
 | 
				
			||||||
       `(#:asd-systems '("mgl-pax"
 | 
					       `(#:asd-systems '("mgl-pax"
 | 
				
			||||||
                         "mgl-pax/navigate"
 | 
					                         "mgl-pax/navigate"
 | 
				
			||||||
| 
						 | 
					@ -18752,19 +18753,20 @@ attributes not supported by the Common Lisp standard functions.")
 | 
				
			||||||
  (sbcl-package->cl-source-package sbcl-file-attributes))
 | 
					  (sbcl-package->cl-source-package sbcl-file-attributes))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public sbcl-filesystem-utils
 | 
					(define-public sbcl-filesystem-utils
 | 
				
			||||||
  (let ((commit "4455bb6c43f4433dd68a34ddad9ed5aa9b649243"))
 | 
					  (let ((commit "a07e8b61b89d4b46408fb9294d9b8130e8c8a02e")
 | 
				
			||||||
 | 
					        (revision "2"))
 | 
				
			||||||
    (package
 | 
					    (package
 | 
				
			||||||
      (name "sbcl-filesystem-utils")
 | 
					      (name "sbcl-filesystem-utils")
 | 
				
			||||||
      (version (git-version "1.0.0" "1" commit))
 | 
					      (version (git-version "1.0.0" revision commit))
 | 
				
			||||||
      (source
 | 
					      (source
 | 
				
			||||||
       (origin
 | 
					       (origin
 | 
				
			||||||
         (method git-fetch)
 | 
					         (method git-fetch)
 | 
				
			||||||
         (uri (git-reference
 | 
					         (uri (git-reference
 | 
				
			||||||
               (url "https://github.com/Shinmera/filesystem-utils/")
 | 
					               (url "https://github.com/Shinmera/filesystem-utils/")
 | 
				
			||||||
               (commit commit)))
 | 
					               (commit commit)))
 | 
				
			||||||
         (file-name (git-file-name "filesystem-utils" version))
 | 
					         (file-name (git-file-name "cl-filesystem-utils" version))
 | 
				
			||||||
         (sha256
 | 
					         (sha256
 | 
				
			||||||
          (base32 "0rww9r26zh44qwmj0b4sl95jngdn2h0239x5gjzak3gpdc3i3nbr"))))
 | 
					          (base32 "1zv2i2gndnbs7hz3bgkkq1qfx604wbndpc7qqlqvg23fssn9w59f"))))
 | 
				
			||||||
      (build-system asdf-build-system/sbcl)
 | 
					      (build-system asdf-build-system/sbcl)
 | 
				
			||||||
      (inputs
 | 
					      (inputs
 | 
				
			||||||
       (list sbcl-documentation-utils
 | 
					       (list sbcl-documentation-utils
 | 
				
			||||||
| 
						 | 
					@ -19939,8 +19941,8 @@ lQuery.")
 | 
				
			||||||
  (sbcl-package->cl-source-package sbcl-clip))
 | 
					  (sbcl-package->cl-source-package sbcl-clip))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public sbcl-pathname-utils
 | 
					(define-public sbcl-pathname-utils
 | 
				
			||||||
  (let ((commit "13189c08f2480802a6cba207304c2e0cfdc57f47")
 | 
					  (let ((commit "f28068a79825f37002e96d13dfd739172382bf94")
 | 
				
			||||||
        (revision "2"))
 | 
					        (revision "3"))
 | 
				
			||||||
    (package
 | 
					    (package
 | 
				
			||||||
      (name "sbcl-pathname-utils")
 | 
					      (name "sbcl-pathname-utils")
 | 
				
			||||||
      (version (git-version "1.1.0" revision commit))
 | 
					      (version (git-version "1.1.0" revision commit))
 | 
				
			||||||
| 
						 | 
					@ -19952,7 +19954,7 @@ lQuery.")
 | 
				
			||||||
               (commit commit)))
 | 
					               (commit commit)))
 | 
				
			||||||
         (file-name (git-file-name "cl-pathname-utils" version))
 | 
					         (file-name (git-file-name "cl-pathname-utils" version))
 | 
				
			||||||
         (sha256
 | 
					         (sha256
 | 
				
			||||||
          (base32 "0b5pjsrpfw0pmahi1zydzpaa5missg3cxqnyz4k6xwvk8fqscpha"))))
 | 
					          (base32 "10xs0wnnkbdiirr1cb7q7hzi2zmksfsrj0p7yws0j1l215vz8qs8"))))
 | 
				
			||||||
      (build-system asdf-build-system/sbcl)
 | 
					      (build-system asdf-build-system/sbcl)
 | 
				
			||||||
      (native-inputs
 | 
					      (native-inputs
 | 
				
			||||||
       (list sbcl-parachute))
 | 
					       (list sbcl-parachute))
 | 
				
			||||||
| 
						 | 
					@ -26752,7 +26754,13 @@ inspired by Haskell package @code{Data.List}.")
 | 
				
			||||||
           sbcl-trivial-open-browser
 | 
					           sbcl-trivial-open-browser
 | 
				
			||||||
           sbcl-websocket-driver))
 | 
					           sbcl-websocket-driver))
 | 
				
			||||||
    (arguments
 | 
					    (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")
 | 
					    (home-page "https://github.com/rabbibotton/clog")
 | 
				
			||||||
    (synopsis "Common Lisp Omnificent GUI")
 | 
					    (synopsis "Common Lisp Omnificent GUI")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -67,7 +67,6 @@
 | 
				
			||||||
  #:use-module (gnu packages check)
 | 
					  #:use-module (gnu packages check)
 | 
				
			||||||
  #:use-module (gnu packages compression)
 | 
					  #:use-module (gnu packages compression)
 | 
				
			||||||
  #:use-module (gnu packages dbm)
 | 
					  #:use-module (gnu packages dbm)
 | 
				
			||||||
  #:use-module (gnu packages ed)
 | 
					 | 
				
			||||||
  #:use-module (gnu packages fontutils)
 | 
					  #:use-module (gnu packages fontutils)
 | 
				
			||||||
  #:use-module (gnu packages gcc)
 | 
					  #:use-module (gnu packages gcc)
 | 
				
			||||||
  #:use-module (gnu packages gettext)
 | 
					  #:use-module (gnu packages gettext)
 | 
				
			||||||
| 
						 | 
					@ -95,6 +94,7 @@
 | 
				
			||||||
  #:use-module (gnu packages tcl)
 | 
					  #:use-module (gnu packages tcl)
 | 
				
			||||||
  #:use-module (gnu packages tex)
 | 
					  #:use-module (gnu packages tex)
 | 
				
			||||||
  #:use-module (gnu packages texinfo)
 | 
					  #:use-module (gnu packages texinfo)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages text-editors)
 | 
				
			||||||
  #:use-module (gnu packages tls)
 | 
					  #:use-module (gnu packages tls)
 | 
				
			||||||
  #:use-module (gnu packages version-control)
 | 
					  #:use-module (gnu packages version-control)
 | 
				
			||||||
  #:use-module (gnu packages xorg)
 | 
					  #:use-module (gnu packages xorg)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1214,6 +1214,29 @@ an extensible computation graph model, as well as definitions of built-in
 | 
				
			||||||
operators and standard data types.")
 | 
					operators and standard data types.")
 | 
				
			||||||
    (license license:expat)))
 | 
					    (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
 | 
					(define-public python-onnx
 | 
				
			||||||
  ;; This used to be called "python-onnx" because it provided nothing but
 | 
					  ;; This used to be called "python-onnx" because it provided nothing but
 | 
				
			||||||
  ;; Python bindings.  The package now provides shared libraries and C++
 | 
					  ;; 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.")
 | 
					with a single function call.")
 | 
				
			||||||
    (license license:expat)))
 | 
					    (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
 | 
					(define-public rxcpp
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "rxcpp")
 | 
					    (name "rxcpp")
 | 
				
			||||||
| 
						 | 
					@ -3109,7 +3139,7 @@ advanced research.")
 | 
				
			||||||
(define-public tensorflow-lite
 | 
					(define-public tensorflow-lite
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "tensorflow-lite")
 | 
					    (name "tensorflow-lite")
 | 
				
			||||||
    (version "2.13.0")
 | 
					    (version "2.13.1")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method git-fetch)
 | 
					       (method git-fetch)
 | 
				
			||||||
| 
						 | 
					@ -3119,7 +3149,7 @@ advanced research.")
 | 
				
			||||||
       (file-name (git-file-name name version))
 | 
					       (file-name (git-file-name name version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "07g6vlrs0aayrg2mfdl15gxg5dy103wx2xlqkran15dib40nkbj6"))
 | 
					         "09mfskmpvpbq919wibnw3bnhi1y3hkx3qrzm72gdr0gsivn1yb3w"))
 | 
				
			||||||
       (patches (search-patches "tensorflow-lite-unbundle.patch"))))
 | 
					       (patches (search-patches "tensorflow-lite-unbundle.patch"))))
 | 
				
			||||||
    (build-system cmake-build-system)
 | 
					    (build-system cmake-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
| 
						 | 
					@ -3878,6 +3908,34 @@ high-level machine learning frameworks, such as TensorFlow Lite,
 | 
				
			||||||
TensorFlow.js, PyTorch, and MediaPipe.")
 | 
					TensorFlow.js, PyTorch, and MediaPipe.")
 | 
				
			||||||
      (license license:bsd-3))))
 | 
					      (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.
 | 
					;; Please also update python-torchvision when updating this package.
 | 
				
			||||||
(define-public python-pytorch
 | 
					(define-public python-pytorch
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
| 
						 | 
					@ -4027,7 +4085,59 @@ PyTorch when needed.
 | 
				
			||||||
Note: currently this package does not provide GPU support.")
 | 
					Note: currently this package does not provide GPU support.")
 | 
				
			||||||
    (license license:bsd-3)))
 | 
					    (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
 | 
					(define-public python-lightning-cloud
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
| 
						 | 
					@ -4440,18 +4550,22 @@ of Hidden Markov Models.")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
;; Keep this in sync with the r-torch package.
 | 
					;; Keep this in sync with the r-torch package.
 | 
				
			||||||
(define-public liblantern
 | 
					(define-public liblantern
 | 
				
			||||||
 | 
					  ;; 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
 | 
					    (package
 | 
				
			||||||
      (name "liblantern")
 | 
					      (name "liblantern")
 | 
				
			||||||
    (version "0.10.0")
 | 
					      (version (git-version "0.11.0" revision commit))
 | 
				
			||||||
      (source
 | 
					      (source
 | 
				
			||||||
       (origin
 | 
					       (origin
 | 
				
			||||||
         (method git-fetch)
 | 
					         (method git-fetch)
 | 
				
			||||||
         (uri (git-reference
 | 
					         (uri (git-reference
 | 
				
			||||||
               (url "https://github.com/mlverse/torch")
 | 
					               (url "https://github.com/mlverse/torch")
 | 
				
			||||||
             (commit (string-append "v" version))))
 | 
					               (commit commit)))
 | 
				
			||||||
         (file-name (git-file-name name version))
 | 
					         (file-name (git-file-name name version))
 | 
				
			||||||
         (sha256
 | 
					         (sha256
 | 
				
			||||||
        (base32 "12480fac9xq7rgw0q5f2cnvmakhakjsnq1gvh2ncjfwxz34n8fl7"))))
 | 
					          (base32 "1xxc6vr7sr2mg0va0hc2fs4f6v5b78mx43dp2shzzbcgw90mgpvk"))))
 | 
				
			||||||
      (build-system cmake-build-system)
 | 
					      (build-system cmake-build-system)
 | 
				
			||||||
      (arguments
 | 
					      (arguments
 | 
				
			||||||
       (list
 | 
					       (list
 | 
				
			||||||
| 
						 | 
					@ -4503,7 +4617,7 @@ of Hidden Markov Models.")
 | 
				
			||||||
      (synopsis "C API to libtorch")
 | 
					      (synopsis "C API to libtorch")
 | 
				
			||||||
      (description
 | 
					      (description
 | 
				
			||||||
       "Lantern provides a C API to the libtorch machine learning library.")
 | 
					       "Lantern provides a C API to the libtorch machine learning library.")
 | 
				
			||||||
    (license license:expat)))
 | 
					      (license license:expat))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public python-lap
 | 
					(define-public python-lap
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4475,7 +4475,7 @@ implemented in ANSI C, and MPI for communications.")
 | 
				
			||||||
(define-public scotch
 | 
					(define-public scotch
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "scotch")
 | 
					    (name "scotch")
 | 
				
			||||||
    (version "7.0.1")
 | 
					    (version "7.0.4")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method git-fetch)
 | 
					       (method git-fetch)
 | 
				
			||||||
| 
						 | 
					@ -4484,7 +4484,7 @@ implemented in ANSI C, and MPI for communications.")
 | 
				
			||||||
             (commit (string-append "v" version))))
 | 
					             (commit (string-append "v" version))))
 | 
				
			||||||
       (file-name (git-file-name name version))
 | 
					       (file-name (git-file-name name version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "1fvgxd3ipl5xswswyadvxvlcgv6an8c229ispnlksgnlwphg10ig"))))
 | 
					        (base32 "0rbc51albpd2923dkirpkj8rfkic6rsvwqqnv1mmsk391zhk3amr"))))
 | 
				
			||||||
    (build-system cmake-build-system)
 | 
					    (build-system cmake-build-system)
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     (list zlib))
 | 
					     (list zlib))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -12,6 +12,7 @@
 | 
				
			||||||
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
 | 
					;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
 | 
				
			||||||
;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
 | 
					;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
 | 
				
			||||||
;;; Copyright © 2022 Joeke de Graaf <joeke@posteo.net>
 | 
					;;; Copyright © 2022 Joeke de Graaf <joeke@posteo.net>
 | 
				
			||||||
 | 
					;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -162,7 +163,25 @@ This package contains the library.")
 | 
				
			||||||
                           Version: ~a~@
 | 
					                           Version: ~a~@
 | 
				
			||||||
                           Libs: -L${libdir} -lid3tag -lz~@
 | 
					                           Libs: -L${libdir} -lid3tag -lz~@
 | 
				
			||||||
                           Cflags: -I${includedir}~%"
 | 
					                           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))
 | 
					   (inputs (list zlib))
 | 
				
			||||||
   (synopsis "Library for reading ID3 tags")
 | 
					   (synopsis "Library for reading ID3 tags")
 | 
				
			||||||
   (description
 | 
					   (description
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -623,7 +623,7 @@ mpdevil loads all tags and covers on demand.")
 | 
				
			||||||
(define-public mympd
 | 
					(define-public mympd
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "mympd")
 | 
					    (name "mympd")
 | 
				
			||||||
    (version "13.0.5")
 | 
					    (version "13.0.6")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method git-fetch)
 | 
					              (method git-fetch)
 | 
				
			||||||
              (uri (git-reference
 | 
					              (uri (git-reference
 | 
				
			||||||
| 
						 | 
					@ -632,7 +632,7 @@ mpdevil loads all tags and covers on demand.")
 | 
				
			||||||
              (file-name (git-file-name name version))
 | 
					              (file-name (git-file-name name version))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1ly3iw4irybfxyafgrldldwc28a879wwnd1pg32m2sgrwyhr0czm"))))
 | 
					                "17mx6qkdcnm4z6qw0ns8wmihahcnk3kidfcr6fapa34cdadsjapg"))))
 | 
				
			||||||
    (outputs '("out" "doc"))
 | 
					    (outputs '("out" "doc"))
 | 
				
			||||||
    (build-system cmake-build-system)
 | 
					    (build-system cmake-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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 © 2018–2021 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+
 | 
					 | 
				
			||||||
| 
						 | 
					@ -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-"
 | 
					       (uri (string-append "https://www.inet.no/dante/files/dante-"
 | 
				
			||||||
                           version ".tar.gz"))
 | 
					                           version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "0pbahkj43rx7rmv2x40mf5p3g3x9d6i2sz7pzglarf54w5ghd2j1"))))
 | 
					         (base32 "0pbahkj43rx7rmv2x40mf5p3g3x9d6i2sz7pzglarf54w5ghd2j1"))
 | 
				
			||||||
 | 
					       (patches (search-patches "dante-non-darwin.patch"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments '(#:configure-flags '("--with-libc=libc.so.6")))
 | 
				
			||||||
     ;; 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")))
 | 
					 | 
				
			||||||
    (home-page "https://www.inet.no/dante/")
 | 
					    (home-page "https://www.inet.no/dante/")
 | 
				
			||||||
    (synopsis "SOCKS server and client")
 | 
					    (synopsis "SOCKS server and client")
 | 
				
			||||||
    (description "Dante is a SOCKS client and server implementation.  It can
 | 
					    (description "Dante is a SOCKS client and server implementation.  It can
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -347,6 +347,35 @@ random number generator.")
 | 
				
			||||||
Javascript.")
 | 
					Javascript.")
 | 
				
			||||||
    (license license:expat)))
 | 
					    (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
 | 
					(define-public node-oop
 | 
				
			||||||
  ;; No releases, last commit was February 2013.
 | 
					  ;; No releases, last commit was February 2013.
 | 
				
			||||||
  (let ((commit "f9d87cda0958886955c14a0a716e57021ed295dc")
 | 
					  (let ((commit "f9d87cda0958886955c14a0a716e57021ed295dc")
 | 
				
			||||||
| 
						 | 
					@ -467,6 +496,48 @@ written in Javascript.")
 | 
				
			||||||
resolve all imports.")
 | 
					resolve all imports.")
 | 
				
			||||||
    (license license:expat)))
 | 
					    (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
 | 
					(define-public node-stack-trace
 | 
				
			||||||
  ;; There have been improvements since the last release.
 | 
					  ;; There have been improvements since the last release.
 | 
				
			||||||
  (let ((commit "4fd379ee78965ce7ce8820b436f1b1b590d5dbcf")
 | 
					  (let ((commit "4fd379ee78965ce7ce8820b436f1b1b590d5dbcf")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -738,14 +738,14 @@ source files.")
 | 
				
			||||||
(define-public node-lts
 | 
					(define-public node-lts
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (inherit node)
 | 
					    (inherit node)
 | 
				
			||||||
    (version "18.18.2")
 | 
					    (version "18.19.0")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "https://nodejs.org/dist/v" version
 | 
					              (uri (string-append "https://nodejs.org/dist/v" version
 | 
				
			||||||
                                  "/node-v" version ".tar.gz"))
 | 
					                                  "/node-v" version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0ci1faxjsbp0lv05kskh5anfljn6zawqcf7dawiby5d5qg7x572h"))
 | 
					                "05qc1dgmrms73073n4l36jrcxf6ygqj959d3cngy5qclrg0isk6x"))
 | 
				
			||||||
              (modules '((guix build utils)))
 | 
					              (modules '((guix build utils)))
 | 
				
			||||||
              (snippet
 | 
					              (snippet
 | 
				
			||||||
               '(begin
 | 
					               '(begin
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							| 
						 | 
					@ -1510,8 +1510,8 @@ environments.")
 | 
				
			||||||
                  "0k9zkdyyzir3fvlbcfcqy17k28b51i20rpbjwlx2i1mwd2pw9cxc")))))))
 | 
					                  "0k9zkdyyzir3fvlbcfcqy17k28b51i20rpbjwlx2i1mwd2pw9cxc")))))))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public guix-build-coordinator
 | 
					(define-public guix-build-coordinator
 | 
				
			||||||
  (let ((commit "78df0b3a9f4f27df8341da36d4dfa8e49dfad900")
 | 
					  (let ((commit "e4af682452580298b34681d37818a16771a17c66")
 | 
				
			||||||
        (revision "92"))
 | 
					        (revision "93"))
 | 
				
			||||||
    (package
 | 
					    (package
 | 
				
			||||||
      (name "guix-build-coordinator")
 | 
					      (name "guix-build-coordinator")
 | 
				
			||||||
      (version (git-version "0" revision commit))
 | 
					      (version (git-version "0" revision commit))
 | 
				
			||||||
| 
						 | 
					@ -1522,7 +1522,7 @@ environments.")
 | 
				
			||||||
                      (commit commit)))
 | 
					                      (commit commit)))
 | 
				
			||||||
                (sha256
 | 
					                (sha256
 | 
				
			||||||
                 (base32
 | 
					                 (base32
 | 
				
			||||||
                  "06xp38k6yfvsvl20hrqvmarpysd07nkbj53an729lqr50qdd4jcq"))
 | 
					                  "1i8x9nfpvg832lxwbpjl1kadldpkcnjlxdxl4c5jqx2hz680ylf3"))
 | 
				
			||||||
                (file-name (string-append name "-" version "-checkout"))))
 | 
					                (file-name (string-append name "-" version "-checkout"))))
 | 
				
			||||||
      (build-system gnu-build-system)
 | 
					      (build-system gnu-build-system)
 | 
				
			||||||
      (arguments
 | 
					      (arguments
 | 
				
			||||||
| 
						 | 
					@ -1570,6 +1570,9 @@ environments.")
 | 
				
			||||||
                            ,@(or (and=> (assoc-ref inputs "sqitch")
 | 
					                            ,@(or (and=> (assoc-ref inputs "sqitch")
 | 
				
			||||||
                                         list)
 | 
					                                         list)
 | 
				
			||||||
                                  '())))
 | 
					                                  '())))
 | 
				
			||||||
 | 
					                         `("GUIX_LOCPATH" ":" prefix
 | 
				
			||||||
 | 
					                           (,(string-append (assoc-ref inputs "glibc-utf8-locales")
 | 
				
			||||||
 | 
					                                            "/lib/locale")))
 | 
				
			||||||
                         `("GUILE_LOAD_PATH" ":" prefix
 | 
					                         `("GUILE_LOAD_PATH" ":" prefix
 | 
				
			||||||
                           (,scm ,(string-join
 | 
					                           (,scm ,(string-join
 | 
				
			||||||
                                   (map (lambda (input)
 | 
					                                   (map (lambda (input)
 | 
				
			||||||
| 
						 | 
					@ -1608,6 +1611,7 @@ environments.")
 | 
				
			||||||
       (list (first (assoc-ref (package-native-inputs guix) "guile"))
 | 
					       (list (first (assoc-ref (package-native-inputs guix) "guile"))
 | 
				
			||||||
             sqlite
 | 
					             sqlite
 | 
				
			||||||
             bash-minimal
 | 
					             bash-minimal
 | 
				
			||||||
 | 
					             (libc-utf8-locales-for-target)
 | 
				
			||||||
             sqitch))
 | 
					             sqitch))
 | 
				
			||||||
      (propagated-inputs
 | 
					      (propagated-inputs
 | 
				
			||||||
       (list guile-prometheus
 | 
					       (list guile-prometheus
 | 
				
			||||||
| 
						 | 
					@ -1647,7 +1651,8 @@ outputs of those builds.")
 | 
				
			||||||
           (first (assoc-ref (package-native-inputs guix) "guile"))))
 | 
					           (first (assoc-ref (package-native-inputs guix) "guile"))))
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     (list (first (assoc-ref (package-native-inputs guix) "guile"))
 | 
					     (list (first (assoc-ref (package-native-inputs guix) "guile"))
 | 
				
			||||||
           bash-minimal))
 | 
					           bash-minimal
 | 
				
			||||||
 | 
					           (libc-utf8-locales-for-target)))
 | 
				
			||||||
    (propagated-inputs
 | 
					    (propagated-inputs
 | 
				
			||||||
     (list guile-prometheus
 | 
					     (list guile-prometheus
 | 
				
			||||||
           guile-gcrypt
 | 
					           guile-gcrypt
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1123,7 +1123,7 @@ It supports both vim-like keybindings and the mouse.")
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:test-target "test"
 | 
					     `(#:test-target "test"
 | 
				
			||||||
       #:make-flags (list "CC=gcc"
 | 
					       #:make-flags (list (string-append "CC=" ,(cc-for-target))
 | 
				
			||||||
                          (string-append "PREFIX=" (assoc-ref %outputs "out"))
 | 
					                          (string-append "PREFIX=" (assoc-ref %outputs "out"))
 | 
				
			||||||
                          "LIBRARY_REL=lib"
 | 
					                          "LIBRARY_REL=lib"
 | 
				
			||||||
                          (string-append "ARGON2_VERSION=" ,version)
 | 
					                          (string-append "ARGON2_VERSION=" ,version)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										15
									
								
								gnu/packages/patches/dante-non-darwin.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								gnu/packages/patches/dante-non-darwin.patch
									
										
									
									
									
										Normal 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@}"
 | 
				
			||||||
							
								
								
									
										55
									
								
								gnu/packages/patches/onnx-1.13.1-use-system-googletest.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								gnu/packages/patches/onnx-1.13.1-use-system-googletest.patch
									
										
									
									
									
										Normal 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}
 | 
				
			||||||
							
								
								
									
										156
									
								
								gnu/packages/patches/python-pytorch2-system-libraries.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										156
									
								
								gnu/packages/patches/python-pytorch2-system-libraries.patch
									
										
									
									
									
										Normal 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
 | 
				
			||||||
| 
						 | 
					@ -1,27 +1,36 @@
 | 
				
			||||||
Allow the configuration file and theme directory to be specified at run time.
 | 
					Allow the configuration file and theme directory to be specified at run time.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Patch by Eelco Dolstra, from Nixpkgs.
 | 
					Patch by Eelco Dolstra, from Nixpkgs.
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					 app.cpp | 8 ++++++--
 | 
				
			||||||
 | 
					 1 file changed, 6 insertions(+), 2 deletions(-)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
--- slim-1.3.6/app.cpp	2013-10-02 00:38:05.000000000 +0200
 | 
					diff --git a/app.cpp b/app.cpp
 | 
				
			||||||
+++ slim-1.3.6/app.cpp	2013-10-15 11:02:55.629263422 +0200
 | 
					index 237477d..735df9c 100644
 | 
				
			||||||
@@ -200,7 +200,9 @@
 | 
					--- a/app.cpp
 | 
				
			||||||
 
 | 
					+++ b/app.cpp
 | 
				
			||||||
 	/* Read configuration and theme */
 | 
					@@ -285,7 +285,9 @@ void App::Run()
 | 
				
			||||||
 | 
					 	if ( cfg == 0 )
 | 
				
			||||||
 | 
					 	{
 | 
				
			||||||
 		cfg = new Cfg;
 | 
					 		cfg = new Cfg;
 | 
				
			||||||
-		cfg->readConf(CFGFILE);
 | 
					-		cfg->readConf(CFGFILE);
 | 
				
			||||||
+	char *cfgfile = getenv("SLIM_CFGFILE");
 | 
					+		const char* cfgfile = getenv("SLIM_CFGFILE");
 | 
				
			||||||
+		if (!cfgfile) cfgfile = CFGFILE;
 | 
					+		if (!cfgfile) cfgfile = CFGFILE;
 | 
				
			||||||
+		cfg->readConf(cfgfile);
 | 
					+		cfg->readConf(cfgfile);
 | 
				
			||||||
 | 
					 	}
 | 
				
			||||||
 	string themebase = "";
 | 
					 	string themebase = "";
 | 
				
			||||||
 	string themefile = "";
 | 
					 	string themefile = "";
 | 
				
			||||||
 	string themedir = "";
 | 
					@@ -297,7 +299,9 @@ void App::Run()
 | 
				
			||||||
@@ -208,7 +210,9 @@
 | 
					 	}
 | 
				
			||||||
 	if (testing) {
 | 
					 	else
 | 
				
			||||||
 		themeName = testtheme;
 | 
					 	{
 | 
				
			||||||
 	} else {
 | 
					 | 
				
			||||||
-		themebase = string(THEMESDIR) + "/";
 | 
					-		themebase = string(THEMESDIR) + "/";
 | 
				
			||||||
+		char *themesdir = getenv("SLIM_THEMESDIR");
 | 
					+		const char* themesdir = getenv("SLIM_THEMESDIR");
 | 
				
			||||||
+		if (!themesdir) themesdir = THEMESDIR;
 | 
					+		if (!themesdir) themesdir = THEMESDIR;
 | 
				
			||||||
+		themebase = string(themesdir) + "/";
 | 
					+		themebase = string(themesdir) + "/";
 | 
				
			||||||
 		themeName = cfg->getOption("current_theme");
 | 
					 		themeName = cfg->getOption("current_theme");
 | 
				
			||||||
 		string::size_type pos;
 | 
					 		string::size_type pos;
 | 
				
			||||||
 		if ((pos = themeName.find(",")) != string::npos) {
 | 
					 		if ((pos = themeName.find(",")) != string::npos)
 | 
				
			||||||
 | 
					-- 
 | 
				
			||||||
 | 
					2.39.2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,39 +1,52 @@
 | 
				
			||||||
Add "display_name" configuration option and use its value instead of
 | 
					Add "display_name" configuration option and use its value instead of the hard
 | 
				
			||||||
the hard coded one.
 | 
					coded one.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Patch by Diego N. Barbato
 | 
					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
 | 
					diff --git a/app.cpp b/app.cpp
 | 
				
			||||||
+++ b/app.cpp	2019-04-27 13:48:23.479133531 +0200
 | 
					index b840e60..4f72da0 100644
 | 
				
			||||||
@@ -190,7 +190,13 @@
 | 
					--- a/app.cpp
 | 
				
			||||||
 }
 | 
					+++ b/app.cpp
 | 
				
			||||||
 | 
					@@ -270,7 +270,16 @@ App::App(int argc, char** argv)
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 void App::Run() {
 | 
					 void App::Run()
 | 
				
			||||||
 | 
					 {
 | 
				
			||||||
-	DisplayName = DISPLAY;
 | 
					-	DisplayName = DISPLAY;
 | 
				
			||||||
+	/* Read configuration */
 | 
					+	/* Read configuration */
 | 
				
			||||||
 | 
					+	if ( cfg == 0 )
 | 
				
			||||||
 | 
					+	{
 | 
				
			||||||
+		cfg = new Cfg;
 | 
					+		cfg = new Cfg;
 | 
				
			||||||
+	char *cfgfile = getenv("SLIM_CFGFILE");
 | 
					+		const char *cfgfile = getenv("SLIM_CFGFILE");
 | 
				
			||||||
+		if (!cfgfile) cfgfile = CFGFILE;
 | 
					+		if (!cfgfile) cfgfile = CFGFILE;
 | 
				
			||||||
+		cfg->readConf(cfgfile);
 | 
					+		cfg->readConf(cfgfile);
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
+		DisplayName = cfg->getOption("display_name").c_str();
 | 
					+		DisplayName = cfg->getOption("display_name").c_str();
 | 
				
			||||||
 | 
					+	}
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 #ifdef XNEST_DEBUG
 | 
					 #ifdef XNEST_DEBUG
 | 
				
			||||||
 	char* p = getenv("DISPLAY");
 | 
					 	char* p = getenv("DISPLAY");
 | 
				
			||||||
@@ -200,11 +206,7 @@
 | 
					@@ -281,14 +287,7 @@ void App::Run()
 | 
				
			||||||
 	}
 | 
					 	}
 | 
				
			||||||
 #endif
 | 
					 #endif
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
-	/* Read configuration and theme */
 | 
					-	/* Read configuration and theme */
 | 
				
			||||||
 | 
					-	if ( cfg == 0 )
 | 
				
			||||||
 | 
					-	{
 | 
				
			||||||
-		cfg = new Cfg;
 | 
					-		cfg = new Cfg;
 | 
				
			||||||
-	char *cfgfile = getenv("SLIM_CFGFILE");
 | 
					-		const char* cfgfile = getenv("SLIM_CFGFILE");
 | 
				
			||||||
-		if (!cfgfile) cfgfile = CFGFILE;
 | 
					-		if (!cfgfile) cfgfile = CFGFILE;
 | 
				
			||||||
-		cfg->readConf(cfgfile);
 | 
					-		cfg->readConf(cfgfile);
 | 
				
			||||||
 | 
					-	}
 | 
				
			||||||
+        /* Read theme */
 | 
					+        /* Read theme */
 | 
				
			||||||
 	string themebase = "";
 | 
					 	string themebase = "";
 | 
				
			||||||
 	string themefile = "";
 | 
					 	string themefile = "";
 | 
				
			||||||
 	string themedir = "";
 | 
					 	string themedir = "";
 | 
				
			||||||
@@ -911,9 +913,7 @@
 | 
					@@ -1115,9 +1114,7 @@ int App::StartServer()
 | 
				
			||||||
 	static const int MAX_XSERVER_ARGS = 256;
 | 
					 	static const int MAX_XSERVER_ARGS = 256;
 | 
				
			||||||
 	static char* server[MAX_XSERVER_ARGS+2] = { NULL };
 | 
					 	static char* server[MAX_XSERVER_ARGS+2] = { NULL };
 | 
				
			||||||
 	server[0] = (char *)cfg->getOption("default_xserver").c_str();
 | 
					 	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 */
 | 
					 	char* args = new char[argOption.length()+2]; /* NULL plus vt */
 | 
				
			||||||
 	strcpy(args, argOption.c_str());
 | 
					 	strcpy(args, argOption.c_str());
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -1233,7 +1233,7 @@
 | 
					@@ -1424,7 +1421,7 @@ void App::CreateServerAuth()
 | 
				
			||||||
 	authfile = cfg->getOption("authfile");
 | 
					 	authfile = cfg->getOption("authfile");
 | 
				
			||||||
 	remove(authfile.c_str());
 | 
					 	remove(authfile.c_str());
 | 
				
			||||||
 	putenv(StrConcat("XAUTHORITY=", authfile.c_str()));
 | 
					 	putenv(StrConcat("XAUTHORITY=", authfile.c_str()));
 | 
				
			||||||
| 
						 | 
					@ -53,9 +66,11 @@ Patch by Diego N. Barbato
 | 
				
			||||||
 	  authfile);
 | 
					 	  authfile);
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
--- a/cfg.cpp	1970-01-01 01:00:00.000000000 +0100
 | 
					diff --git a/cfg.cpp b/cfg.cpp
 | 
				
			||||||
+++ b/cfg.cpp	2019-04-27 13:49:40.511773743 +0200
 | 
					index 37fb10d..a0c9bf1 100644
 | 
				
			||||||
@@ -31,6 +31,7 @@
 | 
					--- a/cfg.cpp
 | 
				
			||||||
 | 
					+++ b/cfg.cpp
 | 
				
			||||||
 | 
					@@ -40,6 +40,7 @@ Cfg::Cfg()
 | 
				
			||||||
 	/* Configuration options */
 | 
					 	/* Configuration options */
 | 
				
			||||||
 	options.insert(option("default_path","/bin:/usr/bin:/usr/local/bin"));
 | 
					 	options.insert(option("default_path","/bin:/usr/bin:/usr/local/bin"));
 | 
				
			||||||
 	options.insert(option("default_xserver","/usr/bin/X"));
 | 
					 	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("xserver_arguments",""));
 | 
				
			||||||
 	options.insert(option("numlock",""));
 | 
					 	options.insert(option("numlock",""));
 | 
				
			||||||
 	options.insert(option("daemon",""));
 | 
					 	options.insert(option("daemon",""));
 | 
				
			||||||
--- a/switchuser.cpp	1970-01-01 01:00:00.000000000 +0100
 | 
					diff --git a/switchuser.cpp b/switchuser.cpp
 | 
				
			||||||
+++ b/switchuser.cpp	2019-04-27 13:50:19.380096651 +0200
 | 
					index ca936ae..255f5d9 100644
 | 
				
			||||||
@@ -54,6 +54,6 @@
 | 
					--- a/switchuser.cpp
 | 
				
			||||||
 | 
					+++ b/switchuser.cpp
 | 
				
			||||||
 | 
					@@ -69,6 +69,6 @@ void SwitchUser::SetClientAuth(const char* mcookie)
 | 
				
			||||||
 	string home = string(Pw->pw_dir);
 | 
					 	string home = string(Pw->pw_dir);
 | 
				
			||||||
 	string authfile = home + "/.Xauthority";
 | 
					 	string authfile = home + "/.Xauthority";
 | 
				
			||||||
 	remove(authfile.c_str());
 | 
					 	remove(authfile.c_str());
 | 
				
			||||||
-	Util::add_mcookie(mcookie, ":0", cfg->getOption("xauth_path"),
 | 
					-	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);
 | 
					 	  authfile);
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
 | 
					-- 
 | 
				
			||||||
 | 
					2.39.2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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 */
 | 
					 | 
				
			||||||
| 
						 | 
					@ -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) {
 | 
					 | 
				
			||||||
| 
						 | 
					@ -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);
 | 
					 | 
				
			||||||
							
								
								
									
										39
									
								
								gnu/packages/patches/transmission-4.0.5-fix-build.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								gnu/packages/patches/transmission-4.0.5-fix-build.patch
									
										
									
									
									
										Normal 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 */
 | 
				
			||||||
| 
						 | 
					@ -8,8 +8,10 @@ This reverts commit b4f3cc2c42d97967a3a3c8796c340f6b07ecccac.
 | 
				
			||||||
Addendum 2022-12-08, Ricardo Wurmus: This patch has been updated to introduce
 | 
					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.
 | 
					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
 | 
					diff --git a/tools/kwbimage.c b/tools/kwbimage.c
 | 
				
			||||||
index 94b7685392..eec599b0ee 100644
 | 
					index 4dce495ff0..976174ae77 100644
 | 
				
			||||||
--- a/tools/kwbimage.c
 | 
					--- a/tools/kwbimage.c
 | 
				
			||||||
+++ b/tools/kwbimage.c
 | 
					+++ b/tools/kwbimage.c
 | 
				
			||||||
@@ -19,6 +19,7 @@
 | 
					@@ -19,6 +19,7 @@
 | 
				
			||||||
| 
						 | 
					@ -38,7 +40,7 @@ index 94b7685392..eec599b0ee 100644
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 struct boot_mode {
 | 
					 struct boot_mode {
 | 
				
			||||||
 	unsigned int id;
 | 
					 	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;
 | 
					 	return count;
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
| 
						 | 
					@ -47,7 +49,7 @@ index 94b7685392..eec599b0ee 100644
 | 
				
			||||||
 static int image_get_csk_index(void)
 | 
					 static int image_get_csk_index(void)
 | 
				
			||||||
 {
 | 
					 {
 | 
				
			||||||
 	struct image_cfg_element *e;
 | 
					 	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;
 | 
					 	return e->csk_idx;
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
| 
						 | 
					@ -55,7 +57,7 @@ index 94b7685392..eec599b0ee 100644
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 static bool image_get_spezialized_img(void)
 | 
					 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, ...)
 | 
					 static void kwb_msg(const char *fmt, ...)
 | 
				
			||||||
 {
 | 
					 {
 | 
				
			||||||
 	if (verbose_mode) {
 | 
					 	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:
 | 
					 done:
 | 
				
			||||||
 	return ret;
 | 
					 	return ret;
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
+#endif
 | 
					+#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)
 | 
					@@ -1149,13 +1158,13 @@ static size_t image_headersz_v1(int *hasext)
 | 
				
			||||||
 	 */
 | 
					 	int ret;
 | 
				
			||||||
 	headersz = sizeof(struct main_hdr_v1);
 | 
					 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 | 
					 	headersz = sizeof(struct main_hdr_v1);
 | 
				
			||||||
 | 
					-
 | 
				
			||||||
+#if defined(CONFIG_KWB_SECURE)
 | 
					+#if defined(CONFIG_KWB_SECURE)
 | 
				
			||||||
 	if (image_get_csk_index() >= 0) {
 | 
					 	if (image_get_csk_index() >= 0) {
 | 
				
			||||||
 		headersz += sizeof(struct secure_hdr_v1);
 | 
					 		headersz += sizeof(struct secure_hdr_v1);
 | 
				
			||||||
 		if (hasext)
 | 
					 		if (hasext)
 | 
				
			||||||
 			*hasext = 1;
 | 
					 			*hasext = 1;
 | 
				
			||||||
 	}
 | 
					 	}
 | 
				
			||||||
 | 
					-
 | 
				
			||||||
+#endif
 | 
					+#endif
 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 	cpu_sheeva = image_is_cpu_sheeva();
 | 
					 	cpu_sheeva = image_is_cpu_sheeva();
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -1270,6 +1281,7 @@ err_close:
 | 
					 	count = 0;
 | 
				
			||||||
 | 
					@@ -1351,6 +1360,7 @@ err_close:
 | 
				
			||||||
 	return -1;
 | 
					 	return -1;
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
| 
						 | 
					@ -93,7 +97,7 @@ index 94b7685392..eec599b0ee 100644
 | 
				
			||||||
 static int export_pub_kak_hash(RSA *kak, struct secure_hdr_v1 *secure_hdr)
 | 
					 static int export_pub_kak_hash(RSA *kak, struct secure_hdr_v1 *secure_hdr)
 | 
				
			||||||
 {
 | 
					 {
 | 
				
			||||||
 	FILE *hashf;
 | 
					 	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;
 | 
					 	return 0;
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
| 
						 | 
					@ -101,9 +105,9 @@ index 94b7685392..eec599b0ee 100644
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 static void finish_register_set_header_v1(uint8_t **cur, uint8_t **next_ext,
 | 
					 static void finish_register_set_header_v1(uint8_t **cur, uint8_t **next_ext,
 | 
				
			||||||
 					  struct register_set_hdr_v1 *register_set_hdr,
 | 
					 					  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 main_hdr_v1 *main_hdr;
 | 
				
			||||||
 	struct opt_hdr_v1 *ohdr;
 | 
					 | 
				
			||||||
 	struct register_set_hdr_v1 *register_set_hdr;
 | 
					 	struct register_set_hdr_v1 *register_set_hdr;
 | 
				
			||||||
+#if defined(CONFIG_KWB_SECURE)
 | 
					+#if defined(CONFIG_KWB_SECURE)
 | 
				
			||||||
 	struct secure_hdr_v1 *secure_hdr = NULL;
 | 
					 	struct secure_hdr_v1 *secure_hdr = NULL;
 | 
				
			||||||
| 
						 | 
					@ -111,15 +115,16 @@ index 94b7685392..eec599b0ee 100644
 | 
				
			||||||
 	size_t headersz;
 | 
					 	size_t headersz;
 | 
				
			||||||
 	uint8_t *image, *cur;
 | 
					 	uint8_t *image, *cur;
 | 
				
			||||||
 	int hasext = 0;
 | 
					 	int hasext = 0;
 | 
				
			||||||
@@ -1491,6 +1506,7 @@ static void *image_create_v1(size_t *imagesz, struct image_tool_params *params,
 | 
					@@ -1562,7 +1575,7 @@ static void *image_create_v1(size_t *dataoff, struct image_tool_params *params,
 | 
				
			||||||
 	if (main_hdr->blockid == IBR_HDR_PEX_ID)
 | 
					 		}
 | 
				
			||||||
 		main_hdr->srcaddr = cpu_to_le32(0xFFFFFFFF);
 | 
					 		*dataoff = le32_to_cpu(main_hdr->srcaddr);
 | 
				
			||||||
 
 | 
					 	}
 | 
				
			||||||
 | 
					-
 | 
				
			||||||
+#if defined(CONFIG_KWB_SECURE)
 | 
					+#if defined(CONFIG_KWB_SECURE)
 | 
				
			||||||
 	if (image_get_csk_index() >= 0) {
 | 
					 	if (image_get_csk_index() >= 0) {
 | 
				
			||||||
 		/*
 | 
					 		/*
 | 
				
			||||||
 		 * only reserve the space here; we fill the header later since
 | 
					 		 * 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 = 1;
 | 
				
			||||||
 		next_ext = &secure_hdr->next;
 | 
					 		next_ext = &secure_hdr->next;
 | 
				
			||||||
 	}
 | 
					 	}
 | 
				
			||||||
| 
						 | 
					@ -128,7 +133,7 @@ index 94b7685392..eec599b0ee 100644
 | 
				
			||||||
 	datai = 0;
 | 
					 	datai = 0;
 | 
				
			||||||
 	for (cfgi = 0; cfgi < cfgn; cfgi++) {
 | 
					 	for (cfgi = 0; cfgi < cfgn; cfgi++) {
 | 
				
			||||||
 		e = &image_cfg[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);
 | 
					 					      &datai, delay);
 | 
				
			||||||
 	}
 | 
					 	}
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
| 
						 | 
					@ -140,7 +145,6 @@ index 94b7685392..eec599b0ee 100644
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 	/* Calculate and set the header checksum */
 | 
					 	/* Calculate and set the header checksum */
 | 
				
			||||||
 	main_hdr->checksum = image_checksum8(main_hdr, headersz);
 | 
					 	main_hdr->checksum = image_checksum8(main_hdr, headersz);
 | 
				
			||||||
 
 | 
					 | 
				
			||||||
--- a/tools/image-host.c
 | 
					--- a/tools/image-host.c
 | 
				
			||||||
+++ b/tools/image-host.c
 | 
					+++ b/tools/image-host.c
 | 
				
			||||||
@@ -14,8 +14,10 @@
 | 
					@@ -14,8 +14,10 @@
 | 
				
			||||||
| 
						 | 
					@ -154,7 +158,7 @@ index 94b7685392..eec599b0ee 100644
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 /**
 | 
					 /**
 | 
				
			||||||
  * fit_set_hash_value - set hash value in requested has node
 | 
					  * 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;
 | 
					 	return 0;
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
| 
						 | 
					@ -162,7 +166,7 @@ index 94b7685392..eec599b0ee 100644
 | 
				
			||||||
 /*
 | 
					 /*
 | 
				
			||||||
  * 0) open file (open)
 | 
					  * 0) open file (open)
 | 
				
			||||||
  * 1) read certificate (PEM_read_X509)
 | 
					  * 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:
 | 
					  out:
 | 
				
			||||||
 	return ret;
 | 
					 	return ret;
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
| 
						 | 
					@ -172,7 +176,7 @@ index 94b7685392..eec599b0ee 100644
 | 
				
			||||||
 		    const char *comment, int require_keys,
 | 
					 		    const char *comment, int require_keys,
 | 
				
			||||||
--- a/tools/fit_image.c
 | 
					--- a/tools/fit_image.c
 | 
				
			||||||
+++ b/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);
 | 
					 		ret = fit_set_timestamp(ptr, 0, time);
 | 
				
			||||||
 	}
 | 
					 	}
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
| 
						 | 
					@ -186,7 +190,7 @@ index 94b7685392..eec599b0ee 100644
 | 
				
			||||||
 				      params->comment,
 | 
					 				      params->comment,
 | 
				
			||||||
--- a/include/image.h
 | 
					--- a/include/image.h
 | 
				
			||||||
+++ b/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);
 | 
					 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
 | 
					  * 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
 | 
					  *	< 0, on failure
 | 
				
			||||||
  */
 | 
					  */
 | 
				
			||||||
 int fit_pre_load_data(const char *keydir, void *keydest, void *fit);
 | 
					 int fit_pre_load_data(const char *keydir, void *keydest, void *fit);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
| 
						 | 
					@ -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*"]
 | 
					 | 
				
			||||||
| 
						 | 
					@ -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
 | 
					 | 
				
			||||||
| 
						 | 
					@ -170,10 +170,10 @@ Tested-by: Peter Robinson <pbrobinson@gmail.com>
 | 
				
			||||||
 1 file changed, 21 insertions(+)
 | 
					 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
 | 
					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
 | 
					--- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
 | 
				
			||||||
+++ b/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;
 | 
					 	void *reg_base;
 | 
				
			||||||
 	struct clk phyclk;
 | 
					 	struct clk phyclk;
 | 
				
			||||||
 	const struct rockchip_usb2phy_cfg *phy_cfg;
 | 
					 	const struct rockchip_usb2phy_cfg *phy_cfg;
 | 
				
			||||||
| 
						 | 
					@ -182,7 +182,7 @@ index 62b8ba3a4a..be9cc99d90 100644
 | 
				
			||||||
 };
 | 
					 };
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 static inline int property_enable(void *reg_base,
 | 
					 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);
 | 
					 	struct rockchip_usb2phy *priv = dev_get_priv(parent);
 | 
				
			||||||
 	const struct rockchip_usb2phy_port_cfg *port_cfg = us2phy_get_port(phy);
 | 
					 	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);
 | 
					 	property_enable(priv->reg_base, &port_cfg->phy_sus, false);
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 	/* waiting for the utmi_clk to become stable */
 | 
					 	/* 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);
 | 
					 	struct rockchip_usb2phy *priv = dev_get_priv(parent);
 | 
				
			||||||
 	const struct rockchip_usb2phy_port_cfg *port_cfg = us2phy_get_port(phy);
 | 
					 	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);
 | 
					 	property_enable(priv->reg_base, &port_cfg->phy_sus, true);
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 	return 0;
 | 
					 	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);
 | 
					 	const struct rockchip_usb2phy_port_cfg *port_cfg = us2phy_get_port(phy);
 | 
				
			||||||
 	int ret;
 | 
					 	int ret;
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
| 
						 | 
					@ -213,9 +213,9 @@ index 62b8ba3a4a..be9cc99d90 100644
 | 
				
			||||||
+		return 0;
 | 
					+		return 0;
 | 
				
			||||||
+
 | 
					+
 | 
				
			||||||
 	ret = clk_enable(&priv->phyclk);
 | 
					 	ret = clk_enable(&priv->phyclk);
 | 
				
			||||||
 	if (ret) {
 | 
					 	if (ret && ret != -ENOSYS) {
 | 
				
			||||||
 		dev_err(phy->dev, "failed to enable phyclk (ret=%d)\n", ret);
 | 
					 		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 udevice *parent = dev_get_parent(phy->dev);
 | 
				
			||||||
 	struct rockchip_usb2phy *priv = dev_get_priv(parent);
 | 
					 	struct rockchip_usb2phy *priv = dev_get_priv(parent);
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
| 
						 | 
					@ -226,7 +226,7 @@ index 62b8ba3a4a..be9cc99d90 100644
 | 
				
			||||||
 	clk_disable(&priv->phyclk);
 | 
					 	clk_disable(&priv->phyclk);
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 	return 0;
 | 
					 	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;
 | 
					 		return ret;
 | 
				
			||||||
 	}
 | 
					 	}
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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" \
 | 
					 | 
				
			||||||
							
								
								
									
										2660
									
								
								gnu/packages/patches/xnnpack-for-torch2-system-libraries.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										2660
									
								
								gnu/packages/patches/xnnpack-for-torch2-system-libraries.patch
									
										
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							| 
						 | 
					@ -38,7 +38,6 @@
 | 
				
			||||||
  #:use-module (guix build-system python)
 | 
					  #:use-module (guix build-system python)
 | 
				
			||||||
  #:use-module (gnu packages)
 | 
					  #:use-module (gnu packages)
 | 
				
			||||||
  #:use-module (gnu packages autotools)
 | 
					  #:use-module (gnu packages autotools)
 | 
				
			||||||
  #:use-module (gnu packages ed)
 | 
					 | 
				
			||||||
  #:use-module (gnu packages base)
 | 
					  #:use-module (gnu packages base)
 | 
				
			||||||
  #:use-module (gnu packages bash)
 | 
					  #:use-module (gnu packages bash)
 | 
				
			||||||
  #:use-module (gnu packages check)
 | 
					  #:use-module (gnu packages check)
 | 
				
			||||||
| 
						 | 
					@ -55,6 +54,7 @@
 | 
				
			||||||
  #:use-module (gnu packages gtk)
 | 
					  #:use-module (gnu packages gtk)
 | 
				
			||||||
  #:use-module (gnu packages less)
 | 
					  #:use-module (gnu packages less)
 | 
				
			||||||
  #:use-module (gnu packages mail)
 | 
					  #:use-module (gnu packages mail)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages text-editors)
 | 
				
			||||||
  #:use-module (gnu packages ncurses)
 | 
					  #:use-module (gnu packages ncurses)
 | 
				
			||||||
  #:use-module (gnu packages ocaml)
 | 
					  #:use-module (gnu packages ocaml)
 | 
				
			||||||
  #:use-module (gnu packages package-management)
 | 
					  #:use-module (gnu packages package-management)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -24,6 +24,7 @@
 | 
				
			||||||
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
 | 
					;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
 | 
				
			||||||
;;; Copyright © 2022 Paul A. Patience <paul@apatience.com>
 | 
					;;; Copyright © 2022 Paul A. Patience <paul@apatience.com>
 | 
				
			||||||
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
 | 
					;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
 | 
				
			||||||
 | 
					;;; Copyright © 2023 Felix Gruber <felgru@posteo.net>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -107,6 +108,7 @@
 | 
				
			||||||
  #:use-module (gnu packages time)
 | 
					  #:use-module (gnu packages time)
 | 
				
			||||||
  #:use-module (gnu packages tcl)
 | 
					  #:use-module (gnu packages tcl)
 | 
				
			||||||
  #:use-module (gnu packages tls)
 | 
					  #:use-module (gnu packages tls)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages video)
 | 
				
			||||||
  #:use-module (gnu packages web)
 | 
					  #:use-module (gnu packages web)
 | 
				
			||||||
  #:use-module (gnu packages webkit)
 | 
					  #:use-module (gnu packages webkit)
 | 
				
			||||||
  #:use-module (gnu packages xdisorg)
 | 
					  #:use-module (gnu packages xdisorg)
 | 
				
			||||||
| 
						 | 
					@ -976,6 +978,34 @@ configurable toolbars and shortcuts, continuous and multi‐page layouts,
 | 
				
			||||||
SyncTeX support, and rudimentary support for annotations and forms.")
 | 
					SyncTeX support, and rudimentary support for annotations and forms.")
 | 
				
			||||||
    (license license:gpl2+)))
 | 
					    (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
 | 
					(define-public xournal
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "xournal")
 | 
					    (name "xournal")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -429,14 +429,14 @@ from protobuf specification files.")
 | 
				
			||||||
(define-public python-protobuf
 | 
					(define-public python-protobuf
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "python-protobuf")
 | 
					    (name "python-protobuf")
 | 
				
			||||||
    (version "3.20.1")
 | 
					    (version "3.20.2")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (pypi-uri "protobuf" version))
 | 
					       (uri (pypi-uri "protobuf" version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "1ja2vpk9nklllmsirmil2s4l7ni9yfqvbvj47zz5xx17s1k1bhxd"))))
 | 
					         "0l0p2lczs5iahgkhzm3298pjl49bk9iiwngkglg7ll7fkqqwlbbi"))))
 | 
				
			||||||
    (build-system python-build-system)
 | 
					    (build-system python-build-system)
 | 
				
			||||||
    (inputs (list protobuf))
 | 
					    (inputs (list protobuf))
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -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.")
 | 
					are too large to conveniently hard-code them in the tests.")
 | 
				
			||||||
    (license license:bsd-3)))
 | 
					    (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
 | 
					(define-public python-pytest-doctestplus
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "python-pytest-doctestplus")
 | 
					    (name "python-pytest-doctestplus")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -5938,7 +5938,6 @@ flexibility and power of the Python language.")
 | 
				
			||||||
                      (string-append "-Wl," "-rpath=" python "/lib")
 | 
					                      (string-append "-Wl," "-rpath=" python "/lib")
 | 
				
			||||||
                      "-fno-semantic-interposition"
 | 
					                      "-fno-semantic-interposition"
 | 
				
			||||||
                      "build/temp/tree/tree.o"
 | 
					                      "build/temp/tree/tree.o"
 | 
				
			||||||
                      "-Wl,--whole-archive"
 | 
					 | 
				
			||||||
                      "-L" (string-append python "/lib")
 | 
					                      "-L" (string-append python "/lib")
 | 
				
			||||||
                      (string-append abseil-cpp "/lib/libabsl_int128.a")
 | 
					                      (string-append abseil-cpp "/lib/libabsl_int128.a")
 | 
				
			||||||
                      (string-append abseil-cpp "/lib/libabsl_raw_hash_set.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.a")
 | 
				
			||||||
                      (string-append abseil-cpp "/lib/libabsl_strings_internal.a")
 | 
					                      (string-append abseil-cpp "/lib/libabsl_strings_internal.a")
 | 
				
			||||||
                      (string-append abseil-cpp "/lib/libabsl_throw_delegate.a")
 | 
					                      (string-append abseil-cpp "/lib/libabsl_throw_delegate.a")
 | 
				
			||||||
                      "-Wl,--no-whole-archive"
 | 
					 | 
				
			||||||
                      "-o" "build/lib/tree/_tree.so")))))))
 | 
					                      "-o" "build/lib/tree/_tree.so")))))))
 | 
				
			||||||
    (home-page "https://github.com/deepmind/tree")
 | 
					    (home-page "https://github.com/deepmind/tree")
 | 
				
			||||||
    (synopsis "Work with nested data structures in Python")
 | 
					    (synopsis "Work with nested data structures in Python")
 | 
				
			||||||
| 
						 | 
					@ -11024,6 +11022,34 @@ MEDLINE XML repository.")
 | 
				
			||||||
abstract syntax tree (AST) nodes without side effects.")
 | 
					abstract syntax tree (AST) nodes without side effects.")
 | 
				
			||||||
    (license license:expat)))
 | 
					    (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
 | 
					(define-public python-asttokens
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "python-asttokens")
 | 
					    (name "python-asttokens")
 | 
				
			||||||
| 
						 | 
					@ -13102,13 +13128,13 @@ TODO notes checker plugin for flake8.")
 | 
				
			||||||
(define-public python-flake8-isort
 | 
					(define-public python-flake8-isort
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "python-flake8-isort")
 | 
					    (name "python-flake8-isort")
 | 
				
			||||||
    (version "4.1.1")
 | 
					    (version "6.1.0")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
      (origin
 | 
					      (origin
 | 
				
			||||||
        (method url-fetch)
 | 
					        (method url-fetch)
 | 
				
			||||||
        (uri (pypi-uri "flake8-isort" version))
 | 
					        (uri (pypi-uri "flake8-isort" version))
 | 
				
			||||||
        (sha256
 | 
					        (sha256
 | 
				
			||||||
          (base32 "05r7z0j9rqgy0a9261bhisairrz6w8hy5hy5kf2mhvhfnx53056q"))))
 | 
					          (base32 "0gk4q504v42hdzpkndczc0kkwnr85jn1h5pvb561jh65p91r6qyl"))))
 | 
				
			||||||
    (build-system python-build-system)
 | 
					    (build-system python-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     (list
 | 
					     (list
 | 
				
			||||||
| 
						 | 
					@ -13117,8 +13143,8 @@ TODO notes checker plugin for flake8.")
 | 
				
			||||||
          (replace 'check
 | 
					          (replace 'check
 | 
				
			||||||
            (lambda* (#:key tests? #:allow-other-keys)
 | 
					            (lambda* (#:key tests? #:allow-other-keys)
 | 
				
			||||||
              (when tests?
 | 
					              (when tests?
 | 
				
			||||||
                (invoke "pytest" "-vv")))))))
 | 
					                (invoke "pytest" "-vv" "run_tests.py")))))))
 | 
				
			||||||
    (propagated-inputs (list python-flake8 python-isort python-testfixtures))
 | 
					    (propagated-inputs (list python-flake8 python-isort))
 | 
				
			||||||
    (native-inputs (list python-pytest))
 | 
					    (native-inputs (list python-pytest))
 | 
				
			||||||
    (home-page "https://github.com/gforcada/flake8-isort")
 | 
					    (home-page "https://github.com/gforcada/flake8-isort")
 | 
				
			||||||
    (synopsis "Flake8 plugin integrating isort")
 | 
					    (synopsis "Flake8 plugin integrating isort")
 | 
				
			||||||
| 
						 | 
					@ -17504,28 +17530,47 @@ designed to work across multiple versions of Python.")
 | 
				
			||||||
(define-public python-cookiecutter
 | 
					(define-public python-cookiecutter
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "python-cookiecutter")
 | 
					    (name "python-cookiecutter")
 | 
				
			||||||
    (version "1.7.3")
 | 
					    (version "2.5.0")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (pypi-uri "cookiecutter" version))
 | 
					       (uri (pypi-uri "cookiecutter" version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "0mx49whhwcxmvcak27zr7p7ndzkn3w7psfd7fzh3n91fi1r4v6kb"))))
 | 
					        (base32 "1v1iafk8j2f5cciw9mf4263v91070c6z049cpnw42gwffhs907p6"))))
 | 
				
			||||||
    (build-system python-build-system)
 | 
					    (build-system python-build-system)
 | 
				
			||||||
    (native-inputs
 | 
					    (arguments
 | 
				
			||||||
     (list python-freezegun python-pytest python-pytest-catchlog
 | 
					     (list
 | 
				
			||||||
           python-pytest-cov python-pytest-mock))
 | 
					      #:phases #~(modify-phases %standard-phases
 | 
				
			||||||
    (propagated-inputs
 | 
					                   (add-before 'check 'pre-check
 | 
				
			||||||
     (list python-binaryornot
 | 
					                     (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-click
 | 
				
			||||||
           python-future
 | 
					 | 
				
			||||||
                             python-jinja2
 | 
					                             python-jinja2
 | 
				
			||||||
           python-jinja2-time
 | 
					                             python-pyyaml
 | 
				
			||||||
           python-poyo
 | 
					 | 
				
			||||||
                             python-requests
 | 
					                             python-requests
 | 
				
			||||||
           python-slugify
 | 
					                             python-rich
 | 
				
			||||||
           python-text-unidecode
 | 
					                             python-slugify))
 | 
				
			||||||
           python-whichcraft))
 | 
					 | 
				
			||||||
    (home-page "https://github.com/cookiecutter/cookiecutter")
 | 
					    (home-page "https://github.com/cookiecutter/cookiecutter")
 | 
				
			||||||
    (synopsis
 | 
					    (synopsis
 | 
				
			||||||
     "Command-line utility that creates projects from project templates")
 | 
					     "Command-line utility that creates projects from project templates")
 | 
				
			||||||
| 
						 | 
					@ -20262,6 +20307,31 @@ etc.")
 | 
				
			||||||
     support.")
 | 
					     support.")
 | 
				
			||||||
    (license license:bsd-3)))
 | 
					    (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
 | 
					(define-public python-pymodbus
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "python-pymodbus")
 | 
					    (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}.")
 | 
					etc. to check code that uses @code{orjson}.")
 | 
				
			||||||
    (license license:asl2.0)))
 | 
					    (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
 | 
					(define-public python-nanoid
 | 
				
			||||||
  ;; There are no tests on PyPi.
 | 
					  ;; There are no tests on PyPi.
 | 
				
			||||||
  (let ((commit "061f9a598f310b0e2e91b9ed6ce725a22770da64")
 | 
					  (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.")
 | 
					forms, and about 300,000 distinct lemmas.")
 | 
				
			||||||
    (license license:expat)))
 | 
					    (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
 | 
					(define-public python-zeroc-ice-3.6
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (inherit python-zeroc-ice)
 | 
					    (inherit python-zeroc-ice)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,6 +29,7 @@
 | 
				
			||||||
;;; Copyright © 2022 Yash Tiwari <yasht@mailbox.org>
 | 
					;;; Copyright © 2022 Yash Tiwari <yasht@mailbox.org>
 | 
				
			||||||
;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
 | 
					;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
 | 
				
			||||||
;;; Copyright © 2022 Zheng Junjie <873216071@qq.com>
 | 
					;;; Copyright © 2022 Zheng Junjie <873216071@qq.com>
 | 
				
			||||||
 | 
					;;; Copyright © 2023 Herman Rimm <herman@rimm.ee>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; 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.")
 | 
					contain over 620 classes.")
 | 
				
			||||||
    (license license:gpl3)))
 | 
					    (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
 | 
					(define-public python-pyqt5-sip
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "python-pyqt5-sip")
 | 
					    (name "python-pyqt5-sip")
 | 
				
			||||||
| 
						 | 
					@ -3693,6 +3738,22 @@ contain over 620 classes.")
 | 
				
			||||||
    (description "Sip module support for PyQt5")
 | 
					    (description "Sip module support for PyQt5")
 | 
				
			||||||
    (license license:lgpl2.1+)))
 | 
					    (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
 | 
					(define-public python-pyqtwebengine
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "python-pyqtwebengine")
 | 
					    (name "python-pyqtwebengine")
 | 
				
			||||||
| 
						 | 
					@ -3750,6 +3811,40 @@ set of three modules.  Prior to v5.12 these bindings were part of PyQt
 | 
				
			||||||
itself.")
 | 
					itself.")
 | 
				
			||||||
    (license license:gpl3)))
 | 
					    (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
 | 
					(define-public python-pyqt-builder
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
   (name "python-pyqt-builder")
 | 
					   (name "python-pyqt-builder")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -17,6 +17,7 @@
 | 
				
			||||||
;;; Copyright © 2022 Jose G Perez Taveras <josegpt27@gmail.com>
 | 
					;;; Copyright © 2022 Jose G Perez Taveras <josegpt27@gmail.com>
 | 
				
			||||||
;;; Copyright © 2023 Timo Wilken <guix@twilken.net>
 | 
					;;; Copyright © 2023 Timo Wilken <guix@twilken.net>
 | 
				
			||||||
;;; Copyright © 2023 Camilo Q.S. (Distopico) <distopico@riseup.net>
 | 
					;;; Copyright © 2023 Camilo Q.S. (Distopico) <distopico@riseup.net>
 | 
				
			||||||
 | 
					;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -552,10 +553,11 @@ environment variables of the current shell.")
 | 
				
			||||||
         "1gkzdvj73f71388jvym47075l9zw61v6l8wdv2lnc0mns6dxig0k"))))
 | 
					         "1gkzdvj73f71388jvym47075l9zw61v6l8wdv2lnc0mns6dxig0k"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     '(#:make-flags (list "CC=gcc"
 | 
					     (list #:make-flags
 | 
				
			||||||
                          (string-append "PREFIX=" (assoc-ref %outputs "out")))
 | 
					           #~(list (string-append "CC=" #$(cc-for-target))
 | 
				
			||||||
 | 
					                   (string-append "PREFIX=" #$output))
 | 
				
			||||||
           #:phases
 | 
					           #:phases
 | 
				
			||||||
       (modify-phases %standard-phases
 | 
					           #~(modify-phases %standard-phases
 | 
				
			||||||
               (delete 'configure))))
 | 
					               (delete 'configure))))
 | 
				
			||||||
    (home-page "https://github.com/jhawthorn/fzy")
 | 
					    (home-page "https://github.com/jhawthorn/fzy")
 | 
				
			||||||
    (synopsis "Fast fuzzy text selector for the terminal with an advanced
 | 
					    (synopsis "Fast fuzzy text selector for the terminal with an advanced
 | 
				
			||||||
| 
						 | 
					@ -791,3 +793,68 @@ source ${GUIX_ENVIRONMENT:-$HOME/.guix-profile}/etc/profile.d/grc.sh
 | 
				
			||||||
@end example
 | 
					@end example
 | 
				
			||||||
")
 | 
					")
 | 
				
			||||||
    (license license:gpl2)))
 | 
					    (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+)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -42,14 +42,17 @@
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     '(#:tests? #f                      ; no tests exist
 | 
					     '(#:tests? #f                      ; no tests exist
 | 
				
			||||||
       #:phases (modify-phases %standard-phases
 | 
					       #:phases (modify-phases %standard-phases
 | 
				
			||||||
                  (add-after 'unpack 'reproducible
 | 
					                  (add-after 'unpack 'patch
 | 
				
			||||||
                    (lambda _
 | 
					                    (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
 | 
					                      ;; Sort source files deterministically so that the *.a
 | 
				
			||||||
                      ;; and *.so files are reproducible.
 | 
					                      ;; and *.so files are reproducible.
 | 
				
			||||||
                      (substitute* "Makefile"
 | 
					                      (substitute* "Makefile"
 | 
				
			||||||
                        (("\\$\\(wildcard src/lib\\*/\\*.c\\)")
 | 
					                        (("\\$\\(wildcard src/lib\\*/\\*.c\\)")
 | 
				
			||||||
                         "$(sort $(wildcard src/lib*/*.c))")))))))
 | 
					                         "$(sort $(wildcard src/lib*/*.c))")))))))
 | 
				
			||||||
    (supported-systems (delete "i586-gnu" %supported-systems))
 | 
					 | 
				
			||||||
    (home-page "https://skarnet.org/software/skalibs/")
 | 
					    (home-page "https://skarnet.org/software/skalibs/")
 | 
				
			||||||
    (synopsis "Platform abstraction libraries for skarnet.org software")
 | 
					    (synopsis "Platform abstraction libraries for skarnet.org software")
 | 
				
			||||||
    (description
 | 
					    (description
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -132,7 +132,7 @@ file names.
 | 
				
			||||||
(define-public libssh
 | 
					(define-public libssh
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "libssh")
 | 
					    (name "libssh")
 | 
				
			||||||
    (version "0.10.5")
 | 
					    (version "0.10.6")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "https://www.libssh.org/files/"
 | 
					              (uri (string-append "https://www.libssh.org/files/"
 | 
				
			||||||
| 
						 | 
					@ -140,7 +140,7 @@ file names.
 | 
				
			||||||
                                  "/libssh-" version ".tar.xz"))
 | 
					                                  "/libssh-" version ".tar.xz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0d22gq77ga24ijlgr3d1wvhfvprx61iklkb3npifxfb7ygvjy3mn"))
 | 
					                "1hcxvsb4brznxqq6cjwxkk7yv4c48w4fcwxwd8dp9wdnyncd8q8q"))
 | 
				
			||||||
              (modules '((guix build utils)))
 | 
					              (modules '((guix build utils)))
 | 
				
			||||||
              (snippet
 | 
					              (snippet
 | 
				
			||||||
               ;; 'PATH_MAX' is undefined on GNU/Hurd; work around it.
 | 
					               ;; '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
 | 
					(define-public openssh
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
   (name "openssh")
 | 
					   (name "openssh")
 | 
				
			||||||
   (version "9.5p1")
 | 
					   (version "9.6p1")
 | 
				
			||||||
   (source
 | 
					   (source
 | 
				
			||||||
    (origin
 | 
					    (origin
 | 
				
			||||||
      (method url-fetch)
 | 
					      (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -206,11 +206,14 @@ a server that supports the SSH-2 protocol.")
 | 
				
			||||||
                          "openssh-" version ".tar.gz"))
 | 
					                          "openssh-" version ".tar.gz"))
 | 
				
			||||||
      (patches (search-patches "openssh-trust-guix-store-directory.patch"))
 | 
					      (patches (search-patches "openssh-trust-guix-store-directory.patch"))
 | 
				
			||||||
      (sha256
 | 
					      (sha256
 | 
				
			||||||
       (base32 "0sq8hqk6f0x6djgvqawjbwwxpwd8r1nzjahqfl7m9yx7kfvyf9ph"))))
 | 
					       (base32 "0z3pgam8b4z05lvdb78iv06p204qwl7b94a3cnnwba2mfb0120li"))))
 | 
				
			||||||
   (build-system gnu-build-system)
 | 
					   (build-system gnu-build-system)
 | 
				
			||||||
   (arguments
 | 
					   (arguments
 | 
				
			||||||
    (list
 | 
					    (list
 | 
				
			||||||
     #:test-target "tests"
 | 
					     #: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.
 | 
					     ;; Otherwise, the test scripts try to use a nonexistent directory and fail.
 | 
				
			||||||
     #:make-flags
 | 
					     #:make-flags
 | 
				
			||||||
     #~(list "REGRESSTMP=\"$${BUILDDIR}/regress\"")
 | 
					     #~(list "REGRESSTMP=\"$${BUILDDIR}/regress\"")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -139,7 +139,7 @@ fundamental object types for C.")
 | 
				
			||||||
(define-public sssd
 | 
					(define-public sssd
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "sssd")
 | 
					    (name "sssd")
 | 
				
			||||||
    (version "2.9.2")
 | 
					    (version "2.9.3")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method git-fetch)
 | 
					       (method git-fetch)
 | 
				
			||||||
| 
						 | 
					@ -148,7 +148,7 @@ fundamental object types for C.")
 | 
				
			||||||
             (commit version)))
 | 
					             (commit version)))
 | 
				
			||||||
       (file-name (git-file-name name version))
 | 
					       (file-name (git-file-name name version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "17nhivmg5z9j3mxqmn21l8y56c6ibpglhlnvqxy8rmsp3z5h868b"))
 | 
					        (base32 "0iixn262ycicy2fm96zvifd21p21069mhcsnk262qk79cjvlwdar"))
 | 
				
			||||||
       (patches (search-patches "sssd-system-directories.patch"))))
 | 
					       (patches (search-patches "sssd-system-directories.patch"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -716,13 +716,13 @@ nonlinear mixed-effects models.")
 | 
				
			||||||
(define-public r-mgcv
 | 
					(define-public r-mgcv
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
   (name "r-mgcv")
 | 
					   (name "r-mgcv")
 | 
				
			||||||
   (version "1.9-0")
 | 
					   (version "1.9-1")
 | 
				
			||||||
   (source
 | 
					   (source
 | 
				
			||||||
    (origin
 | 
					    (origin
 | 
				
			||||||
     (method url-fetch)
 | 
					     (method url-fetch)
 | 
				
			||||||
     (uri (cran-uri "mgcv" version))
 | 
					     (uri (cran-uri "mgcv" version))
 | 
				
			||||||
     (sha256
 | 
					     (sha256
 | 
				
			||||||
      (base32 "0w1v0hdswb332xz3br1fcgacib7ddr4hb96cmlycxcpqq5w01cdj"))))
 | 
					      (base32 "0cnvbdda243as2bxfsgnnk7xjmp1msgr9i4vbd84jfnxpqvvq3vh"))))
 | 
				
			||||||
   (build-system r-build-system)
 | 
					   (build-system r-build-system)
 | 
				
			||||||
   (propagated-inputs
 | 
					   (propagated-inputs
 | 
				
			||||||
    (list r-matrix r-nlme))
 | 
					    (list r-matrix r-nlme))
 | 
				
			||||||
| 
						 | 
					@ -1178,14 +1178,14 @@ solution for sending email, including attachments, from within R.")
 | 
				
			||||||
(define-public r-stringi
 | 
					(define-public r-stringi
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "r-stringi")
 | 
					    (name "r-stringi")
 | 
				
			||||||
    (version "1.8.2")
 | 
					    (version "1.8.3")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (cran-uri "stringi" version))
 | 
					       (uri (cran-uri "stringi" version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "0bd7x9gl0rhpkpdi9j7a449dw2xsgczgbdj600658z5b6wq25l3a"))))
 | 
					         "09a964g8q3iphq24ln9c9g5158ynr75pfh3ghddarn0xvn7bw0hn"))))
 | 
				
			||||||
    (build-system r-build-system)
 | 
					    (build-system r-build-system)
 | 
				
			||||||
    (inputs (list icu4c))
 | 
					    (inputs (list icu4c))
 | 
				
			||||||
    (native-inputs (list pkg-config))
 | 
					    (native-inputs (list pkg-config))
 | 
				
			||||||
| 
						 | 
					@ -1408,13 +1408,13 @@ evaluation (NSE) in R.")
 | 
				
			||||||
(define-public r-dbi
 | 
					(define-public r-dbi
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "r-dbi")
 | 
					    (name "r-dbi")
 | 
				
			||||||
    (version "1.1.3")
 | 
					    (version "1.2.0")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (cran-uri "DBI" version))
 | 
					              (uri (cran-uri "DBI" version))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "13a2656w5j9shpcwa7gj2szy7nk9sajjhlisi5wdpgd57msk7frq"))))
 | 
					                "1g4c2qfyjwbjwbsczhk83xmx74764nn53gnqzb6xxrwqjbxj4dpn"))))
 | 
				
			||||||
    (build-system r-build-system)
 | 
					    (build-system r-build-system)
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     (list r-knitr))
 | 
					     (list r-knitr))
 | 
				
			||||||
| 
						 | 
					@ -1560,13 +1560,13 @@ syntax that can be converted to XHTML or other formats.")
 | 
				
			||||||
(define-public r-yaml
 | 
					(define-public r-yaml
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "r-yaml")
 | 
					    (name "r-yaml")
 | 
				
			||||||
    (version "2.3.7")
 | 
					    (version "2.3.8")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (cran-uri "yaml" version))
 | 
					              (uri (cran-uri "yaml" version))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1aw0cvaqw8a0d1r3cplj5kiabkcyz8fghcpi0ax8mi7rw0cv436j"))))
 | 
					                "1n1zlbnq3ldipnnm08whpvm8r21vxg4c9jzg7x7j3blw2pi7kl4y"))))
 | 
				
			||||||
    (build-system r-build-system)
 | 
					    (build-system r-build-system)
 | 
				
			||||||
    (home-page "https://cran.r-project.org/web/packages/yaml/")
 | 
					    (home-page "https://cran.r-project.org/web/packages/yaml/")
 | 
				
			||||||
    (synopsis "Methods to convert R data to YAML and back")
 | 
					    (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
 | 
					(define-public r-brew
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "r-brew")
 | 
					    (name "r-brew")
 | 
				
			||||||
    (version "1.0-8")
 | 
					    (version "1.0-10")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (cran-uri "brew" version))
 | 
					              (uri (cran-uri "brew" version))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "09kq14nbaw0mmpb2vbfklz786q6lyizzkyg5bg64bmj2f1d2sr8i"))))
 | 
					                "13x3vnrhfcvr479r4dya61a5vcky2gb4kv2xbivy0ah39qrzg0a1"))))
 | 
				
			||||||
    (build-system r-build-system)
 | 
					    (build-system r-build-system)
 | 
				
			||||||
    (home-page "https://cran.r-project.org/web/packages/brew")
 | 
					    (home-page "https://cran.r-project.org/web/packages/brew")
 | 
				
			||||||
    (synopsis "Templating framework for report generation")
 | 
					    (synopsis "Templating framework for report generation")
 | 
				
			||||||
| 
						 | 
					@ -3535,14 +3535,14 @@ statements.")
 | 
				
			||||||
(define-public r-segmented
 | 
					(define-public r-segmented
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "r-segmented")
 | 
					    (name "r-segmented")
 | 
				
			||||||
    (version "2.0-0")
 | 
					    (version "2.0-1")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (cran-uri "segmented" version))
 | 
					       (uri (cran-uri "segmented" version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "1j7flzav26ldhg50gzcx8azfh9sx4ay30g75ipq56vqibzc33fwd"))))
 | 
					         "0r3l39sihncrmhs6y3nydr6izp5ss86rfwjyhwf2x0clvqq2gkz9"))))
 | 
				
			||||||
    (build-system r-build-system)
 | 
					    (build-system r-build-system)
 | 
				
			||||||
    (propagated-inputs (list r-mass r-nlme))
 | 
					    (propagated-inputs (list r-mass r-nlme))
 | 
				
			||||||
    (home-page "https://cran.r-project.org/web/packages/segmented")
 | 
					    (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
 | 
					(define-public r-matrixstats
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "r-matrixstats")
 | 
					    (name "r-matrixstats")
 | 
				
			||||||
    (version "1.1.0")
 | 
					    (version "1.2.0")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (cran-uri "matrixStats" version))
 | 
					              (uri (cran-uri "matrixStats" version))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "0h85hjvsmc8s3hyjdj83fykb2vl8jc7pb9ynp2xsl0q9v1sihrxl"))))
 | 
					                "0ws5lmzqm42vrn5791l21zr05l78x0xi6b89jw0gi0vjb4pc20z4"))))
 | 
				
			||||||
    (properties `((upstream-name . "matrixStats")))
 | 
					    (properties `((upstream-name . "matrixStats")))
 | 
				
			||||||
    (build-system r-build-system)
 | 
					    (build-system r-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
| 
						 | 
					@ -5190,13 +5190,13 @@ with alternating row colors) in LaTeX and HTML formats easily from
 | 
				
			||||||
(define-public r-vipor
 | 
					(define-public r-vipor
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "r-vipor")
 | 
					    (name "r-vipor")
 | 
				
			||||||
    (version "0.4.5")
 | 
					    (version "0.4.7")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (cran-uri "vipor" version))
 | 
					              (uri (cran-uri "vipor" version))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "112gc0d7f8iavgf56pnzfxb7hy75yhd0zlyjzshdcfbnqcd2a6bx"))))
 | 
					                "17hb6y1i9bva0fr4k9m6wncmnzdjad1b7fhsvfhva4xavpll3bds"))))
 | 
				
			||||||
    (build-system r-build-system)
 | 
					    (build-system r-build-system)
 | 
				
			||||||
    (home-page "https://cran.r-project.org/web/packages/vipor")
 | 
					    (home-page "https://cran.r-project.org/web/packages/vipor")
 | 
				
			||||||
    (synopsis "Plot categorical data using noise and density estimates")
 | 
					    (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
 | 
					(define-public r-cowplot
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "r-cowplot")
 | 
					    (name "r-cowplot")
 | 
				
			||||||
    (version "1.1.1")
 | 
					    (version "1.1.2")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (cran-uri "cowplot" version))
 | 
					       (uri (cran-uri "cowplot" version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "0j7d5vhzdxn1blrsfafx5z8lhq122rp8230hp9czrpsnnhjydp67"))))
 | 
					         "1ppsg3rbqz9a16zq87izdj5w8ylb6jb6v13xb01k7m3n2h4mv4f6"))))
 | 
				
			||||||
    (build-system r-build-system)
 | 
					    (build-system r-build-system)
 | 
				
			||||||
    (propagated-inputs
 | 
					    (propagated-inputs
 | 
				
			||||||
     (list r-ggplot2 r-gtable r-rlang r-scales))
 | 
					     (list r-ggplot2 r-gtable r-rlang r-scales))
 | 
				
			||||||
| 
						 | 
					@ -5779,14 +5779,14 @@ of the points.")
 | 
				
			||||||
(define-public r-fpc
 | 
					(define-public r-fpc
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "r-fpc")
 | 
					    (name "r-fpc")
 | 
				
			||||||
    (version "2.2-10")
 | 
					    (version "2.2-11")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
       (uri (cran-uri "fpc" version))
 | 
					       (uri (cran-uri "fpc" version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32
 | 
					        (base32
 | 
				
			||||||
         "1lj7j74yx747iic1hcngzbym0sqxppja8bxw64m0j6na5s7m9d4r"))))
 | 
					         "06j1dzlf96qcaiqg8m5iah9rmwdppky04xjhs8k4rh0k12wr0mc2"))))
 | 
				
			||||||
    (build-system r-build-system)
 | 
					    (build-system r-build-system)
 | 
				
			||||||
    (propagated-inputs
 | 
					    (propagated-inputs
 | 
				
			||||||
     (list r-class
 | 
					     (list r-class
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -7,6 +7,7 @@
 | 
				
			||||||
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 | 
					;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 | 
				
			||||||
;;; Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net>
 | 
					;;; Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net>
 | 
				
			||||||
;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
 | 
					;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
 | 
				
			||||||
 | 
					;;; Copyright © 2023 Benjamin Slade <slade@lambda-y.net>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -44,7 +45,7 @@
 | 
				
			||||||
(define-public syncthing
 | 
					(define-public syncthing
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "syncthing")
 | 
					    (name "syncthing")
 | 
				
			||||||
    (version "1.25.0")
 | 
					    (version "1.27.1")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method url-fetch)
 | 
					              (method url-fetch)
 | 
				
			||||||
              (uri (string-append "https://github.com/syncthing/syncthing"
 | 
					              (uri (string-append "https://github.com/syncthing/syncthing"
 | 
				
			||||||
| 
						 | 
					@ -52,7 +53,7 @@
 | 
				
			||||||
                                  "/syncthing-source-v" version ".tar.gz"))
 | 
					                                  "/syncthing-source-v" version ".tar.gz"))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "18cyg0wnf34xi964fxvzxgcq6z0pbirk0k4z82w1cqi3f3l9jlg2"))))
 | 
					                "0d1qlzh07a9h2wx2fxm2fdask2sm750pqwk7jx62x2hcwmb08ysw"))))
 | 
				
			||||||
    (build-system go-build-system)
 | 
					    (build-system go-build-system)
 | 
				
			||||||
    ;; The primary Syncthing executable goes to "out", while the auxiliary
 | 
					    ;; The primary Syncthing executable goes to "out", while the auxiliary
 | 
				
			||||||
    ;; server programs and utility tools go to "utils".  This reduces the size
 | 
					    ;; server programs and utility tools go to "utils".  This reduces the size
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,10 @@
 | 
				
			||||||
;;; GNU Guix --- Functional package management for GNU
 | 
					;;; 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 José Miguel Sánchez García <jmi2k@openmailbox.org>
 | 
				
			||||||
;;; Copyright © 2016 Carlo Zancanaro <carlo@zancanaro.id.au>
 | 
					;;; 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, 2018, 2020, 2022 Eric Bavier <bavier@posteo.net>
 | 
				
			||||||
;;; Copyright © 2017 Feng Shu <tumashu@163.com>
 | 
					;;; Copyright © 2017 Feng Shu <tumashu@163.com>
 | 
				
			||||||
;;; Copyright © 2017 Nikita <nikita@n0.is>
 | 
					;;; Copyright © 2017 Nikita <nikita@n0.is>
 | 
				
			||||||
| 
						 | 
					@ -20,10 +24,12 @@
 | 
				
			||||||
;;; Copyright © 2022 Luis Henrique Gomes Higino <luishenriquegh2701@gmail.com>
 | 
					;;; Copyright © 2022 Luis Henrique Gomes Higino <luishenriquegh2701@gmail.com>
 | 
				
			||||||
;;; Copyright © 2022 Foo Chuan Wei <chuanwei.foo@hotmail.com>
 | 
					;;; Copyright © 2022 Foo Chuan Wei <chuanwei.foo@hotmail.com>
 | 
				
			||||||
;;; Copyright © 2022 zamfofex <zamfofex@twdb.moe>
 | 
					;;; Copyright © 2022 zamfofex <zamfofex@twdb.moe>
 | 
				
			||||||
 | 
					;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
 | 
				
			||||||
;;; Copyright © 2022 jgart <jgart@dismail.de>
 | 
					;;; Copyright © 2022 jgart <jgart@dismail.de>
 | 
				
			||||||
;;; Copyright © 2022 Andy Tai <atai@atai.org>
 | 
					;;; Copyright © 2022 Andy Tai <atai@atai.org>
 | 
				
			||||||
;;; Copyright © 2023 Eidvilas Markevičius <markeviciuseidvilas@gmail.com>
 | 
					;;; Copyright © 2023 Eidvilas Markevičius <markeviciuseidvilas@gmail.com>
 | 
				
			||||||
;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 | 
					;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 | 
				
			||||||
 | 
					;;; Copyright © 2023 Jaeme Sifat <jaeme@runbox.com>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -62,6 +68,7 @@
 | 
				
			||||||
  #:use-module (gnu packages base)
 | 
					  #:use-module (gnu packages base)
 | 
				
			||||||
  #:use-module (gnu packages boost)
 | 
					  #:use-module (gnu packages boost)
 | 
				
			||||||
  #:use-module (gnu packages code)
 | 
					  #:use-module (gnu packages code)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages compression)
 | 
				
			||||||
  #:use-module (gnu packages cpp)
 | 
					  #:use-module (gnu packages cpp)
 | 
				
			||||||
  #:use-module (gnu packages crates-io)
 | 
					  #:use-module (gnu packages crates-io)
 | 
				
			||||||
  #:use-module (gnu packages curl)
 | 
					  #:use-module (gnu packages curl)
 | 
				
			||||||
| 
						 | 
					@ -102,6 +109,37 @@
 | 
				
			||||||
  #:use-module (gnu packages xml)
 | 
					  #:use-module (gnu packages xml)
 | 
				
			||||||
  #:use-module (gnu packages xorg))
 | 
					  #: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
 | 
					(define-public vis
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "vis")
 | 
					    (name "vis")
 | 
				
			||||||
| 
						 | 
					@ -562,6 +600,28 @@ Wordstar-, EMACS-, Pico, Nedit or vi-like key bindings.  e3 can be used on
 | 
				
			||||||
OpenBSD team.")
 | 
					OpenBSD team.")
 | 
				
			||||||
    (license license:public-domain)))
 | 
					    (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
 | 
					(define-public qemacs
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "qemacs")
 | 
					    (name "qemacs")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -13,6 +13,7 @@
 | 
				
			||||||
;;; Copyright © 2021-2023 Danial Behzadi <dani.behzi@ubuntu.com>
 | 
					;;; Copyright © 2021-2023 Danial Behzadi <dani.behzi@ubuntu.com>
 | 
				
			||||||
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 | 
					;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 | 
				
			||||||
;;; Copyright © 2022 Jim Newsome <jnewsome@torproject.org>
 | 
					;;; Copyright © 2022 Jim Newsome <jnewsome@torproject.org>
 | 
				
			||||||
 | 
					;;; Copyright © 2023 Clément Lassieur <clement@lassieur.org>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; This file is part of GNU Guix.
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
| 
						 | 
					@ -36,11 +37,15 @@
 | 
				
			||||||
  #:use-module (guix utils)
 | 
					  #:use-module (guix utils)
 | 
				
			||||||
  #:use-module (guix download)
 | 
					  #:use-module (guix download)
 | 
				
			||||||
  #:use-module (guix git-download)
 | 
					  #:use-module (guix git-download)
 | 
				
			||||||
 | 
					  #:use-module (guix build-system copy)
 | 
				
			||||||
  #:use-module (guix build-system gnu)
 | 
					  #:use-module (guix build-system gnu)
 | 
				
			||||||
 | 
					  #:use-module (guix build-system mozilla)
 | 
				
			||||||
  #:use-module (guix build-system python)
 | 
					  #:use-module (guix build-system python)
 | 
				
			||||||
  #:use-module (guix build-system pyproject)
 | 
					  #:use-module (guix build-system pyproject)
 | 
				
			||||||
  #:use-module (gnu packages)
 | 
					  #:use-module (gnu packages)
 | 
				
			||||||
  #:use-module (gnu packages base)
 | 
					  #: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 libevent)
 | 
				
			||||||
  #:use-module (gnu packages linux)
 | 
					  #:use-module (gnu packages linux)
 | 
				
			||||||
  #:use-module (gnu packages check)
 | 
					  #:use-module (gnu packages check)
 | 
				
			||||||
| 
						 | 
					@ -48,6 +53,7 @@
 | 
				
			||||||
  #:use-module (gnu packages pcre)
 | 
					  #:use-module (gnu packages pcre)
 | 
				
			||||||
  #:use-module (gnu packages freedesktop)
 | 
					  #:use-module (gnu packages freedesktop)
 | 
				
			||||||
  #:use-module (gnu packages glib)
 | 
					  #:use-module (gnu packages glib)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages gnuzilla)
 | 
				
			||||||
  #:use-module (gnu packages pkg-config)
 | 
					  #:use-module (gnu packages pkg-config)
 | 
				
			||||||
  #:use-module (gnu packages python)
 | 
					  #:use-module (gnu packages python)
 | 
				
			||||||
  #:use-module (gnu packages python-check)
 | 
					  #: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
 | 
					the onion proxy and sets up proxy in user session, so you don't have to mess
 | 
				
			||||||
up with TOR on your system anymore.")
 | 
					up with TOR on your system anymore.")
 | 
				
			||||||
    (license license:gpl3+)))
 | 
					    (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
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -97,7 +97,6 @@
 | 
				
			||||||
  #:use-module (gnu packages curl)
 | 
					  #:use-module (gnu packages curl)
 | 
				
			||||||
  #:use-module (gnu packages databases)
 | 
					  #:use-module (gnu packages databases)
 | 
				
			||||||
  #:use-module (gnu packages docbook)
 | 
					  #:use-module (gnu packages docbook)
 | 
				
			||||||
  #:use-module (gnu packages ed)
 | 
					 | 
				
			||||||
  #:use-module (gnu packages file)
 | 
					  #:use-module (gnu packages file)
 | 
				
			||||||
  #:use-module (gnu packages flex)
 | 
					  #:use-module (gnu packages flex)
 | 
				
			||||||
  #:use-module (gnu packages freedesktop)
 | 
					  #:use-module (gnu packages freedesktop)
 | 
				
			||||||
| 
						 | 
					@ -117,7 +116,6 @@
 | 
				
			||||||
  #:use-module (gnu packages mail)
 | 
					  #:use-module (gnu packages mail)
 | 
				
			||||||
  #:use-module (gnu packages man)
 | 
					  #:use-module (gnu packages man)
 | 
				
			||||||
  #:use-module (gnu packages maths)
 | 
					  #:use-module (gnu packages maths)
 | 
				
			||||||
  #:use-module (gnu packages nano)
 | 
					 | 
				
			||||||
  #:use-module (gnu packages ncurses)
 | 
					  #:use-module (gnu packages ncurses)
 | 
				
			||||||
  #:use-module (gnu packages ssh)
 | 
					  #:use-module (gnu packages ssh)
 | 
				
			||||||
  #:use-module (gnu packages web)
 | 
					  #:use-module (gnu packages web)
 | 
				
			||||||
| 
						 | 
					@ -137,6 +135,7 @@
 | 
				
			||||||
  #:use-module (gnu packages ruby)
 | 
					  #:use-module (gnu packages ruby)
 | 
				
			||||||
  #:use-module (gnu packages sqlite)
 | 
					  #:use-module (gnu packages sqlite)
 | 
				
			||||||
  #:use-module (gnu packages texinfo)
 | 
					  #:use-module (gnu packages texinfo)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages text-editors)
 | 
				
			||||||
  #:use-module (gnu packages admin)
 | 
					  #:use-module (gnu packages admin)
 | 
				
			||||||
  #:use-module (gnu packages xml)
 | 
					  #:use-module (gnu packages xml)
 | 
				
			||||||
  #:use-module (gnu packages emacs)
 | 
					  #:use-module (gnu packages emacs)
 | 
				
			||||||
| 
						 | 
					@ -1441,7 +1440,7 @@ management by roles and individual account maintenance.")
 | 
				
			||||||
 (define-public shflags
 | 
					 (define-public shflags
 | 
				
			||||||
   (package
 | 
					   (package
 | 
				
			||||||
     (name "shflags")
 | 
					     (name "shflags")
 | 
				
			||||||
    (version "1.2.3")
 | 
					    (version "1.3.0")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method git-fetch)
 | 
					              (method git-fetch)
 | 
				
			||||||
              (uri (git-reference
 | 
					              (uri (git-reference
 | 
				
			||||||
| 
						 | 
					@ -1450,7 +1449,7 @@ management by roles and individual account maintenance.")
 | 
				
			||||||
              (file-name (git-file-name name version))
 | 
					              (file-name (git-file-name name version))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32
 | 
					               (base32
 | 
				
			||||||
                "1ydx0sb6vz9s2dgp5bd64y7fpzh9qvmlfjxrbmzac8saknijrlly"))))
 | 
					                "0jj0zkly8yg42b8jvih2cmmafv95vm8mv80n3dyalvr5i14lzqd8"))))
 | 
				
			||||||
    (build-system gnu-build-system)
 | 
					    (build-system gnu-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:tests? #f                      ; no tests
 | 
					     `(#:tests? #f                      ; no tests
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -67,6 +67,7 @@
 | 
				
			||||||
;;; Copyright © 2023 Dominik Delgado Steuter <dds@disroot.org>
 | 
					;;; Copyright © 2023 Dominik Delgado Steuter <dds@disroot.org>
 | 
				
			||||||
;;; Copyright © 2023 Saku Laesvuori <saku@laesvuori.fi>
 | 
					;;; Copyright © 2023 Saku Laesvuori <saku@laesvuori.fi>
 | 
				
			||||||
;;; Copyright © 2023 Jaeme Sifat <jaeme@runbox.com>
 | 
					;;; Copyright © 2023 Jaeme Sifat <jaeme@runbox.com>
 | 
				
			||||||
 | 
					;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
 | 
				
			||||||
;;;
 | 
					;;;
 | 
				
			||||||
;;; This file is part of GNU Guix.
 | 
					;;; 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
 | 
					(define-public libplacebo
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "libplacebo")
 | 
					    (name "libplacebo")
 | 
				
			||||||
    (version "4.208.0")
 | 
					    (version "6.338.1")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method git-fetch)
 | 
					       (method git-fetch)
 | 
				
			||||||
| 
						 | 
					@ -1542,16 +1543,16 @@ libebml is a C++ library to read and write EBML files.")
 | 
				
			||||||
             (commit (string-append "v" version))))
 | 
					             (commit (string-append "v" version))))
 | 
				
			||||||
       (file-name (git-file-name name version))
 | 
					       (file-name (git-file-name name version))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "161dp5781s74ca3gglaxlmchx7glyshf0wg43w98pl22n1jcm5qk"))))
 | 
					        (base32 "1miqk3gfwah01xkf4a6grwq29im0lfh94gp92y7js855gx3v169m"))))
 | 
				
			||||||
    (build-system meson-build-system)
 | 
					    (build-system meson-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     `(#:configure-flags
 | 
					     (list #:configure-flags
 | 
				
			||||||
       `("-Dopengl=enabled"
 | 
					           #~(list "-Dopengl=enabled"
 | 
				
			||||||
         ,(string-append "-Dvulkan-registry="
 | 
					                   (string-append "-Dvulkan-registry="
 | 
				
			||||||
                         (assoc-ref %build-inputs "vulkan-headers")
 | 
					                                  #$(this-package-input "vulkan-headers")
 | 
				
			||||||
                                  "/share/vulkan/registry/vk.xml"))))
 | 
					                                  "/share/vulkan/registry/vk.xml"))))
 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     (list python python-mako pkg-config))
 | 
					     (list glad python python-mako pkg-config))
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     (list lcms
 | 
					     (list lcms
 | 
				
			||||||
           libepoxy
 | 
					           libepoxy
 | 
				
			||||||
| 
						 | 
					@ -2338,7 +2339,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
 | 
				
			||||||
(define-public mpv
 | 
					(define-public mpv
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "mpv")
 | 
					    (name "mpv")
 | 
				
			||||||
    (version "0.36.0")
 | 
					    (version "0.37.0")
 | 
				
			||||||
    (source (origin
 | 
					    (source (origin
 | 
				
			||||||
              (method git-fetch)
 | 
					              (method git-fetch)
 | 
				
			||||||
              (uri (git-reference
 | 
					              (uri (git-reference
 | 
				
			||||||
| 
						 | 
					@ -2346,8 +2347,8 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
 | 
				
			||||||
                    (commit (string-append "v" version))))
 | 
					                    (commit (string-append "v" version))))
 | 
				
			||||||
              (file-name (git-file-name name version))
 | 
					              (file-name (git-file-name name version))
 | 
				
			||||||
              (sha256
 | 
					              (sha256
 | 
				
			||||||
               (base32 "1ri06h7pv6hrxmxxc618n9hymlgr0gfx38bqq5dcszdgnlashsgk"))))
 | 
					               (base32 "1xcyfpd543lbmg587wi0mahrz8vhyrlr4432054vp6wsi3s36c4b"))))
 | 
				
			||||||
    (build-system waf-build-system)
 | 
					    (build-system meson-build-system)
 | 
				
			||||||
    (arguments
 | 
					    (arguments
 | 
				
			||||||
     (list
 | 
					     (list
 | 
				
			||||||
      #:phases
 | 
					      #: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
 | 
					              ;; and passed as linker flags, but the order in which they are added
 | 
				
			||||||
              ;; varies.  See <https://github.com/mpv-player/mpv/issues/7855>.
 | 
					              ;; varies.  See <https://github.com/mpv-player/mpv/issues/7855>.
 | 
				
			||||||
              ;; Set PYTHONHASHSEED as a workaround for deterministic results.
 | 
					              ;; Set PYTHONHASHSEED as a workaround for deterministic results.
 | 
				
			||||||
              (setenv "PYTHONHASHSEED" "1")))
 | 
					              (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)))))
 | 
					 | 
				
			||||||
      #:configure-flags
 | 
					      #:configure-flags
 | 
				
			||||||
      #~(list "--enable-libmpv-shared"
 | 
					      #~(list "-Dlibmpv=true"
 | 
				
			||||||
              "--enable-cdda"
 | 
					              "-Dcdda=enabled"
 | 
				
			||||||
              "--enable-dvdnav"
 | 
					              "-Ddvdnav=enabled"
 | 
				
			||||||
              "--disable-build-date")
 | 
					              "-Dbuild-date=false")))
 | 
				
			||||||
      ;; No check function defined.
 | 
					 | 
				
			||||||
      #:tests? #f))
 | 
					 | 
				
			||||||
    (native-inputs
 | 
					    (native-inputs
 | 
				
			||||||
     (list perl ; for zsh completion file
 | 
					     (list perl ; for zsh completion file
 | 
				
			||||||
           pkg-config python-docutils))
 | 
					           pkg-config python-docutils python-wrapper))
 | 
				
			||||||
    ;; Missing features: libguess, V4L2.
 | 
					    ;; Missing features: libguess, V4L2.
 | 
				
			||||||
    (inputs
 | 
					    (inputs
 | 
				
			||||||
     (list alsa-lib
 | 
					     (list alsa-lib
 | 
				
			||||||
| 
						 | 
					@ -2395,6 +2390,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
 | 
				
			||||||
           libdvdread
 | 
					           libdvdread
 | 
				
			||||||
           libdvdnav
 | 
					           libdvdnav
 | 
				
			||||||
           libjpeg-turbo
 | 
					           libjpeg-turbo
 | 
				
			||||||
 | 
					           libplacebo
 | 
				
			||||||
           libva
 | 
					           libva
 | 
				
			||||||
           libvdpau
 | 
					           libvdpau
 | 
				
			||||||
           libx11
 | 
					           libx11
 | 
				
			||||||
| 
						 | 
					@ -2405,13 +2401,11 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
 | 
				
			||||||
           libxrandr
 | 
					           libxrandr
 | 
				
			||||||
           libxscrnsaver
 | 
					           libxscrnsaver
 | 
				
			||||||
           libxv
 | 
					           libxv
 | 
				
			||||||
           ;; XXX: lua > 5.2 is not currently supported; see
 | 
					           ;; XXX: lua > 5.2 is not currently supported; see meson.build
 | 
				
			||||||
           ;; waftools/checks/custom.py
 | 
					 | 
				
			||||||
           lua-5.2
 | 
					           lua-5.2
 | 
				
			||||||
           mesa
 | 
					           mesa
 | 
				
			||||||
           mpg123
 | 
					           mpg123
 | 
				
			||||||
           pulseaudio
 | 
					           pulseaudio
 | 
				
			||||||
           python-waf
 | 
					 | 
				
			||||||
           rsound
 | 
					           rsound
 | 
				
			||||||
           shaderc
 | 
					           shaderc
 | 
				
			||||||
           vulkan-headers
 | 
					           vulkan-headers
 | 
				
			||||||
| 
						 | 
					@ -2419,6 +2413,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
 | 
				
			||||||
           wayland
 | 
					           wayland
 | 
				
			||||||
           wayland-protocols
 | 
					           wayland-protocols
 | 
				
			||||||
           yt-dlp
 | 
					           yt-dlp
 | 
				
			||||||
 | 
					           zimg
 | 
				
			||||||
           zlib))
 | 
					           zlib))
 | 
				
			||||||
    (home-page "https://mpv.io/")
 | 
					    (home-page "https://mpv.io/")
 | 
				
			||||||
    (synopsis "Audio and video player")
 | 
					    (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.")
 | 
					your host privately.")
 | 
				
			||||||
    (license license:gpl2+)))
 | 
					    (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
 | 
					(define-public obs-websocket
 | 
				
			||||||
  ;; Functionality was merged into OBS.
 | 
					  ;; Functionality was merged into OBS.
 | 
				
			||||||
  (deprecated-package "obs-websocket" obs))
 | 
					  (deprecated-package "obs-websocket" obs))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -470,11 +470,13 @@ trouble using them, because you do not have to remember each snippet name.")
 | 
				
			||||||
                  "0av2m075n6z05ah9ndrgnp9s16yrz6n2lj0igd9fh3c5k41x5xks"))))
 | 
					                  "0av2m075n6z05ah9ndrgnp9s16yrz6n2lj0igd9fh3c5k41x5xks"))))
 | 
				
			||||||
      (build-system vim-build-system)
 | 
					      (build-system vim-build-system)
 | 
				
			||||||
      (arguments
 | 
					      (arguments
 | 
				
			||||||
       '(#:plugin-name "coqtail"
 | 
					       `(#:plugin-name "coqtail"
 | 
				
			||||||
 | 
					         #:vim ,vim-full ; Plugin needs Python 3.
 | 
				
			||||||
         #:phases
 | 
					         #:phases
 | 
				
			||||||
         (modify-phases %standard-phases
 | 
					         (modify-phases %standard-phases
 | 
				
			||||||
           (add-before 'install 'check
 | 
					           (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?
 | 
					               (when tests?
 | 
				
			||||||
                 (display "Running Python unit tests.\n")
 | 
					                 (display "Running Python unit tests.\n")
 | 
				
			||||||
                 (setenv "PYTHONPATH" (string-append (getcwd) "/python"))
 | 
					                 (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"))
 | 
					                                              "vim-vader"))
 | 
				
			||||||
                        (vader-path (string-append
 | 
					                        (vader-path (string-append
 | 
				
			||||||
                                      vim-vader
 | 
					                                      vim-vader
 | 
				
			||||||
                                      "/share/vim/vimfiles/pack/guix/start/vader")))
 | 
					                                      (if vim?
 | 
				
			||||||
                   (with-directory-excursion "tests/vim"
 | 
					                                        "/share/vim/vimfiles"
 | 
				
			||||||
                     (setenv "VADER_PATH" vader-path)
 | 
					                                        "/share/nvim/site")
 | 
				
			||||||
                     (invoke (string-append
 | 
					                                      "/pack/guix/start/vader"))
 | 
				
			||||||
                               (assoc-ref (or native-inputs inputs) "vim-full")
 | 
					                        (command `(,@(if vim? '("vim" "-E") '())
 | 
				
			||||||
                               "/bin/vim")
 | 
					                                   ,@(if neovim? '("nvim" "--headless") '())
 | 
				
			||||||
                             "-E" "-Nu" "vimrc"
 | 
					                                   "-Nu" "vimrc"
 | 
				
			||||||
                                   "-c" "Vader! *.vader")))
 | 
					                                   "-c" "Vader! *.vader")))
 | 
				
			||||||
 | 
					                   (with-directory-excursion "tests/vim"
 | 
				
			||||||
 | 
					                     (when neovim?
 | 
				
			||||||
 | 
					                       (setenv "HOME" (getcwd)))
 | 
				
			||||||
 | 
					                     (setenv "VADER_PATH" vader-path)
 | 
				
			||||||
 | 
					                     (apply invoke command)))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                 ;; Remove __pycache__ files generated during testing so that
 | 
					                 ;; Remove __pycache__ files generated during testing so that
 | 
				
			||||||
                 ;; they don't get installed.
 | 
					                 ;; they don't get installed.
 | 
				
			||||||
                 (delete-file-recursively "python/__pycache__")))))))
 | 
					                 (delete-file-recursively "python/__pycache__")))))))
 | 
				
			||||||
      (native-inputs
 | 
					      (native-inputs
 | 
				
			||||||
       `(("coq-for-coqtail" ,coq-for-coqtail)
 | 
					       (list coq-for-coqtail
 | 
				
			||||||
         ("python-pytest" ,python-pytest)
 | 
					             python-pytest
 | 
				
			||||||
         ("vim-full" ,vim-full)         ; Plugin needs Python 3.
 | 
					             vim-vader))
 | 
				
			||||||
         ("vim-vader" ,vim-vader)))
 | 
					 | 
				
			||||||
      (propagated-inputs (list coq coq-ide-server))
 | 
					      (propagated-inputs (list coq coq-ide-server))
 | 
				
			||||||
      (synopsis "Interactive Coq proofs in Vim")
 | 
					      (synopsis "Interactive Coq proofs in Vim")
 | 
				
			||||||
      (description "Coqtail enables interactive Coq proof development 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")
 | 
					      (home-page "https://github.com/whonore/Coqtail")
 | 
				
			||||||
      (license license:expat))))
 | 
					      (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
 | 
					(define-public vim-fugitive
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "vim-fugitive")
 | 
					    (name "vim-fugitive")
 | 
				
			||||||
| 
						 | 
					@ -1509,7 +1527,7 @@ operations are available for most filetypes.")
 | 
				
			||||||
         #:phases
 | 
					         #:phases
 | 
				
			||||||
         (modify-phases %standard-phases
 | 
					         (modify-phases %standard-phases
 | 
				
			||||||
           (add-before 'install 'check
 | 
					           (add-before 'install 'check
 | 
				
			||||||
             (lambda* (#:key tests? #:allow-other-keys)
 | 
					             (lambda* (#:key tests? vim? neovim? #:allow-other-keys)
 | 
				
			||||||
               (when tests?
 | 
					               (when tests?
 | 
				
			||||||
                 ;; FIXME: suite1.vader fails with an unknown reason,
 | 
					                 ;; FIXME: suite1.vader fails with an unknown reason,
 | 
				
			||||||
                 ;; lang-if.vader requires Python and Ruby.
 | 
					                 ;; lang-if.vader requires Python and Ruby.
 | 
				
			||||||
| 
						 | 
					@ -1519,9 +1537,11 @@ operations are available for most filetypes.")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                 (display "Running Vim tests\n")
 | 
					                 (display "Running Vim tests\n")
 | 
				
			||||||
                 (with-directory-excursion "test"
 | 
					                 (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"))))))))
 | 
					                   (invoke "bash" "./run-tests.sh"))))))))
 | 
				
			||||||
      (native-inputs (list vim))
 | 
					 | 
				
			||||||
      (home-page "https://github.com/junegunn/vader.vim")
 | 
					      (home-page "https://github.com/junegunn/vader.vim")
 | 
				
			||||||
      (synopsis "Test framework for Vimscript")
 | 
					      (synopsis "Test framework for Vimscript")
 | 
				
			||||||
      (description "Vader is a test framework for Vimscript designed to
 | 
					      (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.")
 | 
					automate testing and is compatible with Vim and Neovim.")
 | 
				
			||||||
      (license license:expat)))) ;; Specified in README.md.
 | 
					      (license license:expat)))) ;; Specified in README.md.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					(define-public neovim-vader
 | 
				
			||||||
 | 
					  (package
 | 
				
			||||||
 | 
					    (inherit vim-vader)
 | 
				
			||||||
 | 
					    (name "neovim-vader")))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
(define-public vim-jedi-vim
 | 
					(define-public vim-jedi-vim
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "vim-jedi-vim")
 | 
					    (name "vim-jedi-vim")
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -83,7 +83,6 @@
 | 
				
			||||||
  #:use-module (gnu packages man)
 | 
					  #:use-module (gnu packages man)
 | 
				
			||||||
  #:use-module (gnu packages markup)
 | 
					  #:use-module (gnu packages markup)
 | 
				
			||||||
  #:use-module (gnu packages mp3)
 | 
					  #:use-module (gnu packages mp3)
 | 
				
			||||||
  #:use-module (gnu packages nano)
 | 
					 | 
				
			||||||
  #:use-module (gnu packages ncurses)
 | 
					  #:use-module (gnu packages ncurses)
 | 
				
			||||||
  #:use-module (gnu packages pcre)
 | 
					  #:use-module (gnu packages pcre)
 | 
				
			||||||
  #:use-module (gnu packages perl)
 | 
					  #:use-module (gnu packages perl)
 | 
				
			||||||
| 
						 | 
					@ -96,6 +95,7 @@
 | 
				
			||||||
  #:use-module (gnu packages sdl)
 | 
					  #:use-module (gnu packages sdl)
 | 
				
			||||||
  #:use-module (gnu packages sqlite)
 | 
					  #:use-module (gnu packages sqlite)
 | 
				
			||||||
  #:use-module (gnu packages tcl)
 | 
					  #:use-module (gnu packages tcl)
 | 
				
			||||||
 | 
					  #:use-module (gnu packages text-editors)
 | 
				
			||||||
  #:use-module (gnu packages tls)
 | 
					  #:use-module (gnu packages tls)
 | 
				
			||||||
  #:use-module (gnu packages webkit)
 | 
					  #:use-module (gnu packages webkit)
 | 
				
			||||||
  #:use-module (gnu packages xorg))
 | 
					  #:use-module (gnu packages xorg))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -5159,7 +5159,7 @@ It uses the uwsgi protocol for all the networking/interprocess communications.")
 | 
				
			||||||
(define-public jq
 | 
					(define-public jq
 | 
				
			||||||
  (package
 | 
					  (package
 | 
				
			||||||
    (name "jq")
 | 
					    (name "jq")
 | 
				
			||||||
    (version "1.7")
 | 
					    (version "1.7.1")
 | 
				
			||||||
    (source
 | 
					    (source
 | 
				
			||||||
     (origin
 | 
					     (origin
 | 
				
			||||||
       (method url-fetch)
 | 
					       (method url-fetch)
 | 
				
			||||||
| 
						 | 
					@ -5167,7 +5167,7 @@ It uses the uwsgi protocol for all the networking/interprocess communications.")
 | 
				
			||||||
                           "/releases/download/jq-" version
 | 
					                           "/releases/download/jq-" version
 | 
				
			||||||
                           "/jq-" version ".tar.gz"))
 | 
					                           "/jq-" version ".tar.gz"))
 | 
				
			||||||
       (sha256
 | 
					       (sha256
 | 
				
			||||||
        (base32 "0qnv8k9x8i6i24n9vx3cxgw0yjj1411silc4wksfcinrfmlhsaj0"))
 | 
					        (base32 "1hl0wppdwwrqf3gzg3xwc260s7i1br2lnc97zr1k8bpx56hrr327"))
 | 
				
			||||||
       (modules '((guix build utils)))
 | 
					       (modules '((guix build utils)))
 | 
				
			||||||
       (snippet
 | 
					       (snippet
 | 
				
			||||||
        ;; Remove bundled onigurama.
 | 
					        ;; Remove bundled onigurama.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
Some files were not shown because too many files have changed in this diff Show more
		Reference in a new issue