Merge branch 'master' into staging.
With resolved conflicts in: gnu/local.mk gnu/packages/crates-io.scm
This commit is contained in:
commit
3c6e220d81
21
NEWS
21
NEWS
@ -2,7 +2,7 @@
|
||||
#+TITLE: Guix NEWS – history of user-visible changes
|
||||
#+STARTUP: content hidestars
|
||||
|
||||
Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
|
||||
Copyright © 2013-2022 Ludovic Courtès <ludo@gnu.org>
|
||||
Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
Copyright © 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
Copyright © 2022 Mathieu Othacehe <othacehe@gnu.org>
|
||||
@ -48,6 +48,7 @@ Please send Guix bug reports to bug-guix@gnu.org.
|
||||
*** New interface for declaring swap space
|
||||
*** GNOME is now at version 42
|
||||
*** TeX Live is now at version 2021
|
||||
*** Multiple TeX Live trees can now be used via GUIX_TEXMF
|
||||
*** Python is now faster thanks to being built with optimizations
|
||||
*** The Rust bootstrap now starts from 1.54 instead of 1.19
|
||||
*** Most Python 2 packages have been removed
|
||||
@ -55,8 +56,7 @@ Please send Guix bug reports to bug-guix@gnu.org.
|
||||
*** Faster shared libraries discovery via a per-package dynamic linker cache
|
||||
*** Package inputs can now be plain package lists
|
||||
*** A package origin can now be a single file rather than an archive
|
||||
*** Multiple Tex Live trees can now be used via GUIX_TEXMF
|
||||
*** A new sanity-check phase detects packaging problems at build time
|
||||
*** New sanity-check phase to detect Python packaging problems at build time
|
||||
*** Fetching sources can now fall-back to use Disarchive
|
||||
*** Improved CI and infrastructure
|
||||
*** Multiple cross-compilation tooling addition and fixes
|
||||
@ -71,14 +71,17 @@ Please send Guix bug reports to bug-guix@gnu.org.
|
||||
*** The installer now has a crash dump upload mechanism
|
||||
*** Emacs now supports native compilation
|
||||
*** GRUB bootloader now supports chain-loading
|
||||
|
||||
*** The GNU Shepherd was upgraded to 0.9.2
|
||||
*** The init RAM disk honors more arguments—e.g. ‘root’ and ‘rootflags’
|
||||
*** ‘guix system image’ can now generate WSL images
|
||||
** Programming interfaces
|
||||
*** (guix records) now supports “field sanitizers”
|
||||
*** Build phases are no longer required to return a boolean
|
||||
*** G-Expressions can now be used to author build phases
|
||||
*** Various improvements to the helpers in (gnu service configuration)
|
||||
*** Package input fields can now plain package lists
|
||||
*** G-expressions can now be used in build phases
|
||||
*** New ‘modify-inputs’ macro to ease customizing a list of package inputs
|
||||
*** New ‘this-package-input’ and ‘this-package-native-input’ macros
|
||||
*** Build phases are no longer required to return a boolean
|
||||
*** (guix records) now supports “field sanitizers”
|
||||
*** Various improvements to the helpers in (gnu service configuration)
|
||||
*** ‘texlive-union’ is now deprecated in favor of ‘texlive-updmap.cfg’
|
||||
*** New (guix cpu) module
|
||||
*** New (guix least-authority) module
|
||||
@ -112,7 +115,7 @@ nar-herder, opendht, rasdaemon, seatd, strongswan
|
||||
(<https://issues.guix.gnu.org/51425>)
|
||||
*** Fonts can now be discovered in any profile via XDG_DATA_DIRS
|
||||
(<https://issues.guix.gnu.org/31403>)
|
||||
*** Python modules discovery no longer uses PYTHONPATH
|
||||
*** Python modules are searched in GUIX_PYTHONPATH instead of PYTHONPATH
|
||||
*** Various Python reproducibility fixes
|
||||
*** The installer now supports MSDOS disk labels on UEFI systems
|
||||
(<https://issues.guix.gnu.org/47889>)
|
||||
|
@ -1406,6 +1406,47 @@ for more information. You can install @command{git send-email} with
|
||||
@command{guix install git:send-email}.
|
||||
@c Debbugs bug: https://debbugs.gnu.org/db/15/15361.html
|
||||
|
||||
To maximize the chances that you patch series is reviewed, the preferred
|
||||
submission way is to use the @code{etc/teams.scm} script to notify the
|
||||
appropriate team members (@pxref{Teams}).
|
||||
|
||||
@unnumberedsubsec Teams
|
||||
@anchor{Teams}
|
||||
@cindex teams
|
||||
|
||||
There are several teams mentoring different parts of the Guix source
|
||||
code. To list all those teams, you can run from a Guix checkout:
|
||||
|
||||
@example
|
||||
$ ./etc/teams.scm list-teams
|
||||
id: mentors
|
||||
name: Mentors
|
||||
description: A group of mentors who chaperone contributions by newcomers.
|
||||
members:
|
||||
+ Christopher Baines <mail@@cbaines.net>
|
||||
+ Ricardo Wurmus <rekado@@elephly.net>
|
||||
+ Mathieu Othacehe <othacehe@@gnu.org>
|
||||
+ jgart <jgart@@dismail.de>
|
||||
+ Ludovic Courtès <ludo@@gnu.org>
|
||||
@dots{}
|
||||
@end example
|
||||
|
||||
You can run the following command to have the @code{Mentors} team put in
|
||||
CC of a patch series:
|
||||
|
||||
@example
|
||||
$ git send-email --to XXX@@debbugs.gnu.org $(./etc/teams.scm cc mentors) *.patch
|
||||
@end example
|
||||
|
||||
The appropriate team or teams can also be inferred from the modified
|
||||
files. For instance, if you want to send the two latest commits of the
|
||||
current Git repository to review, you can run:
|
||||
|
||||
@example
|
||||
$ guix shell -D guix
|
||||
[env]$ git send-email --to XXX@@debbugs.gnu.org $(./etc/teams.scm cc-members HEAD~2 HEAD) *.patch
|
||||
@end example
|
||||
|
||||
@node Tracking Bugs and Patches
|
||||
@section Tracking Bugs and Patches
|
||||
|
||||
|
755
doc/guix.texi
755
doc/guix.texi
@ -106,6 +106,7 @@ Copyright @copyright{} 2022 Philip M@sup{c}Grath@*
|
||||
Copyright @copyright{} 2022 Karl Hallsby@*
|
||||
Copyright @copyright{} 2022 Justin Veilleux@*
|
||||
Copyright @copyright{} 2022 Reily Siegel@*
|
||||
Copyright @copyright{} 2022 Simon Streit@*
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.3 or
|
||||
@ -182,6 +183,8 @@ Weblate} (@pxref{Translating Guix}).
|
||||
* System Configuration:: Configuring the operating system.
|
||||
* Home Configuration:: Configuring the home environment.
|
||||
* Documentation:: Browsing software user manuals.
|
||||
* Platforms:: Defining platforms.
|
||||
* System Images:: Creating system images.
|
||||
* Installing Debugging Files:: Feeding the debugger.
|
||||
* Using TeX and LaTeX:: Typesetting.
|
||||
* Security Updates:: Deploying security fixes quickly.
|
||||
@ -385,6 +388,7 @@ Services
|
||||
* DNS Services:: DNS daemons.
|
||||
* VPN Services:: VPN daemons.
|
||||
* Network File System:: NFS related services.
|
||||
* Samba Services:: Samba services.
|
||||
* Continuous Integration:: Cuirass and Laminar services.
|
||||
* Power Management Services:: Extending battery life.
|
||||
* Audio Services:: The MPD.
|
||||
@ -405,6 +409,18 @@ Defining Services
|
||||
* Shepherd Services:: A particular type of service.
|
||||
* Complex Configurations:: Defining bindings for complex configurations.
|
||||
|
||||
Platforms
|
||||
|
||||
* platform Reference:: Detail of platform declarations.
|
||||
* Supported Platforms:: Description of the supported platforms.
|
||||
|
||||
System Images
|
||||
|
||||
* image Reference:: Detail of image declarations.
|
||||
* Instantiate an Image:: How to instantiate an image record.
|
||||
* image-type Reference:: Detail of image types declaration.
|
||||
* Image Modules:: Definition of image modules.
|
||||
|
||||
Installing Debugging Files
|
||||
|
||||
* Separate Debug Info:: Installing 'debug' outputs.
|
||||
@ -17516,6 +17532,7 @@ declaration.
|
||||
* DNS Services:: DNS daemons.
|
||||
* VPN Services:: VPN daemons.
|
||||
* Network File System:: NFS related services.
|
||||
* Samba Services:: Samba services.
|
||||
* Continuous Integration:: Cuirass and Laminar services.
|
||||
* Power Management Services:: Extending battery life.
|
||||
* Audio Services:: The MPD.
|
||||
@ -31297,6 +31314,125 @@ The verbosity level of the daemon.
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
@node Samba Services, Continuous Integration, Network File System, Services
|
||||
@subsection Samba Services
|
||||
|
||||
@cindex Samba
|
||||
@cindex SMB
|
||||
The @code{(gnu services samba)} module provides service definitions for
|
||||
Samba as well as additional helper services. Currently it provides the
|
||||
following services.
|
||||
|
||||
@subsubheading Samba
|
||||
|
||||
@uref{https://www.samba.org, Samba} provides network shares for folders
|
||||
and printers using the SMB/CIFS protocol commonly used on Windows. It
|
||||
can also act as an Active Directory Domain Controller (AD DC) for other
|
||||
hosts in an heterougenious network with different types of Computer
|
||||
systems.
|
||||
|
||||
@defvar {Scheme variable} samba-service-type
|
||||
|
||||
The service type to enable the samba services @code{samba}, @code{nmbd},
|
||||
@code{smbd} and @code{winbindd}. By default this service type does not
|
||||
run as an AD DC, hence @code{samba} remains disabled.
|
||||
|
||||
@end defvar
|
||||
|
||||
@deftp{Data Type} samba-service-configuration
|
||||
Configuration record for the Samba suite.
|
||||
|
||||
@table @asis
|
||||
@item @code{package} (default: @code{samba})
|
||||
The samba package to use.
|
||||
|
||||
@item @code{config-file} (default: @code{#f})
|
||||
The config file to use.
|
||||
|
||||
@item @code{enable-samba?} (default: @code{#f})
|
||||
Manually enable the @code{samba} daemon.
|
||||
|
||||
@item @code{enable-smbd?} (default: @code{#f})
|
||||
Manually enable the @code{smbd} daemon.
|
||||
|
||||
@item @code{enable-nmbd?} (default: @code{#f})
|
||||
Manually enable the @code{nmbd} daemon.
|
||||
|
||||
@item @code{enable-winbindd?} (default: @code{#f})
|
||||
Manually enable the @code{winbindd} daemon.
|
||||
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
@cindex wsdd
|
||||
@subsubheading Web Service Discovery Daemon
|
||||
|
||||
Web Service Discovery Daemon implements
|
||||
@uref{http://docs.oasis-open.org/ws-dd/discovery/1.1/os/wsdd-discovery-1.1-spec-os.html,
|
||||
Web Services Dynamic Discovery} protocol that enables host discovery --
|
||||
similar to Avahi -- over Multicast DNS. It is a drop-in replacement for
|
||||
SMB hosts that have had SMBv1 disabled for security reasons.
|
||||
|
||||
@defvr {Scheme Variable} wsdd-service-type
|
||||
|
||||
Service type for the WSD host daemon. The value for
|
||||
this service type is a @code{wsdd-configuration} record. The details
|
||||
for the @code{wsdd-configuration} record type are given below.
|
||||
@end defvr
|
||||
|
||||
@deftp{Data Type} wsdd-configuration This data type represents the
|
||||
configuration for the wsdd service.
|
||||
|
||||
@table @asis
|
||||
|
||||
@item @code{package} (default: @code{wsdd})
|
||||
The wsdd package to use.
|
||||
|
||||
@item @code{ipv4only?} (default: @code{#f})
|
||||
Only listen to IPv4 addresses.
|
||||
|
||||
@item @code{ipv6only} (default: @code{#f})
|
||||
Only listen to IPv6 addresses. Please note: Activating both options is
|
||||
not possible, since there would be no IP versions to listen to.
|
||||
|
||||
@item @code{chroot} (default: @code{#f})
|
||||
Chroot into a separate directory to prevent access to other directories.
|
||||
This is to increase security in case there is a vulnerability in
|
||||
@command{wsdd}.
|
||||
|
||||
@item @code{hop-limit} (default: @code{1})
|
||||
Limit to the level of hops for multicast packets. The default is
|
||||
@var{1} which should prevent packets from leaving the local network.
|
||||
|
||||
@item @code{interface} (default: @code{'()})
|
||||
Limit to the given list of interfaces to listen to. By default wsdd
|
||||
will listen to all interfaces. Except the loopback interface is never
|
||||
used.
|
||||
|
||||
@item @code{uuid-device} (default: @code{#f})
|
||||
The WSD protocol requires a device to have a UUID. Set this to manually
|
||||
assign the service a UUID.
|
||||
|
||||
@item @code{domain} (default: @code{#f})
|
||||
Notify this host is a member of an Active Directory.
|
||||
|
||||
@item @code{host-name} (default: @code{#f})
|
||||
Manually set the hostname rather than letting @command{wsdd} inherit
|
||||
this host's hostname. Only the host name part of a possible FQDN will
|
||||
be used in the default case.
|
||||
|
||||
@item @code{preserve-case?} (default: @code{#f})
|
||||
By default @command{wsdd} will convert the hostname in workgroup to all
|
||||
uppercase. The opposite is true for hostnames in domains. Setting this
|
||||
parameter will preserve case.
|
||||
|
||||
@item @code{workgroup} (default: @var{"WORKGROUP"})
|
||||
Change the name of the workgroup. By default @command{wsdd} reports
|
||||
this host being member of a workgroup.
|
||||
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
@node Continuous Integration
|
||||
@subsection Continuous Integration
|
||||
|
||||
@ -41166,6 +41302,623 @@ reader,, info-stnd, Stand-alone GNU Info}) and its Emacs counterpart
|
||||
bindings to navigate manuals. @xref{Getting Started,,, info, Info: An
|
||||
Introduction}, for an introduction to Info navigation.
|
||||
|
||||
@node Platforms
|
||||
@chapter Platforms
|
||||
|
||||
The packages and systems built by Guix are intended, like most computer
|
||||
programs, to run on a CPU with a specific instruction set, and under a
|
||||
specific operating system. Those programs are often also targeting a
|
||||
specific kernel and system library. Those constraints are captured by
|
||||
Guix in @code{platform} records.
|
||||
|
||||
@menu
|
||||
* platform Reference:: Detail of platform declarations.
|
||||
* Supported Platforms:: Description of the supported platforms.
|
||||
@end menu
|
||||
|
||||
@node platform Reference
|
||||
@section @code{platform} Reference
|
||||
|
||||
The @code{platform} data type describes a @dfn{platform}: an
|
||||
@acronym{ISA, instruction set architecture}, combined with an operating
|
||||
system and possibly additional system-wide settings such as the
|
||||
@acronym{ABI, application binary interface}.
|
||||
|
||||
@deftp {Data Type} platform
|
||||
This is the data type representing a platform.
|
||||
|
||||
@table @asis
|
||||
@item @code{target}
|
||||
This field specifies the platform's GNU triplet as a string
|
||||
(@pxref{Specifying Target Triplets, GNU configuration triplets,,
|
||||
autoconf, Autoconf}).
|
||||
|
||||
@item @code{system}
|
||||
This string is the system type as it is known to Guix and passed,
|
||||
for instance, to the @option{--system} option of most commands.
|
||||
|
||||
It usually has the form @code{"@var{cpu}-@var{kernel}"}, where
|
||||
@var{cpu} is the target CPU and @var{kernel} the target operating
|
||||
system kernel.
|
||||
|
||||
It can be for instance @code{"aarch64-linux"} or @code{"armhf-linux"}.
|
||||
You will encounter system types when you perform native builds
|
||||
(@pxref{Native Builds}).
|
||||
|
||||
@item @code{linux-architecture} (default: @code{#false})
|
||||
This optional string field is only relevant if the kernel is Linux. In
|
||||
that case, it corresponds to the ARCH variable used when building Linux,
|
||||
@code{"mips"} for instance.
|
||||
|
||||
@item @code{glibc-dynamic-linker}
|
||||
This field is the name of the GNU C Library dynamic linker for the
|
||||
corresponding system, as a string. It can be
|
||||
@code{"/lib/ld-linux-armhf.so.3"}.
|
||||
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
@node Supported Platforms
|
||||
@section Supported Platforms
|
||||
|
||||
The @code{(guix platforms @dots{})} modules export the following
|
||||
variables, each of which is bound to a @code{platform} record.
|
||||
|
||||
@defvr {Scheme Variable} armv7-linux
|
||||
Platform targeting ARM v7 CPU running GNU/Linux.
|
||||
@end defvr
|
||||
|
||||
@defvr {Scheme Variable} aarch64-linux
|
||||
Platform targeting ARM v8 CPU running GNU/Linux.
|
||||
@end defvr
|
||||
|
||||
@defvr {Scheme Variable} mips64-linux
|
||||
Platform targeting MIPS little-endian 64-bit CPU running GNU/Linux.
|
||||
@end defvr
|
||||
|
||||
@defvr {Scheme Variable} powerpc-linux
|
||||
Platform targeting PowerPC big-endian 32-bit CPU running GNU/Linux.
|
||||
@end defvr
|
||||
|
||||
@defvr {Scheme Variable} powerpc64le-linux
|
||||
Platform targeting PowerPC little-endian 64-bit CPU running GNU/Linux.
|
||||
@end defvr
|
||||
|
||||
@defvr {Scheme Variable} riscv64-linux
|
||||
Platform targeting RISC-V 64-bit CPU running GNU/Linux.
|
||||
@end defvr
|
||||
|
||||
@defvr {Scheme Variable} i686-linux
|
||||
Platform targeting x86 CPU running GNU/Linux.
|
||||
@end defvr
|
||||
|
||||
@defvr {Scheme Variable} x86_64-linux
|
||||
Platform targeting x86 64-bit CPU running GNU/Linux.
|
||||
@end defvr
|
||||
|
||||
@defvr {Scheme Variable} i686-mingw
|
||||
Platform targeting x86 CPU running Windows, with run-time support from
|
||||
MinGW.
|
||||
@end defvr
|
||||
|
||||
@defvr {Scheme Variable} x86_64-mingw
|
||||
Platform targeting x86 64-bit CPU running Windows, with run-time support
|
||||
from MinGW.
|
||||
@end defvr
|
||||
|
||||
@defvr {Scheme Variable} i586-gnu
|
||||
Platform targeting x86 CPU running GNU/Hurd (also referred to as
|
||||
``GNU'').
|
||||
@end defvr
|
||||
|
||||
@node System Images
|
||||
@chapter Creating System Images
|
||||
|
||||
@cindex system images
|
||||
When it comes to installing Guix System for the first time on a new
|
||||
machine, you can basically proceed in three different ways. The first
|
||||
one is to use an existing operating system on the machine to run the
|
||||
@command{guix system init} command (@pxref{Invoking guix system}). The
|
||||
second one, is to produce an installation image (@pxref{Building the
|
||||
Installation Image}). This is a bootable system which role is to
|
||||
eventually run @command{guix system init}. Finally, the third option
|
||||
would be to produce an image that is a direct instantiation of the
|
||||
system you wish to run. That image can then be copied on a bootable
|
||||
device such as an USB drive or a memory card. The target machine would
|
||||
then directly boot from it, without any kind of installation procedure.
|
||||
|
||||
The @command{guix system image} command is able to turn an operating
|
||||
system definition into a bootable image. This command supports
|
||||
different image types, such as @code{efi-raw}, @code{iso9660} and
|
||||
@code{docker}. Any modern @code{x86_64} machine will probably be able
|
||||
to boot from an @code{iso9660} image. However, there are a few machines
|
||||
out there that require specific image types. Those machines, in general
|
||||
using @code{ARM} processors, may expect specific partitions at specific
|
||||
offsets.
|
||||
|
||||
This chapter explains how to define customized system images and how to
|
||||
turn them into actual bootable images.
|
||||
|
||||
@menu
|
||||
* image Reference:: Detail of image declarations.
|
||||
* Instantiate an Image:: How to instantiate an image record.
|
||||
* image-type Reference:: Detail of image types declaration.
|
||||
* Image Modules:: Definition of image modules.
|
||||
@end menu
|
||||
|
||||
@node image Reference
|
||||
@section @code{image} Reference
|
||||
|
||||
The @code{image} record, described right after, allows you to define a
|
||||
customized bootable system image.
|
||||
|
||||
@deftp {Data Type} image
|
||||
This is the data type representing a system image.
|
||||
|
||||
@table @asis
|
||||
@item @code{name} (default: @code{#false})
|
||||
The image name as a symbol, @code{'my-iso9660} for instance. The name
|
||||
is optional and it defaults to @code{#false}.
|
||||
|
||||
@item @code{format}
|
||||
The image format as a symbol. The following formats are supported:
|
||||
|
||||
@itemize
|
||||
@item @code{disk-image}, a raw disk image composed of one or multiple
|
||||
partitions.
|
||||
|
||||
@item @code{compressed-qcow2}, a compressed qcow2 image composed of
|
||||
one or multiple partitions.
|
||||
|
||||
@item @code{docker}, a Docker image.
|
||||
|
||||
@item @code{iso9660}, an ISO-9660 image.
|
||||
|
||||
@item @code{tarball}, a tar.gz image archive.
|
||||
|
||||
@item @code{wsl2}, a WSL2 image.
|
||||
|
||||
@end itemize
|
||||
|
||||
@item @code{platform} (default: @code{#false})
|
||||
The @code{platform} record the image is targeting (@pxref{Platforms}),
|
||||
@code{aarch64-linux} for instance. By default, this field is set to
|
||||
@code{#false} and the image will target the host platform.
|
||||
|
||||
@item @code{size} (default: @code{'guess})
|
||||
The image size in bytes or @code{'guess}. The @code{'guess} symbol,
|
||||
which is the default, means that the image size will be inferred based
|
||||
on the image content.
|
||||
|
||||
@item @code{operating-system}
|
||||
The image's @code{operating-system} record that is instanciated.
|
||||
|
||||
@item @code{partition-table-type} (default: @code{'mbr})
|
||||
The image partition table type as a symbol. Possible values are
|
||||
@code{'mbr} and @code{'gpt}. It default to @code{'mbr}.
|
||||
|
||||
@item @code{partitions} (default: @code{'()})
|
||||
The image partitions as a list of @code{partition} records
|
||||
(@pxref{partition Reference}).
|
||||
|
||||
@item @code{compression?} (default: @code{#true})
|
||||
Whether the image content should be compressed, as a boolean. It
|
||||
defaults to @code{#true} and only applies to @code{'iso9660} image
|
||||
formats.
|
||||
|
||||
@item @code{volatile-root?} (default: @code{#true})
|
||||
Whether the image root partition should be made volatile, as a boolean.
|
||||
|
||||
This is achieved by using a RAM backed file system (overlayfs) that is
|
||||
mounted on top of the root partition by the initrd. It defaults to
|
||||
@code{#true}. When set to @code{#false}, the image root partition is
|
||||
mounted as read-write partition by the initrd.
|
||||
|
||||
@item @code{shared-store?} (default: @code{#false})
|
||||
Whether the image's store should be shared with the host system, as a
|
||||
boolean. This can be useful when creating images dedicated to virtual
|
||||
machines. When set to @code{#false}, which is the default, the image's
|
||||
@code{operating-system} closure is copied to the image. Otherwise, when
|
||||
set to @code{#true}, it is assumed that the host store will be made
|
||||
available at boot, using a @code{9p} mount for instance.
|
||||
|
||||
@item @code{shared-network?} (default: @code{#false})
|
||||
Whether to use the host network interfaces within the image, as a
|
||||
boolean. This is only used for the @code{'docker} image format. It
|
||||
defaults to @code{#false}.
|
||||
|
||||
@item @code{substitutable?} (default: @code{#true})
|
||||
Whether the image derivation should be substitutable, as a boolean. It
|
||||
defaults to @code{true}.
|
||||
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
@node partition Reference
|
||||
@subsection @code{partition} Reference
|
||||
|
||||
In @code{image} record may contain some partitions.
|
||||
|
||||
@deftp {Data Type} partition
|
||||
This is the data type representing an image partition.
|
||||
|
||||
@table @asis
|
||||
@item @code{size} (default: @code{'guess})
|
||||
The partition size in bytes or @code{'guess}. The @code{'guess} symbol,
|
||||
which is the default, means that the partition size will be inferred
|
||||
based on the partition content.
|
||||
|
||||
@item @code{offset} (default: @code{0})
|
||||
The partition's start offset in bytes, relative to the image start or
|
||||
the previous partition end. It defaults to @code{0} which means that
|
||||
there is no offset applied.
|
||||
|
||||
@item @code{file-system} (default: @code{"ext4"})
|
||||
The partition file system as a string, defaulting to @code{"ext4"}. The
|
||||
supported values are @code{"vfat"}, @code{"fat16"}, @code{"fat32"} and
|
||||
@code{"ext4"}.
|
||||
|
||||
@item @code{file-system-options} (default: @code{'()})
|
||||
The partition file system creation options that should be passed to the
|
||||
partition creation tool, as a list of strings. This is only supported
|
||||
when creating @code{"ext4"} partitions.
|
||||
|
||||
See the @code{"extended-options"} man page section of the
|
||||
@code{"mke2fs"} tool for a more complete reference.
|
||||
|
||||
@item @code{label}
|
||||
The partition label as a mandatory string, @code{"my-root"} for
|
||||
instance.
|
||||
|
||||
@item @code{uuid} (default: @code{#false})
|
||||
The partition UUID as an @code{uuid} record (@pxref{File Systems}). By
|
||||
default it is @code{#false}, which means that the partition creation
|
||||
tool will attribute a random UUID to the partition.
|
||||
|
||||
@item @code{flags} (default: @code{'()})
|
||||
The partition flags as a list of symbols. Possible values are
|
||||
@code{'boot} and @code{'esp}. The @code{'boot} flags should be set if
|
||||
you want to boot from this partition. Exactly one partition should have
|
||||
this flag set, usually the root one. The @code{'esp} flag identifies a
|
||||
UEFI System Partition.
|
||||
|
||||
@item @code{initializer} (default: @code{#false})
|
||||
The partition initializer procedure as a gexp. This procedure is called
|
||||
to populate a partition. If no initializer is passed, the
|
||||
@code{initialize-root-partition} procedure from the @code{(gnu build
|
||||
image)} module is used.
|
||||
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
@node Instantiate an Image
|
||||
@section Instantiate an Image
|
||||
|
||||
Let's say you would like to create an MBR image with three distinct
|
||||
partitions:
|
||||
|
||||
@itemize
|
||||
@item The @acronym{ESP, EFI System Partition}, a partition of
|
||||
40@tie{}MiB at offset 1024@tie{}KiB with a vfat file system.
|
||||
|
||||
@item an ext4 partition of 50@tie{}MiB data file, and labeled ``data''.
|
||||
|
||||
@item an ext4 bootable partition containing the @code{%simple-os}
|
||||
operating-system.
|
||||
@end itemize
|
||||
|
||||
You would then write the following image definition in a
|
||||
@code{my-image.scm} file for instance.
|
||||
|
||||
@lisp
|
||||
(use-modules (gnu)
|
||||
(gnu image)
|
||||
(gnu tests)
|
||||
(gnu system image)
|
||||
(guix gexp))
|
||||
|
||||
(define MiB (expt 2 20))
|
||||
|
||||
(image
|
||||
(format 'disk-image)
|
||||
(operating-system %simple-os)
|
||||
(partitions
|
||||
(list
|
||||
(partition
|
||||
(size (* 40 MiB))
|
||||
(offset (* 1024 1024))
|
||||
(label "GNU-ESP")
|
||||
(file-system "vfat")
|
||||
(flags '(esp))
|
||||
(initializer (gexp initialize-efi-partition)))
|
||||
(partition
|
||||
(size (* 50 MiB))
|
||||
(label "DATA")
|
||||
(file-system "ext4")
|
||||
(initializer #~(lambda* (root . rest)
|
||||
(mkdir root)
|
||||
(call-with-output-file
|
||||
(string-append root "/data")
|
||||
(lambda (port)
|
||||
(format port "my-data"))))))
|
||||
(partition
|
||||
(size 'guess)
|
||||
(label root-label)
|
||||
(file-system "ext4")
|
||||
(flags '(boot))
|
||||
(initializer (gexp initialize-root-partition))))))
|
||||
@end lisp
|
||||
|
||||
Note that the first and third partitions use generic initializers
|
||||
procedures, initialize-efi-partition and initialize-root-partition
|
||||
respectively. The initialize-efi-partition installs a GRUB EFI loader
|
||||
that is loading the GRUB bootloader located in the root partition. The
|
||||
initialize-root-partition instantiates a complete system as defined by
|
||||
the @code{%simple-os} operating-system.
|
||||
|
||||
You can now run:
|
||||
|
||||
@example
|
||||
guix system image my-image.scm
|
||||
@end example
|
||||
|
||||
to instantiate the @code{image} definition. That produces a disk image
|
||||
which has the expected structure:
|
||||
|
||||
@example
|
||||
$ parted $(guix system image my-image.scm) print
|
||||
@dots{}
|
||||
Model: (file)
|
||||
Disk /gnu/store/yhylv1bp5b2ypb97pd3bbhz6jk5nbhxw-disk-image: 1714MB
|
||||
Sector size (logical/physical): 512B/512B
|
||||
Partition Table: msdos
|
||||
Disk Flags:
|
||||
|
||||
Number Start End Size Type File system Flags
|
||||
1 1049kB 43.0MB 41.9MB primary fat16 esp
|
||||
2 43.0MB 95.4MB 52.4MB primary ext4
|
||||
3 95.4MB 1714MB 1619MB primary ext4 boot
|
||||
@end example
|
||||
|
||||
The size of the @code{boot} partition has been inferred to @code{1619MB}
|
||||
so that it is large enough to host the @code{%simple-os}
|
||||
operating-system.
|
||||
|
||||
You can also use existing @code{image} record definitions and inherit
|
||||
from them to simplify the @code{image} definition. The @code{(gnu
|
||||
system image)} module provides the following @code{image} definition
|
||||
variables.
|
||||
|
||||
@defvr {Scheme Variable} efi-disk-image
|
||||
A MBR disk-image composed of two partitions: a 64 bits ESP partition and
|
||||
a ROOT boot partition. This image can be used on most @code{x86_64} and
|
||||
@code{i686} machines, supporting BIOS or UEFI booting.
|
||||
@end defvr
|
||||
|
||||
@defvr {Scheme Variable} efi32-disk-image
|
||||
Same as @code{efi-disk-image} but with a 32 bits EFI partition.
|
||||
@end defvr
|
||||
|
||||
@defvr {Scheme Variable} iso9660-image
|
||||
An ISO-9660 image composed of a single bootable partition. This image
|
||||
can also be used on most @code{x86_64} and @code{i686} machines.
|
||||
@end defvr
|
||||
|
||||
@defvr {Scheme Variable} docker-image
|
||||
A Docker image that can be used to spawn a Docker container.
|
||||
@end defvr
|
||||
|
||||
Using the @code{efi-disk-image} we can simplify our previous
|
||||
@code{image} declaration this way:
|
||||
|
||||
@lisp
|
||||
(use-modules (gnu)
|
||||
(gnu image)
|
||||
(gnu tests)
|
||||
(gnu system image)
|
||||
(guix gexp)
|
||||
(ice-9 match))
|
||||
|
||||
(define MiB (expt 2 20))
|
||||
|
||||
(define data
|
||||
(partition
|
||||
(size (* 50 MiB))
|
||||
(label "DATA")
|
||||
(file-system "ext4")
|
||||
(initializer #~(lambda* (root . rest)
|
||||
(mkdir root)
|
||||
(call-with-output-file
|
||||
(string-append root "/data")
|
||||
(lambda (port)
|
||||
(format port "my-data")))))))
|
||||
|
||||
(image
|
||||
(inherit efi-disk-image)
|
||||
(operating-system %simple-os)
|
||||
(partitions
|
||||
(match (image-partitions efi-disk-image)
|
||||
((esp root)
|
||||
(list esp data root)))))
|
||||
@end lisp
|
||||
|
||||
This will give the exact same @code{image} instantiation but the
|
||||
@code{image} declaration is simpler.
|
||||
|
||||
@node image-type Reference
|
||||
@section image-type Reference
|
||||
|
||||
The @command{guix system image} command can, as we saw above, take a
|
||||
file containing an @code{image} declaration as argument and produce an
|
||||
actual disk image from it. The same command can also handle a file
|
||||
containing an @code{operating-system} declaration as argument. In that
|
||||
case, how is the @code{operating-system} turned into an image?
|
||||
|
||||
That's where the @code{image-type} record intervenes. This record
|
||||
defines how to transform an @code{operating-system} record into an
|
||||
@code{image} record.
|
||||
|
||||
@deftp {Data Type} image-type
|
||||
This is the data type representing an image-type.
|
||||
|
||||
@table @asis
|
||||
@item @code{name}
|
||||
The image-type name as a mandatory symbol, @code{'efi32-raw} for
|
||||
instance.
|
||||
|
||||
@item @code{constructor}
|
||||
The image-type constructor, as a mandatory procedure that takes an
|
||||
@code{operating-system} record as argument and returns an @code{image}
|
||||
record.
|
||||
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
There are several @code{image-type} records provided by the @code{(gnu
|
||||
system image)} and the @code{(gnu system images @dots{})} modules.
|
||||
|
||||
@defvr {Scheme Variable} efi-raw-image-type
|
||||
Build an image based on the @code{efi-disk-image} image.
|
||||
@end defvr
|
||||
|
||||
@defvr {Scheme Variable} efi32-raw-image-type
|
||||
Build an image based on the @code{efi32-disk-image} image.
|
||||
@end defvr
|
||||
|
||||
@defvr {Scheme Variable} qcow2-image-type
|
||||
Build an image based on the @code{efi-disk-image} image but with the
|
||||
@code{compressed-qcow2} image format.
|
||||
@end defvr
|
||||
|
||||
@defvr {Scheme Variable} iso-image-type
|
||||
Build a compressed image based on the @code{iso9660-image} image.
|
||||
@end defvr
|
||||
|
||||
@defvr {Scheme Variable} uncompressed-iso-image-type
|
||||
Build an image based on the @code{iso9660-image} image but with the
|
||||
@code{compression?} field set to @code{#false}.
|
||||
@end defvr
|
||||
|
||||
@defvr {Scheme Variable} docker-image-type
|
||||
Build an image based on the @code{docker-image} image.
|
||||
@end defvr
|
||||
|
||||
@defvr {Scheme Variable} raw-with-offset-image-type
|
||||
Build an MBR image with a single partition starting at a @code{1024KiB}
|
||||
offset. This is useful to leave some room to install a bootloader in
|
||||
the post-MBR gap.
|
||||
@end defvr
|
||||
|
||||
@defvr {Scheme Variable} pinebook-pro-image-type
|
||||
Build an image that is targeting the Pinebook Pro machine. The MBR
|
||||
image contains a single partition starting at a @code{9MiB} offset. The
|
||||
@code{u-boot-pinebook-pro-rk3399-bootloader} bootloader will be
|
||||
installed in this gap.
|
||||
@end defvr
|
||||
|
||||
@defvr {Scheme Variable} rock64-image-type
|
||||
Build an image that is targeting the Rock64 machine. The MBR image
|
||||
contains a single partition starting at a @code{16MiB} offset. The
|
||||
@code{u-boot-rock64-rk3328-bootloader} bootloader will be installed in
|
||||
this gap.
|
||||
@end defvr
|
||||
|
||||
@defvr {Scheme Variable} novena-image-type
|
||||
Build an image that is targeting the Novena machine. It has the same
|
||||
characteristics as @code{raw-with-offset-image-type}.
|
||||
@end defvr
|
||||
|
||||
@defvr {Scheme Variable} pine64-image-type
|
||||
Build an image that is targeting the Pine64 machine. It has the same
|
||||
characteristics as @code{raw-with-offset-image-type}.
|
||||
@end defvr
|
||||
|
||||
@defvr {Scheme Variable} hurd-image-type
|
||||
Build an image that is targeting a @code{i386} machine running the Hurd
|
||||
kernel. The MBR image contains a single ext2 partitions with specific
|
||||
@code{file-system-options} flags.
|
||||
@end defvr
|
||||
|
||||
@defvr {Scheme Variable} hurd-qcow2-image-type
|
||||
Build an image similar to the one built by the @code{hurd-image-type}
|
||||
but with the @code{format} set to @code{'compressed-qcow2}.
|
||||
@end defvr
|
||||
|
||||
@defvr {Scheme Variable} wsl2-image-type
|
||||
Build an image for the @acronym{WSL2, Windows Subsystem for Linux 2}.
|
||||
It can be imported by running:
|
||||
|
||||
@example
|
||||
wsl --import Guix ./guix ./wsl2-image.tar.gz
|
||||
wsl -d Guix
|
||||
@end example
|
||||
|
||||
@end defvr
|
||||
|
||||
So, if we get back to the @code{guix system image} command taking an
|
||||
@code{operating-system} declaration as argument. By default, the
|
||||
@code{efi-raw-image-type} is used to turn the provided
|
||||
@code{operating-system} into an actual bootable image.
|
||||
|
||||
To use a different @code{image-type}, the @code{--image-type} option can
|
||||
be used. The @code{--list-image-types} option will list all the
|
||||
supported image types. It turns out to be a textual listing of all the
|
||||
@code{image-types} variables described just above (@pxref{Invoking guix
|
||||
system}).
|
||||
|
||||
@node Image Modules
|
||||
@section Image Modules
|
||||
|
||||
Let's take the example of the Pine64, an ARM based machine. To be able
|
||||
to produce an image targeting this board, we need the following
|
||||
elements:
|
||||
|
||||
@itemize
|
||||
@item An @code{operating-system} record containing at least
|
||||
an appropriate kernel (@code{linux-libre-arm64-generic}) and bootloader
|
||||
@code{u-boot-pine64-lts-bootloader}) for the Pine64.
|
||||
|
||||
@item Possibly, an @code{image-type} record providing a way to
|
||||
turn an @code{operating-system} record to an @code{image} record
|
||||
suitable for the Pine64.
|
||||
|
||||
@item An actual @code{image} that can be instantiated with the
|
||||
@command{guix system image} command.
|
||||
|
||||
@end itemize
|
||||
|
||||
The @code{(gnu system images pine64)} module provides all those
|
||||
elements: @code{pine64-barebones-os}, @code{pine64-image-type} and
|
||||
@code{pine64-barebones-raw-image} respectively.
|
||||
|
||||
The module returns the @code{pine64-barebones-raw-image} in order for
|
||||
users to be able to run:
|
||||
|
||||
@example
|
||||
guix system image gnu/system/images/pine64.scm
|
||||
@end example
|
||||
|
||||
Now, thanks to the @code{pine64-image-type} record declaring the
|
||||
@code{'pine64-raw} @code{image-type}, one could also prepare a
|
||||
@code{my-pine.scm} file with the following content:
|
||||
|
||||
@lisp
|
||||
(use-modules (gnu system images pine64))
|
||||
(operating-system
|
||||
(inherit pine64-barebones-os)
|
||||
(timezone "Europe/Athens"))
|
||||
@end lisp
|
||||
|
||||
to customize the @code{pine64-barebones-os}, and run:
|
||||
|
||||
@example
|
||||
$ guix system image --image-type=pine64-raw my-pine.scm
|
||||
@end example
|
||||
|
||||
Note that there are other modules in the @code{gnu/system/images}
|
||||
directory targeting @code{Novena}, @code{Pine64}, @code{PinebookPro} and
|
||||
@code{Rock64} machines.
|
||||
|
||||
@node Installing Debugging Files
|
||||
@chapter Installing Debugging Files
|
||||
|
||||
@ -41905,7 +42658,7 @@ connection between a GNU triplet (@pxref{Specifying Target Triplets, GNU
|
||||
configuration triplets,, autoconf, Autoconf}), the equivalent
|
||||
@var{system} in Nix notation, the name of the
|
||||
@var{glibc-dynamic-linker}, and the corresponding Linux architecture
|
||||
name if applicable.
|
||||
name if applicable (@pxref{Platforms}).
|
||||
|
||||
Once the bootstrap tarball are built, the @code{(gnu packages
|
||||
bootstrap)} module needs to be updated to refer to these binaries on the
|
||||
|
58
etc/news.scm
58
etc/news.scm
@ -25,6 +25,64 @@
|
||||
|
||||
(channel-news
|
||||
(version 0)
|
||||
(entry (commit "a13f5ead0265cf0fe11e60150547c09dfc8c45b0")
|
||||
(title
|
||||
(en "Guix System image creation is now documented")
|
||||
(de "Es gibt eine Dokumentation, wie Sie Guix-System-Abbilder („Images“) erzeugen")
|
||||
(fr "La création d'images pour Guix System est à présent documentée"))
|
||||
(body
|
||||
(en "The Guix System image API that allows you to create customized
|
||||
system images and turn them into actual bootable images is now documented in
|
||||
the @code{Creating System Images} chapter of the Guix documentation. This
|
||||
should be particularly useful for people trying to port Guix System to new
|
||||
hardware.")
|
||||
(de "Sie können nun im Kapitel @code{Creating System Images} der
|
||||
Dokumentation nachlesen, wie Sie mit der Schnittstelle für Guix-System-Abbilder
|
||||
anpassbare, bootfähige Systemabbilder erzeugen können. Das sollte vor allem
|
||||
Personen unterstützen, die versuchen, Guix System auf neuer Hardware zum Laufen
|
||||
zu bringen.")
|
||||
(fr "L'interface de programmation d'images pour Guix System,
|
||||
permettant de créer des images personnalisées et de les transformer en images
|
||||
amorçables est désormais documentée dans le chapitre @code{Création d'images
|
||||
système}. Cette interface devrait être particulièrement utile aux personnes
|
||||
qui essaient de faire fonctionner Guix sur de nouvelles machines.")))
|
||||
(entry (commit "c8112f3bd95269ce4aca12dedbfe61bb6b37acae")
|
||||
(title
|
||||
(en "WSL system images support")
|
||||
(de "WSL-Systemabbilder werden unterstützt")
|
||||
(fr "Support pour les images système WSL"))
|
||||
(body
|
||||
(en "The @command{guix system image} command can now generate system
|
||||
images for the Windows Subsystem for Linux. To get started, you can for
|
||||
instance run from a Guix checkout:
|
||||
|
||||
@command{guix system image gnu/system/images/wsl2.scm},
|
||||
|
||||
and import the resulting image this way:
|
||||
|
||||
@command{wsl --import Guix ./guix ./wsl2-image.tar.gz}
|
||||
@command{wsl -d Guix}.")
|
||||
(de "Mit dem Befehl @command{guix system image} können Sie
|
||||
Systemabbilder erzeugen, die auf dem Windows-Subsystem für Linux laufen. Wenn
|
||||
Sie das ausprobieren möchten, führen Sie zum Beispiel Folgendes aus einem
|
||||
Guix-Checkout heraus aus:
|
||||
|
||||
@command{guix system image gnu/system/images/wsl2.scm},
|
||||
|
||||
Das resultierende Abbild können Sie so importieren:
|
||||
|
||||
@command{wsl --import Guix ./guix ./wsl2-image.tar.gz}
|
||||
@command{wsl -d Guix}.")
|
||||
(fr "La commande @command{guix system image} peut désormais générer
|
||||
des images système pour le Windows Subystem for Linux. Vous pouvez par
|
||||
exemple lancer la commande suivante depuis un répertoire de sources Guix :
|
||||
|
||||
@command{guix system image gnu/system/images/wsl2.scm},
|
||||
|
||||
et importer l'image obtenue de cette manière :
|
||||
|
||||
@command{wsl --import Guix ./guix ./wsl2-image.tar.gz}
|
||||
@command{wsl -d Guix}.")))
|
||||
(entry (commit "11a06d1e49f4d50d6789e05bbf35e2e145ff7838")
|
||||
(title
|
||||
(en "Emacs now supports native compilation")
|
||||
|
@ -99,3 +99,20 @@ text-mode :when (and (fboundp 'git-commit-mode) (git-commit-mode))
|
||||
": Use HTTPS home page." n n
|
||||
"* " (car (magit-staged-files)) " (" (s var) ")[home-page]: Use HTTPS." n
|
||||
(mapconcat (lambda (file) (concat "* " file)) (cdr (magit-staged-files))) n)
|
||||
|
||||
(move\
|
||||
"gnu: "
|
||||
(p (with-temp-buffer
|
||||
(magit-git-wash #'magit-diff-wash-diffs
|
||||
"diff" "--staged")
|
||||
(goto-char (point-min))
|
||||
(when (re-search-forward "\\-(define-public \\(\\S-+\\)" nil 'noerror)
|
||||
(match-string-no-properties 1)))
|
||||
var)
|
||||
": Move to "
|
||||
(concat "("
|
||||
(string-replace "\.scm" ""
|
||||
(string-replace "/" " " (car (magit-staged-files))))
|
||||
").") n
|
||||
n "* " (car (magit-staged-files)) " (" (s var) "): Move from here…"
|
||||
n "* " (cadr (magit-staged-files)) " (" (s var) "): …to here.")
|
||||
|
251
etc/teams.scm.in
251
etc/teams.scm.in
@ -4,6 +4,7 @@
|
||||
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2022 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2022 Mathieu Othacehe <othacehe@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -22,23 +23,28 @@
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; This code defines development teams and team members.
|
||||
;; This code defines development teams and team members, as well as their
|
||||
;; scope.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(use-modules (srfi srfi-1)
|
||||
(srfi srfi-9)
|
||||
(srfi srfi-26)
|
||||
(ice-9 format)
|
||||
(ice-9 regex)
|
||||
(ice-9 match)
|
||||
(guix ui))
|
||||
(guix ui)
|
||||
(git))
|
||||
|
||||
(define-record-type <team>
|
||||
(make-team id name description members)
|
||||
(make-team id name description members scope)
|
||||
team?
|
||||
(id team-id)
|
||||
(name team-name)
|
||||
(description team-description)
|
||||
(members team-members set-team-members!))
|
||||
(members team-members set-team-members!)
|
||||
(scope team-scope))
|
||||
|
||||
(define-record-type <person>
|
||||
(make-person name email)
|
||||
@ -49,11 +55,13 @@
|
||||
(define* (person name #:optional email)
|
||||
(make-person name email))
|
||||
|
||||
(define* (team id #:key name description (members '()))
|
||||
(define* (team id #:key name description (members '())
|
||||
(scope '()))
|
||||
(make-team id
|
||||
(or name (symbol->string id))
|
||||
description
|
||||
members))
|
||||
members
|
||||
scope))
|
||||
|
||||
(define %teams
|
||||
(make-hash-table))
|
||||
@ -84,14 +92,37 @@
|
||||
(team 'python
|
||||
#:name "Python team"
|
||||
#:description
|
||||
"Python, Python packages, the \"pypi\" importer, and the python-build-system."))
|
||||
"Python, Python packages, the \"pypi\" importer, and the python-build-system."
|
||||
#:scope
|
||||
(list "gnu/packages/django.scm"
|
||||
"gnu/packages/jupyter.scm"
|
||||
;; Match haskell.scm and haskell-*.scm.
|
||||
(make-regexp "^gnu/packages/python(-.+|)\\.scm$")
|
||||
"gnu/packages/sphinx.scm"
|
||||
"gnu/packages/tryton.scm"
|
||||
"guix/build/python-build-system.scm"
|
||||
"guix/build-system/python.scm"
|
||||
"guix/import/pypi.scm"
|
||||
"guix/scripts/import/pypi.scm"
|
||||
"tests/pypi.scm")))
|
||||
|
||||
(define-team haskell
|
||||
(team 'haskell
|
||||
#:name "Haskell team"
|
||||
#:description
|
||||
"GHC, Hugs, Haskell packages, the \"hackage\" and \"stackage\" importers, and
|
||||
the haskell-build-system."))
|
||||
the haskell-build-system."
|
||||
#:scope
|
||||
(list "gnu/packages/dhall.scm"
|
||||
;; Match haskell.scm and haskell-*.scm.
|
||||
(make-regexp "^gnu/packages/haskell(-.+|)\\.scm$")
|
||||
"gnu/packages/purescript.scm"
|
||||
"guix/build/haskell-build-system.scm"
|
||||
"guix/build-system/haskell.scm"
|
||||
"guix/import/cabal.scm"
|
||||
"guix/import/hackage.scm"
|
||||
"guix/import/stackage.scm"
|
||||
"guix/scripts/import/hackage.scm")))
|
||||
|
||||
(define-team r
|
||||
(team 'r
|
||||
@ -111,14 +142,36 @@ and the r-build-system."))
|
||||
#:name "OCaml and Dune team"
|
||||
#:description
|
||||
"The OCaml language, the Dune build system, OCaml packages, the \"opam\"
|
||||
importer, and the ocaml-build-system."))
|
||||
importer, and the ocaml-build-system."
|
||||
#:scope
|
||||
(list "gnu/packages/ocaml.scm"
|
||||
"gnu/packages/coq.scm"
|
||||
"guix/build/ocaml-build-system.scm"
|
||||
"guix/build/dune-build-system.scm"
|
||||
"guix/build-system/ocaml.scm"
|
||||
"guix/build-system/dune.scm"
|
||||
"guix/import/opam.scm"
|
||||
"guix/scripts/import/opam.scm"
|
||||
"tests/opam.scm")))
|
||||
|
||||
(define-team java
|
||||
(team 'java
|
||||
#:name "Java and Maven team"
|
||||
#:description
|
||||
"The JDK and JRE, the Maven build system, Java packages, the ant-build-system,
|
||||
and the maven-build-system."))
|
||||
and the maven-build-system."
|
||||
#:scope
|
||||
(list ;; Match java.scm and java-*.scm.
|
||||
(make-regexp "^gnu/packages/java(-.+|)\\.scm$")
|
||||
;; Match maven.scm and maven-*.scm
|
||||
(make-regexp "^gnu/packages/maven(-.+|)\\.scm$")
|
||||
"guix/build/ant-build-system.scm"
|
||||
"guix/build/java-utils.scm"
|
||||
"guix/build/maven-build-system.scm"
|
||||
;; The maven directory
|
||||
(make-regexp "^guix/build/maven/")
|
||||
"guix/build-system/ant.scm"
|
||||
"guix/build-system/maven.scm")))
|
||||
|
||||
(define-team science
|
||||
(team 'science
|
||||
@ -126,11 +179,24 @@ and the maven-build-system."))
|
||||
|
||||
(define-team emacs
|
||||
(team 'emacs
|
||||
#:name "Emacs team"))
|
||||
#:name "Emacs team"
|
||||
#:description "The extensible, customizable text editor and its
|
||||
ecosystem."
|
||||
#:scope (list (make-regexp "^gnu/packages/emacs(-.+|)\\.scm$")
|
||||
"guix/build/emacs-build-system.scm"
|
||||
"guix/build/emacs-utils.scm"
|
||||
"guix/build-system/emacs.scm")))
|
||||
|
||||
(define-team lisp
|
||||
(team 'lisp
|
||||
#:name "Lisp team"))
|
||||
#:name "Lisp team"
|
||||
#:description
|
||||
"Common Lisp and similar languages, Common Lisp packages and the
|
||||
asdf-build-system."
|
||||
#:scope (list (make-regexp "^gnu/packages/lisp(-.+|)\\.scm$")
|
||||
"guix/build/asdf-build-system.scm"
|
||||
"guix/build/lisp-utils.scm"
|
||||
"guix/build-system/asdf.scm")))
|
||||
|
||||
(define-team ruby
|
||||
(team 'ruby
|
||||
@ -154,11 +220,99 @@ and the maven-build-system."))
|
||||
|
||||
(define-team core
|
||||
(team 'core
|
||||
#:name "Core / Tools / Internals"))
|
||||
#:name "Core / Tools / Internals"
|
||||
#:scope
|
||||
(list "guix/avahi.scm"
|
||||
"guix/base16.scm"
|
||||
"guix/base32.scm"
|
||||
"guix/base64.scm"
|
||||
"guix/bzr-download.scm"
|
||||
"guix/cache.scm"
|
||||
"guix/channels.scm"
|
||||
"guix/ci.scm"
|
||||
"guix/colors.scm"
|
||||
"guix/combinators.scm"
|
||||
"guix/config.scm"
|
||||
"guix/cpio.scm"
|
||||
"guix/cpu.scm"
|
||||
"guix/cve.scm"
|
||||
"guix/cvs-download.scm"
|
||||
"guix/deprecation.scm"
|
||||
"guix/derivations.scm"
|
||||
"guix/describe.scm"
|
||||
"guix/diagnostics.scm"
|
||||
"guix/discovery.scm"
|
||||
"guix/docker.scm"
|
||||
"guix/download.scm"
|
||||
"guix/elf.scm"
|
||||
"guix/ftp-client.scm"
|
||||
"guix/gexp.scm"
|
||||
"guix/git-authenticate.scm"
|
||||
"guix/git-download.scm"
|
||||
"guix/git.scm"
|
||||
"guix/glob.scm"
|
||||
"guix/gnu-maintenance.scm"
|
||||
"guix/gnupg.scm"
|
||||
"guix/grafts.scm"
|
||||
"guix/graph.scm"
|
||||
"guix/hash.scm"
|
||||
"guix/hg-download.scm"
|
||||
"guix/http-client.scm"
|
||||
"guix/i18n.scm"
|
||||
"guix/inferior.scm"
|
||||
"guix/ipfs.scm"
|
||||
"guix/least-authority.scm"
|
||||
"guix/licenses.scm"
|
||||
"guix/lint.scm"
|
||||
"guix/man-db.scm"
|
||||
"guix/memoization.scm"
|
||||
"guix/modules.scm"
|
||||
"guix/monad-repl.scm"
|
||||
"guix/monads.scm"
|
||||
"guix/narinfo.scm"
|
||||
"guix/nar.scm"
|
||||
"guix/openpgp.scm"
|
||||
"guix/packages.scm"
|
||||
"guix/pki.scm"
|
||||
"guix/platform.scm"
|
||||
"guix/profiles.scm"
|
||||
"guix/profiling.scm"
|
||||
"guix/progress.scm"
|
||||
"guix/quirks.scm"
|
||||
"guix/read-print.scm"
|
||||
"guix/records.scm"
|
||||
"guix/remote.scm"
|
||||
"guix/repl.scm"
|
||||
"guix/search-paths.scm"
|
||||
"guix/self.scm"
|
||||
"guix/serialization.scm"
|
||||
"guix/sets.scm"
|
||||
"guix/ssh.scm"
|
||||
"guix/status.scm"
|
||||
"guix/store.scm"
|
||||
"guix/substitutes.scm"
|
||||
"guix/svn-download.scm"
|
||||
"guix/swh.scm"
|
||||
"guix/tests.scm"
|
||||
"guix/transformations.scm"
|
||||
"guix/ui.scm"
|
||||
"guix/upstream.scm"
|
||||
"guix/utils.scm"
|
||||
"guix/workers.scm"
|
||||
(make-regexp "^guix/platforms/")
|
||||
(make-regexp "^guix/scripts/")
|
||||
(make-regexp "^guix/store/"))))
|
||||
|
||||
(define-team games
|
||||
(team 'games
|
||||
#:name "Games and Videos"))
|
||||
#:name "Games and Toys"
|
||||
#:description "Packaging programs for amusement."
|
||||
#:scope (list "gnu/packages/games.scm"
|
||||
"gnu/packages/game-development.scm"
|
||||
"gnu/packages/minetest.scm"
|
||||
"gnu/packages/esolangs.scm" ; granted, rather niche
|
||||
"gnu/packages/motti.scm"
|
||||
"guix/build/minetest-build-system.scm")))
|
||||
|
||||
(define-team translations
|
||||
(team 'translations
|
||||
@ -166,7 +320,9 @@ and the maven-build-system."))
|
||||
|
||||
(define-team installer
|
||||
(team 'installer
|
||||
#:name "Installer script and system installer"))
|
||||
#:name "Installer script and system installer"
|
||||
#:scope
|
||||
(list (make-regexp "^guix/installer(\\.scm$|/)"))))
|
||||
|
||||
(define-team home
|
||||
(team 'home
|
||||
@ -270,12 +426,38 @@ importer."))
|
||||
"andrew@trop.in")
|
||||
home emacs)
|
||||
|
||||
(define-member (person "pukkamustard"
|
||||
"pukkamustard@posteo.net")
|
||||
ocaml)
|
||||
|
||||
(define-member (person "Josselin Poiret"
|
||||
"dev@jpoiret.xyz")
|
||||
core installer)
|
||||
|
||||
|
||||
(define (find-team name)
|
||||
(or (hash-ref %teams (string->symbol name))
|
||||
(error (format #false
|
||||
"no such team: ~a~%" name))))
|
||||
|
||||
(define (find-team-by-scope files)
|
||||
"Return the team(s) which scope matches at least one of the FILES, as list
|
||||
of file names as string."
|
||||
(hash-fold
|
||||
(lambda (key team acc)
|
||||
(if (any (lambda (file)
|
||||
(any (match-lambda
|
||||
((? string? scope)
|
||||
(string=? scope file))
|
||||
((? regexp? scope)
|
||||
(regexp-exec scope file)))
|
||||
(team-scope team)))
|
||||
files)
|
||||
(cons team acc)
|
||||
acc))
|
||||
'()
|
||||
%teams))
|
||||
|
||||
(define (cc . teams)
|
||||
"Return arguments for `git send-email' to notify the members of the given
|
||||
TEAMS when a patch is received by Debbugs."
|
||||
@ -297,7 +479,7 @@ TEAMS when a patch is received by Debbugs."
|
||||
(team-members team)))
|
||||
|
||||
(define (list-teams)
|
||||
"Print all teams and their members."
|
||||
"Print all teams, their scope and their members."
|
||||
(define port* (current-output-port))
|
||||
(define width* (%text-width))
|
||||
(hash-for-each
|
||||
@ -307,7 +489,7 @@ TEAMS when a patch is received by Debbugs."
|
||||
id: ~a
|
||||
name: ~a
|
||||
description: ~a
|
||||
members:
|
||||
~amembers:
|
||||
"
|
||||
(team-id team)
|
||||
(team-name team)
|
||||
@ -316,15 +498,48 @@ members:
|
||||
(string->recutils
|
||||
(fill-paragraph text width*
|
||||
(string-length "description: ")))))
|
||||
"<none>"))
|
||||
"<none>")
|
||||
(match (team-scope team)
|
||||
(() "")
|
||||
(scope (format #f "scope: ~{~s ~}~%" scope))))
|
||||
(list-members team port* "+ ")
|
||||
(newline))
|
||||
%teams))
|
||||
|
||||
|
||||
(define (diff-revisions rev-start rev-end)
|
||||
"Return the list of added, modified or removed files between REV-START
|
||||
and REV-END, two git revision strings."
|
||||
(let* ((repository (repository-open (getcwd)))
|
||||
(commit1 (commit-lookup repository
|
||||
(object-id
|
||||
(revparse-single repository rev-start))))
|
||||
(commit2 (commit-lookup repository
|
||||
(object-id
|
||||
(revparse-single repository rev-end))))
|
||||
(diff (diff-tree-to-tree repository
|
||||
(commit-tree commit1)
|
||||
(commit-tree commit2)))
|
||||
(files '()))
|
||||
(diff-foreach
|
||||
diff
|
||||
(lambda (delta progress)
|
||||
(set! files
|
||||
(cons (diff-file-path (diff-delta-old-file delta)) files))
|
||||
0)
|
||||
(const 0)
|
||||
(const 0)
|
||||
(const 0))
|
||||
files))
|
||||
|
||||
|
||||
(define (main . args)
|
||||
(match args
|
||||
(("cc" . team-names)
|
||||
(apply cc (map find-team team-names)))
|
||||
(("cc-members" rev-start rev-end)
|
||||
(apply cc (find-team-by-scope
|
||||
(diff-revisions rev-start rev-end))))
|
||||
(("list-teams" . args)
|
||||
(list-teams))
|
||||
(("list-members" . team-names)
|
||||
|
@ -153,14 +153,11 @@ implementation detail used to identify the accounts in Jami."
|
||||
(error message username))))
|
||||
|
||||
(define (account->username account)
|
||||
"Return USERNAME, the registered username associated with ACCOUNT, else its
|
||||
public key fingerprint."
|
||||
(or (assoc-ref account "Account.registeredName")
|
||||
(assoc-ref account "Account.username")))
|
||||
"Return the public key fingerprint of ACCOUNT."
|
||||
(assoc-ref account "Account.username"))
|
||||
|
||||
(define (id->username id)
|
||||
"Return USERNAME, the registered username associated with ID, else its
|
||||
public key fingerprint, else #f."
|
||||
"Return the public key fingerprint corresponding to account with ID, else #f."
|
||||
(account->username (id->account id)))
|
||||
|
||||
(define (get-accounts)
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2015 David Thompson <davet@gnu.org>
|
||||
;;; Copyright © 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2017-2019, 2022 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -233,7 +233,7 @@ that host UIDs (respectively GIDs) map to in the namespace."
|
||||
;; The parent process must initialize the user namespace for the child
|
||||
;; before it can boot. To negotiate this, a pipe is used such that the
|
||||
;; child process blocks until the parent writes to it.
|
||||
(match (socketpair PF_UNIX SOCK_STREAM 0)
|
||||
(match (socketpair PF_UNIX (logior SOCK_CLOEXEC SOCK_STREAM) 0)
|
||||
((child . parent)
|
||||
(let ((flags (namespaces->bit-mask namespaces)))
|
||||
(match (clone flags)
|
||||
@ -442,6 +442,10 @@ return the exit status."
|
||||
"Like 'container-excursion', but return the return value of THUNK."
|
||||
(match (pipe)
|
||||
((in . out)
|
||||
;; Make sure IN and OUT are not inherited if THUNK forks + execs.
|
||||
(fcntl in F_SETFD FD_CLOEXEC)
|
||||
(fcntl out F_SETFD FD_CLOEXEC)
|
||||
|
||||
(match (container-excursion pid
|
||||
(lambda ()
|
||||
(close-port in)
|
||||
|
@ -39,9 +39,10 @@
|
||||
#:select (gpl3+ license? license-name))
|
||||
#:use-module ((guix utils) #:select (%current-system))
|
||||
#:use-module ((guix scripts pack)
|
||||
#:select (lookup-compressor self-contained-tarball))
|
||||
#:select (self-contained-tarball))
|
||||
#:use-module (gnu bootloader)
|
||||
#:use-module (gnu bootloader u-boot)
|
||||
#:use-module (gnu compression)
|
||||
#:use-module (gnu image)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages gcc)
|
||||
|
69
gnu/compression.scm
Normal file
69
gnu/compression.scm
Normal file
@ -0,0 +1,69 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2022 Mathieu Othacehe <othacehe@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
||||
;;; under the terms of the GNU General Public License as published by
|
||||
;;; the Free Software Foundation; either version 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix is distributed in the hope that it will be useful, but
|
||||
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;;; GNU General Public License for more details.
|
||||
;;;
|
||||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu compression)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix ui)
|
||||
#:use-module ((gnu packages compression) #:hide (zip))
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-9)
|
||||
#:use-module (ice-9 match)
|
||||
#:export (compressor
|
||||
compressor?
|
||||
compressor-name
|
||||
compressor-extension
|
||||
compressor-command
|
||||
%compressors
|
||||
lookup-compressor))
|
||||
|
||||
;; Type of a compression tool.
|
||||
(define-record-type <compressor>
|
||||
(compressor name extension command)
|
||||
compressor?
|
||||
(name compressor-name) ;string (e.g., "gzip")
|
||||
(extension compressor-extension) ;string (e.g., ".lz")
|
||||
(command compressor-command)) ;gexp (e.g., #~(list "/gnu/store/…/gzip"
|
||||
; "-9n" ))
|
||||
|
||||
(define %compressors
|
||||
;; Available compression tools.
|
||||
(list (compressor "gzip" ".gz"
|
||||
#~(list #+(file-append gzip "/bin/gzip") "-9n"))
|
||||
(compressor "lzip" ".lz"
|
||||
#~(list #+(file-append lzip "/bin/lzip") "-9"))
|
||||
(compressor "xz" ".xz"
|
||||
#~(append (list #+(file-append xz "/bin/xz")
|
||||
"-e")
|
||||
(%xz-parallel-args)))
|
||||
(compressor "bzip2" ".bz2"
|
||||
#~(list #+(file-append bzip2 "/bin/bzip2") "-9"))
|
||||
(compressor "zstd" ".zst"
|
||||
;; The default level 3 compresses better than gzip in a
|
||||
;; fraction of the time, while the highest level 19
|
||||
;; (de)compresses more slowly and worse than xz.
|
||||
#~(list #+(file-append zstd "/bin/zstd") "-3"))
|
||||
(compressor "none" "" #f)))
|
||||
|
||||
(define (lookup-compressor name)
|
||||
"Return the compressor object called NAME. Error out if it could not be
|
||||
found."
|
||||
(or (find (match-lambda
|
||||
(($ <compressor> name*)
|
||||
(string=? name* name)))
|
||||
%compressors)
|
||||
(leave (G_ "~a: compressor not found~%") name)))
|
@ -152,7 +152,7 @@ that is not in SET, mentioning FIELD in the error message."
|
||||
|
||||
;; The supported image formats.
|
||||
(define-set-sanitizer validate-image-format format
|
||||
(disk-image compressed-qcow2 docker iso9660))
|
||||
(disk-image compressed-qcow2 docker iso9660 tarball wsl2))
|
||||
|
||||
;; The supported partition table types.
|
||||
(define-set-sanitizer validate-partition-table-type partition-table-type
|
||||
@ -170,8 +170,7 @@ that is not in SET, mentioning FIELD in the error message."
|
||||
(size image-size ;size in bytes as integer
|
||||
(default 'guess)
|
||||
(sanitize validate-size))
|
||||
(operating-system image-operating-system ;<operating-system>
|
||||
(default #f))
|
||||
(operating-system image-operating-system) ;<operating-system>
|
||||
(partition-table-type image-partition-table-type ; 'mbr or 'gpt
|
||||
(default 'mbr)
|
||||
(sanitize validate-partition-table-type))
|
||||
|
@ -188,7 +188,7 @@ encryption of partition ~a (label: ~a).") file-name crypt-label)
|
||||
(if (string=? password confirmation)
|
||||
(user-partition
|
||||
(inherit user-part)
|
||||
(crypt-password password))
|
||||
(crypt-password (make-secret password)))
|
||||
(begin
|
||||
(run-error-page
|
||||
(G_ "Password mismatch, please try again.")
|
||||
@ -795,13 +795,13 @@ by pressing the Exit button.~%~%")))
|
||||
(user-partitions (run-page eligible-devices))
|
||||
(user-partitions-with-pass (prompt-luks-passwords
|
||||
user-partitions))
|
||||
(form (draw-formatting-page user-partitions)))
|
||||
(form (draw-formatting-page user-partitions-with-pass)))
|
||||
;; Make sure the disks are not in use before proceeding to formatting.
|
||||
(free-parted eligible-devices)
|
||||
(format-user-partitions user-partitions-with-pass)
|
||||
(installer-log-line "formatted ~a user partitions"
|
||||
(length user-partitions-with-pass))
|
||||
(installer-log-line "user-partitions: ~a" user-partitions)
|
||||
(installer-log-line "user-partitions: ~a" user-partitions-with-pass)
|
||||
|
||||
(destroy-form-and-pop form)
|
||||
user-partitions))
|
||||
user-partitions-with-pass))
|
||||
|
@ -99,10 +99,8 @@ non-graphical system.")
|
||||
#:item->text (compose G_ system-service-name)
|
||||
#:checkbox-tree-height 5
|
||||
#:exit-button-callback-procedure
|
||||
(lambda ()
|
||||
(raise
|
||||
(condition
|
||||
(&installer-step-abort)))))))
|
||||
(lambda _
|
||||
(abort-to-prompt 'installer-step 'abort)))))
|
||||
|
||||
(define (run-network-management-page)
|
||||
"Run a page to select among several network management methods."
|
||||
|
@ -148,7 +148,7 @@
|
||||
(default #f))
|
||||
(crypt-label user-partition-crypt-label
|
||||
(default #f))
|
||||
(crypt-password user-partition-crypt-password
|
||||
(crypt-password user-partition-crypt-password ; <secret>
|
||||
(default #f))
|
||||
(fs-type user-partition-fs-type
|
||||
(default 'ext4))
|
||||
@ -1183,7 +1183,7 @@ USER-PARTITION if it is encrypted, or the plain file-name otherwise."
|
||||
"Format and open the encrypted partition pointed by USER-PARTITION."
|
||||
(let* ((file-name (user-partition-file-name user-partition))
|
||||
(label (user-partition-crypt-label user-partition))
|
||||
(password (user-partition-crypt-password user-partition)))
|
||||
(password (secret-content (user-partition-crypt-password user-partition))))
|
||||
(call-with-luks-key-file
|
||||
password
|
||||
(lambda (key-file)
|
||||
@ -1194,6 +1194,20 @@ USER-PARTITION if it is encrypted, or the plain file-name otherwise."
|
||||
((run-command-in-installer) "cryptsetup" "open" "--type" "luks"
|
||||
"--key-file" key-file file-name label)))))
|
||||
|
||||
(define (luks-ensure-open user-partition)
|
||||
"Ensure partition pointed by USER-PARTITION is opened."
|
||||
(unless (file-exists? (user-partition-upper-file-name user-partition))
|
||||
(let* ((file-name (user-partition-file-name user-partition))
|
||||
(label (user-partition-crypt-label user-partition))
|
||||
(password (secret-content (user-partition-crypt-password user-partition))))
|
||||
(call-with-luks-key-file
|
||||
password
|
||||
(lambda (key-file)
|
||||
(installer-log-line "opening LUKS entry ~s at ~s"
|
||||
label file-name)
|
||||
((run-command-in-installer) "cryptsetup" "open" "--type" "luks"
|
||||
"--key-file" key-file file-name label))))))
|
||||
|
||||
(define (luks-close user-partition)
|
||||
"Close the encrypted partition pointed by USER-PARTITION."
|
||||
(let ((label (user-partition-crypt-label user-partition)))
|
||||
@ -1278,6 +1292,8 @@ respective mount-points."
|
||||
(user-fs-type->mount-type fs-type))
|
||||
(file-name
|
||||
(user-partition-upper-file-name user-partition)))
|
||||
(when crypt-label
|
||||
(luks-ensure-open user-partition))
|
||||
(mkdir-p target)
|
||||
(installer-log-line "mounting ~s on ~s" file-name target)
|
||||
(mount file-name target mount-type)))
|
||||
|
@ -280,6 +280,10 @@ instrumented for further testing."
|
||||
exp)))
|
||||
|
||||
(let ((content (call-with-input-file file read-expressions)))
|
||||
;; XXX: Remove the file before re-writing it, to be sure there are no
|
||||
;; leftovers. We shouldn't have to do that as CALL-WITH-OUTPUT-FILE uses
|
||||
;; the O_TRUNC flag by default.
|
||||
(delete-file file)
|
||||
(call-with-output-file file
|
||||
(lambda (port)
|
||||
(format port "\
|
||||
|
@ -17,17 +17,13 @@
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu installer user)
|
||||
#:use-module (gnu installer utils)
|
||||
#:use-module (guix records)
|
||||
#:use-module (guix read-print)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-9)
|
||||
#:use-module (srfi srfi-9 gnu)
|
||||
#:export (<secret>
|
||||
secret?
|
||||
make-secret
|
||||
secret-content
|
||||
|
||||
<user>
|
||||
#:export (<user>
|
||||
user
|
||||
make-user
|
||||
user-name
|
||||
@ -38,16 +34,6 @@
|
||||
|
||||
users->configuration))
|
||||
|
||||
(define-record-type <secret>
|
||||
(make-secret content)
|
||||
secret?
|
||||
(content secret-content))
|
||||
|
||||
(set-record-type-printer!
|
||||
<secret>
|
||||
(lambda (secret port)
|
||||
(format port "<secret>")))
|
||||
|
||||
(define-record-type* <user>
|
||||
user make-user
|
||||
user?
|
||||
|
@ -23,6 +23,8 @@
|
||||
#:use-module (guix build utils)
|
||||
#:use-module (guix i18n)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-9)
|
||||
#:use-module (srfi srfi-9 gnu)
|
||||
#:use-module (srfi srfi-19)
|
||||
#:use-module (srfi srfi-34)
|
||||
#:use-module (srfi srfi-35)
|
||||
@ -33,7 +35,12 @@
|
||||
#:use-module (ice-9 regex)
|
||||
#:use-module (ice-9 format)
|
||||
#:use-module (ice-9 textual-ports)
|
||||
#:export (read-lines
|
||||
#:export (<secret>
|
||||
secret?
|
||||
make-secret
|
||||
secret-content
|
||||
|
||||
read-lines
|
||||
read-all
|
||||
nearest-exact-integer
|
||||
read-percentage
|
||||
@ -58,6 +65,16 @@
|
||||
|
||||
with-silent-shepherd))
|
||||
|
||||
(define-record-type <secret>
|
||||
(make-secret content)
|
||||
secret?
|
||||
(content secret-content))
|
||||
|
||||
(set-record-type-printer!
|
||||
<secret>
|
||||
(lambda (secret port)
|
||||
(format port "<secret>")))
|
||||
|
||||
(define* (read-lines #:optional (port (current-input-port)))
|
||||
"Read lines from PORT and return them as a list."
|
||||
(let loop ((line (read-line port))
|
||||
|
24
gnu/local.mk
24
gnu/local.mk
@ -53,6 +53,7 @@
|
||||
# Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
|
||||
# Copyright © 2022 muradm <mail@muradm.net>
|
||||
# Copyright © 2022 Hilton Chain <hako@ultrarare.space>
|
||||
# Copyright © 2022 Alex Griffin <a@ajgrf.com>
|
||||
#
|
||||
# This file is part of GNU Guix.
|
||||
#
|
||||
@ -81,6 +82,7 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/bootloader/u-boot.scm \
|
||||
%D%/bootloader/depthcharge.scm \
|
||||
%D%/ci.scm \
|
||||
%D%/compression.scm \
|
||||
%D%/home.scm \
|
||||
%D%/home/services.scm \
|
||||
%D%/home/services/desktop.scm \
|
||||
@ -682,6 +684,7 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/services/herd.scm \
|
||||
%D%/services/pm.scm \
|
||||
%D%/services/rsync.scm \
|
||||
%D%/services/samba.scm \
|
||||
%D%/services/sddm.scm \
|
||||
%D%/services/spice.scm \
|
||||
%D%/services/ssh.scm \
|
||||
@ -716,6 +719,7 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/system/images/pine64.scm \
|
||||
%D%/system/images/pinebook-pro.scm \
|
||||
%D%/system/images/rock64.scm \
|
||||
%D%/system/images/wsl2.scm \
|
||||
\
|
||||
%D%/machine.scm \
|
||||
\
|
||||
@ -761,6 +765,7 @@ GNU_SYSTEM_MODULES = \
|
||||
%D%/tests/package-management.scm \
|
||||
%D%/tests/reconfigure.scm \
|
||||
%D%/tests/rsync.scm \
|
||||
%D%/tests/samba.scm \
|
||||
%D%/tests/security.scm \
|
||||
%D%/tests/security-token.scm \
|
||||
%D%/tests/singularity.scm \
|
||||
@ -979,9 +984,12 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/cmake-curl-certificates-3.24.patch \
|
||||
%D%/packages/patches/coda-use-system-libs.patch \
|
||||
%D%/packages/patches/collectd-5.11.0-noinstallvar.patch \
|
||||
%D%/packages/patches/containerd-create-pid-file.patch \
|
||||
%D%/packages/patches/combinatorial-blas-awpm.patch \
|
||||
%D%/packages/patches/combinatorial-blas-io-fix.patch \
|
||||
%D%/packages/patches/connman-CVE-2022-32292.patch \
|
||||
%D%/packages/patches/connman-CVE-2022-32293-pt1.patch \
|
||||
%D%/packages/patches/connman-CVE-2022-32293-pt2.patch \
|
||||
%D%/packages/patches/containerd-create-pid-file.patch \
|
||||
%D%/packages/patches/cool-retro-term-wctype.patch \
|
||||
%D%/packages/patches/coreutils-gnulib-tests.patch \
|
||||
%D%/packages/patches/coq-fix-envvars.patch \
|
||||
@ -1217,7 +1225,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/gnome-online-miners-tracker-3.patch \
|
||||
%D%/packages/patches/gnome-settings-daemon-gc.patch \
|
||||
%D%/packages/patches/gnome-session-support-elogind.patch \
|
||||
%D%/packages/patches/gnome-todo-libportal.patch \
|
||||
%D%/packages/patches/gnome-tweaks-search-paths.patch \
|
||||
%D%/packages/patches/gnupg-CVE-2022-34903.patch \
|
||||
%D%/packages/patches/gnupg-default-pinentry.patch \
|
||||
@ -1322,10 +1329,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/irrlicht-link-against-needed-libs.patch \
|
||||
%D%/packages/patches/isl-0.11.1-aarch64-support.patch \
|
||||
%D%/packages/patches/itk-snap-alt-glibc-compat.patch \
|
||||
%D%/packages/patches/jami-fix-esc-bug.patch \
|
||||
%D%/packages/patches/json-c-0.13-CVE-2020-12762.patch \
|
||||
%D%/packages/patches/json-c-0.12-CVE-2020-12762.patch \
|
||||
%D%/packages/patches/jsoncpp-pkg-config-version.patch \
|
||||
%D%/packages/patches/jami-fix-crash-on-block-contact.patch \
|
||||
%D%/packages/patches/jamvm-1.5.1-aarch64-support.patch \
|
||||
%D%/packages/patches/jamvm-1.5.1-armv7-support.patch \
|
||||
%D%/packages/patches/jamvm-2.0.0-aarch64-support.patch \
|
||||
@ -1347,6 +1351,9 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/jfsutils-add-sysmacros.patch \
|
||||
%D%/packages/patches/jfsutils-gcc-compat.patch \
|
||||
%D%/packages/patches/jfsutils-include-systypes.patch \
|
||||
%D%/packages/patches/json-c-0.13-CVE-2020-12762.patch \
|
||||
%D%/packages/patches/json-c-0.12-CVE-2020-12762.patch \
|
||||
%D%/packages/patches/jsoncpp-pkg-config-version.patch \
|
||||
%D%/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch \
|
||||
%D%/packages/patches/julia-tracker-16-compat.patch \
|
||||
%D%/packages/patches/julia-allow-parallel-build.patch \
|
||||
@ -1599,7 +1606,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/password-store-tree-compat.patch \
|
||||
%D%/packages/patches/pciutils-hurd-configure.patch \
|
||||
%D%/packages/patches/pciutils-hurd-fix.patch \
|
||||
%D%/packages/patches/pjproject-install-libpjsua2.patch \
|
||||
%D%/packages/patches/plasma-framework-fix-KF5PlasmaMacros.cmake.patch \
|
||||
%D%/packages/patches/pokerth-boost.patch \
|
||||
%D%/packages/patches/ppsspp-disable-upgrade-and-gold.patch \
|
||||
%D%/packages/patches/pthreadpool-system-libraries.patch \
|
||||
@ -1733,6 +1740,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/python-werkzeug-tests.patch \
|
||||
%D%/packages/patches/python-zeep-Fix-pytest_httpx-test-cases.patch \
|
||||
%D%/packages/patches/qemu-build-info-manual.patch \
|
||||
%D%/packages/patches/qemu-disable-aarch64-migration-test.patch \
|
||||
%D%/packages/patches/qemu-glibc-2.27.patch \
|
||||
%D%/packages/patches/qemu-glibc-2.30.patch \
|
||||
%D%/packages/patches/qemu-fix-agent-paths.patch \
|
||||
@ -1762,7 +1770,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/readline-6.2-CVE-2014-2524.patch \
|
||||
%D%/packages/patches/renpy-use-system-fribidi.patch \
|
||||
%D%/packages/patches/reposurgeon-add-missing-docbook-files.patch \
|
||||
%D%/packages/patches/r-httpuv-1.5.5-unvendor-libuv.patch \
|
||||
%D%/packages/patches/r-httpuv-1.6.6-unvendor-libuv.patch \
|
||||
%D%/packages/patches/ri-li-modernize_cpp.patch \
|
||||
%D%/packages/patches/ripperx-missing-file.patch \
|
||||
%D%/packages/patches/rpcbind-CVE-2017-8779.patch \
|
||||
|
@ -339,9 +339,13 @@ by MACHINE."
|
||||
"Raise a '&message' error condition if it is clear that deploying MACHINE's
|
||||
'system' declaration would fail."
|
||||
(define assertions
|
||||
(append (machine-check-file-system-availability machine)
|
||||
(machine-check-initrd-modules machine)
|
||||
(list (machine-check-forward-update machine))))
|
||||
(parameterize ((%current-system
|
||||
(machine-ssh-configuration-system
|
||||
(machine-configuration machine)))
|
||||
(%current-target-system #f))
|
||||
(append (machine-check-file-system-availability machine)
|
||||
(machine-check-initrd-modules machine)
|
||||
(list (machine-check-forward-update machine)))))
|
||||
|
||||
(define aggregate-exp
|
||||
;; Gather all the expressions so that a single round-trip is enough to
|
||||
@ -453,6 +457,10 @@ the 'should-roll-back' field set to SHOULD-ROLL-BACK?"
|
||||
(define (deploy-managed-host machine)
|
||||
"Internal implementation of 'deploy-machine' for MACHINE instances with an
|
||||
environment type of 'managed-host."
|
||||
(define config (machine-configuration machine))
|
||||
(define host (machine-ssh-configuration-host-name config))
|
||||
(define system (machine-ssh-configuration-system config))
|
||||
|
||||
(maybe-raise-unsupported-configuration-error machine)
|
||||
(when (machine-ssh-configuration-authorize?
|
||||
(machine-configuration machine))
|
||||
@ -466,50 +474,54 @@ have you run 'guix archive --generate-key?'")
|
||||
(get-string-all port))))
|
||||
(machine-ssh-session machine)
|
||||
(machine-become-command machine)))
|
||||
|
||||
(mlet %store-monad ((_ (check-deployment-sanity machine))
|
||||
(boot-parameters (machine-boot-parameters machine)))
|
||||
(let* ((os (machine-operating-system machine))
|
||||
(host (machine-ssh-configuration-host-name
|
||||
(machine-configuration machine)))
|
||||
(eval (cut machine-remote-eval machine <>))
|
||||
(menu-entries (map boot-parameters->menu-entry boot-parameters))
|
||||
(bootloader-configuration (operating-system-bootloader os))
|
||||
(bootcfg (operating-system-bootcfg os menu-entries)))
|
||||
(define-syntax-rule (eval/error-handling condition handler ...)
|
||||
;; Return a wrapper around EVAL such that HANDLER is evaluated if an
|
||||
;; exception is raised.
|
||||
(lambda (exp)
|
||||
(lambda (store)
|
||||
(guard (condition ((inferior-exception? condition)
|
||||
(values (begin handler ...) store)))
|
||||
(values (run-with-store store (eval exp))
|
||||
store)))))
|
||||
;; Make sure code that check %CURRENT-SYSTEM, such as
|
||||
;; %BASE-INITRD-MODULES, gets to see the right value.
|
||||
(parameterize ((%current-system system)
|
||||
(%current-target-system #f))
|
||||
(let* ((os (machine-operating-system machine))
|
||||
(eval (cut machine-remote-eval machine <>))
|
||||
(menu-entries (map boot-parameters->menu-entry boot-parameters))
|
||||
(bootloader-configuration (operating-system-bootloader os))
|
||||
(bootcfg (operating-system-bootcfg os menu-entries)))
|
||||
(define-syntax-rule (eval/error-handling condition handler ...)
|
||||
;; Return a wrapper around EVAL such that HANDLER is evaluated if an
|
||||
;; exception is raised.
|
||||
(lambda (exp)
|
||||
(lambda (store)
|
||||
(guard (condition ((inferior-exception? condition)
|
||||
(values (begin handler ...) store)))
|
||||
(values (run-with-store store (eval exp)
|
||||
#:system system)
|
||||
store)))))
|
||||
|
||||
(mbegin %store-monad
|
||||
(with-roll-back #f
|
||||
(switch-to-system (eval/error-handling c
|
||||
(raise (formatted-message
|
||||
(G_ "\
|
||||
(mbegin %store-monad
|
||||
(with-roll-back #f
|
||||
(switch-to-system (eval/error-handling c
|
||||
(raise (formatted-message
|
||||
(G_ "\
|
||||
failed to switch systems while deploying '~a':~%~{~s ~}")
|
||||
host
|
||||
(inferior-exception-arguments c))))
|
||||
os))
|
||||
(with-roll-back #t
|
||||
(mbegin %store-monad
|
||||
(upgrade-shepherd-services (eval/error-handling c
|
||||
(warning (G_ "\
|
||||
host
|
||||
(inferior-exception-arguments c))))
|
||||
os))
|
||||
(with-roll-back #t
|
||||
(mbegin %store-monad
|
||||
(upgrade-shepherd-services (eval/error-handling c
|
||||
(warning (G_ "\
|
||||
an error occurred while upgrading services on '~a':~%~{~s ~}~%")
|
||||
host
|
||||
(inferior-exception-arguments
|
||||
c)))
|
||||
os)
|
||||
(install-bootloader (eval/error-handling c
|
||||
(raise (formatted-message
|
||||
(G_ "\
|
||||
host
|
||||
(inferior-exception-arguments
|
||||
c)))
|
||||
os)
|
||||
(install-bootloader (eval/error-handling c
|
||||
(raise (formatted-message
|
||||
(G_ "\
|
||||
failed to install bootloader on '~a':~%~{~s ~}~%")
|
||||
host
|
||||
(inferior-exception-arguments c))))
|
||||
bootloader-configuration bootcfg)))))))
|
||||
host
|
||||
(inferior-exception-arguments c))))
|
||||
bootloader-configuration bootcfg))))))))
|
||||
|
||||
|
||||
;;;
|
||||
|
@ -4,6 +4,7 @@
|
||||
;;; Copyright © 2018, 2021, 2022 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019 Andrew Miloradovsky <andrew@interpretmath.pw>
|
||||
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2022 Hunter Jozwiak <hunter.t.joz@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -28,6 +29,7 @@
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system glib-or-gtk)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages lisp)
|
||||
#:use-module (gnu packages ocaml)
|
||||
@ -316,3 +318,34 @@ works with every X Window System based GUI (depends only on libX11); or as an
|
||||
assistant for graphic designers, who need to select individual pixels.")
|
||||
;; Licensed either under Expat or GPLv2+.
|
||||
(license (list license:expat license:gpl2+))))
|
||||
|
||||
(define-public espeakup
|
||||
(package
|
||||
(name "espeakup")
|
||||
(version "0.90")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/linux-speakup/espeakup")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0lmjwafvfxy07zn18v3dzjwwpnid2xffgvy2dzlwkbns8gb60ds2"))))
|
||||
(build-system meson-build-system)
|
||||
(native-inputs (list pkg-config))
|
||||
(inputs (list espeak-ng alsa-lib))
|
||||
(license license:gpl3+)
|
||||
(synopsis "Bridge for espeak and speakup")
|
||||
(description
|
||||
"Espeakup is a bridge between the speakup driver implemented in
|
||||
the Linux kernel and the espeak-ng text to speach synthesizer.
|
||||
In order for this package to work, you need to have the following
|
||||
kernel modules built:
|
||||
@itemize @bullet
|
||||
@item
|
||||
CONFIG_SPEAKUP=m
|
||||
@item
|
||||
CONFIG_SPEAKUP_SOFT=m
|
||||
@end itemize")
|
||||
(home-page "ttps://github.com/linux-speakup/espeakup")))
|
||||
|
@ -2506,20 +2506,24 @@ characters can be replaced as well, as can UTF-8 characters.")
|
||||
(define-public tree
|
||||
(package
|
||||
(name "tree")
|
||||
(version "2.0.3")
|
||||
(version "2.0.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://mama.indstate.edu/users/ice/tree/src/tree-"
|
||||
"https://mama.indstate.edu/users/ice/tree/src/tree-"
|
||||
version ".tgz"))
|
||||
(sha256
|
||||
(base32 "079vda37d5i3nfx12wx81z6r6bxynv2jww1z1hjziiwxbxxyf55s"))))
|
||||
(base32 "0x7s9wxvf83fw4qah16kapswl2277pybw3d514zrlms9g0cr5smh"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure)) ; No configure script.
|
||||
(delete 'configure) ; No configure script.
|
||||
(add-after 'unpack 'fix-manpage-version
|
||||
(lambda _
|
||||
(substitute* "doc/tree.1"
|
||||
(("Tree 2\\.0\\.0") (string-append "Tree " #$version))))))
|
||||
#:tests? #f ; No check target.
|
||||
#:make-flags
|
||||
#~(list (string-append "PREFIX=" #$output)
|
||||
@ -2529,7 +2533,7 @@ characters can be replaced as well, as can UTF-8 characters.")
|
||||
"Tree is a recursive directory listing command that produces a depth
|
||||
indented listing of files, which is colorized ala dircolors if the LS_COLORS
|
||||
environment variable is set and output is to tty.")
|
||||
(home-page "http://mama.indstate.edu/users/ice/tree/")
|
||||
(home-page "https://mama.indstate.edu/users/ice/tree/")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public lr
|
||||
|
@ -221,7 +221,7 @@ the real span of the lattice.")
|
||||
(define-public pari-gp
|
||||
(package
|
||||
(name "pari-gp")
|
||||
(version "2.13.4")
|
||||
(version "2.15.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@ -229,11 +229,10 @@ the real span of the lattice.")
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"11g1pkrj12dmggj1n6r00ijpnmk3f3dpqsf1h51q34hmmv79xpmw"))))
|
||||
"11anfn2lmixi83208p8qxjhwkrrad9s2qqfrl3wy9m0n1lg8ax74"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("texlive" ,(texlive-updmap.cfg
|
||||
(list texlive-amsfonts)))))
|
||||
(native-inputs (list (texlive-updmap.cfg
|
||||
(list texlive-amsfonts))))
|
||||
(inputs (list gmp libx11 perl readline))
|
||||
(arguments
|
||||
'(#:make-flags '("all")
|
||||
@ -261,7 +260,7 @@ PARI is also available as a C library to allow for faster computations.")
|
||||
(define-public gp2c
|
||||
(package
|
||||
(name "gp2c")
|
||||
(version "0.0.12")
|
||||
(version "0.0.13")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@ -269,7 +268,7 @@ PARI is also available as a C library to allow for faster computations.")
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"039ip7qkwwv46wrcdrz7y12m30kazzkjr44kqbc0h137g4wzd7zf"))))
|
||||
"0dlxlrwwvhmjljjzsq95fsm14j5n5353snd92b0pdg9ylzn784r6"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs (list perl))
|
||||
(inputs (list pari-gp))
|
||||
|
@ -29,6 +29,7 @@
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (gnu packages algebra)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages check)
|
||||
@ -1054,6 +1055,29 @@ attempting to maintain ISTP compliance
|
||||
@end itemize\n")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-ephem
|
||||
(package
|
||||
(name "python-ephem")
|
||||
(version "4.1.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "ephem" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0smmm3l8csnw9rrimh8mpyjrm80jaafjl184spnji98vk22qd8bz"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs (list tzdata))
|
||||
(home-page "https://rhodesmill.org/pyephem/")
|
||||
(synopsis "Compute positions of the planets and stars")
|
||||
(description
|
||||
"PyEphem provides an @code{ephem} Python package for performing
|
||||
high-precision astronomy computations.
|
||||
|
||||
The name ephem is short for the word ephemeris, which is the traditional term
|
||||
for a table giving the position of a planet, asteroid, or comet for a series
|
||||
of dates.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-photutils
|
||||
(package
|
||||
(name "python-photutils")
|
||||
@ -1823,6 +1847,27 @@ N-Chilada and RAMSES AMR outputs.")
|
||||
(modify-inputs (package-inputs libsep)
|
||||
(prepend python-numpy)))))
|
||||
|
||||
(define-public python-suntime
|
||||
(package
|
||||
(name "python-suntime")
|
||||
(version "1.2.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "suntime" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0ja64w293wjx76q3z18ikx4rdihwkbj6pnjpbs82ycyyzhfnbpz4"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs (list python-dateutil))
|
||||
(home-page "https://github.com/SatAgro/suntime")
|
||||
(synopsis "Sunset and sunrise time calculation python library")
|
||||
(description
|
||||
"Python library doing sunrise and sunset time calculation.
|
||||
|
||||
Takes a WGS84 (GPS) latitude/longitude as input as well as an UTC or local
|
||||
datetime object.")
|
||||
(license license:lgpl3+)))
|
||||
|
||||
(define-public python-asdf
|
||||
(package
|
||||
(name "python-asdf")
|
||||
|
@ -6313,14 +6313,14 @@ of gene-level counts.")
|
||||
(define-public r-valr
|
||||
(package
|
||||
(name "r-valr")
|
||||
(version "0.6.4")
|
||||
(version "0.6.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "valr" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0dd41irvibh6rwi52bw4zg4m7wpyihlp1kdkb8fdji3csw2fiz4k"))))
|
||||
"1674sqclgi4l5r544pjjsblzl1ix2cy961jpkncb3ym47y6c1msw"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-broom
|
||||
@ -6993,14 +6993,14 @@ fitting of some classes of graphical Markov models.")
|
||||
(define-public r-perfmeas
|
||||
(package
|
||||
(name "r-perfmeas")
|
||||
(version "1.2.1")
|
||||
(version "1.2.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "PerfMeas" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1x7ancmb41zd1js24rx94plgbssyc71z2bvpic6mg34xjkwdjw93"))))
|
||||
"13yjk0kwpbsqwl056hzf0zj2br1mk4faqcn1whdfxmq348c14hjb"))))
|
||||
(properties `((upstream-name . "PerfMeas")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
@ -7976,14 +7976,14 @@ abnormal copy number.")
|
||||
(define-public r-htscluster
|
||||
(package
|
||||
(name "r-htscluster")
|
||||
(version "2.0.8")
|
||||
(version "2.0.10")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "HTSCluster" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0wnbfh6hdx8692jilgmv8sys1zm6fqc6mim7vvjhyqlmpm8gm0kg"))))
|
||||
"0scn4fsfmlkzxibfhsh6krm2cl9c8hsmyjgn48k9dyjf0ylyxg9n"))))
|
||||
(properties `((upstream-name . "HTSCluster")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
@ -13147,14 +13147,14 @@ rate} (FDR).")
|
||||
(define-public r-activedriverwgs
|
||||
(package
|
||||
(name "r-activedriverwgs")
|
||||
(version "1.1.2")
|
||||
(version "1.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "ActiveDriverWGS" version))
|
||||
(sha256
|
||||
(base32
|
||||
"13b5yazgv9kckcp6gck183mh1m0q8lc5ixagmcy9s8kv2wz7wq45"))))
|
||||
"0xnplgwxd197a4d422bsxg753q158i12ils16awd1cw30wafdxkk"))))
|
||||
(properties
|
||||
`((upstream-name . "ActiveDriverWGS")))
|
||||
(build-system r-build-system)
|
||||
|
@ -7273,6 +7273,228 @@ sequence.")
|
||||
(supported-systems '("i686-linux" "x86_64-linux"))
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public r-gutils
|
||||
(let ((commit "10e36c7b580aacb2d952140a3fdd82418aaddea6")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "r-gutils")
|
||||
(version (git-version "0.2.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/mskilab/gUtils")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1wq9kd1afzy7ii510r20c4n9fkykj6p15q5c85ws27h1q5w4ghxy"))))
|
||||
(properties `((upstream-name . "gUtils")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-biocgenerics
|
||||
r-data-table
|
||||
r-genomeinfodb
|
||||
r-genomicranges
|
||||
r-iranges
|
||||
r-matrix
|
||||
r-s4vectors
|
||||
r-stringr))
|
||||
(home-page "https://github.com/mskilab/gUtils")
|
||||
(synopsis "Additional capabilities and speed for GenomicRanges operations")
|
||||
(description
|
||||
"This is an R package providing additional capabilities and speed for
|
||||
@code{GenomicRanges} operations.")
|
||||
(license license:gpl2))))
|
||||
|
||||
(define-public r-bamutils
|
||||
(let ((commit "639dba901f16944fa1b7a8d7048701ba86a2cdb8")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "r-bamutils")
|
||||
(version (git-version "0.0.0.9000" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/mskilab/bamutils/")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0qwby2v5rydnipvf1iv1wz9nf02yq98k0xbc4inf9mqc54jwacs0"))))
|
||||
(properties `((upstream-name . "bamUtils")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-abind
|
||||
r-biocgenerics
|
||||
r-data-table
|
||||
r-genomicalignments
|
||||
r-genomicranges
|
||||
r-gutils
|
||||
r-rsamtools
|
||||
r-variantannotation))
|
||||
(home-page "https://github.com/mskilab/bamutils/")
|
||||
(synopsis "Utility functions for manipulating BAMs")
|
||||
(description "This package provides utility functions for manipulating
|
||||
BAM files.")
|
||||
(license license:gpl2))))
|
||||
|
||||
(define-public r-gtrack
|
||||
(let ((commit "a694fa36cedafca2658da79fc8e5b673535b15e5")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "r-gtrack")
|
||||
(version (git-version "0.1.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/mskilab/gTrack/")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"070qlrbqsbj9max2vx740zigqh0ymvnw2pm1ia5la3wb4dbfwh2b"))))
|
||||
(properties `((upstream-name . "gTrack")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-biocgenerics
|
||||
r-data-table
|
||||
r-genomeinfodb
|
||||
r-genomicranges
|
||||
r-gutils
|
||||
r-iranges
|
||||
r-matrix
|
||||
r-rcolorbrewer
|
||||
r-rcpp
|
||||
r-rcurl
|
||||
r-rtracklayer
|
||||
r-s4vectors))
|
||||
(home-page "https://github.com/mskilab/gTrack/")
|
||||
(synopsis "Plot tracks of complex genomic data across multiple genomic windows")
|
||||
(description
|
||||
"This package provides an object for plotting GRanges, RleList, UCSC
|
||||
file formats, and ffTrack objects in multi-track panels.")
|
||||
(license license:gpl2))))
|
||||
|
||||
(define-public r-gchain
|
||||
(let ((commit "dc393e8dd0d8efaf36270c04d7112db8553db36a")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "r-gchain")
|
||||
(version (git-version "0.2.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/mskilab/gChain/")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"105wgi5w2fhwq1grsvj6zjigwg0sny3z7zr577q8ki3qffjwdkj0"))))
|
||||
(properties `((upstream-name . "gChain")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-bamutils
|
||||
r-biostrings
|
||||
r-data-table
|
||||
r-genomicalignments
|
||||
r-genomicranges
|
||||
r-gtrack
|
||||
r-gutils
|
||||
r-matrix
|
||||
r-rtracklayer))
|
||||
(home-page "https://github.com/mskilab/gChain/")
|
||||
(synopsis "Additional capabilities and speed for GenomicRanges operations")
|
||||
(description
|
||||
"This R package provides additional capabilities and speed for
|
||||
GenomicRanges operations.")
|
||||
(license license:gpl2))))
|
||||
|
||||
(define-public r-skitools
|
||||
(let ((commit "22d107d32f063eb891eb5e7fb36996d1c0b0d2bc")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "r-skitools")
|
||||
(version (git-version "0.0.0.9000" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/mskilab/skitools/")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1977d9bkdk9l2n6niahfj9vksh9l1ga4g7c3b3x27lj1gc0qgr4z"))))
|
||||
(properties `((upstream-name . "skitools")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-biostrings
|
||||
r-complexheatmap
|
||||
r-data-table
|
||||
r-devtools
|
||||
r-dt
|
||||
r-gchain
|
||||
r-genomeinfodb
|
||||
r-genomicranges
|
||||
r-ggplot2
|
||||
r-gplots
|
||||
r-gutils
|
||||
r-htmlwidgets
|
||||
r-hwriter
|
||||
r-igraph
|
||||
r-iranges
|
||||
r-plotly
|
||||
r-rcolorbrewer
|
||||
r-reshape2
|
||||
r-s4vectors
|
||||
r-stringr
|
||||
r-variantannotation))
|
||||
(home-page "https://github.com/mskilab/skitools/")
|
||||
(synopsis "Various mskilab R utilties")
|
||||
(description
|
||||
"This package provides R miscellaneous utilities for basic data
|
||||
manipulation, debugging, visualization, lsf management, and common mskilab
|
||||
tasks.")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public r-chromunity
|
||||
(let ((commit "09fce8bc12cb84b45a6ea25bf8db6e5b75113d4f")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "r-chromunity")
|
||||
(version (git-version "0.0.1" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/mskilab/chromunity")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0lp0h614k8fq6h9gpbylk4chh7q6w4qda8lx03ajrpppxmg7al2d"))))
|
||||
(properties `((upstream-name . "chromunity")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-arrow
|
||||
r-biocgenerics
|
||||
r-data-table
|
||||
r-gchain
|
||||
r-genomicranges
|
||||
r-gutils
|
||||
r-igraph
|
||||
r-magrittr
|
||||
r-mass
|
||||
r-matrix
|
||||
r-pbmcapply
|
||||
r-plyr
|
||||
r-r6
|
||||
r-skitools
|
||||
r-zoo))
|
||||
(home-page "https://github.com/mskilab/chromunity")
|
||||
(synopsis "Discovery of communities in Pore-C concatemers")
|
||||
(description "This is a package for the discovery of communities in
|
||||
Pore-C concatemers.")
|
||||
(license license:gpl3))))
|
||||
|
||||
(define-public r-presto
|
||||
(let ((commit "052085db9c88aa70a28d11cc58ebc807999bf0ad")
|
||||
(revision "0"))
|
||||
@ -12514,6 +12736,12 @@ fasta subsequences.")
|
||||
(substitute* '("requirements.txt"
|
||||
"cooler.egg-info/requires.txt")
|
||||
(("cytoolz.*<.*0.11") "cytoolz"))))
|
||||
;; This version of flake8 just won't work with this version of
|
||||
;; pytest, because of dependency pinning.
|
||||
(add-after 'unpack 'do-not-use-flake8
|
||||
(lambda _
|
||||
(substitute* "setup.cfg"
|
||||
(("addopts = --flake8") "addopts = "))))
|
||||
(add-after 'unpack 'patch-tests
|
||||
(lambda _
|
||||
(substitute* "tests/test_create.py"
|
||||
@ -12522,10 +12750,13 @@ fasta subsequences.")
|
||||
"access to genome.ucsc.edu\")\n"
|
||||
"def test_roundtrip")))
|
||||
(substitute* "tests/test_util.py"
|
||||
(("def test_fetch_chromsizes")
|
||||
(string-append "@pytest.mark.skip(reason=\"requires network "
|
||||
"access to genome.ucsc.edu\")\n"
|
||||
"def test_fetch_chromsizes")))
|
||||
(("def test_fetch_chromsizes")
|
||||
(string-append "@pytest.mark.skip(reason=\"requires network "
|
||||
"access to genome.ucsc.edu\")\n"
|
||||
"def test_fetch_chromsizes"))
|
||||
;; See https://github.com/open2c/cooler/issues/287
|
||||
(("skipif\\(six.PY2, reason=\"Scipy on Py2 is too old\"")
|
||||
"skip(reason=\"Scipy is too new\""))
|
||||
;; This test depends on ipytree, which contains a lot of minified
|
||||
;; JavaScript.
|
||||
(substitute* "tests/test_fileops.py"
|
||||
@ -15541,47 +15772,49 @@ for the analysis and visualization of raw nanopore signal.")
|
||||
(license license:mpl2.0)))
|
||||
|
||||
(define-public python-pyvcf
|
||||
(package
|
||||
(name "python-pyvcf")
|
||||
(version "0.6.8")
|
||||
;; Use git, because the PyPI tarballs lack test data.
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(let ((commit "476169cd457ba0caa6b998b301a4d91e975251d9")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "python-pyvcf")
|
||||
(version (git-version "0.6.8" revision commit))
|
||||
;; Use git, because the PyPI tarballs lack test data.
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/jamescasbon/PyVCF.git")
|
||||
;; Latest release is not tagged.
|
||||
(commit "bfcedb9bad1a14074ac4526ffdb610611e073810")))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0c7lsssns3zp8fh2ibllzzra003srg9vbxqzmq6654akbzdb7lrf"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-sample-script
|
||||
(lambda _
|
||||
;; Add Python 3 compatibility to this sample script.
|
||||
(substitute* "scripts/vcf_sample_filter.py"
|
||||
(("print (.*)\n" _ arg)
|
||||
(string-append "print(" arg ")\n")))))
|
||||
(add-after 'install 'remove-installed-tests
|
||||
;; Do not install test files.
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(delete-file-recursively (string-append
|
||||
"0qf9lwj7r2hjjp4bd4vc7nayrhblfm4qcqs4dbd43a6p4bj2jv5p"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-sample-script
|
||||
(lambda _
|
||||
;; Add Python 3 compatibility to this sample script.
|
||||
(substitute* "scripts/vcf_sample_filter.py"
|
||||
(("print (.*)\n" _ arg)
|
||||
(string-append "print(" arg ")\n")))))
|
||||
(add-after 'install 'remove-installed-tests
|
||||
;; Do not install test files.
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(delete-file-recursively (string-append
|
||||
(site-packages inputs outputs)
|
||||
"/vcf/test")))))))
|
||||
(native-inputs
|
||||
;; Older setuptools is needed for use_2to3.
|
||||
(list python-cython python-setuptools))
|
||||
(propagated-inputs
|
||||
(list python-pysam python-rpy2))
|
||||
(home-page "https://github.com/jamescasbon/PyVCF")
|
||||
(synopsis "Variant Call Format parser for Python")
|
||||
(description "This package provides a @acronym{VCF,Variant Call Format}
|
||||
(native-inputs
|
||||
;; Older setuptools is needed for use_2to3.
|
||||
(list python-cython python-setuptools-for-tensorflow))
|
||||
(propagated-inputs
|
||||
(list python-pysam python-rpy2))
|
||||
(home-page "https://github.com/jamescasbon/PyVCF")
|
||||
(synopsis "Variant Call Format parser for Python")
|
||||
(description "This package provides a @acronym{VCF,Variant Call Format}
|
||||
parser for Python.")
|
||||
(license license:expat)))
|
||||
(license license:expat))))
|
||||
|
||||
(define-public nanosv
|
||||
(package
|
||||
@ -15996,6 +16229,43 @@ BigWig files, as well as efficient region coverage summary over intervals from
|
||||
both types of files.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public mudskipper
|
||||
(package
|
||||
(name "mudskipper")
|
||||
(version "0.1.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "mudskipper" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1y7fnlz6irmxdmv6bxzm95w4ws4vzldlrh8npvgxmdnrz9pgb1dv"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:tests? #false ;fail because the "mudskipper" crate cannot be found
|
||||
#:cargo-inputs
|
||||
(("rust-bio" ,rust-bio-0.39)
|
||||
("rust-bio-types" ,rust-bio-types-0.12)
|
||||
("rust-clap" ,rust-clap-2)
|
||||
("rust-coitrees" ,rust-coitrees-0.2)
|
||||
("rust-env-logger" ,rust-env-logger-0.9)
|
||||
("rust-fnv" ,rust-fnv-1)
|
||||
("rust-indicatif" ,rust-indicatif-0.16)
|
||||
("rust-libradicl" ,rust-libradicl-0.4)
|
||||
("rust-linecount" ,rust-linecount-0.1)
|
||||
("rust-log" ,rust-log-0.4)
|
||||
("rust-num-cpus" ,rust-num-cpus-1)
|
||||
("rust-rust-htslib" ,rust-rust-htslib-0.38))))
|
||||
(native-inputs
|
||||
(list cmake pkg-config))
|
||||
(inputs
|
||||
(list zlib xz))
|
||||
(home-page "https://github.com/OceanGenomics/mudskipper")
|
||||
(synopsis "Convert genomic alignments to transcriptomic BAM/RAD files.")
|
||||
(description "Mudskipper is a tool for projecting genomic alignments to
|
||||
transcriptomic coordinates.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public r-ascat
|
||||
(package
|
||||
(name "r-ascat")
|
||||
@ -16155,6 +16425,29 @@ integration, exploration, and analysis of high-dimensional single-cell
|
||||
cytometry and imaging data.")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public r-compgenomrdata
|
||||
(let ((commit "24484cb77631e1123ead6c329b9d62c160e600c6")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "r-compgenomrdata")
|
||||
(version (git-version "0.1.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/compgenomr/compGenomRData")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"06gdvz4m4qlb1ylv10qfx09zv4c95cm7nps4y2s67m946kv8czv8"))))
|
||||
(properties `((upstream-name . "compGenomRData")))
|
||||
(build-system r-build-system)
|
||||
(home-page "https://github.com/compgenomr/compGenomRData")
|
||||
(synopsis "Data for Computational Genomics with R book")
|
||||
(description "This package provides data for the book \"Computational
|
||||
Genomics with R\".")
|
||||
(license license:gpl3))))
|
||||
|
||||
(define-public r-cytonorm
|
||||
(let ((commit "e4b9d343ee65db3c422800f1db3e77c25abde987")
|
||||
(revision "1"))
|
||||
|
@ -2,6 +2,7 @@
|
||||
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
|
||||
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018–2022 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2022 LuHui <luhux76@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -45,66 +46,74 @@
|
||||
"0jfm9fik7nv4w21zqdg830pddgkdjmplmna9yjn9ck1lwn4vsps1"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'disable-timestamps
|
||||
(lambda _
|
||||
(setenv "KCONFIG_NOTIMESTAMP" "1")))
|
||||
(add-before 'configure 'disable-taskset
|
||||
;; This feature fails its tests in the build environment,
|
||||
;; was default 'n' until after 1.26.2.
|
||||
(lambda _
|
||||
(substitute* "util-linux/taskset.c"
|
||||
(("default y") "default n"))))
|
||||
(replace 'configure
|
||||
(lambda* (#:key make-flags #:allow-other-keys)
|
||||
(apply invoke "make" "defconfig" make-flags)))
|
||||
(add-after 'configure 'dont-install-to-usr
|
||||
(lambda _
|
||||
(substitute* ".config"
|
||||
(("# CONFIG_INSTALL_NO_USR is not set")
|
||||
"CONFIG_INSTALL_NO_USR=y"))))
|
||||
(replace 'check
|
||||
(lambda* (#:key make-flags #:allow-other-keys)
|
||||
(substitute* '("testsuite/du/du-s-works"
|
||||
"testsuite/du/du-works")
|
||||
(("/bin") "/etc")) ; there is no /bin but there is a /etc
|
||||
(list #:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'configure 'disable-timestamps
|
||||
(lambda _
|
||||
(setenv "KCONFIG_NOTIMESTAMP" "1")))
|
||||
(add-before 'configure 'disable-taskset
|
||||
;; This feature fails its tests in the build environment,
|
||||
;; was default 'n' until after 1.26.2.
|
||||
(lambda _
|
||||
(substitute* "util-linux/taskset.c"
|
||||
(("default y") "default n"))))
|
||||
(replace 'configure
|
||||
(lambda* (#:key make-flags #:allow-other-keys)
|
||||
(apply invoke "make" "defconfig" make-flags)))
|
||||
(add-after 'configure 'dont-install-to-usr
|
||||
(lambda _
|
||||
(substitute* ".config"
|
||||
(("# CONFIG_INSTALL_NO_USR is not set")
|
||||
"CONFIG_INSTALL_NO_USR=y"))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? make-flags #:allow-other-keys)
|
||||
(substitute* '("testsuite/du/du-s-works"
|
||||
"testsuite/du/du-works")
|
||||
(("/bin") "/etc")) ; there is no /bin but there is a /etc
|
||||
|
||||
;; There is no /usr/bin or /bin - replace it with /gnu/store
|
||||
(substitute* "testsuite/cpio.tests"
|
||||
(("/usr/bin") (%store-directory))
|
||||
(("usr") (car (filter (negate string-null?)
|
||||
(string-split (%store-directory) #\/)))))
|
||||
;; There is no /usr/bin or /bin - replace it with
|
||||
;; /gnu/store.
|
||||
(substitute* "testsuite/cpio.tests"
|
||||
(("/usr/bin") (%store-directory))
|
||||
(("usr") (car (filter (negate string-null?)
|
||||
(string-split (%store-directory) #\/)))))
|
||||
|
||||
(substitute* "testsuite/date/date-works-1"
|
||||
(("/bin/date") (which "date")))
|
||||
(substitute* "testsuite/date/date-works-1"
|
||||
(("/bin/date") (which "date")))
|
||||
|
||||
(substitute* "testsuite/start-stop-daemon.tests"
|
||||
(("/bin/false") (which "false")))
|
||||
(substitute* "testsuite/start-stop-daemon.tests"
|
||||
(("/bin/false") (which "false")))
|
||||
|
||||
;; The pidof tests assume that pid 1 is called "init" but that is not
|
||||
;; true in guix build environment
|
||||
(substitute* "testsuite/pidof.tests"
|
||||
(("-s init") "-s $(cat /proc/1/comm)"))
|
||||
;; The pidof tests assume that pid 1 is called "init" but
|
||||
;; that is not true in guix build environment
|
||||
(substitute* "testsuite/pidof.tests"
|
||||
(("-s init") "-s $(cat /proc/1/comm)"))
|
||||
|
||||
;; This test cannot possibly pass.
|
||||
;; It is trying to test that "which ls" returns "/bin/ls" when PATH is not set.
|
||||
;; However, this relies on /bin/ls existing. Which it does not in guix.
|
||||
(delete-file "testsuite/which/which-uses-default-path")
|
||||
(rmdir "testsuite/which")
|
||||
;; This test cannot possibly pass. It is trying to test
|
||||
;; that "which ls" returns "/bin/ls" when PATH is not set.
|
||||
;; However, this relies on /bin/ls existing. Which it does
|
||||
;; not in guix.
|
||||
(delete-file "testsuite/which/which-uses-default-path")
|
||||
(rmdir "testsuite/which")
|
||||
|
||||
(apply invoke "make"
|
||||
;; "V=1"
|
||||
"SKIP_KNOWN_BUGS=1"
|
||||
"SKIP_INTERNET_TESTS=1"
|
||||
"check" make-flags)))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs make-flags #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(apply invoke "make"
|
||||
(string-append "CONFIG_PREFIX=" out)
|
||||
"install" make-flags)))))))
|
||||
(native-inputs (list perl ; needed to generate the man pages (pod2man)
|
||||
(when tests?
|
||||
(apply invoke "make"
|
||||
;; "V=1"
|
||||
"SKIP_KNOWN_BUGS=1"
|
||||
"SKIP_INTERNET_TESTS=1"
|
||||
"check" make-flags))))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs make-flags #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(apply invoke "make"
|
||||
(string-append "CONFIG_PREFIX=" out)
|
||||
"install" make-flags)))))
|
||||
#:make-flags
|
||||
#~(let ((target #$(%current-target-system)))
|
||||
(if target
|
||||
(list (string-append "CROSS_COMPILE=" target "-"))
|
||||
'()))))
|
||||
(native-inputs (list perl ; needed to generate the man pages (pod2man)
|
||||
;; The following are needed by the tests.
|
||||
inetutils
|
||||
(@ (gnu packages base) which)
|
||||
|
@ -401,7 +401,7 @@ traditional Chinese characters.")
|
||||
(license (list license:gpl2+ license:lgpl2.1+))))
|
||||
|
||||
(define-public gsimplecal
|
||||
(let ((version "2.2"))
|
||||
(let ((version "2.4.1"))
|
||||
(package
|
||||
(name "gsimplecal")
|
||||
(version version)
|
||||
@ -411,16 +411,17 @@ traditional Chinese characters.")
|
||||
(url "https://github.com/dmedvinsky/gsimplecal/")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256 (base32
|
||||
"1qyf65l088dqsz25hm6s1cv18j52yaias0llqvpqwjfnvssa5cxg"))
|
||||
(sha256
|
||||
(base32
|
||||
"0ypnq9q6v2l8jg0ah31d8502jig1rk2bz749ljj97wk0rg1rixpi"))
|
||||
(modules '((guix build utils)))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs (list gtk+))
|
||||
(native-inputs
|
||||
(list autoconf automake pkg-config))
|
||||
(native-inputs (list autoconf automake pkg-config))
|
||||
(home-page "https://dmedvinsky.github.io/gsimplecal/")
|
||||
(synopsis "Lightweight calendar applet")
|
||||
(description "@command{gsimplecal} is a lightweight calendar application
|
||||
(description
|
||||
"@command{gsimplecal} is a lightweight calendar application
|
||||
written in C++ using GTK. Launched once, it pops up a small calendar applet,
|
||||
launched again it closes the running instance. It can additionally be
|
||||
configured to show the current time in different timezones.")
|
||||
|
@ -204,14 +204,14 @@ designs.")
|
||||
(define-public clojure-tools
|
||||
(package
|
||||
(name "clojure-tools")
|
||||
(version "1.11.1.1149")
|
||||
(version "1.11.1.1165")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.clojure.org/install/clojure-tools-"
|
||||
version
|
||||
".tar.gz"))
|
||||
(sha256 (base32 "196wl87br8zg3npfwpr5c1q0knxd1810vzgb0b6h195hyjf6i210"))
|
||||
(sha256 (base32 "1lg97waqfcgzr3dz5426fbc4kqcsavpbqil2iyjm1dw3zrfa8ysi"))
|
||||
;; Remove AOT compiled JAR. The other JAR only contains uncompiled
|
||||
;; Clojure source code.
|
||||
(snippet
|
||||
|
@ -53,7 +53,10 @@
|
||||
(uri (string-append "mirror://kernel.org/linux/network/connman/"
|
||||
"connman-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "12g5ilcnymx6i45z3359yds3cgd2dfqjyncfm92hqlymzps41yvr"))))
|
||||
(base32 "12g5ilcnymx6i45z3359yds3cgd2dfqjyncfm92hqlymzps41yvr"))
|
||||
(patches (search-patches "connman-CVE-2022-32292.patch"
|
||||
"connman-CVE-2022-32293-pt1.patch"
|
||||
"connman-CVE-2022-32293-pt2.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:configure-flags
|
||||
|
@ -274,7 +274,7 @@ configure network interfaces in Linux containers.")
|
||||
(define-public podman
|
||||
(package
|
||||
(name "podman")
|
||||
(version "4.2.0")
|
||||
(version "4.2.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -282,7 +282,7 @@ configure network interfaces in Linux containers.")
|
||||
(url "https://github.com/containers/podman")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "00wyjppd11hznmals9ax4s2qjklj6p1vfz4jjkp50bk8q4blxfbj"))
|
||||
(base32 "0ph8gf5gk9z1hm1v5kv924dipswvgrz0sgk23plnh2q0vbnh4wvv"))
|
||||
(file-name (git-file-name name version))))
|
||||
|
||||
(build-system gnu-build-system)
|
||||
|
@ -8,6 +8,7 @@
|
||||
;;; Copyright © 2020 Robin Green <greenrd@greenrd.org>
|
||||
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
|
||||
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
|
||||
;;; Copyright © 2022 Garek Dyszel <garekdyszel@disroot.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -43,6 +44,7 @@
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system ocaml)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
@ -52,7 +54,7 @@
|
||||
(define-public coq-core
|
||||
(package
|
||||
(name "coq-core")
|
||||
(version "8.15.2")
|
||||
(version "8.16.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -62,7 +64,7 @@
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1m6dilfbp9q8j8sya4ap82q72m3a4mq6m96gzvi6vgv04cr6r33c"))
|
||||
"1rp4m2yjldsz0kj7p2fsc312n740fr8kg99jlsk8aq3h524qz2h8"))
|
||||
(patches (search-patches "coq-fix-envvars.patch"))))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
@ -148,7 +150,7 @@ It is developed using Objective Caml and Camlp5.")
|
||||
(propagated-inputs
|
||||
(list coq coq-ide-server))
|
||||
(inputs
|
||||
`(("lablgtk3" ,lablgtk3)))))
|
||||
(list lablgtk3 ocaml-lablgtk3-sourceview3))))
|
||||
|
||||
(define-public proof-general
|
||||
;; The latest release is from 2016 and there has been more than 450 commits
|
||||
@ -240,7 +242,7 @@ provers.")
|
||||
(define-public coq-flocq
|
||||
(package
|
||||
(name "coq-flocq")
|
||||
(version "4.0.0")
|
||||
(version "4.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -250,7 +252,7 @@ provers.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"159ykkhxz7zms28r4v8jjccapl5vv00csdz29mfy83lwrv5b6rwk"))))
|
||||
"1yscj1120wch6myakaia03j11qji416v78ylx842d23hrbaqwmw5"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list autoconf automake ocaml which coq))
|
||||
@ -287,7 +289,7 @@ inside Coq.")
|
||||
(define-public coq-gappa
|
||||
(package
|
||||
(name "coq-gappa")
|
||||
(version "1.5.1")
|
||||
(version "1.5.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -297,7 +299,7 @@ inside Coq.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"18y4mv44mcgyam77rf4xs7l06mg7pxx1qli3yvs0kklmnnvwa463"))))
|
||||
"0l65ah81yj9vabgkwqh47c02qvscvl8nl60gqn1qrs47dx1pi80q"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list autoconf
|
||||
@ -315,7 +317,9 @@ inside Coq.")
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list (string-append "COQUSERCONTRIB=" (assoc-ref %outputs "out")
|
||||
"/lib/coq/user-contrib"))
|
||||
"/lib/coq/user-contrib")
|
||||
(string-append "OCAMLFIND_DESTDIR=" (assoc-ref %outputs "out")
|
||||
"/lib/ocaml/site-lib"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'fix-remake
|
||||
@ -345,7 +349,7 @@ assistant.")
|
||||
(define-public coq-mathcomp
|
||||
(package
|
||||
(name "coq-mathcomp")
|
||||
(version "1.14.0")
|
||||
(version "1.15.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -354,7 +358,7 @@ assistant.")
|
||||
(commit (string-append "mathcomp-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1rqg47dg84wr6d9v2pzna54dm62awcm8xdwx4dqwdwhf58fjxa9i"))))
|
||||
(base32 "158zl36zbvi5qx2nqbfnrg00jpgp6hjr5hmls7d8d0421ar6b67i"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list ocaml which coq))
|
||||
@ -431,7 +435,7 @@ theorems between the two libraries.")
|
||||
(define-public coq-bignums
|
||||
(package
|
||||
(name "coq-bignums")
|
||||
(version "8.15.0")
|
||||
(version "8.16.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@ -440,7 +444,7 @@ theorems between the two libraries.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"093klwlhclgyrba1iv18dyz1qp5f0lwiaa7y0qwvgmai8rll5fns"))))
|
||||
"07ndnm7pndmai3a2bkcmwjfjzfaqyq19c5an15hmhgmd0rdy4z8c"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list ocaml coq))
|
||||
@ -450,7 +454,9 @@ theorems between the two libraries.")
|
||||
`(#:tests? #f ; No test target.
|
||||
#:make-flags
|
||||
(list (string-append "COQLIBINSTALL=" (assoc-ref %outputs "out")
|
||||
"/lib/coq/user-contrib"))
|
||||
"/lib/coq/user-contrib")
|
||||
(string-append "COQPLUGININSTALL=" (assoc-ref %outputs "out")
|
||||
"/lib/ocaml/site-lib/"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure))))
|
||||
@ -463,7 +469,7 @@ provides BigN, BigZ, BigQ that used to be part of Coq standard library.")
|
||||
(define-public coq-interval
|
||||
(package
|
||||
(name "coq-interval")
|
||||
(version "4.4.0")
|
||||
(version "4.5.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -473,7 +479,7 @@ provides BigN, BigZ, BigQ that used to be part of Coq standard library.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1rlcbv1nqm7zv60n63lca6nnxcq3c18akgzl72s1n3h89gvhs87z"))))
|
||||
"138vgb0bq6wkygrhkahjgb9spwpzc6x6kkycj2qnf5naxx1z412w"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list autoconf automake ocaml which coq))
|
||||
@ -486,7 +492,9 @@ provides BigN, BigZ, BigQ that used to be part of Coq standard library.")
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list (string-append "COQUSERCONTRIB=" (assoc-ref %outputs "out")
|
||||
"/lib/coq/user-contrib"))
|
||||
"/lib/coq/user-contrib")
|
||||
(string-append "OCAMLFIND_DESTDIR=" (assoc-ref %outputs "out")
|
||||
"/lib/ocaml/site-lib"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'fix-remake
|
||||
@ -557,11 +565,11 @@ uses Ltac to synthesize the substitution operation.")
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/mattam82/Coq-Equations")
|
||||
(commit (string-append "v" version "-8.15"))))
|
||||
(commit (string-append "v" version "-8.16"))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1vfcfpsp9zyj0sw0cwibk76nj6n0r6gwh8m1aa3lbvc0b1kbm32k"))))
|
||||
"08f756vgdd1wklkarg0b93j4n5mhkqm5ixxrhyb23dcv2dwhc8yg"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list ocaml coq camlp5))
|
||||
@ -571,7 +579,10 @@ uses Ltac to synthesize the substitution operation.")
|
||||
`(#:test-target "test-suite"
|
||||
#:make-flags (list (string-append "COQLIBINSTALL="
|
||||
(assoc-ref %outputs "out")
|
||||
"/lib/coq/user-contrib"))
|
||||
"/lib/coq/user-contrib")
|
||||
(string-append "COQPLUGININSTALL="
|
||||
(assoc-ref %outputs "out")
|
||||
"/lib/ocaml/site-lib/"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
@ -685,3 +696,78 @@ for goals involving set operations.
|
||||
@end itemize")
|
||||
(home-page "https://gitlab.mpi-sws.org/iris/stdpp")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public coq-mathcomp-finmap
|
||||
(package
|
||||
(name "coq-mathcomp-finmap")
|
||||
(version "1.5.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/math-comp/finmap")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1k72wpp15xa5ag358jl8a71gschng0bgbaqjx0l5a0in6x5adafh"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(;; No tests supplied in Makefile.common.
|
||||
;; The project doesn't appear to have plans to include tests in
|
||||
;; the future.
|
||||
#:tests? #f
|
||||
#:make-flags (list (string-append "COQLIBINSTALL="
|
||||
(assoc-ref %outputs "out")
|
||||
"/lib/coq/user-contrib"))
|
||||
#:phases (modify-phases %standard-phases
|
||||
(delete 'configure))))
|
||||
(inputs (list coq coq-stdlib coq-mathcomp which))
|
||||
(synopsis "Finite sets and finite types for coq-mathcomp")
|
||||
(description
|
||||
"This library is an extension of coq-mathcomp which supports finite sets
|
||||
and finite maps on choicetypes (rather than finite types). This includes
|
||||
support for functions with finite support and multisets. The library also
|
||||
contains a generic order and set libary, which will eventually be used to
|
||||
subsume notations for finite sets.")
|
||||
(home-page "https://math-comp.github.io/")
|
||||
(license license:cecill-b)))
|
||||
|
||||
(define-public coq-mathcomp-bigenough
|
||||
(package
|
||||
(name "coq-mathcomp-bigenough")
|
||||
(version "1.0.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/math-comp/bigenough")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"02f4dv4rz72liciwxb2k7acwx6lgqz4381mqyq5854p3nbyn06aw"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(;; No references to tests in Makefile.common.
|
||||
;; It doesn't appear as though tests will be included
|
||||
;; by the packaged project in the future.
|
||||
#:tests? #f
|
||||
#:make-flags ,#~(list (string-append "COQBIN="
|
||||
#$(this-package-input "coq-core")
|
||||
"/bin/")
|
||||
(string-append "COQMF_COQLIB="
|
||||
(assoc-ref %outputs "out")
|
||||
"/lib/ocaml/site-lib/coq")
|
||||
(string-append "COQLIBINSTALL="
|
||||
(assoc-ref %outputs "out")
|
||||
"/lib/coq/user-contrib"))
|
||||
#:phases (modify-phases %standard-phases
|
||||
(delete 'configure))))
|
||||
(propagated-inputs (list coq coq-core coq-mathcomp which))
|
||||
(home-page "https://math-comp.github.io/")
|
||||
(synopsis "Small library to do epsilon - N reasoning")
|
||||
(description
|
||||
"The package is used for reasoning with big enough objects (mostly
|
||||
natural numbers). This package is essentially for backward compatibility
|
||||
purposes as @code{bigenough} will be subsumed by the near tactics. The
|
||||
formalization is based on the Mathematical Components library.")
|
||||
(license license:cecill-b)))
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -3282,7 +3282,10 @@ crate @code{rust-wayland-client} for usable bindings.")
|
||||
("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
|
||||
("rust-web-sys" ,rust-web-sys-0.3)
|
||||
("rust-winapi" ,rust-winapi-0.3)
|
||||
("rust-x11-dl" ,rust-x11-dl-2))))
|
||||
("rust-x11-dl" ,rust-x11-dl-2))
|
||||
#:cargo-development-inputs
|
||||
(("rust-console-log" ,rust-console-log-0.2)
|
||||
("rust-simple-logger" ,rust-simple-logger-1))))
|
||||
(inputs
|
||||
(list rust-wayland-client-0.29 rust-wayland-protocols-0.29))
|
||||
(home-page "https://github.com/rust-windowing/winit")
|
||||
@ -3338,7 +3341,10 @@ the platform-specific getters provided by winit, or another library.")
|
||||
("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
|
||||
("rust-web-sys" ,rust-web-sys-0.3)
|
||||
("rust-winapi" ,rust-winapi-0.3)
|
||||
("rust-x11-dl" ,rust-x11-dl-2))))
|
||||
("rust-x11-dl" ,rust-x11-dl-2))
|
||||
#:cargo-development-inputs
|
||||
(("rust-console-log" ,rust-console-log-0.2)
|
||||
("rust-simple-logger" ,rust-simple-logger-1))))
|
||||
(inputs
|
||||
(list rust-wayland-client-0.28))))
|
||||
|
||||
|
@ -3362,6 +3362,52 @@ coverage-guided, mutation-based fuzzers.")
|
||||
that runs on Argon2.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-arr-macro-impl-0.1
|
||||
(package
|
||||
(name "rust-arr-macro-impl")
|
||||
(version "0.1.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "arr_macro_impl" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1lbjilz3pvwav72dfkcbz99rsq7m04xbdpqh8g3yvx3jsn5wf286"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)
|
||||
("rust-quote" ,rust-quote-1)
|
||||
("rust-syn" ,rust-syn-1))))
|
||||
(home-page "https://github.com/JoshMcguigan/arr_macro")
|
||||
(synopsis "Private impl crate for arr_macro")
|
||||
(description "This package provides a private @code{impl} crate for
|
||||
@code{arr_macro}.")
|
||||
(license (list license:expat license:asl2.0))))
|
||||
|
||||
(define-public rust-arr-macro-0.1
|
||||
(package
|
||||
(name "rust-arr-macro")
|
||||
(version "0.1.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "arr_macro" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"199086q8zva66lbg9bpz6fa67s81ra7yfa8148cwy1w7lkymn43a"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-arr-macro-impl" ,rust-arr-macro-impl-0.1)
|
||||
("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5))))
|
||||
(home-page "https://github.com/JoshMcguigan/arr_macro")
|
||||
(synopsis "Initialize arrays with ease")
|
||||
(description "Array macro helps initialize arrays. It is useful when
|
||||
initializing large arrays (greater than 32 elements), or arrays of types which
|
||||
do not implement the copy or default traits.")
|
||||
(license (list license:expat license:asl2.0))))
|
||||
|
||||
(define-public rust-array-macro-1
|
||||
(package
|
||||
(name "rust-array-macro")
|
||||
@ -3432,7 +3478,7 @@ structures.")
|
||||
(define-public rust-arrayvec-0.7
|
||||
(package
|
||||
(name "rust-arrayvec")
|
||||
(version "0.7.0")
|
||||
(version "0.7.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@ -3441,7 +3487,7 @@ structures.")
|
||||
(string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1xza6jbs8x51yhh4qnwjw1crm33bhl975r965fpq1hqhpfq5hbss"))))
|
||||
"1mjl8jjqxpl0x7sm9cij61cppi7yi38cdrd1l8zjw7h7qxk2v9cd"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:skip-build? #t
|
||||
@ -8493,7 +8539,7 @@ alphabet.")
|
||||
(define-public rust-bstr-0.2
|
||||
(package
|
||||
(name "rust-bstr")
|
||||
(version "0.2.15")
|
||||
(version "0.2.17")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@ -8502,7 +8548,7 @@ alphabet.")
|
||||
(string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0gca4v6448clsssll3y787jgw542c9mw9phqdi7419g1jfnlf2x4"))))
|
||||
"08rjbhysy6gg27db2h3pnhvr2mlr5vkj797i9625kwg8hgrnjdds"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:skip-build? #t
|
||||
@ -12208,6 +12254,32 @@ diagnostics easy and relatively painless for everyone!")
|
||||
("rust-structopt" ,rust-structopt-0.3)
|
||||
("rust-unindent" ,rust-unindent-0.1))))))
|
||||
|
||||
(define-public rust-coitrees-0.2
|
||||
(package
|
||||
(name "rust-coitrees")
|
||||
(version "0.2.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "coitrees" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1l2ybr8n02vm08wq9mrix7r07bgwm85i6fyachlm8d626w9w9d3f"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
;; Check phase fails with:
|
||||
;; no function or associated item named `with_name` found for struct
|
||||
;; `Arg` in the current scope
|
||||
`(#:tests? #false
|
||||
#:cargo-development-inputs
|
||||
(("rust-clap" ,rust-clap-3))))
|
||||
(home-page "https://github.com/dcjones/coitrees")
|
||||
(synopsis "Data structure for overlap queries on sets of intervals")
|
||||
(description
|
||||
"This package provides a very fast data structure for overlap queries on
|
||||
sets of intervals.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-color-backtrace-0.5
|
||||
(package
|
||||
(name "rust-color-backtrace")
|
||||
@ -13050,6 +13122,30 @@ this to write Rust programs which can be customized by end users easily.")
|
||||
that logs panics to @code{console.error}.")
|
||||
(license (list license:expat license:asl2.0))))
|
||||
|
||||
(define-public rust-console-log-0.2
|
||||
(package
|
||||
(name "rust-console-log")
|
||||
(version "0.2.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "console_log" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"150li8pznpfpn4q0f7g9jwq2hnd5wik0w8378zaa1wffc5ckf6jh"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-log" ,rust-log-0.4)
|
||||
("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2)
|
||||
("rust-web-sys" ,rust-web-sys-0.3))))
|
||||
(home-page "https://github.com/iamcodemaker/console_log")
|
||||
(synopsis "Route Rust log messages to the browser's console")
|
||||
(description
|
||||
"This package provides a logging facility that routes Rust log messages to
|
||||
the browser's console.")
|
||||
(license (list license:expat license:asl2.0))))
|
||||
|
||||
(define-public rust-console-log-0.1
|
||||
(package
|
||||
(name "rust-console-log")
|
||||
@ -14530,14 +14626,14 @@ criterion.")
|
||||
(define-public rust-crossbeam-channel-0.5
|
||||
(package
|
||||
(name "rust-crossbeam-channel")
|
||||
(version "0.5.0")
|
||||
(version "0.5.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "crossbeam-channel" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0xfplw54pskl3kyf2q6kw8y2phnq6wn8pqxx003n8qfkz3hnx8nw"))))
|
||||
(base32 "08f5f043rljl82a06d1inda6nl2b030s7yfqp31ps8w8mzfh9pf2"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:skip-build? #t
|
||||
@ -14745,14 +14841,14 @@ message passing.")
|
||||
(define-public rust-crossbeam-queue-0.3
|
||||
(package
|
||||
(name "rust-crossbeam-queue")
|
||||
(version "0.3.1")
|
||||
(version "0.3.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "crossbeam-queue" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0mk790w2y7cn9zqj6cn1kl8vvgaamlkj6fmpxg1iprdqyp3v6v0g"))))
|
||||
(base32 "19ram1wp87i57w834hwl95mzz9g53qlzkraq6lvab629n21jbm0w"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
@ -21284,6 +21380,40 @@ You can use this crate to turn non-blocking data structures into async or
|
||||
blocking data structures.")
|
||||
(license (list license:asl2.0 license:expat))))
|
||||
|
||||
(define-public rust-executors-0.9
|
||||
(package
|
||||
(name "rust-executors")
|
||||
(version "0.9.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "executors" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0z8gn5vcr0x1db1bvahhmby9mpr1jgzd4qfvm25mja5js3agk51a"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
;; TODO: build needs metrics_printer
|
||||
`(#:skip-build? #t
|
||||
#:cargo-inputs
|
||||
(("rust-arr-macro" ,rust-arr-macro-0.1)
|
||||
("rust-async-task" ,rust-async-task-4)
|
||||
("rust-core-affinity" ,rust-core-affinity-0.5)
|
||||
("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5)
|
||||
("rust-crossbeam-deque" ,rust-crossbeam-deque-0.8)
|
||||
("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8)
|
||||
("rust-log" ,rust-log-0.4)
|
||||
("rust-metrics" ,rust-metrics-0.14)
|
||||
("rust-num-cpus" ,rust-num-cpus-1)
|
||||
("rust-rand" ,rust-rand-0.8)
|
||||
("rust-synchronoise" ,rust-synchronoise-1)
|
||||
("rust-threadpool" ,rust-threadpool-1))))
|
||||
(home-page "https://github.com/Bathtor/rust-executors")
|
||||
(synopsis "Collection of high-performance task executors")
|
||||
(description
|
||||
"This package provides a collection of high-performance task executors.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-exitcode-1
|
||||
(package
|
||||
(name "rust-exitcode")
|
||||
@ -23307,6 +23437,29 @@ helpful error messages.")
|
||||
process and much more.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-fs-utils-1
|
||||
(package
|
||||
(name "rust-fs-utils")
|
||||
(version "1.1.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "fs-utils" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"14r5wl14mz227v0lpy89lvjzfnxgdxigvrrmm6c4r52w03fakivg"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-quick-error" ,rust-quick-error-1))
|
||||
#:cargo-development-inputs
|
||||
(("rust-tempfile" ,rust-tempfile-3))))
|
||||
(home-page "https://github.com/Byron/fs-utils-rs")
|
||||
(synopsis "Utilities to help working with the filesytem")
|
||||
(description "This package provides a bunch of utilities to help working
|
||||
with the filesytem.")
|
||||
(license (list license:expat license:asl2.0))))
|
||||
|
||||
(define-public rust-fs2-0.2
|
||||
(package
|
||||
(name "rust-fs2")
|
||||
@ -25885,7 +26038,11 @@ graphics.")
|
||||
("rust-smallvec" ,rust-smallvec-1)
|
||||
("rust-takeable-option" ,rust-takeable-option-0.5))
|
||||
#:cargo-development-inputs
|
||||
(("rust-gl-generator" ,rust-gl-generator-0.14))))
|
||||
(("rust-cgmath" ,rust-cgmath-0.18)
|
||||
("rust-genmesh" ,rust-genmesh-0.6)
|
||||
("rust-gl-generator" ,rust-gl-generator-0.14)
|
||||
("rust-obj" ,rust-obj-0.10)
|
||||
("rust-ouroboros" ,rust-ouroboros-0.14))))
|
||||
(home-page "https://github.com/glium/glium")
|
||||
(synopsis "OpenGL wrapper")
|
||||
(description
|
||||
@ -28073,6 +28230,48 @@ Hash-based Message Authentication Code algorithm} for SHA1.")
|
||||
characters in HTML, decoding and unescaping HTML entities as well.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-hts-sys-2
|
||||
(package
|
||||
(name "rust-hts-sys")
|
||||
(version "2.0.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "hts-sys" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1qn1qz2xa69x2dj1fbh91avm9943rbcykr37zs68pb2bdy847i3j"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(substitute* "Cargo.toml"
|
||||
;; Do not use zlib-ng; just use zlib.
|
||||
(("features = \\[\"zlib-ng\", \"static\"\\]") "")
|
||||
;; No static libraries please.
|
||||
(("\"static-curl\", \"static-ssl\",") "")
|
||||
((", \"static\"") "")
|
||||
(("\\[\"static\"\\]") "[]")))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-bindgen" ,rust-bindgen-0.53)
|
||||
("rust-bzip2-sys" ,rust-bzip2-sys-0.1)
|
||||
("rust-cc" ,rust-cc-1)
|
||||
("rust-curl-sys" ,rust-curl-sys-0.4)
|
||||
("rust-fs-utils" ,rust-fs-utils-1)
|
||||
("rust-glob" ,rust-glob-0.3)
|
||||
("rust-libdeflate-sys" ,rust-libdeflate-sys-0.5)
|
||||
("rust-libz-sys" ,rust-libz-sys-1)
|
||||
("rust-lzma-sys" ,rust-lzma-sys-0.1)
|
||||
("rust-openssl-sys" ,rust-openssl-sys-0.9))))
|
||||
(inputs
|
||||
(list curl openssl xz zlib))
|
||||
(native-inputs
|
||||
(list cmake-minimal pkg-config))
|
||||
(home-page "https://github.com/samtools/htslib.git")
|
||||
(synopsis "Rust bindings to HTSlib")
|
||||
(description "This library provides Rust bindings to HTSlib.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-http-0.2
|
||||
(package
|
||||
(name "rust-http")
|
||||
@ -29029,6 +29228,27 @@ with hyper.")
|
||||
(("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
|
||||
("rust-rustc-test" ,rust-rustc-test-0.3))))))
|
||||
|
||||
(define-public rust-ieee754-0.2
|
||||
(package
|
||||
(name "rust-ieee754")
|
||||
(version "0.2.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "ieee754" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1771d2kvw1wga65yrg9m7maky0fzsaq9hvhkv91n6gmxmjfdl1wh"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-development-inputs
|
||||
(("rust-criterion" ,rust-criterion-0.2))))
|
||||
(home-page "https://github.com/huonw/ieee754")
|
||||
(synopsis "Low-level manipulations of IEEE754 floating-point numbers")
|
||||
(description "This is a package for low-level manipulations of IEEE754
|
||||
floating-point numbers.")
|
||||
(license (list license:expat license:asl2.0))))
|
||||
|
||||
(define-public rust-if-chain-1
|
||||
(package
|
||||
(name "rust-if-chain")
|
||||
@ -31906,6 +32126,29 @@ macros on libc without stdlib.")
|
||||
(description "This package provides FFI bindings to libdbus.")
|
||||
(license (list license:asl2.0 license:expat))))
|
||||
|
||||
(define-public rust-libdeflate-sys-0.5
|
||||
(package
|
||||
(name "rust-libdeflate-sys")
|
||||
(version "0.5.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "libdeflate-sys" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"07ychzvz9xrqs92frs3zpny0l8jp3sndzqpl7zhv6kdqhzx9xqr1"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-cc" ,rust-cc-1))))
|
||||
(home-page "https://github.com/adamkewley/libdeflater")
|
||||
(synopsis "Bindings to libdeflate")
|
||||
(description
|
||||
"This package provides bindings to libdeflate for DEFLATE (de)compression
|
||||
exposed as non-streaming buffer operations. It contains bindings for raw
|
||||
deflate, zlib, and gzip data.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public rust-libflate-1
|
||||
(package
|
||||
(name "rust-libflate")
|
||||
@ -32441,6 +32684,63 @@ library.")
|
||||
library.")
|
||||
(license (list license:expat license:asl2.0))))
|
||||
|
||||
(define-public rust-libradicl-0.4
|
||||
(package
|
||||
(name "rust-libradicl")
|
||||
(version "0.4.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "libradicl" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"10j2f2iv4037315fiqppk7x2bx1mnw6gns3qqwyhcyh4sgbz3ka4"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:tests? #false ;fail to compile InternalVersionInfo
|
||||
#:cargo-inputs
|
||||
(("rust-ahash" ,rust-ahash-0.7)
|
||||
("rust-arrayvec" ,rust-arrayvec-0.7)
|
||||
("rust-bincode" ,rust-bincode-1)
|
||||
("rust-bio-types" ,rust-bio-types-0.12)
|
||||
("rust-bstr" ,rust-bstr-0.2)
|
||||
("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5)
|
||||
("rust-crossbeam-queue" ,rust-crossbeam-queue-0.3)
|
||||
("rust-csv" ,rust-csv-1)
|
||||
("rust-dashmap" ,rust-dashmap-4)
|
||||
("rust-executors" ,rust-executors-0.9)
|
||||
("rust-flate2" ,rust-flate2-1)
|
||||
("rust-indicatif" ,rust-indicatif-0.16)
|
||||
("rust-itertools" ,rust-itertools-0.10)
|
||||
("rust-needletail" ,rust-needletail-0.4)
|
||||
("rust-num" ,rust-num-0.4)
|
||||
("rust-num-format" ,rust-num-format-0.4)
|
||||
("rust-petgraph" ,rust-petgraph-0.6)
|
||||
("rust-quickersort" ,rust-quickersort-3)
|
||||
("rust-rand" ,rust-rand-0.8)
|
||||
("rust-rust-htslib" ,rust-rust-htslib-0.38)
|
||||
("rust-sce" ,rust-sce-0.1)
|
||||
("rust-scroll" ,rust-scroll-0.10)
|
||||
("rust-serde" ,rust-serde-1)
|
||||
("rust-serde-json" ,rust-serde-json-1)
|
||||
("rust-slog" ,rust-slog-2)
|
||||
("rust-slog-async" ,rust-slog-async-2)
|
||||
("rust-slog-term" ,rust-slog-term-2)
|
||||
("rust-smallvec" ,rust-smallvec-1)
|
||||
("rust-snap" ,rust-snap-1)
|
||||
("rust-sprs" ,rust-sprs-0.10)
|
||||
("rust-statrs" ,rust-statrs-0.15))))
|
||||
(inputs
|
||||
(list xz zlib))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(home-page "https://github.com/COMBINE-lab/alevin-fry")
|
||||
(synopsis "Support library for alevin-fry")
|
||||
(description "This package provides a support library for alevin-fry, a
|
||||
suite of tools for the rapid, accurate and memory-frugal processing
|
||||
single-cell and single-nucleus sequencing data.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public rust-libsqlite3-sys-0.23
|
||||
(package
|
||||
(name "rust-libsqlite3-sys")
|
||||
@ -32652,6 +32952,30 @@ known as zlib).")
|
||||
(license (list license:asl2.0
|
||||
license:expat))))
|
||||
|
||||
(define-public rust-libz-ng-sys-1
|
||||
(package
|
||||
(name "rust-libz-ng-sys")
|
||||
(version "1.1.8")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "libz-ng-sys" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1wp0aya5hh76h1acspvrrsvq2fl0kyb8dpi6wy0zaswnm6bax6a3"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:skip-build? #t
|
||||
#:cargo-inputs
|
||||
(("rust-cmake" ,rust-cmake-0.1)
|
||||
("rust-libc" ,rust-libc-0.2))))
|
||||
(home-page "https://github.com/rust-lang/libz-sys")
|
||||
(synopsis "Low-level bindings to zlib-ng (libz-ng)")
|
||||
(description
|
||||
"This package provides low-level bindings to zlib-ng (libz-ng), a
|
||||
high-performance zlib library.")
|
||||
(license (list license:expat license:asl2.0))))
|
||||
|
||||
(define-public rust-lifeguard-0.6
|
||||
(package
|
||||
(name "rust-lifeguard")
|
||||
@ -32728,6 +33052,48 @@ libraries have.
|
||||
"Efficiently insert line separators.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public rust-linear-map-1
|
||||
(package
|
||||
(name "rust-linear-map")
|
||||
(version "1.2.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "linear-map" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1vh3sczl4xb5asdlpafdf3y4g9bp63fgs8y2a2sjgmcsn7v21bmz"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-serde" ,rust-serde-1)
|
||||
("rust-serde-test" ,rust-serde-test-1))))
|
||||
(home-page "https://github.com/contain-rs/linear-map")
|
||||
(synopsis "Map implemented by searching linearly in a vector")
|
||||
(description
|
||||
"This package provides a map implemented by searching linearly in a
|
||||
vector.")
|
||||
(license (list license:expat license:asl2.0))))
|
||||
|
||||
(define-public rust-linecount-0.1
|
||||
(package
|
||||
(name "rust-linecount")
|
||||
(version "0.1.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "linecount" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1n2733qcmvxl3fra3924yj8sf21vr6f6g6dg6wnhbkxr8fia9mfm"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments '(#:skip-build? #t))
|
||||
(home-page "https://github.com/eclarke/linecount")
|
||||
(synopsis "Quickly count lines in a file")
|
||||
(description "This package provides a function @code{count_lines}
|
||||
to count the number of lines in a file.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-link-cplusplus-1
|
||||
(package
|
||||
(name "rust-link-cplusplus")
|
||||
@ -35182,6 +35548,55 @@ based on Rustls and Ring.")
|
||||
and XXH3 algorithms.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-metrics-macros-0.2
|
||||
(package
|
||||
(name "rust-metrics-macros")
|
||||
(version "0.2.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "metrics-macros" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0yy2dc9g3m1h8df6bmnqh1sngyvrgznz1fjpkp9rz1is9p6n1b0i"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-lazy-static" ,rust-lazy-static-1)
|
||||
("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)
|
||||
("rust-proc-macro2" ,rust-proc-macro2-1)
|
||||
("rust-quote" ,rust-quote-1)
|
||||
("rust-regex" ,rust-regex-1)
|
||||
("rust-syn" ,rust-syn-1))))
|
||||
(home-page "https://github.com/metrics-rs/metrics")
|
||||
(synopsis "Macros for the metrics crate")
|
||||
(description "This package provides macros for the metrics crate.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-metrics-0.14
|
||||
(package
|
||||
(name "rust-metrics")
|
||||
(version "0.14.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "metrics" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0lf80vznlh0p06nchj08nlqgf3bajnwr6w3syflg7ffg3mh8bqjq"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-metrics-macros" ,rust-metrics-macros-0.2)
|
||||
("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5))
|
||||
#:cargo-development-inputs
|
||||
(("rust-criterion" ,rust-criterion-0.3)
|
||||
("rust-trybuild" ,rust-trybuild-1))))
|
||||
(home-page "https://github.com/metrics-rs/metrics")
|
||||
(synopsis "Lightweight metrics facade")
|
||||
(description "This package provides a lightweight metrics facade.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-metrohash-1
|
||||
(package
|
||||
(name "rust-metrohash")
|
||||
@ -35614,10 +36029,8 @@ drop-in replacement for miniz.")
|
||||
"1zw5glv8z2d99c82jy2za97hh9p6377xmf4rbwz7jynsdfxfngg5"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-serde" ,rust-serde-1))
|
||||
#:cargo-development-inputs
|
||||
(("rust-serde-json" ,rust-serde-json-1))))
|
||||
`(#:cargo-inputs (("rust-serde" ,rust-serde-1))
|
||||
#:cargo-development-inputs (("rust-serde-json" ,rust-serde-json-1))))
|
||||
(home-page "https://github.com/kvark/mint")
|
||||
(synopsis "Math interoperability standard types")
|
||||
(description
|
||||
@ -37436,6 +37849,45 @@ general elements and for numerics.")
|
||||
(description "This package provides FFI bindings for the Android NDK.")
|
||||
(license (list license:expat license:asl2.0))))
|
||||
|
||||
(define-public rust-needletail-0.4
|
||||
(package
|
||||
(name "rust-needletail")
|
||||
(version "0.4.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "needletail" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1k535wlg0khac2gz3q84rlcqc5r89jyw73ww25vfgc04plzc9d3z"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
;; Two tests fail due to missing files.
|
||||
;; - parser::fastq::test::test_bad_headers
|
||||
;; - parser::fastq::test::test_fastq_with_random_tsv_inside
|
||||
`(#:tests? #false
|
||||
#:cargo-inputs
|
||||
(("rust-bio" ,rust-bio-0.33)
|
||||
("rust-buf-redux" ,rust-buf-redux-0.8)
|
||||
("rust-bytecount" ,rust-bytecount-0.6)
|
||||
("rust-bzip2" ,rust-bzip2-0.4)
|
||||
("rust-flate2" ,rust-flate2-1)
|
||||
("rust-memchr" ,rust-memchr-2)
|
||||
("rust-pyo3" ,rust-pyo3-0.13)
|
||||
("rust-xz2" ,rust-xz2-0.1))
|
||||
#:cargo-development-inputs
|
||||
(("rust-assert-cmd" ,rust-assert-cmd-1)
|
||||
("rust-escargot" ,rust-escargot-0.5)
|
||||
("rust-predicates" ,rust-predicates-1)
|
||||
("rust-seq-io" ,rust-seq-io-0.3))))
|
||||
(inputs (list xz))
|
||||
(native-inputs (list pkg-config))
|
||||
(home-page "https://github.com/onecodex/needletail")
|
||||
(synopsis "FASTX parsing and k-mer methods")
|
||||
(description "Needletail is a minimal-copying FASTA/FASTQ parser and k-mer
|
||||
processing library for Rust.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-neli-0.4
|
||||
(package
|
||||
(name "rust-neli")
|
||||
@ -39618,6 +40070,25 @@ mathematics.")
|
||||
`(#:cargo-inputs
|
||||
(("rust-num-traits" , rust-num-traits-0.2))))))
|
||||
|
||||
(define-public rust-number-prefix-0.4
|
||||
(package
|
||||
(name "rust-number-prefix")
|
||||
(version "0.4.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "number_prefix" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1wvh13wvlajqxkb1filsfzbrnq0vrmrw298v2j3sy82z1rm282w3"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page "https://github.com/ogham/rust-number-prefix")
|
||||
(synopsis "Format numeric prefixes: kilo, giga, kibi")
|
||||
(description
|
||||
"This package provides a library for formatting numeric prefixes: kilo,
|
||||
giga, kibi.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-number-prefix-0.3
|
||||
(package
|
||||
(name "rust-number-prefix")
|
||||
@ -39679,6 +40150,27 @@ obfuscation for Rust. The string constant itself is embedded in obfuscated
|
||||
form and deobfuscated locally.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-obj-0.10
|
||||
(package
|
||||
(name "rust-obj")
|
||||
(version "0.10.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "obj" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0jks8qzjn59na40dv9m0q2j540i04cddbkbq02scgk9qawj9b705"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:tests? #false ;missing files
|
||||
#:cargo-inputs (("rust-genmesh" ,rust-genmesh-0.6))))
|
||||
(home-page "https://github.com/kvark/obj")
|
||||
(synopsis "Package for loading Wavefront .obj files")
|
||||
(description
|
||||
"This package provides a package for loading Wavefront @code{.obj} files.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public rust-obj-0.9
|
||||
(package
|
||||
(name "rust-obj")
|
||||
@ -47783,6 +48275,33 @@ integers, floats, tuples, booleans, lists, strings, options and results.")
|
||||
#:cargo-development-inputs
|
||||
(("rust-quickcheck" ,rust-quickcheck-0.8))))))
|
||||
|
||||
(define-public rust-quickersort-3
|
||||
(package
|
||||
(name "rust-quickersort")
|
||||
(version "3.0.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "quickersort" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"02r7wplnw7m1dhjah8p89inxn9g4nwb7ga7xdn95cffwpwn88z1h"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-nodrop" ,rust-nodrop-0.1)
|
||||
("rust-unreachable" ,rust-unreachable-1))
|
||||
#:cargo-development-inputs
|
||||
(("rust-itertools" ,rust-itertools-0.7)
|
||||
("rust-num-traits" ,rust-num-traits-0.2))))
|
||||
(home-page "https://github.com/notriddle/quickersort")
|
||||
(synopsis "Fast sorting")
|
||||
(description
|
||||
"This package implements fast sorting compatible with stable Rust. It
|
||||
also has (optional) support for efficient and robust sorting of floating point
|
||||
numbers.")
|
||||
(license (list license:expat license:asl2.0))))
|
||||
|
||||
(define-public rust-quine-mc-cluskey-0.2
|
||||
(package
|
||||
(name "rust-quine-mc-cluskey")
|
||||
@ -51494,6 +52013,49 @@ please consider using @code{async-std} or @code{tokio}.")
|
||||
(inputs
|
||||
(list sqlite))))
|
||||
|
||||
(define-public rust-rust-htslib-0.38
|
||||
(package
|
||||
(name "rust-rust-htslib")
|
||||
(version "0.38.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "rust-htslib" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"070sihnvyiyqcw8yjkdl8hvav598bsw36m722phgd2b394k6djia"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
;; TODO: cannot find openssl_src
|
||||
`(#:skip-build? #t
|
||||
#:cargo-inputs
|
||||
(("rust-bio-types" ,rust-bio-types-0.12)
|
||||
("rust-byteorder" ,rust-byteorder-1)
|
||||
("rust-custom-derive" ,rust-custom-derive-0.1)
|
||||
("rust-derive-new" ,rust-derive-new-0.5)
|
||||
("rust-hts-sys" ,rust-hts-sys-2)
|
||||
("rust-ieee754" ,rust-ieee754-0.2)
|
||||
("rust-lazy-static" ,rust-lazy-static-1)
|
||||
("rust-libc" ,rust-libc-0.2)
|
||||
("rust-linear-map" ,rust-linear-map-1)
|
||||
("rust-newtype-derive" ,rust-newtype-derive-0.1)
|
||||
("rust-regex" ,rust-regex-1)
|
||||
("rust-serde" ,rust-serde-1)
|
||||
("rust-serde-bytes" ,rust-serde-bytes-0.11)
|
||||
("rust-thiserror" ,rust-thiserror-1)
|
||||
("rust-url" ,rust-url-2))
|
||||
#:cargo-development-inputs
|
||||
(("rust-bincode" ,rust-bincode-1)
|
||||
("rust-pretty-assertions" ,rust-pretty-assertions-0.6))))
|
||||
(inputs (list openssl))
|
||||
(native-inputs (list pkg-config))
|
||||
(home-page "https://github.com/rust-bio/rust-htslib.git")
|
||||
(synopsis "HTSlib bindings and API for reading and writing BAM files")
|
||||
(description
|
||||
"This library provides HTSlib bindings and a high level Rust API for
|
||||
reading and writing BAM files.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-rustsec-0.25
|
||||
(package
|
||||
(name "rust-rustsec")
|
||||
@ -53003,6 +53565,37 @@ rustc compiler.")
|
||||
("rust-serde-derive" ,rust-serde-derive-1)
|
||||
("rust-webpki-roots" ,rust-webpki-roots-0.14))))))
|
||||
|
||||
(define-public rust-rustls-ffi-0.8
|
||||
(package
|
||||
(name "rust-rustls-ffi")
|
||||
(version "0.8.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "rustls-ffi" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"06kqrvm1d5ps9pml26zdd2hm8hh20j6svwvqibpnx7m5rh3jg9cx"))))
|
||||
(build-system cargo-build-system)
|
||||
;; Build needs cbindgen-0.19
|
||||
(arguments
|
||||
`(#:skip-build? #t
|
||||
#:cargo-inputs
|
||||
(("rust-libc" ,rust-libc-0.2)
|
||||
("rust-log" ,rust-log-0.4)
|
||||
("rust-num-enum" ,rust-num-enum-0.5)
|
||||
("rust-rustls" ,rust-rustls-0.20)
|
||||
("rust-rustls-pemfile" ,rust-rustls-pemfile-0.2)
|
||||
("rust-sct" ,rust-sct-0.7)
|
||||
("rust-webpki" ,rust-webpki-0.22))))
|
||||
(home-page "https://github.com/rustls/rustls-ffi")
|
||||
(synopsis "C to rustls bindings")
|
||||
(description "This package contains FFI bindings for the rustls TLS
|
||||
library, so you can use the library in C programs or any other language that
|
||||
supports FFI.")
|
||||
;; Use under the terms of any of these licenses
|
||||
(license (list license:asl2.0 license:isc license:expat))))
|
||||
|
||||
(define-public rust-rustls-native-certs-0.6
|
||||
(package
|
||||
(name "rust-rustls-native-certs")
|
||||
@ -54052,6 +54645,33 @@ encodable types.")
|
||||
"This package provides a simple scanf()-like input for Rust")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-sce-0.1
|
||||
(package
|
||||
(name "rust-sce")
|
||||
(version "0.1.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "sce" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1fv0nbx6r44rcqfy6881gin30d92zgxl0jrx4hfl725h0425i74j"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-byteorder" ,rust-byteorder-1)
|
||||
("rust-csv" ,rust-csv-1)
|
||||
("rust-flate2" ,rust-flate2-1)
|
||||
("rust-num" ,rust-num-0.4)
|
||||
("rust-num-traits" ,rust-num-traits-0.2)
|
||||
("rust-sprs" ,rust-sprs-0.11))))
|
||||
(home-page "https://github.com/parazodiac/SingleCellExperiment")
|
||||
(synopsis "Import and manage various single-cell matrices")
|
||||
(description
|
||||
"This package provides a library for importing and managing various
|
||||
single-cell matrices.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public rust-schannel-0.1
|
||||
(package
|
||||
(name "rust-schannel")
|
||||
@ -59602,6 +60222,70 @@ OIDs)")
|
||||
(description "Simple SPMC channel")
|
||||
(license (list license:expat license:asl2.0))))
|
||||
|
||||
(define-public rust-sprs-0.11
|
||||
(package
|
||||
(name "rust-sprs")
|
||||
(version "0.11.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "sprs" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0w6xishm9jxqjy83as7g14474cn1xb55vqz8afqw9d7and41x9vf"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:skip-build? #t ;8 test failures due to "No such file or directory"
|
||||
#:cargo-inputs
|
||||
(("rust-alga" ,rust-alga-0.9)
|
||||
("rust-approx" ,rust-approx-0.5)
|
||||
("rust-ndarray" ,rust-ndarray-0.15)
|
||||
("rust-num-complex" ,rust-num-complex-0.4)
|
||||
("rust-num-traits" ,rust-num-traits-0.2)
|
||||
("rust-num-cpus" ,rust-num-cpus-1)
|
||||
("rust-rayon" ,rust-rayon-1)
|
||||
("rust-serde" ,rust-serde-1)
|
||||
("rust-smallvec" ,rust-smallvec-1))
|
||||
#:cargo-development-inputs
|
||||
(("rust-bencher" ,rust-bencher-0.1)
|
||||
("rust-bincode" ,rust-bincode-1)
|
||||
("rust-tobj" ,rust-tobj-3))))
|
||||
(home-page "https://github.com/vbarrielle/sprs")
|
||||
(synopsis "Sparse matrix library")
|
||||
(description "This package provides a sparse matrix library.")
|
||||
;; Either license can be chosen
|
||||
(license (list license:expat license:asl2.0))))
|
||||
|
||||
(define-public rust-sprs-0.10
|
||||
(package
|
||||
(inherit rust-sprs-0.11)
|
||||
(name "rust-sprs")
|
||||
(version "0.10.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "sprs" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"18qwm1wnc1jbzdpl0wfrrybb6rak74zv8jmfg87id7ksb6crkz6r"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:skip-build? #t ;8 test failures due to "No such file or directory"
|
||||
#:cargo-inputs
|
||||
(("rust-alga" ,rust-alga-0.9)
|
||||
("rust-approx" ,rust-approx-0.3)
|
||||
("rust-ndarray" ,rust-ndarray-0.14)
|
||||
("rust-num-complex" ,rust-num-complex-0.2)
|
||||
("rust-num-traits" ,rust-num-traits-0.2)
|
||||
("rust-num-cpus" ,rust-num-cpus-1)
|
||||
("rust-rayon" ,rust-rayon-1)
|
||||
("rust-serde" ,rust-serde-1)
|
||||
("rust-smallvec" ,rust-smallvec-1))
|
||||
#:cargo-development-inputs
|
||||
(("rust-bencher" ,rust-bencher-0.1)
|
||||
("rust-bincode" ,rust-bincode-1)
|
||||
("rust-tobj" ,rust-tobj-2))))))
|
||||
|
||||
(define-public rust-rspotify-0.10
|
||||
(package
|
||||
(name "rust-rspotify")
|
||||
@ -61791,6 +62475,28 @@ a syntax tree of Rust source code.")
|
||||
"This package provides the features between \"full\" and \"derive\" of syn.")
|
||||
(license (list license:asl2.0 license:expat))))
|
||||
|
||||
(define-public rust-synchronoise-1
|
||||
(package
|
||||
(name "rust-synchronoise")
|
||||
(version "1.0.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "synchronoise" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1szasv8xl6z3gxfq8h8wllw2mq53d71nn29achxsnfcxzh7fs5yp"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-crossbeam-queue" ,rust-crossbeam-queue-0.1))))
|
||||
(home-page "https://github.com/QuietMisdreavus/synchronoise")
|
||||
(synopsis "Synchronization primitives")
|
||||
(description
|
||||
"This package provides synchronization primitives that build upon the
|
||||
standard library.")
|
||||
(license (list license:expat license:asl2.0))))
|
||||
|
||||
(define-public rust-synom-0.11
|
||||
(package
|
||||
(name "rust-synom")
|
||||
@ -65066,6 +65772,47 @@ to a style defined by John Gruber for post titles on his website ``Daring
|
||||
Fireball''.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-tobj-3
|
||||
(package
|
||||
(name "rust-tobj")
|
||||
(version "3.1.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "tobj" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1q9hxhdzbqcrpnmja98mnd5890jf3x1njg0q1lgpj8yg5j29ryc9"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:skip-build? #t ;tests are incomplete
|
||||
#:cargo-inputs
|
||||
(("rust-ahash" ,rust-ahash-0.7)
|
||||
("rust-log" ,rust-log-0.4))))
|
||||
(home-page "https://github.com/Twinklebear/tobj")
|
||||
(synopsis "Lightweight OBJ loader in the spirit of tinyobjloader")
|
||||
(description
|
||||
"This package provides a lightweight OBJ loader in the spirit of
|
||||
tinyobjloader.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-tobj-2
|
||||
(package
|
||||
(inherit rust-tobj-3)
|
||||
(name "rust-tobj")
|
||||
(version "2.0.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "tobj" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"06w8ix9nk38wli0pjfl22hiyy07byhdcz18nkwhzg775x1dzas14"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:skip-build? #t ;tests are incomplete
|
||||
#:cargo-inputs (("rust-log" ,rust-log-0.4))))))
|
||||
|
||||
(define-public rust-tokio-1
|
||||
(package
|
||||
(name "rust-tokio")
|
||||
@ -75041,6 +75788,34 @@ for @code{uint} and @code{fixed_hash}.")
|
||||
a trait for tuples.")
|
||||
(license (list license:asl2.0 license:expat))))
|
||||
|
||||
(define-public rust-indicatif-0.16
|
||||
(package
|
||||
(name "rust-indicatif")
|
||||
(version "0.16.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "indicatif" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"06xyjs0kzqiqkjn60n1miwm2l87sa9p2lmzz0ymq18y72z37s81d"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-console" ,rust-console-0.15)
|
||||
("rust-lazy-static" ,rust-lazy-static-1)
|
||||
("rust-number-prefix" ,rust-number-prefix-0.4)
|
||||
("rust-rayon" ,rust-rayon-1)
|
||||
("rust-regex" ,rust-regex-1)
|
||||
("rust-unicode-segmentation" ,rust-unicode-segmentation-1)
|
||||
("rust-unicode-width" ,rust-unicode-width-0.1))))
|
||||
(home-page "https://github.com/console-rs/indicatif")
|
||||
(synopsis "Progress bar and cli reporting library for Rust")
|
||||
(description
|
||||
"This package provides a progress bar and cli reporting library for
|
||||
Rust.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-inflections-1
|
||||
(package
|
||||
(name "rust-inflections")
|
||||
|
@ -70,7 +70,7 @@
|
||||
(name (string-append (package-name p) "-cross-" target))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments p)
|
||||
((#:configure-flags flags)
|
||||
((#:configure-flags flags ''())
|
||||
`(cons ,(string-append "--target=" target)
|
||||
,flags))))))
|
||||
|
||||
|
@ -24,6 +24,7 @@
|
||||
;;; Copyright © 2021, 2022 Brendan Tildesley <mail@brendan.scot>
|
||||
;;; Copyright © 2022 Allan Adair <allan@adair.no>
|
||||
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -1699,3 +1700,42 @@ sha256crypt, md5crypt, SunMD5, sha1crypt, NT, bsdicrypt, bigcrypt, and
|
||||
descrypt.")
|
||||
(home-page "https://github.com/besser82/libxcrypt")
|
||||
(license license:lgpl2.1)))
|
||||
|
||||
(define-public keychain
|
||||
(package
|
||||
(name "keychain")
|
||||
(version "2.8.5")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/funtoo/keychain")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1bkjlg0a2bbdjhwp37ci1rwikvrl4s3xlbf2jq2z4azc96dr83mj"))))
|
||||
(build-system gnu-build-system)
|
||||
(propagated-inputs (list procps))
|
||||
(arguments
|
||||
`(#:tests? #f ; No test suite
|
||||
#:phases (modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(install-file "keychain"
|
||||
(string-append %output "/bin/"))
|
||||
(install-file "keychain.1"
|
||||
(string-append %output "/share/man/man1"))
|
||||
#t)))))
|
||||
(synopsis
|
||||
"SSH or GPG agent frontend that can share a single agent on the same
|
||||
system")
|
||||
(description
|
||||
"Keychain is usually run from shell profiles like ~/.bash_profile, but
|
||||
it is also possible to use it with non-interactive shells. It works
|
||||
with various operating systems (including GNU/Linux and HURD) and
|
||||
shells (like bourne-compatible, csh-compatible and fish shells). By
|
||||
default Keychain will only start ssh-agent, but it can also be
|
||||
configured to start gpg-agent.")
|
||||
(home-page "https://www.funtoo.org/Keychain")
|
||||
(license license:gpl2)))
|
||||
|
@ -4141,7 +4141,7 @@ the SQL language using a syntax that reflects the resulting query.")
|
||||
(define-public apache-arrow
|
||||
(package
|
||||
(name "apache-arrow")
|
||||
(version "8.0.0")
|
||||
(version "9.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -4151,7 +4151,7 @@ the SQL language using a syntax that reflects the resulting query.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1gwiflk72pq1krc0sjzabypmh7slfyf7ak71fiypy3xgzw8a777c"))))
|
||||
"1l76q7944jyx22vjkk12hxb3nadgiivc3x8ml4mg619v9xxagc2v"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f
|
||||
|
@ -4,7 +4,7 @@
|
||||
;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2021 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2021 Andrew Whatson <whatson@gmail.com>
|
||||
@ -37,9 +37,11 @@
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages web-browsers)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix build utils) #:select (alist-replace))
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system gnu)
|
||||
@ -229,55 +231,152 @@ by no means limited to these applications.) This package provides XML DTDs.")
|
||||
"This package provides XSL style sheets for DocBook.")
|
||||
(license (license:x11-style "" "See 'COPYING' file."))))
|
||||
|
||||
(define-public docbook-xsl-ns
|
||||
;;; TODO: Make this the default docbook-xsl on core-updates. There's an issue
|
||||
;;; in docbook-xsl 1.79.2 that causes manpages to be generated incorrectly and
|
||||
;;; embed raw nroff syntax such as '.PP' when there is a
|
||||
;;; namespace/non-namespace mismatch between the sources and the stylesheets
|
||||
;;; used (see: https://github.com/docbook/xslt10-stylesheets/issues/109).
|
||||
(define-public docbook-xsl-next
|
||||
(let ((commit "fe16c90013b64e316c3e21ef92d1e8813c10f88c")
|
||||
(revision "0")
|
||||
(base-version (package-version docbook-xsl)))
|
||||
(package
|
||||
(inherit docbook-xsl)
|
||||
(name "docbook-xsl")
|
||||
(version (git-version base-version revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/docbook/xslt10-stylesheets")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
;; Multiple .jar files are bundled with the sources.
|
||||
(modules '((guix build utils)))
|
||||
(snippet '(for-each delete-file (find-files "." "\\.jar$")))
|
||||
(sha256
|
||||
(base32
|
||||
"1bl8dwrcy7skrlh80fpsmiw045bv2j0aym231ikcv3hvm2pi98dj"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:make-flags #~(list "XSLTENGINE=xsltproc")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda _
|
||||
;; The build systems insist on a ~/.xmlc, and it is simpler to
|
||||
;; create a dummy config file than to patch it into
|
||||
;; submission.
|
||||
(setenv "HOME" "/tmp")
|
||||
(call-with-output-file "/tmp/.xmlc"
|
||||
(lambda (port)
|
||||
(format port "\
|
||||
<?xml version='1.0' encoding='utf-8'?> <!-- -*- nxml -*- -->
|
||||
<config>
|
||||
<java xml:id=\"bigmem\">
|
||||
<java-option name=\"Xmx512m\"/>
|
||||
</java>
|
||||
<xsltproc xml:id=\"xsltproc\" exec=\"xsltproc\"></xsltproc>
|
||||
<xmllint xml:id=\"xmllint\" exec=\"xmllint\"></xmllint>
|
||||
</config>\n")))
|
||||
(substitute* "xsl/Makefile"
|
||||
;; Do not build webhelp files, as they require a Saxon from
|
||||
;; 2005, which is not packaged in Guix.
|
||||
((" webhelp") ""))))
|
||||
(add-before 'install 'generate-catalog.xml
|
||||
(lambda* (#:key make-flags #:allow-other-keys)
|
||||
(apply invoke "make" "-C" "xsl" "catalog.xml" make-flags)))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(let ((xml (string-append #$output "/xml/xsl/"
|
||||
#$name "-" #$version))
|
||||
(select-rx (make-regexp
|
||||
"(\\.xml$|\\.xsl$|\\.dtd$|\\.ent$)")))
|
||||
;; Install catalog.
|
||||
(chdir "xsl")
|
||||
(install-file "catalog.xml" xml)
|
||||
(install-file "VERSION.xsl" xml)
|
||||
(substitute* (string-append xml "/catalog.xml")
|
||||
;; Re-add the no longer present compatibility entries.
|
||||
((".*</catalog>.*" anchor)
|
||||
(string-append "\
|
||||
<!-- Also support old URI of v1.79.1 or earlier -->
|
||||
<rewriteURI uriStartString=\"http://docbook.sourceforge.net\
|
||||
/release/xsl/current/\" rewritePrefix=\"./\"/>
|
||||
<rewriteSystem systemIdStartString=\"http://docbook.sourceforge.net\
|
||||
/release/xsl/current/\" rewritePrefix=\"./\"/>\n" anchor))
|
||||
(("/snapshot/")
|
||||
(string-append "/" #$base-version "/"))
|
||||
(("rewritePrefix=\"./")
|
||||
(string-append "rewritePrefix=\"file://" xml "/")))
|
||||
;; Install style sheets.
|
||||
(for-each (lambda (dir)
|
||||
(for-each (lambda (f)
|
||||
(install-file
|
||||
f (string-append xml "/" (dirname f))))
|
||||
(find-files dir select-rx)))
|
||||
'("assembly" "common" "eclipse" "epub" "epub3" "fo"
|
||||
"highlighting" "html" "htmlhelp" "javahelp" "lib"
|
||||
"manpages" "params" "profiling" "roundtrip"
|
||||
"template" "website"
|
||||
"xhtml" "xhtml-1_1" "xhtml5"))))))))
|
||||
(native-inputs (list libxml2
|
||||
libxslt
|
||||
perl
|
||||
perl-xml-xpath)))))
|
||||
|
||||
(define-public docbook-xsl-1.79.1
|
||||
(package
|
||||
(name "docbook-xsl-ns")
|
||||
(name "docbook-xsl")
|
||||
(version "1.79.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
;; At the time, the non namespaced version was still the
|
||||
;; default; our latest docbook-xsl is namespaced, so for
|
||||
;; consistency preserves this property for older versions too.
|
||||
(uri (string-append "mirror://sourceforge/docbook/"
|
||||
name "/" version "/"
|
||||
name "-" version ".tar.bz2"))
|
||||
name "-ns/" version "/"
|
||||
name "-ns-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"170ggf5dgjar65kkn5n33kvjr3pdinpj66nnxfx8b2avw0k91jin"))))
|
||||
(build-system copy-build-system)
|
||||
(outputs '("out" "doc"))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; XXX: The copy-build-system doesn't seem to allow installing to a
|
||||
;; different output.
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(xml (string-append out "/xml/xsl/" ,name "-" ,version))
|
||||
(doc (string-append (assoc-ref %outputs "doc")
|
||||
"/share/doc/" ,name "-" ,version))
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; XXX: The copy-build-system doesn't seem to allow installing to a
|
||||
;; different output.
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(let ((xml (string-append #$output "/xml/xsl/" #$name "-" #$version))
|
||||
(doc (string-append #$output:doc
|
||||
"/share/doc/" #$name "-" #$version))
|
||||
(select-rx (make-regexp
|
||||
"(\\.xml$|\\.xsl$|\\.dtd$|\\.ent$)")))
|
||||
;; Install catalog.
|
||||
(install-file "catalog.xml" xml)
|
||||
(install-file "VERSION.xsl" xml)
|
||||
(substitute* (string-append xml "/catalog.xml")
|
||||
(("rewritePrefix=\"./")
|
||||
(string-append "rewritePrefix=\"file://" xml "/")))
|
||||
;; Install style sheets.
|
||||
(for-each (lambda (dir)
|
||||
(for-each (lambda (f)
|
||||
(install-file
|
||||
f (string-append xml "/" (dirname f))))
|
||||
(find-files dir select-rx)))
|
||||
'("assembly" "common" "eclipse" "epub" "epub3" "fo"
|
||||
"highlighting" "html" "htmlhelp" "javahelp" "lib"
|
||||
"manpages" "params" "profiling" "roundtrip"
|
||||
"template" "website"
|
||||
"xhtml" "xhtml-1_1" "xhtml5"))
|
||||
;; Install documentation.
|
||||
(install-file "NEWS" doc)
|
||||
(install-file "RELEASE-NOTES.html" doc)
|
||||
(copy-recursively "slides" doc)
|
||||
(copy-recursively "webhelp" doc)))))))
|
||||
;; Install catalog.
|
||||
(install-file "catalog.xml" xml)
|
||||
(install-file "VERSION.xsl" xml)
|
||||
(substitute* (string-append xml "/catalog.xml")
|
||||
(("rewritePrefix=\"./")
|
||||
(string-append "rewritePrefix=\"file://" xml "/")))
|
||||
;; Install style sheets.
|
||||
(for-each (lambda (dir)
|
||||
(for-each (lambda (f)
|
||||
(install-file
|
||||
f (string-append xml "/" (dirname f))))
|
||||
(find-files dir select-rx)))
|
||||
'("assembly" "common" "eclipse" "epub" "epub3" "fo"
|
||||
"highlighting" "html" "htmlhelp" "javahelp" "lib"
|
||||
"manpages" "params" "profiling" "roundtrip"
|
||||
"template" "website"
|
||||
"xhtml" "xhtml-1_1" "xhtml5"))
|
||||
;; Install documentation.
|
||||
(install-file "NEWS" doc)
|
||||
(install-file "RELEASE-NOTES.html" doc)
|
||||
(copy-recursively "slides" doc)
|
||||
(copy-recursively "webhelp" doc)))))))
|
||||
(home-page "https://docbook.org")
|
||||
(synopsis "DocBook XSL namespaced style sheets for document authoring")
|
||||
(description "This package provides the @emph{namespaced} XSL style sheets
|
||||
|
@ -70,7 +70,7 @@
|
||||
;;; Copyright © 2020 Jérémy Korwin-Zmijowski <jeremy@korwin-zmijowski.fr>
|
||||
;;; Copyright © 2020 Alberto Eleuterio Flores Guerrero <barbanegra+guix@posteo.mx>
|
||||
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2020 pinoaffe <pinoaffe@airmail.cc>
|
||||
;;; Copyright © 2020, 2022 pinoaffe <pinoaffe@gmail.com>
|
||||
;;; Copyright © 2020, 2021, 2022 Vinicius Monego <monego@posteo.net>
|
||||
;;; Copyright © 2020 Ryan Desfosses <rdes@protonmail.com>
|
||||
;;; Copyright © 2020 Marcin Karpezo <sirmacik@wioo.waw.pl>
|
||||
@ -95,7 +95,7 @@
|
||||
;;; Copyright © 2021 Alexey Abramov <levenson@mmer.org>
|
||||
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
|
||||
;;; Copyright © 2021, 2022 Stefan Reichör <stefan@xsteve.at>
|
||||
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
|
||||
;;; Copyright © 2021, 2022 Simon Tournier <zimon.toutoune@gmail.com>
|
||||
;;; Copyright © 2021 Eugene Klimov <lipklim@mailbox.org>
|
||||
;;; Copyright © 2021 Zheng Junjie <873216071@qq.com>
|
||||
;;; Copyright © 2021 David Dashyan <mail@davie.li>
|
||||
@ -116,6 +116,7 @@
|
||||
;;; Copyright © 2022 Haider Mirza <haider@haider.gq>
|
||||
;;; Copyright © 2022 Jose G Perez Taveras <josegpt27@gmail.com>
|
||||
;;; Copyright © 2022 Hilton Chain <hako@ultrarare.space>
|
||||
;;; Copyright © 2022 Nicolas Graves <ngraves@ngraves.fr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -139,6 +140,7 @@
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix bzr-download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix i18n)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix hg-download)
|
||||
#:use-module (guix build-system gnu)
|
||||
@ -240,6 +242,9 @@
|
||||
#:use-module (gnu packages photo)
|
||||
#:use-module (gnu packages uml)
|
||||
#:use-module (gnu packages finance)
|
||||
#:use-module (gnu packages ocaml)
|
||||
#:use-module (gnu packages erlang)
|
||||
#:use-module (gnu packages statistics)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (ice-9 match))
|
||||
@ -962,6 +967,8 @@ on stdout instead of using a socket as the Emacsclient does.")
|
||||
(install #:outputs outputs
|
||||
#:include (cons "\\.so$"
|
||||
emacs:%default-include)))))
|
||||
(add-after 'unpack 'emacs-add-install-to-native-load-path
|
||||
(assoc-ref emacs:%standard-phases 'add-install-to-native-load-path))
|
||||
(add-after 'install 'make-autoloads
|
||||
(assoc-ref emacs:%standard-phases 'make-autoloads))
|
||||
(add-after 'make-autoloads 'enable-autoloads-compilation
|
||||
@ -2618,6 +2625,29 @@ framework as the user interface, which integrates well with Vertico or
|
||||
Selectrum.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-marginalia-emprise
|
||||
(package
|
||||
(name "emacs-marginalia-emprise")
|
||||
(version "0.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.sr.ht/~plattfot/marginalia-emprise")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32
|
||||
"1kbk3kgvv1k5zdysvpgcsbxiwn4la3vvnmv3sbzxq7q5v5cr4a54"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs
|
||||
(list emacs-emprise emacs-marginalia))
|
||||
(home-page "https://sr.ht/~plattfot/emprise/")
|
||||
(synopsis "Annotate Emprise with Marginalia")
|
||||
(description "This package provides an annotation function to show
|
||||
playback status, artist name and title for Emprise using Marginalia.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Miscellaneous.
|
||||
@ -2676,6 +2706,29 @@ command, which uses Emacs standard completion to select an application
|
||||
installed on your machine and launch it.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-alchemist
|
||||
(package
|
||||
(name "emacs-alchemist")
|
||||
(version "1.8.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://stable.melpa.org/packages/"
|
||||
"alchemist-" version ".tar"))
|
||||
(sha256
|
||||
(base32 "0ygwf9d739zqc8dcckw0j0bqkipw7cmxbrx3l281x237a3d384yw"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs
|
||||
(list emacs-elixir-mode emacs-dash emacs-company emacs-pkg-info))
|
||||
(home-page "http://www.github.com/tonini/alchemist.el")
|
||||
(synopsis "Elixir tooling integration into Emacs")
|
||||
(description
|
||||
"This package brings you all the Elixir tooling and power inside your Emacs
|
||||
editor. It comes with commands to compile, execute and test your code, spawn
|
||||
an interactive shell, and look up definitions and documentation as well as
|
||||
code completion and project management support.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-auto-sudoedit
|
||||
(package
|
||||
(name "emacs-auto-sudoedit")
|
||||
@ -3996,7 +4049,9 @@ during idle time, while Emacs is doing nothing else.")
|
||||
("pdf-tools-handle-upgrades" '()))))
|
||||
(add-after 'emacs-patch-variables 'emacs-expand-load-path
|
||||
(assoc-ref emacs:%standard-phases 'expand-load-path))
|
||||
(add-after 'emacs-expand-load-path 'emacs-install
|
||||
(add-after 'emacs-expand-load-path 'emacs-add-install-to-native-load-path
|
||||
(assoc-ref emacs:%standard-phases 'add-install-to-native-load-path))
|
||||
(add-after 'emacs-add-install-to-native-load-path 'emacs-install
|
||||
(assoc-ref emacs:%standard-phases 'install))
|
||||
(add-after 'emacs-install 'emacs-build
|
||||
(assoc-ref emacs:%standard-phases 'build))
|
||||
@ -4041,6 +4096,42 @@ DocView mode, and revisiting those PDF files later using the same mode will
|
||||
restore the saved place.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-pdfgrep
|
||||
;; XXX: Upstream does not tag releases. The commit below matches latest
|
||||
;; version bump.
|
||||
(let ((commit "e250376d97fc5240e07d81108bbca9b5a9ab50f4"))
|
||||
(package
|
||||
(name "emacs-pdfgrep")
|
||||
(version "1.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/jeremy-compostella/pdfgrep")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32 "17yqvvgkgxmcl8nc0mb9yaz884zcdnz7dwvfi4mxjzp1l05fvwjk"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list #:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-pdfgrep-path
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(make-file-writable "pdfgrep.el")
|
||||
(emacs-substitute-variables "pdfgrep.el"
|
||||
("pdfgrep-program"
|
||||
(search-input-file inputs "bin/pdfgrep"))))))))
|
||||
(inputs (list pdfgrep))
|
||||
(home-page "https://github.com/jeremy-compostella/pdfgrep")
|
||||
(synopsis "Emacs module providing @code{grep} comparable facilities but
|
||||
for PDF files")
|
||||
(description
|
||||
"pdfgrep is a GNU/Emacs module providing @code{grep} comparable
|
||||
facilities but for PDF files. Its usage is similar to the @code{grep}
|
||||
function. For example, using the @code{next-error} function gets you to the
|
||||
next matching page.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-dash
|
||||
(package
|
||||
(name "emacs-dash")
|
||||
@ -5946,6 +6037,41 @@ heading, other headings can be refiled to it with one command, and back to
|
||||
their original location with another.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-orgmdb
|
||||
(package
|
||||
(name "emacs-orgmdb")
|
||||
(version "0.5")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/isamert/orgmdb.el")
|
||||
(commit "66c13abdb84e0f0a31bae6cfda27478771d58d8e")))
|
||||
(sha256
|
||||
(base32
|
||||
"1hvxha0ih9jhvwj07l6jnpf2vzhgvb6ii73g49c8saxld61l0frf"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list #:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'configure
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "orgmdb.el"
|
||||
(("\"fd ")
|
||||
(string-append "\""
|
||||
(search-input-file inputs "/bin/fd")
|
||||
" "))))))))
|
||||
(inputs
|
||||
(list fd))
|
||||
(propagated-inputs
|
||||
(list emacs-dash emacs-org emacs-s))
|
||||
(home-page "https://github.com/isamert/orgmdb.el")
|
||||
(synopsis "Emacs' Org mode watchlist manager and OMDb API client")
|
||||
(description "This package adds tools for managing your watchlist in Emacs'
|
||||
Org mode and some functions for interacting with the OMDb API.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-rich-minority
|
||||
(package
|
||||
(name "emacs-rich-minority")
|
||||
@ -6854,14 +6980,14 @@ user.")
|
||||
(define-public emacs-subed
|
||||
(package
|
||||
(name "emacs-subed")
|
||||
(version "1.0.9")
|
||||
(version "1.0.10")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://elpa.nongnu.org/nongnu/subed-"
|
||||
version ".tar"))
|
||||
(sha256
|
||||
(base32
|
||||
"192m7pg8hiqx7ppr1sk6n5qjcbz78dmcg6m14syq12ll07zfpcm0"))))
|
||||
"08vw9sv2g76yj8sfnx53dd28zkj4s0842i7qi92jam993v9s8h0z"))))
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #t
|
||||
@ -6945,6 +7071,34 @@ source code using IPython.")
|
||||
src blocks.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-ol-notmuch
|
||||
(let ((commit "1a53d6c707514784cabf33d865b577bf77f45913")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "emacs-ol-notmuch")
|
||||
(version (git-version "2.0.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.sr.ht/~tarsius/ol-notmuch")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"16p7j51z8r047alwn2hkb6944f7ds29ckb97b4k8ia00vwch0d67"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs
|
||||
(list emacs-compat emacs-notmuch emacs-org))
|
||||
(home-page "https://git.sr.ht/~tarsius/ol-notmuch")
|
||||
(synopsis "Links to notmuch messages for Emacs' Org mode")
|
||||
(description
|
||||
"This package implements links to Notmuch messages and searches for
|
||||
Emacs' Org mode. A search is a query to be performed by Notmuch; it is the
|
||||
equivalent to folders in other mail clients. Similarly, mails are referred to
|
||||
by a query, so both a link can refer to several mails.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-debbugs
|
||||
(package
|
||||
(name "emacs-debbugs")
|
||||
@ -6975,6 +7129,43 @@ A minor mode @code{debbugs-browse-mode} let you browse URLs to the GNU Bug
|
||||
Tracker as well as bug identifiers prepared for @code{bug-reference-mode}.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-piem
|
||||
(package
|
||||
(name "emacs-piem")
|
||||
(version "0.4.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.kyleam.com/piem")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32 "0wr6n6wvznngjdp4c0pmdr4xz05dark0kxi5svzhzxsg3rdaql3z"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list #:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'configure
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(emacs-substitute-variables "piem-b4.el"
|
||||
("piem-b4-b4-executable"
|
||||
(search-input-file inputs "/bin/b4"))))))))
|
||||
(inputs
|
||||
(list b4))
|
||||
(propagated-inputs
|
||||
(list emacs-elfeed
|
||||
emacs-notmuch
|
||||
emacs-transient))
|
||||
(home-page "https://docs.kyleam.com/piem")
|
||||
(synopsis "Glue for working with public-inbox archives")
|
||||
(description "This packages provides a collection of Emacs libraries for
|
||||
working with public-inbox archives. As much of the hard work here is already
|
||||
done by other Emacs libraries—things like mail clients, news readers, Git
|
||||
interfaces, and even web browsers—piem is mostly about bridging some of these
|
||||
parts for convenience.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-ert-expectations
|
||||
(package
|
||||
(name "emacs-ert-expectations")
|
||||
@ -8953,6 +9144,40 @@ variants.")
|
||||
package provides a light and a dark variant.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-color-theme-solarized
|
||||
;; From 2017-10-24. No releases available.
|
||||
(let ((commit "f3ca8902ea056fb8e46cb09f09c96294e31cd4ee")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "emacs-color-theme-solarized")
|
||||
(version (git-version "0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url
|
||||
"https://github.com/sellout/emacs-color-theme-solarized")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"16d7adqi07lzzr0qipl1fbag9l8kiyr3xrqxi528pimcisbg85d3"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list #:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; These are intended for old versions of Emacs and do not
|
||||
;; compile with emacs>=24.
|
||||
(add-before 'install 'remove-color-theme
|
||||
(lambda _
|
||||
(delete-file "./color-theme-solarized.el")
|
||||
(delete-file "./color-theme-solarized-pkg.el"))))))
|
||||
(home-page "https://github.com/sellout/emacs-color-theme-solarized")
|
||||
(synopsis "Solarized color scheme for Emacs")
|
||||
(description
|
||||
"This package provides Emacs highlighting using Ethan Schoonover’s
|
||||
Solarized color scheme.")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public emacs-poet-theme
|
||||
(let ((commit "16eb694f0755c04c4db98614d0eca1199fddad70")
|
||||
(revision "1"))
|
||||
@ -9713,7 +9938,7 @@ regexp that matches all known keywords.")
|
||||
(define-public emacs-perspective
|
||||
(package
|
||||
(name "emacs-perspective")
|
||||
(version "2.17")
|
||||
(version "2.18")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -9722,7 +9947,7 @@ regexp that matches all known keywords.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1nmz39pcaa969g1966ykblzrz6lr3ddb0ip465y5in1fj498as6y"))))
|
||||
(base32 "1r026cw6p2ss5wg8mxgzf6iv1lb9pdnqyf6yrqb914aibkrvp9b6"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
`(#:tests? #t
|
||||
@ -11078,6 +11303,27 @@ errors and strict-mode warnings, smart line-wrapping within comments and
|
||||
strings, and code folding.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-js-comint
|
||||
(package
|
||||
(name "emacs-js-comint")
|
||||
(version "1.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://stable.melpa.org/packages/"
|
||||
"js-comint-" version ".el"))
|
||||
(sha256
|
||||
(base32 "1qin0hclm3ly62nl5ddiim64bcd2k74b1yqsqqc61cf9k2q8k287"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://github.com/redguardtoo/js-comint")
|
||||
(synopsis "Interacting with a JavaScript interpeter")
|
||||
(description
|
||||
"This program is a comint mode for Emacs which allows you to run a
|
||||
compatible JavaScript REPL, such as node, SpiderMonkey or Rhino.
|
||||
It also defines a few functions for sending JavaScript input to this REPL from
|
||||
an Emacs buffer.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-nodejs-repl
|
||||
(package
|
||||
(name "emacs-nodejs-repl")
|
||||
@ -12780,7 +13026,7 @@ using package inferred style.")
|
||||
`(#:tests? #t
|
||||
#:test-command '("buttercup" "-l" "lua-mode.el")))
|
||||
(native-inputs
|
||||
(list emacs-buttercup lua))
|
||||
(list emacs-buttercup-1.25 lua))
|
||||
(synopsis "Major mode for lua")
|
||||
(description
|
||||
"This Emacs package provides a mode for @uref{https://www.lua.org/,
|
||||
@ -14010,7 +14256,7 @@ you to deal with multiple log levels.")
|
||||
(define-public emacs-denote
|
||||
(package
|
||||
(name "emacs-denote")
|
||||
(version "0.5.1")
|
||||
(version "0.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -14019,7 +14265,7 @@ you to deal with multiple log levels.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "00f50dhw0x1hn87rc6vkrdwpybnbphg5z0g2c6c4r4cbgaiia8bi"))))
|
||||
(base32 "0wqrl2fdprmgffxg5xak881gs0g4ffdy2n8wcb4wbz3f6anhfaa5"))))
|
||||
(build-system emacs-build-system)
|
||||
(native-inputs (list texinfo))
|
||||
(home-page "https://protesilaos.com/emacs/denote/")
|
||||
@ -14169,6 +14415,33 @@ stuff (words, region, lines) around in Emacs.")
|
||||
@uref{https://bazel.build/} for background on Bazel.")
|
||||
(license license:asl2.0))))
|
||||
|
||||
(define-public emacs-clue
|
||||
;; There are no releases so far.
|
||||
(let ((commit "41895da52cf76f964d97cb8204406ab9828c4839")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "emacs-clue")
|
||||
(version (git-version "0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/AmaiKinono/clue")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "08xpdpac82v5vwqqqgbh5imakl4pys6bpfacfk05pk88lw925ql8"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://github.com/AmaiKinono/clue/")
|
||||
(synopsis "Connecting clues while reading code")
|
||||
(description
|
||||
"Clue is a tool for helping you take notes while reading code.
|
||||
|
||||
Code reading is all about finding connections between different locations in
|
||||
a project. With Clue, you can take notes about these connections in plain
|
||||
text (or your favorite markup language), and insert links to take you to these
|
||||
locations.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-gntp
|
||||
(package
|
||||
(name "emacs-gntp")
|
||||
@ -14293,7 +14566,7 @@ automatically discovered and presented in recency order.")
|
||||
(define-public emacs-mentor
|
||||
(package
|
||||
(name "emacs-mentor")
|
||||
(version "0.3.5")
|
||||
(version "0.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@ -14301,7 +14574,7 @@ automatically discovered and presented in recency order.")
|
||||
version ".tar"))
|
||||
(sha256
|
||||
(base32
|
||||
"01zrvfk2njzyzjzkvp5hv5cjl1k1qjrila1ab4bv26gf6bkq5xh3"))))
|
||||
"1n51yabm4npx62fpfn8rhky09x4y779ismdxa026fycy7va7ynzz"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs
|
||||
(list emacs-async emacs-xml-rpc))
|
||||
@ -15401,13 +15674,13 @@ containing words from the Rime project.")
|
||||
(define-public emacs-pyim
|
||||
(package
|
||||
(name "emacs-pyim")
|
||||
(version "5.2.4")
|
||||
(version "5.2.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://elpa.gnu.org/packages/pyim-" version ".tar"))
|
||||
(sha256
|
||||
(base32 "1dzl4xaf31nyjb5hnwwf29i75x0i8dakpmmagbn4ks5hi3jl2ig0"))))
|
||||
(base32 "00f23pl53rdy9iwp4gj2656wik7c6vnmhsglg7z4pz3ippz3f4hq"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs
|
||||
(list emacs-async emacs-popup emacs-posframe emacs-xr))
|
||||
@ -16304,25 +16577,42 @@ highlighting.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-jsonrpc
|
||||
(package
|
||||
(name "emacs-jsonrpc")
|
||||
(version "1.0.15")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://elpa.gnu.org/packages/"
|
||||
"jsonrpc-" version ".tar"))
|
||||
(sha256
|
||||
(base32 "1hx378rg12jz2zm105cvrqk0nqyzsn04l59d903l98d6lbd96rsw"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "http://elpa.gnu.org/packages/jsonrpc.html")
|
||||
(synopsis "JSON-RPC library")
|
||||
(description
|
||||
"This library implements the JSONRPC 2.0 specification as
|
||||
;; Commit refers to a commit in the Emacs repository, as jsonrpc.el was
|
||||
;; upstreamed. By convention, it should refer to a commit in which
|
||||
;; jsonrpc.el was actually touched.
|
||||
(let ((commit "50654cf0b1bf6210fc8f46d8e7ae13bbeeccecb5")
|
||||
(revision "0")) ; Currently a version bump
|
||||
(package
|
||||
(name "emacs-jsonrpc")
|
||||
(version (git-version "1.0.15" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.savannah.gnu.org/git/emacs.git")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0srwb171dxha1nfzppk6x9v4bdj3lk74pksqnhalw8jw9c67b72y"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list #:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'unpack
|
||||
(lambda* (#:key source #:allow-other-keys)
|
||||
(mkdir "source")
|
||||
(chdir "source")
|
||||
(copy-file (string-append source "/lisp/jsonrpc.el")
|
||||
"jsonrpc.el"))))))
|
||||
(home-page "http://elpa.gnu.org/packages/jsonrpc.html")
|
||||
(synopsis "JSON-RPC library")
|
||||
(description
|
||||
"This library implements the JSONRPC 2.0 specification as
|
||||
described in @url{http://www.jsonrpc.org/}. As the name suggests,
|
||||
JSONRPC is a generic Remote Procedure Call protocol designed around
|
||||
JSON objects.")
|
||||
(license license:gpl3+)))
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-jsonnet-mode
|
||||
(package
|
||||
@ -16706,7 +16996,7 @@ multiplexer.")
|
||||
(define-public emacs-plz
|
||||
(package
|
||||
(name "emacs-plz")
|
||||
(version "0.2")
|
||||
(version "0.2.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -16715,7 +17005,7 @@ multiplexer.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "170pbqiywk1zyhd0ig4f25qnjf7r1gwy0c6h343bcnl6qxvkvlv2"))))
|
||||
(base32 "0p0xd532xa8icysyxwqk481lr9xanmp68gf97fd9n2936gp12chv"))))
|
||||
(build-system emacs-build-system)
|
||||
(inputs (list curl))
|
||||
(home-page "https://github.com/alphapapa/plz.el")
|
||||
@ -16728,7 +17018,7 @@ which avoids some of the issues with using Emacs’s built-in Url library.")
|
||||
(define-public emacs-ement
|
||||
(package
|
||||
(name "emacs-ement")
|
||||
(version "0.1.4")
|
||||
(version "0.2.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -16737,7 +17027,7 @@ which avoids some of the issues with using Emacs’s built-in Url library.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1kms6l14h6ig8kphzpkxv16z7gpvcwvcfsp5ljssdnrx0c7dzz16"))))
|
||||
(base32 "0kfh0vlsz4qnx4vwkwhkxawk5cpxgnvkar72wha9cxj8s6j51vx0"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
`(#:emacs ,emacs)) ;need libxml support
|
||||
@ -17192,7 +17482,7 @@ an elisp expression.")
|
||||
(define-public emacs-taxy
|
||||
(package
|
||||
(name "emacs-taxy")
|
||||
(version "0.10")
|
||||
(version "0.10.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@ -17200,7 +17490,7 @@ an elisp expression.")
|
||||
"https://elpa.gnu.org/packages/taxy-" version ".tar"))
|
||||
(sha256
|
||||
(base32
|
||||
"1jamry2p3qhswq8prd2g7ljh4yqk0wwblyd9fhnaclakahrn5vi3"))))
|
||||
"05czw8fkifb25rwl99dmncr1g0rjfx1bqijl7igqs9j6h9ia2xvg"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs
|
||||
(list emacs-magit))
|
||||
@ -17496,8 +17786,8 @@ through them using @key{C-c C-SPC}.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-slack
|
||||
(let ((commit "1f6a40faec0d8d9c9de51c444508d05a3e995ccd")
|
||||
(revision "9"))
|
||||
(let ((commit "ff46d88726482211e3ac3d0b9c95dd4fdffe11c2")
|
||||
(revision "10"))
|
||||
(package
|
||||
(name "emacs-slack")
|
||||
(version (git-version "0.0.2" revision commit))
|
||||
@ -17509,7 +17799,7 @@ through them using @key{C-c C-SPC}.")
|
||||
(file-name (git-file-name name commit))
|
||||
(sha256
|
||||
(base32
|
||||
"19lan9nd8qfw2ws7mx814vrin04c892yn5c8g3nad7lpnzszgr1r"))))
|
||||
"15g4dmy4iqqpk8ivhkpsngzllbw0nc5d2sc9j36sdnhwkajzhidj"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
@ -20473,6 +20763,30 @@ collapse macro forms one step at a time, and evaluate or instrument the
|
||||
expansions for debugging with Edebug as normal.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-macrostep-geiser
|
||||
;; XXX: Upstream does not tag commits (yet). The commit below matches the
|
||||
;; version bump.
|
||||
(let ((commit "7927651b188cac07113bce5b2cd0de12b2b082f7"))
|
||||
(package
|
||||
(name "emacs-macrostep-geiser")
|
||||
(version "0.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/nbfalcon/macrostep-geiser")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1gz2kypyrb4k76dn4j02c8s6a3dqb1la5jcrdcifv8saa8lvqyli"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs (list emacs-geiser emacs-macrostep))
|
||||
(home-page "https://github.com/nbfalcon/macrostep-geiser")
|
||||
(synopsis "Macrostep for Geiser and Cider")
|
||||
(description
|
||||
"This plug-in implements a Macrostep back-end powered by Geiser.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-parent-mode
|
||||
(package
|
||||
(name "emacs-parent-mode")
|
||||
@ -23440,6 +23754,31 @@ from Emacs for C/C++ code that needs to be build against multiple incompatible
|
||||
versions of third party libraries or @code{C++} standards.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-cpreproc-openvdb
|
||||
(package
|
||||
(name "emacs-cpreproc-openvdb")
|
||||
(version "3.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.sr.ht/~plattfot/cpreproc-openvdb")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"0n1y8cxx6xipvip8y6nk9ig1dpjdksz77956wlql3lhqcrcn5hzg"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs
|
||||
(list emacs-cpreproc))
|
||||
(home-page "https://sr.ht/~plattfot/cpreproc")
|
||||
(synopsis "Create preprocessor macros for C++ that uses OpenVDB")
|
||||
(description
|
||||
"This project makes it easier to generate preprocessor macros from Emacs
|
||||
for C++ code that uses OpenVDB and needs to be build against multiple
|
||||
incompatible versions of it.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-org-brain
|
||||
(package
|
||||
(name "emacs-org-brain")
|
||||
@ -23646,7 +23985,7 @@ source code.")
|
||||
(define-public emacs-rustic
|
||||
(package
|
||||
(name "emacs-rustic")
|
||||
(version "3.3")
|
||||
(version "3.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -23655,7 +23994,7 @@ source code.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "088g6arlbq7czxyg5f31zmcm0gla7qh4vapaaskf6866yyqhizvb"))))
|
||||
(base32 "16vsv4fhj8zq9g4zrsmipdb1nydxgw3dhh5s3wawpvx2rcg6gx2l"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs
|
||||
(list emacs-dash
|
||||
@ -24642,6 +24981,23 @@ common set-up and tear-down code, and allows the programmer to \"spy\" on
|
||||
functions to ensure they are called with the right arguments during testing.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
;;; Required by emacs-lua-mode
|
||||
(define emacs-buttercup-1.25
|
||||
(package
|
||||
(inherit emacs-buttercup)
|
||||
(name "emacs-buttercup")
|
||||
(version "1.25")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/jorgenschaefer/emacs-buttercup")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0fsysvsypda6b7azc15bpaprq3bwx4gb6rlq2mj6f8rgwdqc8153"))))))
|
||||
|
||||
(define-public emacs-cort
|
||||
(package
|
||||
(name "emacs-cort")
|
||||
@ -27339,6 +27695,169 @@ outline-enabled table of contents, additional metadata association for Info
|
||||
nodes, and more.")
|
||||
(license license:gpl2+))))
|
||||
|
||||
(define-public emacs-eval-in-repl
|
||||
(package
|
||||
(name "emacs-eval-in-repl")
|
||||
(version "0.9.7")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/kaz-yos/eval-in-repl")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1mrssbl0wyc6iij8zk1y3h9bd3rv53nnrxsij7fn67l1m4z0clyn"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list #:include
|
||||
#~(list "eval-in-repl\\.el" "eval-in-repl-test\\.el" "README\\.md")))
|
||||
(propagated-inputs (list emacs-dash emacs-paredit emacs-ace-window))
|
||||
(home-page "https://github.com/kaz-yos/eval-in-repl")
|
||||
(synopsis "One keybinding to communicate with REPLs")
|
||||
(description
|
||||
"@code{eval-in-repl} provides a consistent ESS-like evaluation interface
|
||||
for various REPLs. In particular, it mimics ESS' C-RET binding, which sends a
|
||||
line or region to an appropriately configured shell. This package provides
|
||||
just the core of @code{eval-in-repl}---for the languages themselves, see their
|
||||
respective packages.")
|
||||
(license license:expat)))
|
||||
|
||||
(define* (make-emacs-eval-in-repl repl #:key
|
||||
(eval-in-repl-package emacs-eval-in-repl)
|
||||
(language (string-capitalize repl))
|
||||
(inputs '()))
|
||||
"Construct an emacs-eval-in-repl package for REPL, which interprets LANGUAGE.
|
||||
Optionally propagate INPUTS or use a different EVAL-IN-REPL-PACKAGE."
|
||||
(package
|
||||
(inherit eval-in-repl-package)
|
||||
(name (string-append "emacs-eval-in-repl-" repl))
|
||||
(arguments
|
||||
(list #:include
|
||||
#~(list #$(string-append "eval-in-repl-" repl "\\.el"))))
|
||||
(propagated-inputs (cons* eval-in-repl-package
|
||||
(cond
|
||||
((procedure? inputs) (inputs))
|
||||
((promise? inputs) (force inputs))
|
||||
(else inputs))))
|
||||
(description
|
||||
(format #f (G_ "This package provides an ESS-like binding to send lines
|
||||
or regions to a REPL from ~a buffers.") language))))
|
||||
|
||||
(define-public emacs-eval-in-repl-cider
|
||||
(make-emacs-eval-in-repl "cider" #:language "Clojure"
|
||||
#:inputs (list emacs-cider)))
|
||||
|
||||
(define-public emacs-eval-in-repl-elm
|
||||
(make-emacs-eval-in-repl "elm" #:inputs (list emacs-elm-mode)))
|
||||
|
||||
(define-public emacs-eval-in-repl-erlang
|
||||
(make-emacs-eval-in-repl "erlang" #:inputs (list emacs-erlang)))
|
||||
|
||||
(define-public emacs-eval-in-repl-geiser
|
||||
(make-emacs-eval-in-repl "geiser" #:language "Scheme"
|
||||
#:inputs (list emacs-geiser)))
|
||||
|
||||
(define-public emacs-eval-in-repl-hy
|
||||
(make-emacs-eval-in-repl "hy" #:inputs (list emacs-hy-mode)))
|
||||
|
||||
(define-public emacs-eval-in-repl-ielm
|
||||
(make-emacs-eval-in-repl "ielm" #:language "Emacs Lisp"))
|
||||
|
||||
(define-public emacs-eval-in-repl-iex
|
||||
(make-emacs-eval-in-repl
|
||||
"iex" #:language "Elixir"
|
||||
#:inputs (delay
|
||||
(list emacs-elixir-mode emacs-alchemist))))
|
||||
|
||||
(define-public emacs-eval-in-repl-javascript
|
||||
(make-emacs-eval-in-repl "javascript"
|
||||
#:inputs (list emacs-js2-mode emacs-js-comint)))
|
||||
|
||||
(define-public emacs-eval-in-repl-lua
|
||||
(make-emacs-eval-in-repl "lua" #:inputs (list emacs-lua-mode)))
|
||||
|
||||
(define-public emacs-eval-in-repl-ocaml
|
||||
(make-emacs-eval-in-repl "ocaml" #:language "OCaml"
|
||||
#:inputs (delay (list emacs-tuareg))))
|
||||
|
||||
(define-public emacs-eval-in-repl-prolog
|
||||
(make-emacs-eval-in-repl "prolog"))
|
||||
|
||||
(define-public emacs-eval-in-repl-python
|
||||
(make-emacs-eval-in-repl "python"))
|
||||
|
||||
(define-public emacs-eval-in-repl-racket
|
||||
(make-emacs-eval-in-repl "racket" #:inputs (list emacs-racket-mode)))
|
||||
|
||||
(define-public emacs-eval-in-repl-ruby
|
||||
(make-emacs-eval-in-repl "ruby" #:inputs (list emacs-inf-ruby)))
|
||||
|
||||
(define-public emacs-eval-in-repl-scheme
|
||||
(make-emacs-eval-in-repl "scheme"))
|
||||
|
||||
(define-public emacs-eval-in-repl-shell
|
||||
(make-emacs-eval-in-repl "shell"))
|
||||
|
||||
(define-public emacs-eval-in-repl-slime
|
||||
(make-emacs-eval-in-repl "slime" #:language "Common Lisp"
|
||||
#:inputs (list emacs-slime)))
|
||||
|
||||
(define-public emacs-eval-in-repl-sly
|
||||
(make-emacs-eval-in-repl "sly" #:language "Common Lisp"
|
||||
#:inputs (list emacs-sly)))
|
||||
|
||||
(define-public emacs-eval-in-repl-sml
|
||||
(make-emacs-eval-in-repl "sml" #:language "Standard ML"
|
||||
#:inputs (list emacs-sml-mode)))
|
||||
|
||||
(define-public emacs-ob-elm
|
||||
(let ((commit "d3a9fbc2f56416894c9aed65ea9a20cc1d98f15d")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "emacs-ob-elm")
|
||||
(version (git-version "0.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/BonfaceKilz/ob-elm")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1wdlr0cbsb2drdmcn2bnivjkj1f2v52l6yizwsnjgi4xq3w6k56h"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://github.com/BonfaceKilz/ob-elm")
|
||||
(synopsis "Org-Babel support for Elm code")
|
||||
(description
|
||||
"This package adds support to Org-Babel for evaluating Elm code.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-org-babel-eval-in-repl
|
||||
(package
|
||||
(name "emacs-org-babel-eval-in-repl")
|
||||
(version "1.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://stable.melpa.org/packages/"
|
||||
"org-babel-eval-in-repl-" version ".tar"))
|
||||
(sha256
|
||||
(base32 "0bdnps6m3kcvsagz8cfm3kf2rvxzl2p252pfggwbdbl43kzvl35h"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(begin (delete-file "eval-in-repl-matlab.el")))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs (list emacs-eval-in-repl emacs-ess))
|
||||
(home-page "https://github.com/diadochos/org-babel-eval-in-repl")
|
||||
(synopsis "Eval org-mode babel code blocks in various REPLs")
|
||||
(description
|
||||
"This package allows you to execute org-mode source code blocks with
|
||||
@code{eval-in-repl}. It can execute code blocks asynchronously, without
|
||||
needing to write the result into the buffer.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public emacs-eval-sexp-fu-el
|
||||
(package
|
||||
(name "emacs-eval-sexp-fu-el")
|
||||
@ -29455,7 +29974,7 @@ current buffer.")
|
||||
(define-public emacs-repl-toggle
|
||||
(package
|
||||
(name "emacs-repl-toggle")
|
||||
(version "0.7.1")
|
||||
(version "0.7.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -29464,7 +29983,7 @@ current buffer.")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"0nycm8a4wwkkaif958z4m89slayp17k20lp2h7lvddjx8prn6yfp"))
|
||||
"18dpy7a7yrn7m7qifrjk5zcr6zbd3kwp9pb55la9052vwipxxvfk"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs
|
||||
@ -30093,7 +30612,7 @@ mercury-mode provided by Emacs as a wrapper around prolog-mode.")
|
||||
(define-public emacs-boxquote
|
||||
(package
|
||||
(name "emacs-boxquote")
|
||||
(version "2.2")
|
||||
(version "2.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -30102,7 +30621,7 @@ mercury-mode provided by Emacs as a wrapper around prolog-mode.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0wwjawgylaaifdsszqxcfsyhfzgxbjkzqhzrnxnr9b16wghb7xf7"))))
|
||||
(base32 "0d7m9kcwhbgv4pikaa2dzlg9zkmwdhyx2ksn68di6xzbh838892q"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://github.com/davep/boxquote.el")
|
||||
(synopsis "Quote text with different kinds of boxes")
|
||||
@ -30902,34 +31421,6 @@ as a plug-and-play solution for anyone already using Org mode for their
|
||||
personal wiki.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-org-roam-ui
|
||||
(let ((commit "c75fc7506ee7f03840a9a93ed9336d7ed24551aa")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "emacs-org-roam-ui")
|
||||
(version (git-version "0.1" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/org-roam/org-roam-ui")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32 "0mkcd2622np8s5qz2zvx7lch6dc586xqmn6914gi4ym7nvklf3zy"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list #:include #~(cons "^out" %default-include)))
|
||||
(propagated-inputs
|
||||
(list emacs-org-roam emacs-simple-httpd emacs-websocket))
|
||||
(home-page "https://github.com/org-roam/org-roam-ui")
|
||||
(synopsis "Web User Interface for Org Roam")
|
||||
(description
|
||||
"Org Roam UI is meant as a successor of Org Roam server that extends
|
||||
functionality of Org Roam with a web app that runs side-by-side with Emacs,
|
||||
providing a web interface for navigating around notes created within Org
|
||||
Roam.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-org-roam-bibtex
|
||||
(package
|
||||
(name "emacs-org-roam-bibtex")
|
||||
@ -32368,14 +32859,14 @@ are prefixed with @code{seq-} and work on lists, strings, and vectors.")
|
||||
(define-public emacs-setup
|
||||
(package
|
||||
(name "emacs-setup")
|
||||
(version "1.3.1")
|
||||
(version "1.3.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://elpa.gnu.org/packages/setup-"
|
||||
version ".tar"))
|
||||
(sha256
|
||||
(base32 "0n9zjclf4b2sr8c8zd37fs45p25p3856frm419c9hch69hhcsv3a"))))
|
||||
(base32 "1sr514w4mn0fbdawjb5p0fd6i6q2zi9737rbwcgakb1l9cqvb5qy"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://git.sr.ht/~pkal/setup")
|
||||
(synopsis "Helpful configuration macro")
|
||||
@ -32594,26 +33085,41 @@ hacker.")
|
||||
(define-public emacs-osm
|
||||
(package
|
||||
(name "emacs-osm")
|
||||
(version "0.6")
|
||||
(version "0.8")
|
||||
(home-page "https://github.com/minad/osm")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference (url home-page) (commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0aiq2z9vv4jsl0s0x9vpjgp0mnn27wanhirzj3h80ivgiphzs7l5"))))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"039ac364f00slx1dxxgsgfcr4x47v9ymn8arcs0fyhdhw7jnky5j"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
(add-after 'unpack 'set-curl-file-name
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "osm.el"
|
||||
(("\"curl( ?)\"" _ space)
|
||||
(string-append "\""
|
||||
(search-input-file inputs "/bin/curl")
|
||||
space "\""))))))))
|
||||
(list #:phases #~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'set-curl-file-name
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "osm.el"
|
||||
(("\"curl( ?)\"" _ space)
|
||||
(string-append "\""
|
||||
(search-input-file inputs
|
||||
"/bin/curl")
|
||||
space "\"")))))
|
||||
(add-after 'install 'makeinfo
|
||||
(lambda _
|
||||
(invoke "emacs"
|
||||
"--batch"
|
||||
"--eval=(require 'ox-texinfo)"
|
||||
"--eval=(setq org-export-with-broken-links t)"
|
||||
"--eval=(find-file \"README.org\")"
|
||||
"--eval=(org-texinfo-export-to-info)")
|
||||
(install-file "osm.info"
|
||||
(string-append #$output
|
||||
"/share/info")))))))
|
||||
(inputs (list curl))
|
||||
(native-inputs (list texinfo))
|
||||
(synopsis "OpenStreetMap viewer for Emacs")
|
||||
(description
|
||||
"This package provides an OpenStreetMap viewer for Emacs, featuring
|
||||
|
@ -412,7 +412,9 @@ languages.")
|
||||
(source
|
||||
(origin
|
||||
(inherit (package-source emacs-next))
|
||||
(patches (search-patches "emacs-pgtk-super-key-fix.patch"))))
|
||||
(patches
|
||||
(append (search-patches "emacs-pgtk-super-key-fix.patch")
|
||||
(origin-patches (package-source emacs-next))))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments emacs-next)
|
||||
((#:configure-flags flags #~'())
|
||||
|
@ -71,7 +71,7 @@
|
||||
(define-public efl
|
||||
(package
|
||||
(name "efl")
|
||||
(version "1.26.2")
|
||||
(version "1.26.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@ -79,7 +79,7 @@
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"071h0pscbd8g341yy5rz9mk1xn8yhryldhl6mmr1y6lafaycyy99"))))
|
||||
"05bxc58hj0z6pkp6yy5cmy1lc575q0nrbr5lxr6z8d4kznh3my6r"))))
|
||||
(build-system meson-build-system)
|
||||
(native-inputs
|
||||
`(("check" ,check)
|
||||
@ -289,7 +289,7 @@ Libraries with some extra bells and whistles.")
|
||||
(define-public enlightenment
|
||||
(package
|
||||
(name "enlightenment")
|
||||
(version "0.25.3")
|
||||
(version "0.25.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
@ -297,7 +297,7 @@ Libraries with some extra bells and whistles.")
|
||||
"enlightenment/enlightenment-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1xngwixp0cckfq3jhrdmmk6zj67125amr7g6xwc6l89pnpmlkz9p"))
|
||||
"18mp4ggfy7n0yz6kzx56ali0piqa84z72vnj6649l6w2dch5vnsn"))
|
||||
(patches (search-patches "enlightenment-fix-setuid-path.patch"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
|
@ -707,7 +707,7 @@ blockchain.")
|
||||
;; the system's dynamically linked library.
|
||||
(package
|
||||
(name "monero")
|
||||
(version "0.18.1.0")
|
||||
(version "0.18.1.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -725,7 +725,7 @@ blockchain.")
|
||||
delete-file-recursively
|
||||
'("external/miniupnp" "external/rapidjson"))))
|
||||
(sha256
|
||||
(base32 "18yj44pki7x8ir6wg02g1h6yxp1hnqb0nrx9x5dvv94rda48cy66"))))
|
||||
(base32 "050rf4c1i42d0vhcb3hqrrndr2l45w1qg4h62cagk0nmq5va6xj7"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
(list doxygen
|
||||
@ -812,7 +812,7 @@ the Monero command line client and daemon.")
|
||||
(define-public monero-gui
|
||||
(package
|
||||
(name "monero-gui")
|
||||
(version "0.18.1.0")
|
||||
(version "0.18.1.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -828,7 +828,7 @@ the Monero command line client and daemon.")
|
||||
;; See the 'extract-monero-sources' phase.
|
||||
(delete-file-recursively "monero")))
|
||||
(sha256
|
||||
(base32 "1z627jy9n6cwc9yv0w58fbhix4qnllk0q42ga75mhlawaz68j0qi"))))
|
||||
(base32 "0zh0sf7acr1a4s5kmp9fpjd2wr78qv74z1xhkwrkkn9ainp4qfaz"))))
|
||||
(build-system qt-build-system)
|
||||
(native-inputs
|
||||
`(,@(package-native-inputs monero)
|
||||
|
@ -19,7 +19,7 @@
|
||||
;;; Copyright © 2017 Alex Griffin <a@ajgrf.com>
|
||||
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2017 Brendan Tildesley <mail@brendan.scot>
|
||||
;;; Copyright © 2017, 2018, 2019, 2020 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2017, 2018, 2019, 2020, 2022 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2017 Mohammed Sadiq <sadiq@sadiqpk.org>
|
||||
;;; Copyright © 2018 Charlie Ritter <chewzerita@posteo.net>
|
||||
;;; Copyright © 2018 Gabriel Hondet <gabrielhondet@gmail.com>
|
||||
@ -117,7 +117,7 @@ titling.")
|
||||
(define-public font-ibm-plex
|
||||
(package
|
||||
(name "font-ibm-plex")
|
||||
(version "5.1.3")
|
||||
(version "6.1.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@ -125,7 +125,7 @@ titling.")
|
||||
"v" version "/OpenType.zip"))
|
||||
(sha256
|
||||
(base32
|
||||
"0zlz8kxx54i4hpgaip9690bilvn5w14gp7jjkk6cz4h9p3xml231"))))
|
||||
"1z9nxac9ha6gqz5yvfy5lp6hyl39f8f8hdrw3llcp89rdpjfqdn9"))))
|
||||
(build-system font-build-system)
|
||||
(home-page "https://github.com/IBM/plex")
|
||||
(synopsis "IBM Plex typeface")
|
||||
@ -2736,7 +2736,7 @@ and readability. This package bundles those icons into a font.")
|
||||
(define-public font-lxgw-wenkai
|
||||
(package
|
||||
(name "font-lxgw-wenkai")
|
||||
(version "1.240")
|
||||
(version "1.245")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@ -2744,7 +2744,7 @@ and readability. This package bundles those icons into a font.")
|
||||
version "/lxgw-wenkai-v" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1rg6i6fqs1b0b2g4kijimkyqbxfn6n8ac74rppsizq65n6crvfib"))))
|
||||
"01x5nfw0cy7v8vsjw32zayc0ryskiwj22yzqi28252896073mm9k"))))
|
||||
(build-system font-build-system)
|
||||
(home-page "https://lxgw.github.io/2021/01/28/Klee-Simpchin/")
|
||||
(synopsis "Simplified Chinese Imitation Song typeface")
|
||||
@ -2758,7 +2758,7 @@ within GB 2312, standard glyphs for Mainland China is used.")
|
||||
(package
|
||||
(inherit font-lxgw-wenkai)
|
||||
(name "font-lxgw-wenkai-tc")
|
||||
(version "0.921")
|
||||
(version "0.922")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@ -2766,7 +2766,7 @@ within GB 2312, standard glyphs for Mainland China is used.")
|
||||
version "/lxgw-wenkai-tc-v" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0s7zvb8i1f7ziw8r94l1f3rcv21b80dbgc43zjwz34s43465lwrb"))))
|
||||
"0kb12sfb8ihsj14yzk5ib657xvswqy0hy5gr1vfbn1n05vzy8wyk"))))
|
||||
(home-page "https://github.com/lxgw/LxgwWenKaitc")
|
||||
(synopsis "Traditional Chinese Imitation Song typeface")
|
||||
(description
|
||||
@ -2777,7 +2777,7 @@ dialects in Hong Kong and Taiwan.")))
|
||||
(define-public font-chiron-sung-hk
|
||||
(package
|
||||
(name "font-chiron-sung-hk")
|
||||
(version "1.005")
|
||||
(version "1.006")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@ -2786,7 +2786,7 @@ dialects in Hong Kong and Taiwan.")))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0iqlnb7825kisg2avhr9hwwvb4jw8f642vvmms5dw6m9czzydpgw"))))
|
||||
"0cibyhy363yqmif31lwv4qmcaar5np2gdd3nbnxxp55mb4qn0kms"))))
|
||||
(build-system font-build-system)
|
||||
(home-page "https://chiron-fonts.github.io/")
|
||||
(synopsis "Traditional Chinese Song typeface")
|
||||
@ -2801,7 +2801,7 @@ prevalent typefaces in Traditional Chinese regions.")
|
||||
(package
|
||||
(inherit font-chiron-sung-hk)
|
||||
(name "font-chiron-hei-hk")
|
||||
(version "2.503")
|
||||
(version "2.504")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@ -2810,7 +2810,7 @@ prevalent typefaces in Traditional Chinese regions.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"00av598lcsvbwfxabs8m1bfvlk3zq98nziynsrg5p2s5mhz2pkvk"))))
|
||||
"0d0k88sbhgr597sv2jzz2rcg8g4k60lcjka1xlnkv08n3bdgvmhr"))))
|
||||
(synopsis "Traditional Chinese Gothic typeface")
|
||||
(description
|
||||
"Chiron Hei HK is a Traditional Chinese Gothic typeface based on the Hong
|
||||
|
@ -73,6 +73,7 @@
|
||||
;;; Copyright © 2022 zamfofex <zamfofex@twdb.moe>
|
||||
;;; Copyright © 2022 Gabriel Arazas <foo.dogsquared@gmail.com>
|
||||
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2022 Hendursaga <hendursaga@aol.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -2684,6 +2685,35 @@ available, as well as a single-player mode with AI-controlled ships.")
|
||||
(license (list license:expat ; game
|
||||
license:silofl1.1)))) ; fonts
|
||||
|
||||
(define-public tetzle
|
||||
(package
|
||||
(name "tetzle")
|
||||
(version "2.2.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://gottcode.org/"
|
||||
name
|
||||
"/"
|
||||
name
|
||||
"-"
|
||||
version
|
||||
"-src.tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1m4j4lzqp8fnwmvyglmzcn3vh14ix4hhh52ycmcsjgrsgj1w4p6a"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f)) ; no tests
|
||||
(native-inputs (list qttools))
|
||||
(inputs (list qtbase))
|
||||
(home-page "https://gottcode.org/tetzle/")
|
||||
(synopsis "Jigsaw puzzle game that uses tetrominoes for the pieces")
|
||||
(description
|
||||
"Tetzle is a jigsaw puzzle game that uses tetrominoes for the pieces. Any image
|
||||
can be imported and used to create puzzles with a wide range of sizes. Games are
|
||||
saved automatically, and you can select between currently in progress games.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define %ufoai-commit "a542a87a891f96b1ab2c44d35b2f6f16859a5019")
|
||||
(define %ufoai-revision "0")
|
||||
(define %ufoai-version (git-version "2.6.0_dev" %ufoai-revision %ufoai-commit))
|
||||
@ -5764,17 +5794,14 @@ Linux / Mac OS X servers, and an auto mapper with a VT100 map display.")
|
||||
(patches (search-patches "laby-make-install.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("lablgtk3" ,lablgtk3)
|
||||
("ocaml" ,ocaml)
|
||||
("ocaml-findlib" ,ocaml-findlib)
|
||||
("ocamlbuild" ,ocamlbuild)))
|
||||
(list lablgtk3 ocaml-lablgtk3-sourceview3 ocaml ocaml-findlib ocamlbuild))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(add-before 'build 'set-library-path
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((lablgtk (assoc-ref inputs "lablgtk3")))
|
||||
(let ((lablgtk (assoc-ref inputs "lablgtk")))
|
||||
(setenv "LD_LIBRARY_PATH"
|
||||
(string-append lablgtk "/lib/ocaml/stublibs"))))))
|
||||
#:tests? #f ; no 'check' target
|
||||
@ -5892,101 +5919,63 @@ throwing people around in pseudo-randomly generated buildings.")
|
||||
(define-public hyperrogue
|
||||
(package
|
||||
(name "hyperrogue")
|
||||
(version "11.3a")
|
||||
;; When updating this package, be sure to update the "hyperrogue-data"
|
||||
;; origin in native-inputs.
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://www.roguetemple.com/z/hyper/hyperrogue"
|
||||
(string-join (string-split version #\.) "")
|
||||
"-src.tgz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1yxabbswq02fc5frigvs43f83m5vlxybc7n5mynkwzj2c70lfp2k"))))
|
||||
(version "12.1a")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/zenorogue/hyperrogue")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1l09d1r3jdwp54zq071fk09hpggif5phjn0gsapzrjy3i289jran"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no check target
|
||||
#:make-flags '("HYPERROGUE_USE_GLEW=1"
|
||||
"HYPERROGUE_USE_PNG=1")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'set-paths 'set-sdl-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(setenv "CPATH"
|
||||
(string-append (or (getenv "CPATH") "") ":"
|
||||
(assoc-ref inputs "sdl-union")
|
||||
"/include/SDL"))))
|
||||
(replace 'configure
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(share-dir (string-append out "/share/hyperrogue"))
|
||||
(dejavu-dir (string-append
|
||||
(assoc-ref inputs "font-dejavu")
|
||||
"/share/fonts/truetype"))
|
||||
(dejavu-font "DejaVuSans-Bold.ttf")
|
||||
(music-file "hyperrogue-music.txt"))
|
||||
;; Fix font and music paths.
|
||||
(substitute* "basegraph.cpp"
|
||||
((dejavu-font)
|
||||
(string-append dejavu-dir "/" dejavu-font)))
|
||||
(substitute* music-file
|
||||
(("\\*/")
|
||||
(string-append share-dir "/sounds/")))
|
||||
(substitute* "sound.cpp"
|
||||
(("musicfile = \"\"")
|
||||
(string-append "musicfile = \""
|
||||
share-dir "/" music-file "\"")))
|
||||
;; Disable build machine CPU optimizations and warnings treated
|
||||
;; as errors.
|
||||
(substitute* "Makefile"
|
||||
(("-march=native") "")
|
||||
(("-Werror") "")))
|
||||
#t))
|
||||
(replace 'install
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(share-dir (string-append out "/share/hyperrogue")))
|
||||
(mkdir-p bin)
|
||||
(install-file "hyperrogue" bin)
|
||||
(install-file "hyperrogue-music.txt" share-dir))
|
||||
#t))
|
||||
(add-after 'install 'install-data
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((data (assoc-ref inputs "hyperrogue-data"))
|
||||
(out (assoc-ref outputs "out"))
|
||||
(sounds (string-append out "/share/hyperrogue/sounds"))
|
||||
(unzip (search-input-file inputs "/bin/unzip")))
|
||||
;; Extract media license information into sounds directory.
|
||||
(invoke unzip "-j" data
|
||||
(string-append
|
||||
"hyperrogue"
|
||||
(string-join (string-split ,version #\.) "")
|
||||
"/sounds/credits.txt") "-d" sounds)
|
||||
;; Extract sounds and music into sounds directory.
|
||||
(invoke "unzip" "-j" data
|
||||
(string-append
|
||||
"hyperrogue"
|
||||
(string-join (string-split ,version #\.) "")
|
||||
"/*.ogg") "-d" sounds)))))))
|
||||
(native-inputs
|
||||
`(("hyperrogue-data"
|
||||
,(origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append
|
||||
"https://www.roguetemple.com/z/hyper/hyperrogue"
|
||||
(string-join (string-split version #\.) "")
|
||||
"-win.zip"))
|
||||
(sha256
|
||||
(base32
|
||||
"11yhbia45f1w9z0j67h9nynwjqmvakr9l6rnrmdrdkzin6lvzzj4"))))
|
||||
("unzip" ,unzip)))
|
||||
(list
|
||||
#:tests? #f ; no check target
|
||||
#:make-flags #~(list "HYPERROGUE_USE_GLEW=1"
|
||||
"HYPERROGUE_USE_PNG=1")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'set-paths 'set-sdl-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(setenv "CPATH"
|
||||
(string-append (or (getenv "CPATH") "") ":"
|
||||
(search-input-directory inputs
|
||||
"/include/SDL")))))
|
||||
(replace 'configure
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((share-dir (string-append #$output "/share/hyperrogue/"))
|
||||
(fonts-dir (dirname
|
||||
(search-input-file inputs
|
||||
"DejaVuSans-Bold.ttf"))))
|
||||
;; Set fonts and music path.
|
||||
(substitute* "sysconfig.h"
|
||||
(("(#define HYPERPATH ).*" _ lead)
|
||||
(string-append lead "\"" share-dir "\"\n"))
|
||||
(("(#define HYPERFONTPATH ).*" _ lead)
|
||||
(string-append lead "\"" fonts-dir "/\"\n")))
|
||||
;; Disable build machine CPU optimizations and warnings treated
|
||||
;; as errors.
|
||||
(substitute* "Makefile"
|
||||
(("-march=native") "")
|
||||
(("-Werror") "")))))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(install-file "hyperrogue" (string-append #$output "/bin"))
|
||||
(let ((share-dir (string-append #$output "/share/hyperrogue/")))
|
||||
(install-file "hyperrogue-music.txt" share-dir)
|
||||
(for-each (lambda (dir)
|
||||
(copy-recursively dir
|
||||
(string-append share-dir dir)))
|
||||
'("music" "sounds"))))))))
|
||||
(inputs
|
||||
(list font-dejavu glew libpng
|
||||
(list font-dejavu
|
||||
glew
|
||||
libpng
|
||||
(sdl-union (list sdl sdl-gfx sdl-mixer sdl-ttf))))
|
||||
(home-page "https://www.roguetemple.com/z/hyper/")
|
||||
(home-page "https://roguetemple.com/z/hyper")
|
||||
(synopsis "Non-euclidean graphical rogue-like game")
|
||||
(description
|
||||
"HyperRogue is a game in which the player collects treasures and fights
|
||||
@ -5999,9 +5988,9 @@ are home to particular creatures and may be subject to their own rules of
|
||||
|
||||
While the game can use ASCII characters to display the the classical rogue
|
||||
symbols, it still needs graphics to render the non-euclidean world.")
|
||||
(license (list license:bsd-3 ; glew.c, mtrand.*
|
||||
license:cc-by-sa3.0 ; music
|
||||
license:cc-by-sa4.0 ; sounds
|
||||
(license (list license:bsd-3 ; glew.c, mtrand.*
|
||||
license:cc-by-sa3.0 ; music
|
||||
license:cc-by-sa4.0 ; sounds
|
||||
license:cc0
|
||||
license:public-domain ; direntx.*, some sounds
|
||||
license:zlib ; savepng.*
|
||||
|
@ -491,6 +491,8 @@ coverages using a SpatiaLite DBMS.")
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
'("--enable-rttopo=yes")
|
||||
;; FIXME: Several tests fail with Proj 9.
|
||||
#:tests? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; 1 test is failing, ignore it:
|
||||
|
@ -330,7 +330,7 @@ GNOME Shell.")
|
||||
(define-public gnome-shell-extension-clipboard-indicator
|
||||
(package
|
||||
(name "gnome-shell-extension-clipboard-indicator")
|
||||
(version "39")
|
||||
(version "42")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@ -342,7 +342,7 @@ GNOME Shell.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1kq6bzxki7lwmw690f4qml8pvfwafpqpsfnq2kyjhrp8nh39axwi"))
|
||||
"0wf2k33pbwjdf8i4y3aw32fgvjbh751qh7504lwhnl02rcq5dc88"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Remove pre-compiled settings schemas and translations from
|
||||
@ -449,7 +449,7 @@ easier to keep track of applications running in the background.")
|
||||
(define-public gnome-shell-extension-dash-to-dock
|
||||
(package
|
||||
(name "gnome-shell-extension-dash-to-dock")
|
||||
(version "71")
|
||||
(version "73")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@ -458,7 +458,7 @@ easier to keep track of applications running in the background.")
|
||||
version))))
|
||||
(sha256
|
||||
(base32
|
||||
"12b6ljzs5071zs0kcf5yj4jfhq10b1gnldv0hmbksnqzz5g719wf"))
|
||||
"1l0isbrgfc8v46l1yc5l4myz7qnlxzyfyiifipp86z9d79d8klzw"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
@ -487,17 +487,17 @@ faster window switching.")
|
||||
(define-public gnome-shell-extension-gsconnect
|
||||
(package
|
||||
(name "gnome-shell-extension-gsconnect")
|
||||
(version "48")
|
||||
(version "50") ; See GNOME Shell supported versions in metadata.json
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url (string-append "https://github.com/andyholmes"
|
||||
(url (string-append "https://github.com/GSConnect"
|
||||
"/gnome-shell-extension-gsconnect.git"))
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"15agblnm7k1wqnnz6gwhwym992fzqkdz8mkm04805783bx60b8bh"))))
|
||||
"0vg87fdihs5kp7apgyd32ldjmwzmrxaimsc005yjyy8m3f65sjmr"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ;; every test fails
|
||||
@ -568,7 +568,7 @@ faster window switching.")
|
||||
("gobject-introspection" ,gobject-introspection)
|
||||
("libxml2" ,libxml2)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(home-page "https://github.com/andyholmes/gnome-shell-extension-gsconnect/wiki")
|
||||
(home-page "https://github.com/GSConnect/gnome-shell-extension-gsconnect/wiki")
|
||||
(synopsis "Connect GNOME Shell with your Android phone")
|
||||
(description "GSConnect is a complete implementation of KDE Connect
|
||||
especially for GNOME Shell, allowing devices to securely share content, like
|
||||
@ -627,7 +627,7 @@ currently focused application in the top panel of the GNOME shell.")
|
||||
(define-public gnome-shell-extension-just-perfection
|
||||
(package
|
||||
(name "gnome-shell-extension-just-perfection")
|
||||
(version "20.0")
|
||||
(version "22.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@ -636,7 +636,7 @@ currently focused application in the top panel of the GNOME shell.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1b1hzibgryn861av2bjnfh5bmzs2bxfcsyl0ardkaj97228xsjzy"))))
|
||||
"0r4rflppcp05kwhzmh07dzi7znc4kch4nc8mzw61arj3qsfq2qqj"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
`(#:install-plan
|
||||
@ -678,7 +678,7 @@ certain elements or change animation speeds.")
|
||||
(define-public gnome-shell-extension-dash-to-panel
|
||||
(package
|
||||
(name "gnome-shell-extension-dash-to-panel")
|
||||
(version "45")
|
||||
(version "51")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@ -686,7 +686,7 @@ certain elements or change animation speeds.")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32
|
||||
"05bfd3b1g9zd86pl1rpgfqsmip271lasyfj8phpqf1gdds5yz6f6"))
|
||||
"103pl77dhafi2ayds5yma2smv3b58zcysnd6vl5m5zavjvk35sz7"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
@ -714,27 +714,31 @@ into a single panel, similar to that found in KDE Plasma and Windows 7+.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public gnome-shell-extension-noannoyance
|
||||
(package
|
||||
(name "gnome-shell-extension-noannoyance")
|
||||
(version "5")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/BjoernDaase/noannoyance")
|
||||
(commit "e37b5b3c31f577b4698bc6659bc9fec5ea9ac5d4")))
|
||||
(sha256
|
||||
(base32
|
||||
"0fa8l3xlh8kbq07y4385wpb908zm6x53z81q16xlmin97dln32hh"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
'(#:install-plan
|
||||
'(("." "share/gnome-shell/extensions/noannoyance@daase.net"))))
|
||||
(synopsis "Remove 'Window is ready' annotation")
|
||||
(description "One of the many extensions that remove this message.
|
||||
(let ((revision "1")
|
||||
(commit "b759d10fd2799bc084007fdd927b62637c3dbd2c"))
|
||||
(package
|
||||
(name "gnome-shell-extension-noannoyance")
|
||||
;; XXX: There is no version noted anywhere in the source. Thus, infer it
|
||||
;; from <https://extensions.gnome.org/extension/2182/noannoyance/>.
|
||||
(version (git-version "16" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/bdaase/noannoyance")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"0hh7fdqvx54h9j41ia2jl0nq1d5i66k7blw41ya6hkh7201r4anp"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
'(#:install-plan
|
||||
'(("." "share/gnome-shell/extensions/noannoyance@daase.net"))))
|
||||
(synopsis "Remove 'Window is ready' annotation")
|
||||
(description "One of the many extensions that remove this message.
|
||||
It uses ES6 syntax and claims to be more actively maintained than others.")
|
||||
(home-page "https://extensions.gnome.org/extension/2182/noannoyance/")
|
||||
(license license:gpl2)))
|
||||
(home-page "https://extensions.gnome.org/extension/2182/noannoyance/")
|
||||
(license license:gpl2))))
|
||||
|
||||
(define-public gnome-shell-extension-paperwm
|
||||
(package
|
||||
@ -833,7 +837,7 @@ copies you now want to paste.")
|
||||
(define-public gnome-shell-extension-vertical-overview
|
||||
(package
|
||||
(name "gnome-shell-extension-vertical-overview")
|
||||
(version "8")
|
||||
(version "9")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -842,7 +846,7 @@ copies you now want to paste.")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32
|
||||
"01vz48p3bh7p3ybdyw0s0ahs18lk2kzk9x4ad46s0dnwmmsyhww9"))
|
||||
"0pkby00rjipj04z68d6i3rr7mzm01dckf2vl3iz6yvbl39602icl"))
|
||||
(file-name (git-file-name name version))
|
||||
(snippet
|
||||
'(begin (delete-file "schemas/gschemas.compiled")))))
|
||||
@ -914,7 +918,7 @@ position when the mouse is moved rapidly.")
|
||||
(define-public gnome-shell-extension-burn-my-windows
|
||||
(package
|
||||
(name "gnome-shell-extension-burn-my-windows")
|
||||
(version "15")
|
||||
(version "21")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -923,7 +927,7 @@ position when the mouse is moved rapidly.")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32
|
||||
"1gabnqdk11n6345jzv9sc4yjmfrdgg0lsz6zc29gc5afzgirkhm5"))
|
||||
"07ckfl47pq83nhb77v230zfxlz3imga3s8nn3sr9cq4zxvbkj2r4"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
|
@ -5430,6 +5430,47 @@ possible while still providing features that make playing difficult Sudoku
|
||||
more fun.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public gnome-console
|
||||
(package
|
||||
(name "gnome-console")
|
||||
(version "42.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/gnome-console/"
|
||||
(version-major version) "/"
|
||||
"gnome-console-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0jbh8g3hmc35fy5fbscqf0831xpg1kv66ci9hykpbia4hz0yc9kx"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list #:glib-or-gtk? #t
|
||||
#:configure-flags #~(list "-Dtests=true"
|
||||
"-Dnautilus=enabled")
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-nautilus-extension-path
|
||||
(lambda _
|
||||
(substitute* "nautilus/meson.build"
|
||||
(("'extensions-[0-9.]*'")
|
||||
"'site-extensions'")))))))
|
||||
(native-inputs (list `(,glib "bin")
|
||||
gettext-minimal
|
||||
sassc
|
||||
pkg-config
|
||||
`(,gtk+ "bin")
|
||||
desktop-file-utils))
|
||||
(inputs (list gtk+
|
||||
libhandy
|
||||
nautilus
|
||||
vte
|
||||
libgtop
|
||||
gsettings-desktop-schemas))
|
||||
(home-page "https://gitlab.gnome.org/GNOME/console")
|
||||
(synopsis "GNOME terminal emulator")
|
||||
(description
|
||||
"Console is a simple terminal emulator for GNOME desktop")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public gnome-terminal
|
||||
(package
|
||||
(name "gnome-terminal")
|
||||
@ -5493,6 +5534,39 @@ It supports several profiles, multiple tabs and implements several
|
||||
keyboard shortcuts.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public gnome-text-editor
|
||||
(package
|
||||
(name "gnome-text-editor")
|
||||
(version "42.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/gnome-text-editor/"
|
||||
(version-major version) "/"
|
||||
"gnome-text-editor-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1nn53iv2a82kkqkg5jy0bqh2b2wzg7g4a6w8q3qsis5wvj64lvg5"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list #:glib-or-gtk? #t))
|
||||
(native-inputs (list pkg-config
|
||||
cmake
|
||||
gettext-minimal
|
||||
desktop-file-utils
|
||||
appstream-glib
|
||||
`(,glib "bin")
|
||||
`(,gtk "bin")
|
||||
itstool))
|
||||
(inputs (list gtk gtksourceview libadwaita enchant))
|
||||
(home-page "https://gitlab.gnome.org/GNOME/gnome-text-editor")
|
||||
(synopsis "GNOME text editor")
|
||||
(description
|
||||
"GNOME Text Editor is a simple text editor that focuses on session
|
||||
management. It keeps track of changes and state even if you quit the
|
||||
application. You can come back to your work even if you've never saved it to a
|
||||
file.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public colord-minimal
|
||||
(package
|
||||
(name "colord-minimal")
|
||||
@ -5565,37 +5639,43 @@ output devices.")
|
||||
(define-public colord
|
||||
(package/inherit colord-minimal
|
||||
(name "colord")
|
||||
(version "1.4.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.freedesktop.org/software/colord/releases/"
|
||||
"colord-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "0vwfx06k1in8hci3kdxpc3c0bh81f1vl5bp7favd3rdz4wd661vl"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments
|
||||
(package-arguments colord-minimal)
|
||||
(substitute-keyword-arguments (package-arguments colord-minimal)
|
||||
((#:configure-flags flags)
|
||||
`(begin
|
||||
(use-modules (srfi srfi-1))
|
||||
(append '("-Dbash_completion=true"
|
||||
"-Ddocs=true"
|
||||
"-Dman=true"
|
||||
"-Dvapi=true")
|
||||
(fold delete ,flags '("-Dbash_completion=false"
|
||||
"-Ddocs=false"
|
||||
"-Dman=false")))))
|
||||
#~(begin
|
||||
(use-modules (srfi srfi-1))
|
||||
(append '("-Dbash_completion=true"
|
||||
"-Ddocs=true"
|
||||
"-Dman=true"
|
||||
"-Dvapi=true")
|
||||
(fold delete #$flags '("-Dbash_completion=false"
|
||||
"-Ddocs=false"
|
||||
"-Dman=false")))))
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(add-after 'unpack 'fix-bash-completion-dir
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(substitute* "data/meson.build"
|
||||
(("bash_completion.get_pkgconfig_variable\
|
||||
#~(modify-phases #$phases
|
||||
(add-after 'unpack 'fix-bash-completion-dir
|
||||
(lambda _
|
||||
(substitute* "data/meson.build"
|
||||
(("bash_completion.get_pkgconfig_variable\
|
||||
\\('completionsdir'\\)")
|
||||
(string-append "'" (assoc-ref outputs "out")
|
||||
"/etc/bash_completion.d'")))))))))
|
||||
(string-append "'" #$output
|
||||
"/etc/bash_completion.d'")))))))))
|
||||
(native-inputs
|
||||
(append
|
||||
`(("bash-completion" ,bash-completion)
|
||||
("docbook-xsl-ns" ,docbook-xsl-ns)
|
||||
("gtk-doc" ,gtk-doc/stable)
|
||||
("libxml2" ,libxml2) ;for XML_CATALOG_FILES
|
||||
("libxslt" ,libxslt)
|
||||
("vala" ,vala)) ;for VAPI, needed by simple-scan
|
||||
(package-native-inputs colord-minimal)))))
|
||||
(modify-inputs (package-native-inputs colord-minimal)
|
||||
(append bash-completion
|
||||
docbook-xsl-1.79.1
|
||||
gtk-doc/stable
|
||||
libxml2 ;for XML_CATALOG_FILES
|
||||
libxslt
|
||||
vala))))) ;for VAPI, needed by simple-scan
|
||||
|
||||
(define-public geoclue
|
||||
(package
|
||||
@ -8028,7 +8108,7 @@ Microsoft Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
|
||||
(define-public evolution-data-server
|
||||
(package
|
||||
(name "evolution-data-server")
|
||||
(version "3.45.3")
|
||||
(version "3.46.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@ -8036,7 +8116,7 @@ Microsoft Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
|
||||
(version-major+minor version) "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "1zjg9b77qmfin9m16rqa6cpqp1rh63pg3bcnkh25vmklslwhvq7a"))))
|
||||
(base32 "1aydynpc9qx2a5xlrvc3xzfq3d3rhf15mqr8m6splgqqb84jiyp5"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@ -10271,19 +10351,18 @@ desktop. It supports world clock, stop watch, alarms, and count down timer.")
|
||||
desktop. It supports multiple calendars, month, week and year view.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public gnome-todo
|
||||
(define-public endeavour
|
||||
(package
|
||||
(name "gnome-todo")
|
||||
(version "41.0")
|
||||
(name "endeavour")
|
||||
(version "42.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
(version-major version) "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.gnome.org/World/Endeavour")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32
|
||||
"1r94880d4khbjhhfnhaba3y3d4hv2bri82rzfzxn27s5iybpqras"))
|
||||
(patches (search-patches "gnome-todo-libportal.patch"))))
|
||||
"0d6by7aq8db35zavzvckcxxxcdi6qnv0mkjndhb0syc8ih15dpak"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@ -10328,6 +10407,9 @@ desktop. It supports multiple calendars, month, week and year view.")
|
||||
to perfectly fit the GNOME desktop.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public gnome-todo
|
||||
(deprecated-package "gnome-todo" endeavour))
|
||||
|
||||
(define-public gnome-dictionary
|
||||
(package
|
||||
(name "gnome-dictionary")
|
||||
@ -11521,7 +11603,7 @@ generic enough to work for everyone.")
|
||||
(define-public evolution
|
||||
(package
|
||||
(name "evolution")
|
||||
(version "3.45.3")
|
||||
(version "3.46.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/evolution/"
|
||||
@ -11529,7 +11611,7 @@ generic enough to work for everyone.")
|
||||
"evolution-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1q4fa5l7k0rax39iwn2spmzxcr2l73mj3644lf8j9mnp5w774c96"))))
|
||||
"0gwi89bqk20ggcxsq7xgd97my0hxx8z82kisml6vz6kbpiv957p0"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@ -12167,7 +12249,13 @@ integrate seamlessly with the GNOME desktop.")
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'disable-gtk-update-icon-cache
|
||||
(lambda _
|
||||
(setenv "DESTDIR" "/"))))))
|
||||
(setenv "DESTDIR" "/")))
|
||||
(add-before 'configure 'set-qemu-file-name
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "src/installed-media.vala"
|
||||
(("qemu-img")
|
||||
(search-input-file inputs
|
||||
"/bin/qemu-img"))))))))
|
||||
(native-inputs
|
||||
(list desktop-file-utils ;for update-desktop-database
|
||||
gettext-minimal
|
||||
@ -12193,6 +12281,7 @@ integrate seamlessly with the GNOME desktop.")
|
||||
libvirt
|
||||
libvirt-glib
|
||||
libxml2
|
||||
qemu-minimal ;for qemu-img
|
||||
sparql-query
|
||||
spice-gtk
|
||||
tracker
|
||||
|
@ -19,6 +19,7 @@
|
||||
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
|
||||
;;; Copyright © 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2021 Baptiste Strazzul <bstrazzull@hotmail.fr>
|
||||
;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -84,6 +85,7 @@
|
||||
#:use-module (gnu packages assembly)
|
||||
#:use-module (gnu packages rust)
|
||||
#:use-module (gnu packages rust-apps)
|
||||
#:use-module (gnu packages crates-io)
|
||||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages nss)
|
||||
#:use-module (gnu packages icu4c)
|
||||
@ -348,6 +350,169 @@ in C/C++.")
|
||||
(inputs
|
||||
(list icu4c readline zlib))))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Temporary packaging of rust-1.59, pending inclusion in (gnu packages rust)
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
(define rust-1.58-promise
|
||||
(delay
|
||||
(let ((rust-bootstrapped-package
|
||||
(@@ (gnu packages rust)
|
||||
rust-bootstrapped-package)))
|
||||
(rust-bootstrapped-package
|
||||
rust "1.58.1" "1iq7kj16qfpkx8gvw50d8rf7glbm6s0pj2y1qkrz7mi56vfsyfd8"))))
|
||||
|
||||
(define rust-1.59-promise
|
||||
(delay
|
||||
(let ((rust-bootstrapped-package
|
||||
(@@ (gnu packages rust)
|
||||
rust-bootstrapped-package)))
|
||||
(rust-bootstrapped-package
|
||||
(force rust-1.58-promise)
|
||||
"1.59.0" "1yc5bwcbmbwyvpfq7zvra78l0r8y3lbv60kbr62fzz2vx2pfxj57"))))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Temporary packaging of rust-cbindgen-0.23 and its dependencies
|
||||
;; follow, pending their inclusion into (gnu packages rust-apps)
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
(define rust-textwrap-0.15-promise
|
||||
(delay
|
||||
(package
|
||||
(inherit rust-textwrap-0.12)
|
||||
(name "rust-textwrap")
|
||||
(version "0.15.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "textwrap" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1yw513k61lfiwgqrfvsjw1a5wpvm0azhpjr2kr0jhnq9c56is55i"))))
|
||||
(arguments
|
||||
`(#:skip-build? #t
|
||||
#:cargo-inputs (("rust-hyphenation" ,rust-hyphenation-0.8)
|
||||
("rust-smawk" ,rust-smawk-0.3)
|
||||
("rust-terminal-size" ,rust-terminal-size-0.1)
|
||||
("rust-unicode-linebreak" ,rust-unicode-linebreak-0.1)
|
||||
("rust-unicode-width" ,rust-unicode-width-0.1)))))))
|
||||
|
||||
(define rust-clap-lex-0.2
|
||||
(package
|
||||
(name "rust-clap-lex")
|
||||
(version "0.2.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "clap_lex" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1ib1a9v55ybnaws11l63az0jgz5xiy24jkdgsmyl7grcm3sz4l18"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:skip-build? #t
|
||||
#:cargo-inputs (("rust-os-str-bytes" ,rust-os-str-bytes-6))))
|
||||
(home-page "https://github.com/clap-rs/clap/tree/master/clap_lex")
|
||||
(synopsis "Minimal, flexible command line parser")
|
||||
(description "Minimal, flexible command line parser")
|
||||
(license (list license:expat license:asl2.0))))
|
||||
|
||||
(define rust-clap-derive-3.2.15-promise
|
||||
(delay
|
||||
(package
|
||||
(inherit rust-clap-derive-3)
|
||||
(name "rust-clap-derive")
|
||||
(version "3.2.15")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "clap_derive" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1d2c4vs345fwihkd8cc7m6acbiydcwramkd5mnp36p0a7g6jm9cv"))))
|
||||
(arguments
|
||||
`(#:skip-build? #t
|
||||
#:cargo-inputs (("rust-heck" ,rust-heck-0.4)
|
||||
("rust-proc-macro-error" ,rust-proc-macro-error-1)
|
||||
("rust-proc-macro2" ,rust-proc-macro2-1)
|
||||
("rust-quote" ,rust-quote-1)
|
||||
("rust-syn" ,rust-syn-1)))))))
|
||||
|
||||
(define rust-clap-3.2.16-promise
|
||||
(delay
|
||||
(package
|
||||
(inherit rust-clap-3)
|
||||
(name "rust-clap")
|
||||
(version "3.2.16")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "clap" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1af06z8z7m3327yz1xvzxfjanclgpvvy3lssb745rig7adkbpnx3"))))
|
||||
(arguments
|
||||
`(#:skip-build? #t
|
||||
#:cargo-inputs (("rust-atty" ,rust-atty-0.2)
|
||||
("rust-backtrace" ,rust-backtrace-0.3)
|
||||
("rust-bitflags" ,rust-bitflags-1)
|
||||
("rust-clap-derive" ,(force rust-clap-derive-3.2.15-promise))
|
||||
("rust-clap-lex" ,rust-clap-lex-0.2)
|
||||
("rust-indexmap" ,rust-indexmap-1)
|
||||
("rust-once-cell" ,rust-once-cell-1)
|
||||
("rust-regex" ,rust-regex-1)
|
||||
("rust-strsim" ,rust-strsim-0.10)
|
||||
("rust-termcolor" ,rust-termcolor-1)
|
||||
("rust-terminal-size" ,rust-terminal-size-0.1)
|
||||
("rust-textwrap" ,(force rust-textwrap-0.15-promise))
|
||||
("rust-unicase" ,rust-unicase-2)
|
||||
("rust-yaml-rust" ,rust-yaml-rust-0.4)))))))
|
||||
|
||||
(define rust-cbindgen-0.24-promise
|
||||
(delay
|
||||
(package
|
||||
(inherit rust-cbindgen-0.19)
|
||||
(name "rust-cbindgen")
|
||||
(version "0.24.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "cbindgen" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1yqxqsz2d0cppd8zwihk2139g5gy38wqgl9snj6rnk8gyvnqsdd6"))))
|
||||
(arguments
|
||||
`(#:cargo-inputs (("rust-clap" ,(force rust-clap-3.2.16-promise))
|
||||
("rust-heck" ,rust-heck-0.4)
|
||||
("rust-indexmap" ,rust-indexmap-1)
|
||||
("rust-log" ,rust-log-0.4)
|
||||
("rust-proc-macro2" ,rust-proc-macro2-1)
|
||||
("rust-quote" ,rust-quote-1)
|
||||
("rust-serde" ,rust-serde-1)
|
||||
("rust-serde-json" ,rust-serde-json-1)
|
||||
("rust-syn" ,rust-syn-1)
|
||||
("rust-tempfile" ,rust-tempfile-3)
|
||||
("rust-toml" ,rust-toml-0.5))
|
||||
#:cargo-development-inputs (("rust-serial-test" ,rust-serial-test-0.5)))))))
|
||||
|
||||
;; Bug with IceCat 102 with cbindgen-0.24, see
|
||||
;; https://bugzilla.mozilla.org/show_bug.cgi?id=1773259#c5 for
|
||||
;; possible patch (untested)
|
||||
(define rust-cbindgen-0.23-promise
|
||||
(delay
|
||||
(package
|
||||
(inherit (force rust-cbindgen-0.24-promise))
|
||||
(name "rust-cbindgen")
|
||||
(version "0.23.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "cbindgen" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"006rn3fn4njayjxr2vd24g1awssr9i3894nbmfzkybx07j728vav")))))))
|
||||
|
||||
|
||||
(define mozilla-compare-locales
|
||||
(origin
|
||||
(method hg-fetch)
|
||||
@ -375,110 +540,110 @@ in C/C++.")
|
||||
(mozilla-locales
|
||||
;; sha256 changeset locale
|
||||
;;---------------------------------------------------------------------------
|
||||
("0f2lkv79gqf46f74905mab3zwyz1532chxlf9d28s548p1hw6lv9" "8312cd2e0777" "ach")
|
||||
("1v5jpmd0b04mizm9pjffp4r9q121vpq3yzkkxcgmrcwj4gc5jb2y" "21bf766c19d8" "af")
|
||||
("1fqjiq2la543z5pbbvd9kfs0wdc2phmqjbxascfsak854qy1z9f9" "34b6a4f0790d" "an")
|
||||
("0pl6j99xnali25glyr3g9fmj67v9vqmhd9k74i97f8q5n4xmv3ym" "513c3e8dac97" "ar")
|
||||
("0d1fbk9jcai19pi8b7i4y4r0gscqi1inr9dbahd6h0xbxfwc0zif" "19ca0cd0d1bf" "ast")
|
||||
("08f9b63wxxy28zaimjn1ab9w51bvrarc3pp75s7v6kzm5bk1jwic" "44aa0dad7964" "az")
|
||||
("15pksy9bgaxcbcnvvp8jwqnqxvvhq9vnljpai6jlh52yyrsglbwi" "5e4499355167" "be")
|
||||
("0gdg84jp1i4il4nc6gwaswdhc4ljbb9inyip7vhkng09v3pmwm0h" "98d006107851" "bg")
|
||||
("0i6vl0ag74phj4l38cvds1ds3jjdal1c8d7hy6pf4aqrp4ai32mh" "2ca52cbb680a" "bn")
|
||||
("16yavargwq8rhipzpmrrvyh68g3a6disz9g5m8xbhxvixhcsi5fr" "ce92556a0a90" "br")
|
||||
("1512dzp394pj66i13nsz76qh6fmjpz7r7fmvk8d0h7pjk0d6n0dy" "1c79dabdb120" "bs")
|
||||
("19wg0kbr2ihbn4lscsxg9agz04r8bsih4692vfgb6nyn1z8vx2i0" "a22912c01617" "ca")
|
||||
("1ixpzjb7caq1d9c7c044rxg3ymxs3hjw120kq85v004jrrb4d9c6" "34bf3fd631d4" "ca-valencia")
|
||||
("1abizdmd1c56syni1aanwwrfvmgzz25fmimbj2324bcw801ma9h0" "e2e4ba2c37bc" "cak")
|
||||
("0wgrg2wiz1jcj52nd4zl4shfkjhbngfj6p1gw1ywj266hk8g6pvw" "a60792bff6ff" "cs")
|
||||
("132f29111jd2z9yxpakkyri80mi2ggnik6zxaxqrp4vlcrd1fxd2" "66369fcad8c7" "cy")
|
||||
("04lpic3cxdj1imcwjkbk81avp9dpa1c9b1zcchrr1a4vyy4yfjpy" "af198d43f7d6" "da")
|
||||
("1h0rkwlsqls8k1qi1y68plw6xk0z2c5xc2y4nqywiirl71yz7fi5" "816fcef20c05" "de")
|
||||
("11lzdyl1h42zb1x2yxiv3r0wih8jy1gr0gzs5d1isdq53sa9cqnq" "962e5a544415" "dsb")
|
||||
("146jgrhl41k6zbxg58hxh1s088padsjz7ny8nm59i9i8d00jpv0a" "e7c49fd88463" "el")
|
||||
("1qppr44hdnrb1z1igcd1p0w5sy9vpihzilkl2w44y0v0v9rigppv" "5a0e35b08a48" "en-CA")
|
||||
("1v2irfms24cx9g5s6r1glmp2c000wi91axyca1pn37s7c01r0n4b" "72f8c5d8305d" "en-GB")
|
||||
("1y0rbbmax1w6jy4jacy27xgy4aqnd43izysw8qjwm0qhhfjvf3xh" "40994fca693d" "eo")
|
||||
("0kmjvinqpb3y81mqda1qq8k202aa36as9z1z775745bx6sbvkggz" "6cf3c836995d" "es-AR")
|
||||
("06rvd1z3l0r7hwnsnw90i0f5j2ysbv6wd3cl64g0bgifmwjk75hi" "8727dda3935e" "es-CL")
|
||||
("0gzw1rn9nzpgcrrc10indnbqqpax87azczrfxv8mn5n56j734hc0" "5351aba49895" "es-ES")
|
||||
("0bnmgisxfkb6rb12avhipbsj1yr0dyv56qjj9471gnc2ppq7k3c9" "dd834a4af402" "es-MX")
|
||||
("1951975h9w813qxanbk3frjz7c8knzx5rvq9i82j9i6x6a3fh6fi" "1f2150796079" "et")
|
||||
("1vkb5rd0k6vh9dbll3fhyzg8rfpkxxkd2rxwf66b8l3hg4fqd7f2" "2911663f4a7c" "eu")
|
||||
("1cj9zblfp94h86m7zd762bfmcfz0yxc1q4ra35s4wnnlqajarzwj" "04ec3c3bbe92" "fa")
|
||||
("1ininsyzaj7xd8ppmklm3zglgw1i0nhdy43iiyva32hb592zxy4m" "0cf866f9bc4e" "ff")
|
||||
("1hc308d71iygarrpliv7pxjz49gxwqg10d0pv8j4sbb2pw39bprl" "04a600fc54a4" "fi")
|
||||
("02nl54db9130rg59wmrrnh0z726fg5ir1njfcnhxagb4g5b7s69f" "64a3576df276" "fr")
|
||||
("1qbby23qlkxjz3vwlk8pd2w1w4cxdff8cq7j0ipk44mijkxkry0c" "c84177dfa254" "fy-NL")
|
||||
("1x23pg36ld5qnrmdn149rkl85ia8lmiqbzcac2bm0iqprnjdszii" "31590cffac56" "ga-IE")
|
||||
("005fpyr1lvw23dja3yrzx4y8wdih7vx6ljjpisf4pd3k5zai4x81" "ba4f274ac4a1" "gd")
|
||||
("0kdlb5q74n0fl5fxfy873s392kry69dmdl8b4gvqdyh5sy66vsqm" "56b41bdcd401" "gl")
|
||||
("0v8r8b0nrk1l4xipzhq16klmh0pinzcrma0s0gyhgzqqli6z7aym" "59e2afb65c08" "gn")
|
||||
("1grb1lq1f9p5jxgh9v78jl1wswxmsqxkcssm35l30k6y24pglr0m" "33b4409fb615" "gu-IN")
|
||||
("172fg55y8l90ix4c8s5x7f8mg6rc7779p6l852cnnkfqjgqa5a5f" "92f9f8238189" "he")
|
||||
("0i52nmg0yv3y1y3rkinxcyh51mgjksk7c3jlc8014801m3zvyxj7" "00090f7a2a3f" "hi-IN")
|
||||
("074q8n00yq54kzk632dwbs64r0sygvybbvwpd6hbvfpn38lz8hxf" "6e4a3fdc01f3" "hr")
|
||||
("1jxiz8zyxbpnwgk5xkwfxlr5f1zfyc88jcsajy8wcaifdkld3cwn" "7fd9bc25e49d" "hsb")
|
||||
("0ca11pmkzyd9ccrnrbmk0jrpcb03k88v4zivxblnxj4w03g0hyhq" "ce3b378ce950" "hu")
|
||||
("1yszljbh8f7w6lckfw22jwximy3yhis4430lfynfb8lh9nm0fw59" "c91a4a3e8821" "hy-AM")
|
||||
("0hhl8b8szqlhjdxhsa81zmgr303kr0jx5d6rzbi840qwf01h12sz" "4f235acc839e" "ia")
|
||||
("063yfk3nz3kignbri7r9sr3jwr5p9yyqc6sckgqs94hx6lvc355p" "fface86a34e4" "id")
|
||||
("1qszxkgliall4haaq6v0xayxikq43ddcdsn1d4m1mwyp7gdpbry5" "5978ae767b44" "is")
|
||||
("1fsfz9iz5pdd5r9ckdal6grvddchsc4r3r8gn4w6f2bja6vpbs05" "0c7d2a0e1304" "it")
|
||||
("1phkw0apiicgbw2nq3g392xncw1v2c4yac595h3nchs4q6rp9pd9" "1c923f3e88b9" "ja")
|
||||
("1y4gc4l6g72nphhsw4aqhcl80a7wi9qdy61h66c6jc6h14i7278d" "66f700940cfa" "ja-JP-mac")
|
||||
("0iqwj0y19zqcdclnn92z490s1g9vh2qr9gmkyfnpsz69llxidx1j" "49b4a7c6bb2c" "ka")
|
||||
("111nm2khff0zxnqqfc68rbi3j0b1nx5r4xai7b8yymyv1i0qbsxd" "4854facbd60b" "kab")
|
||||
("12p7lg2p6pcqdlb4bqbz5isxilw2r9vb8344sh8zrvv9cb9jq04f" "d2fda8a1b287" "kk")
|
||||
("142vpw9npqgc8b5zcg5cy2lh07s4mg8xfbaymg44fb4j3s6agw88" "3a5a1cae9b93" "km")
|
||||
("00v1sd2byj2ksxw1020z142cdlxa7ri2v1rzjrhay9l465bj3k8x" "6ed122b33cac" "kn")
|
||||
("1s07yhwzpxj0l5vj5lzbvgw115sjx1g2zgbqca5wln95dds39npl" "49bc07645a47" "ko")
|
||||
("1b4brfww0w7x1h3ff19i6xi8xq2cb1hxysilira6yq4rb6vhlmly" "93f04df12616" "lij")
|
||||
("1i30my0bbgm9z02rxxi7x4vc69bs3bnjs9l2q6jd8xvs1ga3vc7n" "e1f4e0d87509" "lt")
|
||||
("1bjh4xlx6562hxq527cqcn4b5295dsdpwn4c4y5ci902nlh6fc8l" "daea4ba4e7f4" "lv")
|
||||
("0vig42slcx6bhpisyc1bnyklr95lbv7vqd1ckiywp5c5qzfa9afi" "0c4ca0f4fc17" "mk")
|
||||
("10qfnkqi2snmgvm4vcrmp2489klchv3hn2c4rmkdhi5bilfk42jx" "9be8d5951976" "mr")
|
||||
("1bkn8ds3fyz710ck4gg4g5vpv23bi573ssm9xbiyl8y59pvbig9b" "0f44d0bcfda2" "ms")
|
||||
("1j9af3axbijn0s8y96310mvgaq5a36m0r3ij550jv5bv52862crj" "ccbf0c4355d6" "my")
|
||||
("0lspnp9jn3rrgz3djnmc0qrb6ymigvqnr3fb0jbhmf83r4yfs8z1" "a6cf2c6e3594" "nb-NO")
|
||||
("1xp2884m9gqm9gaakc747bd9j55wssrh3qsf4y4k02ijh08sfmwb" "c1636a1a7507" "ne-NP")
|
||||
("0y1fxp9pxia6x2wxdharh2ynvzdqcmzpya1gdb89pcv5qyrzqgcl" "60ed1c2397a6" "nl")
|
||||
("1nbp924p7fp2c76ym71wp34vk96z89i4g2rfgpsi54cgv42a6vgq" "a7f9a3d35875" "nn-NO")
|
||||
("1yrmhyvb6skypcyvi6j3py51sdkq9vn35zkryx6rdp8ygqwm1va7" "9ac29828960e" "oc")
|
||||
("0rn2414ji1icar627arf5rjwl9r9vxhznbfsyxgrmrf0p6dp72fv" "87720cc32205" "pa-IN")
|
||||
("09lam6yaprc8zyisq0pcdj4afpg930c2x3x47gdxnqfyhmcfygs7" "56b2c592ffba" "pl")
|
||||
("0mbc1a8wvjs3k928qh0k800d230251i0rw0myhdpc6mk3xjna7i5" "89f1b173c9b1" "pt-BR")
|
||||
("1v1qa5slllz78222rlqr4b8k7c8dapmx8d7s5nb90wdffic0zcqy" "27adc5dad781" "pt-PT")
|
||||
("04k6h5d7c740lz1hx1vavj6p0fmhgn9mm3nwvk4p9iccy5nw5pmf" "83e2e4833fc3" "rm")
|
||||
("0f0hz792wr17mgi6n190dliqx67479aqg3y2ak0jg0fiz2c8qr7p" "69cdc288966f" "ro")
|
||||
("17yngj0v30687m7fa1ls0g86vjg8jzxs7bnsca91jpxf3ij44xp6" "03046775600f" "ru")
|
||||
("1fvz23nphs9i4gdkx9fcy5ahdk2f879281pchclwi0qlciq7digr" "61ea93a50fff" "sco")
|
||||
("0yc1iwqbnpnf1i7yz3zqrx6g8pinc7l53pvbczywfkq3rz6wmmf5" "2b134d24c046" "si")
|
||||
("0kizljksn2vn4yw7qlv7c8h2m75f7n9ddg6n6ag3hwxxip83hn4y" "6d69c24dc8db" "sk")
|
||||
("1ll936b18wy464623jc5smf3c6dpimh0qwn28a991h7zcw31n3kp" "29e195d1d160" "sl")
|
||||
("14w9n994z9gf0wx7vrqisyxkngvhmmnayx8r0vwiq8k7jy81sxlm" "60a3b235fe1d" "son")
|
||||
("0z7bcfvq6x6dxf4d4bbjsg36r5npkr89087b0j360ljampk6c2fn" "8588cbc89847" "sq")
|
||||
("1fcq9g89lhzckzr2qb6x0w0z6q486n9jdqfi6h70dx8b069b3jfj" "198f7e89f10d" "sr")
|
||||
("0ap3m1sbibnaj9s2l139m7l8cc8s2ky4jlxwgzbxdzvqxfz7n954" "b098e2ebc049" "sv-SE")
|
||||
("0k93gnwfs5mahb9vz1c65ddcbkav0cwhxnrww3qk7gcmn7q88gqk" "25951b964d5b" "szl")
|
||||
("0b0v5pcwvhvhg8vlzy26g3j0m1r8svrpq07hq0q7lxldwlb48phz" "94659c83c9d8" "ta")
|
||||
("1v35cl6m3ikzsriq6zkjzjs3p9bhl8zmbp2gl14mga1f1zy4kcah" "eb59646a5d36" "te")
|
||||
("0y3r30mjgxngjraqmf5cm00kgqx2pvhbvy8sfxb3fhypv9vda3yr" "10d257301a2d" "th")
|
||||
("1inyqk495py20jwjvs4yl0n5ncf3hhb896bs1lwfsgpvbvr5hbq1" "9be6adca0e51" "tl")
|
||||
("0vsirjs655cia9n8dys2r84bvg303hcxkk2w6a9j3dkbifq5ymk6" "51354c936bf6" "tr")
|
||||
("050x882c0ywil290k4g861njw70ffw2y55dqk3w0kffi972mm909" "d7510f2d01dc" "trs")
|
||||
("001ykwxkwibavbi1k42b1hmysb3gmrwcs68zmw96m1vc80p29nz1" "4d1fa878042b" "uk")
|
||||
("0lsz6jlmmsqdg47pdx8b1djjvcavi0wlyr0mkpyhjgpginag21zx" "ad3035f28183" "ur")
|
||||
("0d3ggm3q76pkpg4n3lz2ji4pbb47n885byqxbp7sk6n9vlgzir7l" "8ea7a5a051db" "uz")
|
||||
("0v7d8y6xsr6yf2s1sjxnsjmw0hdnj91f0w2da6spkifb52lmbv6v" "67fe2acb306f" "vi")
|
||||
("0j8l09vzqlw4zlkyp6wkh44c5gr1xgbcmnawks1zj7xz02ambwii" "abc22dfb6d84" "xh")
|
||||
("1c01pbyswixkjg42714fvfy33b09mpdbf4d8f8kcs88c86jpf07z" "d6d6f9bb6113" "zh-CN")
|
||||
("0yq8fqdz862pnlbvfsqfc152rhpsqgncvp8bqkd653mdfv4qkwr4" "0cbdc5f1a048" "zh-TW")))
|
||||
("1y562h0dg33vhhhwfk6jl7xbr67gng21vcf3rpm96zzcgbnf8rjj" "503a7baec899" "ach")
|
||||
("1cqixlk9f8p63jz20wzsvnfb7xa82ba725gzdydlwz2axgp09c26" "4e2c7d1ddbed" "af")
|
||||
("19r1yhmfxqasyslc8gr9as5w1scscz1xr8iqy9zi4b90fdjzs0ac" "06897e40a7ea" "an")
|
||||
("0nfknb1p03j9fgmkwlm1mzdyh10g0l33x34ab39kc072apziyv0n" "9272819b09e2" "ar")
|
||||
("11qqblqfffbmkdr5b6mxzq02i8rj1hjq3iy6xv5i5xxy311b3vpb" "f706d22e6910" "ast")
|
||||
("0q2p1a437qr2nshdd4934qkv2sblmykiwzir149c8p9m5sjk0dyw" "f5c2a9800add" "az")
|
||||
("0gxxm3lv18kj0922bw0g897azc4nkrszm5irgwdkgmkbyr97li83" "98ba7d51484f" "be")
|
||||
("10vrbbaabjns824ndya6c09znm815pak2xpvqgjydl3r5qvacx65" "5c79c77311cd" "bg")
|
||||
("1il7yyifx5xzj0v2lna315mppl5pk1vi4m9r66hdz1lzc485m1wp" "c80c87ef7193" "bn")
|
||||
("1p1ig4v9pczzrnnxzr20r61g7xk85k5lgnxhzgn1rx518p85xrkm" "6a1bcb9851b2" "br")
|
||||
("08q33bk9kdvbyc4ib58bsn2b67ki3d2yzskkf5r2n5zlglblksa2" "939779cb58d6" "bs")
|
||||
("1bdkywrqah85fh8kfnz163qnc02ffx0a4vlnx5pq1wg9j4f1gznf" "9a45ccf144f1" "ca")
|
||||
("0hhmp5dzc0rssykl0b2n9h0vfy4svwhxmhpsr3rcfpbg2s0r5h6l" "4f60e18fc248" "ca-valencia")
|
||||
("18phbl9raqsbys9wa8z0gq0h0pw3b55v6ngn67r4373lfc0s9cxv" "b4ef404c7de8" "cak")
|
||||
("0147qyw1y97mgqhkb46wblxv61lq2mvvm5n5ihwf49l5cyizi0jg" "f56ef18f05df" "cs")
|
||||
("08sbhnsxndlsaijnxndc367qcbrzb29m7bpkcawinz9fg6mz3573" "4f9d92f04f5e" "cy")
|
||||
("09cm5kk1sh2a6ws1fj185jrknhfa6n4bhj7nfnr4lsk339n0kvv9" "902503567e30" "da")
|
||||
("0r630bki5d4ylicq6lzh6s2mvsq225933szswmm0sap507rj75cm" "6000baf7a412" "de")
|
||||
("0749qjsfv3rn94rnci3ydgndw27qlr3w3w97kfwma2gmsf3m3r0p" "4a948952d1f4" "dsb")
|
||||
("0yc64i7mpxhs4qlyyh59i2aiz0vpap0bn8slcsk8b71wd1d7cy5m" "153a16a13733" "el")
|
||||
("0d4m5ji6ii10yap8y24cxx3fr60ba1jqi10hy3j1cq6ni7hzavga" "7ce17ae529ac" "en-CA")
|
||||
("12jzqcfbgdhfm8f2gqp15bdnin62li07jwicjc8ynn4cl9a19xiz" "a25d9eea7c23" "en-GB")
|
||||
("0gbb8hfc5yvjah63mapjxm53wxrf98srbrbg43b9g734zfi4n8y5" "4ed3471dad5d" "eo")
|
||||
("19lw7zmqx2irjmv5y6r7nncp6nysn06abf10n3dzj5nzgays6sln" "853fe7acb415" "es-AR")
|
||||
("0rq4pa380b77rkv6dq7sqx8a8i33jk3vs5rgcl8fv7slqvsw23kd" "921b67bf27a5" "es-CL")
|
||||
("1dyxzab9hln5spch66wmfagfzmfdiaxgpq7qlzvdfg98wkqdj25n" "c9a210ea496c" "es-ES")
|
||||
("1gwpmfl37wxl7rynqswgj41liljflgxydvljd4zdhk3jzqn605fb" "ddd35183d81c" "es-MX")
|
||||
("0c3blniddklapifnjbz03f2frw24jjgwgwn6swl5mwm2z0y6wa9f" "82d23ffaa7d3" "et")
|
||||
("05mq2df6n6fr8m5m2xwl0f6n1q3zgjrnk465ldx1nfr9agrhd36c" "13975626d549" "eu")
|
||||
("1l1jyqqiy551903j6yzh9ayg1pf26q2hr9h3jj4l51xzp7x4ms2q" "039e1fdb7c71" "fa")
|
||||
("091l05y9sggxznv0y11b9zy5qf146p0hb5faw4ix7yn5p5kca2f5" "7bd3722d82de" "ff")
|
||||
("1lllwjvmbl5dx44fcvsqg08fbflkc8dx5as9n6nf4xlkzydx6izm" "39808e88c9d1" "fi")
|
||||
("10ha955vvyf5vbciricm72kplj9j0s00g2333lmg46jiwi7aviiv" "426d373db6a7" "fr")
|
||||
("11zdfk8jvdy1k9z1q162cwapplcbz35l3dq4mv45brdin3v0x8kr" "96cd93d18389" "fy-NL")
|
||||
("1l5xr25gmssyachwmfprlnp2v2xj4b0hp8gxrf7fi5bvv9c2fynb" "de3daf7d3f9d" "ga-IE")
|
||||
("06h9ijfsn1cgz5fvxxbisk7fvqhgsw99id92575hgyg1p8xb1n69" "f04aea656d9e" "gd")
|
||||
("19913i5n8yyfhz9j21krlk7wqsyy89vggxc1m1swv94y2ix8rpaj" "1b8cdb87bf69" "gl")
|
||||
("0k5x31bfl2l0r9b5dkn03frm1gd8n6igai7ch2f1kj0skflynwww" "82df570c4241" "gn")
|
||||
("03rygnj9xhfvykark7dls117kwhid13ghvrsqiial0vp8m7ymx79" "e2e41d7beaa5" "gu-IN")
|
||||
("0vyraplj1x7b5im15anhzdaq03k2gqfyybgklrd4f9ry6msh5jhx" "de724e943805" "he")
|
||||
("1zqps586jrgxpf7xx2l3qw3ch3fr31r9a25y861fpxrpvh7ygw7g" "898598e1a5c6" "hi-IN")
|
||||
("0czq68l3qdhdc0mgazlrh8x83a6d5qrjwgjv8xvsmmzi7h68ww0l" "2711d1515af0" "hr")
|
||||
("1wwvrnm38gk2rnw4vmcranh8hk61gjcj9292pck3ckiv6mq7kd4s" "03e02f3d0676" "hsb")
|
||||
("0yvgdxlbyhhg3lk43hxx9gx66rcm7gaj02zzzx5zni8dhvlk2v6m" "d423ada9dc00" "hu")
|
||||
("1kjm7bg4990jhfbxwc38r4lqm2fbcxc82nc2d4qkqwikr4aah4b9" "06836af0bd6e" "hy-AM")
|
||||
("1dla7r3snvagb7m985xxqyi7gl498cr5xsz8msw0zpg6xmi05rlx" "299bd950d538" "ia")
|
||||
("0w8w9xn93akir7nqcp5iwr3kqvba5gbirg7gmzlzg7mgrhw8pcsa" "dee087477b99" "id")
|
||||
("10iakv1c1d20ihxg1s7c3zc1zfw18vr2kspcw7bk5k02rmrffgcn" "320095d063ed" "is")
|
||||
("1xn5pa3rc7l6k2migm3c0dx71q1hk7mjls045xpv9cy8gvirnj94" "4722680fb5bf" "it")
|
||||
("0va9zfj3wqh1yvbgh3x808yvdyxkg780vazjg887wbxpfk1n6hxa" "cb3cfe294621" "ja")
|
||||
("0qvjc3fhk6jg2c3g6mymmnslg1rkkxmv9gi3whf2bc5mzfgyc5zw" "7efe92bd7780" "ja-JP-mac")
|
||||
("0zfiwwz0axbd219ar32c7a6b8h816sf04ajx6jl74s5kyij79y82" "4c1fe3a18da9" "ka")
|
||||
("1aiik4758r5df76q2a132y5fjdjrsxshjylk7irwsr7yy0c7f63g" "acdf76048aa0" "kab")
|
||||
("0icxh4sgv6m1yykycb9d9c43k3r6w02f9c6jr04wm8hvqq5icfl5" "9b418ff7936b" "kk")
|
||||
("1cqlhggf46lr7w399k7qb7a1hc56f32w1dy26i2racpppzza5plc" "9771ada0b5f8" "km")
|
||||
("0p04irnb7x7y37m6lz388x9dynn8rnk000avpp296barajnhs5i8" "645aa37a2112" "kn")
|
||||
("1lbc1fxr5i0ccymlsd8axz3633cqggg5k8ak5yqwi704g7kvv9g2" "1cd68952d119" "ko")
|
||||
("11b55bxg73zqfdn5gy9nn5imab2mv0hxr603whggp7vymllgb7kb" "26bb83959bfe" "lij")
|
||||
("15jsijm6d26i0105gz0f7sh2yh2v4pmw4j95cwkdrb1d8m935jlz" "b9829891f153" "lt")
|
||||
("0liwwv13fgyw97nizhsyy53xrbf8jks5ics7qkkxfccawjrg5rlb" "e5f09d03d959" "lv")
|
||||
("0w420yf3hdnl7dp9mn9ghc20cq79k24fn9adn3syk723ppl6mkb0" "7884845e94f3" "mk")
|
||||
("13wkr7rgqsv9w3d9w7k8lnxdzgfixsq4bmc27zsyc770l6062ml6" "030db7412202" "mr")
|
||||
("06nsadcnxx0ssdp67x47dj9crihn1ycgd5mwvn5m7lkb97r4ch9f" "40a7703e875c" "ms")
|
||||
("0mlnjdzck6dp9p59ajj3sr63r36fn0qi8r9scrqrqcisgfclw9sg" "daca40056531" "my")
|
||||
("0z1hgx9d5i9w20f9k9azzng1y3lmm5d6hdjkj7rf6r5710bhhzh5" "664bd049e105" "nb-NO")
|
||||
("1466qvrs13g2iix1k35cknb2pia9b66li2ncvdyqf0jsd92z9k8x" "eaa6ae781ba0" "ne-NP")
|
||||
("0jgmz2lkzj0aspd9mabygzic6li5s2b25y0r6vjg8mv3jm5pi86j" "5ef8f1c9739e" "nl")
|
||||
("1m46x0h20vdfbzjxlz0ac43dbaq40xnyldr2yzbf7pk5di9pzxa6" "f08e15466d5d" "nn-NO")
|
||||
("0r3zvihqh6iya3z1qm7if0m3zfgf81s9qp7x7qc701h2q357wkgf" "6712c0e12ec2" "oc")
|
||||
("102j89jm28c223yhhkrj76xxj4kmy58hcs2r0jn15xa1qkqv1fdk" "8f36cc819e00" "pa-IN")
|
||||
("1j9za6s0i46abn8dsrlkpck3qxxw35rhfcg1xs1vp8sc4ckg8qwi" "c3b0c1c02b94" "pl")
|
||||
("1k9lbsvckpwl4xax8kxp5yxsfkspq2mhqm77jh5nl9aw88dsn55b" "cc32bf9630fe" "pt-BR")
|
||||
("0f0jyvbn2sa5m66wqdzh4607g4gd0270xq37ipd9ls52b4764bd8" "5478d7242086" "pt-PT")
|
||||
("19znkkialh1d4np7qcp80xkagrf1j2xah2s1xxzsh854p3d30zs7" "dd934a76fb01" "rm")
|
||||
("1xn26r8g8zzkb5myfgmnjbk8k4i0brkvbrvnhp7k5nkrnsin25di" "d57ab3dee73d" "ro")
|
||||
("04rhkxlmpp5pyzw85ldbfkmiigqr2p9y5cbns5dqs6sz1633ccxp" "7aea98f33a20" "ru")
|
||||
("1zzkkxl7ayxh5gx9snyvp5czflsvi77hp48li613h3c2fii4n9qk" "7c986f4b5044" "sco")
|
||||
("1219i0ghhqj3s1i0rm68jjkvivh6y40938wav7z4ifck527sq6r1" "bc9e55d4e3ea" "si")
|
||||
("05i5p3n3a6hgl6rf10yjs4vag7y3rn2jwgxsddcdcqiv6405zn81" "8814afd7f67e" "sk")
|
||||
("1wcqdbm1py1ldq6cj2g201m715nql79r6szr71jvrxacb711c62a" "20013dc06e96" "sl")
|
||||
("0g2izkaa4ipwgwyhy77ciyrxxpf4pxzj9mjqvxriy5prmkhm3zjs" "d86d5d2b6eef" "son")
|
||||
("1cc99m6srjg8698dkc3il70crby0mdv43v3ijwy069k4w50hyjjg" "49bb5fae5d9b" "sq")
|
||||
("13kfssq4fhq9mb36as6sxiaffl17qyg1wdw8kpz3ilqm86bsjrgl" "d6a0ab79b06f" "sr")
|
||||
("1wx9snbm0431q97i0q0nv4wbsqcv9nhllwfr88crlp7bfj5w8czw" "4bab04993da3" "sv-SE")
|
||||
("0laglkfl8ml0ip5vmm3z2q790hgwax9gfqwq3wm68a2nnsyck8fw" "4b3316c4aa48" "szl")
|
||||
("15pnlic4q7m48y0mc5yh8w5yscjwzx0mmfrbj3f2b9jxxa44nx4h" "48c7aab86db8" "ta")
|
||||
("16qar5y0wns75ryi8bfv7yln3mjsyn7qi4345zcniz3ydgkczh46" "7bbb3dac8f47" "te")
|
||||
("112g7x8h0qz16r5faam386x4a0rgwd4zy02d5agmg9m0kbficdfx" "009fd0852454" "th")
|
||||
("1l80kh9byqxnz5vkz357rb39g4y9sgn9pr0v29ywp6d009img1qg" "dad9caecd7a9" "tl")
|
||||
("1nalvjlxxsa9wldhhdb93bgfc7dl084xayh7i7mgg93yjgrym93x" "0c48082d37cd" "tr")
|
||||
("0wkxqcfgsra2ljws28kiwajv73w9aa8drsc4fqlg9krbicnjl2n8" "f6d105faedcc" "trs")
|
||||
("18jf4ysrfv3635fyxc1vwr970dr2r05bl3h8v599pwp2g7jzyjpm" "e1011388a55e" "uk")
|
||||
("1ihmksjsz54yii23qda5iv8cxrj9144afy75hzhvfi6m182kj4h8" "c4e927eab511" "ur")
|
||||
("0d42dhfa2vcw24wsvwf95pw20np0pz8c0is6p4307n981n8s207y" "7063df917cb3" "uz")
|
||||
("04khnkrg8css55hyna01jqay9c2ppxk5znbx2zj9i25knhvvx1lq" "1753054e6ab8" "vi")
|
||||
("0fi5kxn78xp7s15svkqlf4748j4pzxh941nm52n6kbbrhyi3qcqn" "93bc595dc32e" "xh")
|
||||
("0jg676vd37wqgzjnm0yynj7xrvm6fsgdwg296h78wnyc33zc4ads" "edd4e468bc31" "zh-CN")
|
||||
("1y4wldm3z95mfjlficp994jyqg0lj07wi35b79dy1s8ljy3jilil" "0bad1f7d2b2d" "zh-TW")))
|
||||
|
||||
;; XXXX: Workaround 'snippet' limitations.
|
||||
(define computed-origin-method (@@ (guix packages) computed-origin-method))
|
||||
|
||||
(define %icecat-version "91.13.0-guix0-preview1")
|
||||
(define %icecat-build-id "20220823000000") ;must be of the form YYYYMMDDhhmmss
|
||||
(define %icecat-version "102.3.0-guix0-preview1")
|
||||
(define %icecat-build-id "20220920000000") ;must be of the form YYYYMMDDhhmmss
|
||||
|
||||
;; 'icecat-source' is a "computed" origin that generates an IceCat tarball
|
||||
;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat'
|
||||
@ -500,11 +665,11 @@ in C/C++.")
|
||||
"firefox-" upstream-firefox-version ".source.tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0qh7j960wdp5zcfqhkj8ki47spp9i9ms12xx0v0kxvmmw36jpgjk"))))
|
||||
"0nmm861p4zakdvi9lj0ac8dkf9v17250rzcmrx1f6r7rvjv273ih"))))
|
||||
|
||||
(upstream-icecat-base-version "91.13.0") ; maybe older than base-version
|
||||
(upstream-icecat-base-version "102.3.0") ; maybe older than base-version
|
||||
;;(gnuzilla-commit (string-append "v" upstream-icecat-base-version))
|
||||
(gnuzilla-commit "4a87716686104266a9cccc2d83cc249e312f3673")
|
||||
(gnuzilla-commit "f82b5b40943fe7723486fadccb48d454ee3e9dad")
|
||||
(gnuzilla-source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -516,13 +681,10 @@ in C/C++.")
|
||||
(string-take gnuzilla-commit 8)))
|
||||
(sha256
|
||||
(base32
|
||||
"070j78al04xzchfl5xj1w300hmw17a3iqcw7mnlxf6b8rqlgj20p"))))
|
||||
"1d7lfvwi9mvaxcfiqcgch3idhyxpdf56r9b71r54yiifv6xlr7x9"))))
|
||||
|
||||
;; 'search-patch' returns either a valid file name or #f, so wrap it
|
||||
;; in 'assume-valid-file-name' to avoid 'local-file' warnings.
|
||||
(gnuzilla-fixes-patch
|
||||
(local-file (assume-valid-file-name
|
||||
(search-patch "icecat-use-older-reveal-hidden-html.patch"))))
|
||||
(makeicecat-patch
|
||||
(local-file (assume-valid-file-name
|
||||
(search-patch "icecat-makeicecat.patch")))))
|
||||
@ -578,8 +740,6 @@ in C/C++.")
|
||||
|
||||
(with-directory-excursion "/tmp/gnuzilla"
|
||||
(make-file-writable "makeicecat")
|
||||
(invoke "patch" "--force" "--no-backup-if-mismatch"
|
||||
"-p1" "--input" #+gnuzilla-fixes-patch)
|
||||
(invoke "patch" "--force" "--no-backup-if-mismatch"
|
||||
"-p1" "--input" #+makeicecat-patch)
|
||||
(patch-shebang "makeicecat")
|
||||
@ -695,7 +855,7 @@ in C/C++.")
|
||||
libffi
|
||||
ffmpeg
|
||||
libvpx
|
||||
icu4c
|
||||
icu4c-71 ; TODO: Change to 'icu4c' when its version is >= 71.
|
||||
pixman
|
||||
pulseaudio
|
||||
mesa
|
||||
@ -719,18 +879,19 @@ in C/C++.")
|
||||
;; a tarball suitable for compilation on any system that IceCat supports.
|
||||
;; (Bug fixes and security fixes, however, should go in 'source').
|
||||
(list
|
||||
;; XXX TODO: Adapt these patches to IceCat 91.
|
||||
;; XXX TODO: Adapt these patches to IceCat 102.
|
||||
;; ("icecat-avoid-bundled-libraries.patch"
|
||||
;; ,(search-patch "icecat-avoid-bundled-libraries.patch"))
|
||||
;; ("icecat-use-system-graphite2+harfbuzz.patch"
|
||||
;; ,(search-patch "icecat-use-system-graphite2+harfbuzz.patch"))
|
||||
;; ("icecat-use-system-media-libs.patch"
|
||||
;; ,(search-patch "icecat-use-system-media-libs.patch"))
|
||||
rust
|
||||
`(,rust "cargo")
|
||||
rust-cbindgen-0.19
|
||||
llvm-11
|
||||
clang-11
|
||||
;; TODO: Change the following lines to use 'rust' when it's >= 1.59.
|
||||
(force rust-1.59-promise)
|
||||
`(,(force rust-1.59-promise) "cargo")
|
||||
(force rust-cbindgen-0.23-promise)
|
||||
llvm
|
||||
clang
|
||||
perl
|
||||
node
|
||||
python-wrapper
|
||||
@ -787,6 +948,9 @@ in C/C++.")
|
||||
;; Hack to work around missing "unofficial" branding in icecat.
|
||||
"--enable-official-branding"
|
||||
|
||||
;; TODO: Add support for wasm sandboxed libraries.
|
||||
"--without-wasm-sandboxed-libraries"
|
||||
|
||||
;; Avoid bundled libraries.
|
||||
"--with-system-jpeg" ;must be libjpeg-turbo
|
||||
"--with-system-png" ;must be libpng-apng
|
||||
@ -950,6 +1114,13 @@ in C/C++.")
|
||||
"servo"
|
||||
"security/manager/ssl"
|
||||
"build")))))
|
||||
(add-after 'patch-cargo-checksums 'remove-cargo-frozen-flag
|
||||
(lambda _
|
||||
;; Remove --frozen flag from cargo invokation, otherwise it'll
|
||||
;; complain that it's not able to change Cargo.lock.
|
||||
;; https://bugzilla.mozilla.org/show_bug.cgi?id=1726373
|
||||
(substitute* "build/RunCbindgen.py"
|
||||
(("\"--frozen\",") ""))))
|
||||
(delete 'bootstrap)
|
||||
(replace 'configure
|
||||
;; configure does not work followed by both "SHELL=..." and
|
||||
@ -971,10 +1142,18 @@ in C/C++.")
|
||||
(setenv "LDFLAGS" (string-append "-Wl,-rpath="
|
||||
#$output "/lib/icecat"))
|
||||
|
||||
(setenv "MACH_USE_SYSTEM_PYTHON" "1")
|
||||
(setenv "MOZ_NOSPAM" "1")
|
||||
(setenv "MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE" "system")
|
||||
(setenv "MOZ_BUILD_DATE" #$%icecat-build-id) ; avoid timestamp
|
||||
|
||||
;; XXX TODO: Fix this to work on systems other than x86_64-linux.
|
||||
(setenv "GUIX_PYTHONPATH"
|
||||
(string-append (getcwd)
|
||||
"/obj-x86_64-pc-linux-gnu/_virtualenvs/build"))
|
||||
|
||||
(mkdir ".mozbuild")
|
||||
(setenv "MOZBUILD_STATE_PATH"
|
||||
(string-append (getcwd) "/.mozbuild"))
|
||||
|
||||
(format #t "build directory: ~s~%" (getcwd))
|
||||
(format #t "configure flags: ~s~%" flags)
|
||||
|
||||
@ -1049,7 +1228,9 @@ in C/C++.")
|
||||
(("IceCat") "GNU IceCat")
|
||||
(("Icon=.*") "Icon=icecat\n")
|
||||
(("NewWindow") "new-window")
|
||||
(("NewPrivateWindow") "new-private-window"))
|
||||
(("NewPrivateWindow") "new-private-window")
|
||||
(("StartupNotify=true")
|
||||
"StartupNotify=true\nStartupWMClass=Navigator"))
|
||||
(install-file desktop-file applications))))
|
||||
(add-after 'install-desktop-entry 'install-icons
|
||||
(lambda _
|
||||
@ -1073,7 +1254,7 @@ features built-in privacy-protecting features. This package also includes the
|
||||
@command{geckodriver} command, which can be useful for automated web
|
||||
testing.
|
||||
|
||||
WARNING: IceCat 91 has not yet been released by the upstream IceCat project.
|
||||
WARNING: IceCat 102 has not yet been released by the upstream IceCat project.
|
||||
This is a preview release, and does not currently meet the privacy-respecting
|
||||
standards of the IceCat project.")
|
||||
(license license:mpl2.0) ;and others, see toolkit/content/license.html
|
||||
@ -1082,13 +1263,293 @@ standards of the IceCat project.")
|
||||
(cpe-name . "firefox_esr")
|
||||
(cpe-version . ,(first (string-split version #\-)))))))
|
||||
|
||||
(define all-mozilla-91-locales
|
||||
(mozilla-locales
|
||||
;; sha256 changeset locale
|
||||
;;---------------------------------------------------------------------------
|
||||
("0f2lkv79gqf46f74905mab3zwyz1532chxlf9d28s548p1hw6lv9" "8312cd2e0777" "ach")
|
||||
("1v5jpmd0b04mizm9pjffp4r9q121vpq3yzkkxcgmrcwj4gc5jb2y" "21bf766c19d8" "af")
|
||||
("1fqjiq2la543z5pbbvd9kfs0wdc2phmqjbxascfsak854qy1z9f9" "34b6a4f0790d" "an")
|
||||
("0pl6j99xnali25glyr3g9fmj67v9vqmhd9k74i97f8q5n4xmv3ym" "513c3e8dac97" "ar")
|
||||
("0d1fbk9jcai19pi8b7i4y4r0gscqi1inr9dbahd6h0xbxfwc0zif" "19ca0cd0d1bf" "ast")
|
||||
("08f9b63wxxy28zaimjn1ab9w51bvrarc3pp75s7v6kzm5bk1jwic" "44aa0dad7964" "az")
|
||||
("15pksy9bgaxcbcnvvp8jwqnqxvvhq9vnljpai6jlh52yyrsglbwi" "5e4499355167" "be")
|
||||
("0gdg84jp1i4il4nc6gwaswdhc4ljbb9inyip7vhkng09v3pmwm0h" "98d006107851" "bg")
|
||||
("0i6vl0ag74phj4l38cvds1ds3jjdal1c8d7hy6pf4aqrp4ai32mh" "2ca52cbb680a" "bn")
|
||||
("16yavargwq8rhipzpmrrvyh68g3a6disz9g5m8xbhxvixhcsi5fr" "ce92556a0a90" "br")
|
||||
("1512dzp394pj66i13nsz76qh6fmjpz7r7fmvk8d0h7pjk0d6n0dy" "1c79dabdb120" "bs")
|
||||
("19wg0kbr2ihbn4lscsxg9agz04r8bsih4692vfgb6nyn1z8vx2i0" "a22912c01617" "ca")
|
||||
("1ixpzjb7caq1d9c7c044rxg3ymxs3hjw120kq85v004jrrb4d9c6" "34bf3fd631d4" "ca-valencia")
|
||||
("1abizdmd1c56syni1aanwwrfvmgzz25fmimbj2324bcw801ma9h0" "e2e4ba2c37bc" "cak")
|
||||
("0wgrg2wiz1jcj52nd4zl4shfkjhbngfj6p1gw1ywj266hk8g6pvw" "a60792bff6ff" "cs")
|
||||
("132f29111jd2z9yxpakkyri80mi2ggnik6zxaxqrp4vlcrd1fxd2" "66369fcad8c7" "cy")
|
||||
("04lpic3cxdj1imcwjkbk81avp9dpa1c9b1zcchrr1a4vyy4yfjpy" "af198d43f7d6" "da")
|
||||
("1h0rkwlsqls8k1qi1y68plw6xk0z2c5xc2y4nqywiirl71yz7fi5" "816fcef20c05" "de")
|
||||
("11lzdyl1h42zb1x2yxiv3r0wih8jy1gr0gzs5d1isdq53sa9cqnq" "962e5a544415" "dsb")
|
||||
("146jgrhl41k6zbxg58hxh1s088padsjz7ny8nm59i9i8d00jpv0a" "e7c49fd88463" "el")
|
||||
("1qppr44hdnrb1z1igcd1p0w5sy9vpihzilkl2w44y0v0v9rigppv" "5a0e35b08a48" "en-CA")
|
||||
("1v2irfms24cx9g5s6r1glmp2c000wi91axyca1pn37s7c01r0n4b" "72f8c5d8305d" "en-GB")
|
||||
("1y0rbbmax1w6jy4jacy27xgy4aqnd43izysw8qjwm0qhhfjvf3xh" "40994fca693d" "eo")
|
||||
("0kmjvinqpb3y81mqda1qq8k202aa36as9z1z775745bx6sbvkggz" "6cf3c836995d" "es-AR")
|
||||
("06rvd1z3l0r7hwnsnw90i0f5j2ysbv6wd3cl64g0bgifmwjk75hi" "8727dda3935e" "es-CL")
|
||||
("0gzw1rn9nzpgcrrc10indnbqqpax87azczrfxv8mn5n56j734hc0" "5351aba49895" "es-ES")
|
||||
("0bnmgisxfkb6rb12avhipbsj1yr0dyv56qjj9471gnc2ppq7k3c9" "dd834a4af402" "es-MX")
|
||||
("1951975h9w813qxanbk3frjz7c8knzx5rvq9i82j9i6x6a3fh6fi" "1f2150796079" "et")
|
||||
("1vkb5rd0k6vh9dbll3fhyzg8rfpkxxkd2rxwf66b8l3hg4fqd7f2" "2911663f4a7c" "eu")
|
||||
("1cj9zblfp94h86m7zd762bfmcfz0yxc1q4ra35s4wnnlqajarzwj" "04ec3c3bbe92" "fa")
|
||||
("1ininsyzaj7xd8ppmklm3zglgw1i0nhdy43iiyva32hb592zxy4m" "0cf866f9bc4e" "ff")
|
||||
("1hc308d71iygarrpliv7pxjz49gxwqg10d0pv8j4sbb2pw39bprl" "04a600fc54a4" "fi")
|
||||
("02nl54db9130rg59wmrrnh0z726fg5ir1njfcnhxagb4g5b7s69f" "64a3576df276" "fr")
|
||||
("1qbby23qlkxjz3vwlk8pd2w1w4cxdff8cq7j0ipk44mijkxkry0c" "c84177dfa254" "fy-NL")
|
||||
("1x23pg36ld5qnrmdn149rkl85ia8lmiqbzcac2bm0iqprnjdszii" "31590cffac56" "ga-IE")
|
||||
("005fpyr1lvw23dja3yrzx4y8wdih7vx6ljjpisf4pd3k5zai4x81" "ba4f274ac4a1" "gd")
|
||||
("0kdlb5q74n0fl5fxfy873s392kry69dmdl8b4gvqdyh5sy66vsqm" "56b41bdcd401" "gl")
|
||||
("0v8r8b0nrk1l4xipzhq16klmh0pinzcrma0s0gyhgzqqli6z7aym" "59e2afb65c08" "gn")
|
||||
("1grb1lq1f9p5jxgh9v78jl1wswxmsqxkcssm35l30k6y24pglr0m" "33b4409fb615" "gu-IN")
|
||||
("172fg55y8l90ix4c8s5x7f8mg6rc7779p6l852cnnkfqjgqa5a5f" "92f9f8238189" "he")
|
||||
("0i52nmg0yv3y1y3rkinxcyh51mgjksk7c3jlc8014801m3zvyxj7" "00090f7a2a3f" "hi-IN")
|
||||
("074q8n00yq54kzk632dwbs64r0sygvybbvwpd6hbvfpn38lz8hxf" "6e4a3fdc01f3" "hr")
|
||||
("1jxiz8zyxbpnwgk5xkwfxlr5f1zfyc88jcsajy8wcaifdkld3cwn" "7fd9bc25e49d" "hsb")
|
||||
("0ca11pmkzyd9ccrnrbmk0jrpcb03k88v4zivxblnxj4w03g0hyhq" "ce3b378ce950" "hu")
|
||||
("1yszljbh8f7w6lckfw22jwximy3yhis4430lfynfb8lh9nm0fw59" "c91a4a3e8821" "hy-AM")
|
||||
("0hhl8b8szqlhjdxhsa81zmgr303kr0jx5d6rzbi840qwf01h12sz" "4f235acc839e" "ia")
|
||||
("063yfk3nz3kignbri7r9sr3jwr5p9yyqc6sckgqs94hx6lvc355p" "fface86a34e4" "id")
|
||||
("1qszxkgliall4haaq6v0xayxikq43ddcdsn1d4m1mwyp7gdpbry5" "5978ae767b44" "is")
|
||||
("1fsfz9iz5pdd5r9ckdal6grvddchsc4r3r8gn4w6f2bja6vpbs05" "0c7d2a0e1304" "it")
|
||||
("1phkw0apiicgbw2nq3g392xncw1v2c4yac595h3nchs4q6rp9pd9" "1c923f3e88b9" "ja")
|
||||
("1y4gc4l6g72nphhsw4aqhcl80a7wi9qdy61h66c6jc6h14i7278d" "66f700940cfa" "ja-JP-mac")
|
||||
("0iqwj0y19zqcdclnn92z490s1g9vh2qr9gmkyfnpsz69llxidx1j" "49b4a7c6bb2c" "ka")
|
||||
("111nm2khff0zxnqqfc68rbi3j0b1nx5r4xai7b8yymyv1i0qbsxd" "4854facbd60b" "kab")
|
||||
("12p7lg2p6pcqdlb4bqbz5isxilw2r9vb8344sh8zrvv9cb9jq04f" "d2fda8a1b287" "kk")
|
||||
("142vpw9npqgc8b5zcg5cy2lh07s4mg8xfbaymg44fb4j3s6agw88" "3a5a1cae9b93" "km")
|
||||
("00v1sd2byj2ksxw1020z142cdlxa7ri2v1rzjrhay9l465bj3k8x" "6ed122b33cac" "kn")
|
||||
("1s07yhwzpxj0l5vj5lzbvgw115sjx1g2zgbqca5wln95dds39npl" "49bc07645a47" "ko")
|
||||
("1b4brfww0w7x1h3ff19i6xi8xq2cb1hxysilira6yq4rb6vhlmly" "93f04df12616" "lij")
|
||||
("1i30my0bbgm9z02rxxi7x4vc69bs3bnjs9l2q6jd8xvs1ga3vc7n" "e1f4e0d87509" "lt")
|
||||
("1bjh4xlx6562hxq527cqcn4b5295dsdpwn4c4y5ci902nlh6fc8l" "daea4ba4e7f4" "lv")
|
||||
("0vig42slcx6bhpisyc1bnyklr95lbv7vqd1ckiywp5c5qzfa9afi" "0c4ca0f4fc17" "mk")
|
||||
("10qfnkqi2snmgvm4vcrmp2489klchv3hn2c4rmkdhi5bilfk42jx" "9be8d5951976" "mr")
|
||||
("1bkn8ds3fyz710ck4gg4g5vpv23bi573ssm9xbiyl8y59pvbig9b" "0f44d0bcfda2" "ms")
|
||||
("1j9af3axbijn0s8y96310mvgaq5a36m0r3ij550jv5bv52862crj" "ccbf0c4355d6" "my")
|
||||
("0lspnp9jn3rrgz3djnmc0qrb6ymigvqnr3fb0jbhmf83r4yfs8z1" "a6cf2c6e3594" "nb-NO")
|
||||
("1xp2884m9gqm9gaakc747bd9j55wssrh3qsf4y4k02ijh08sfmwb" "c1636a1a7507" "ne-NP")
|
||||
("0y1fxp9pxia6x2wxdharh2ynvzdqcmzpya1gdb89pcv5qyrzqgcl" "60ed1c2397a6" "nl")
|
||||
("1nbp924p7fp2c76ym71wp34vk96z89i4g2rfgpsi54cgv42a6vgq" "a7f9a3d35875" "nn-NO")
|
||||
("1yrmhyvb6skypcyvi6j3py51sdkq9vn35zkryx6rdp8ygqwm1va7" "9ac29828960e" "oc")
|
||||
("0rn2414ji1icar627arf5rjwl9r9vxhznbfsyxgrmrf0p6dp72fv" "87720cc32205" "pa-IN")
|
||||
("09lam6yaprc8zyisq0pcdj4afpg930c2x3x47gdxnqfyhmcfygs7" "56b2c592ffba" "pl")
|
||||
("0mbc1a8wvjs3k928qh0k800d230251i0rw0myhdpc6mk3xjna7i5" "89f1b173c9b1" "pt-BR")
|
||||
("1v1qa5slllz78222rlqr4b8k7c8dapmx8d7s5nb90wdffic0zcqy" "27adc5dad781" "pt-PT")
|
||||
("04k6h5d7c740lz1hx1vavj6p0fmhgn9mm3nwvk4p9iccy5nw5pmf" "83e2e4833fc3" "rm")
|
||||
("0f0hz792wr17mgi6n190dliqx67479aqg3y2ak0jg0fiz2c8qr7p" "69cdc288966f" "ro")
|
||||
("17yngj0v30687m7fa1ls0g86vjg8jzxs7bnsca91jpxf3ij44xp6" "03046775600f" "ru")
|
||||
("1fvz23nphs9i4gdkx9fcy5ahdk2f879281pchclwi0qlciq7digr" "61ea93a50fff" "sco")
|
||||
("0yc1iwqbnpnf1i7yz3zqrx6g8pinc7l53pvbczywfkq3rz6wmmf5" "2b134d24c046" "si")
|
||||
("0kizljksn2vn4yw7qlv7c8h2m75f7n9ddg6n6ag3hwxxip83hn4y" "6d69c24dc8db" "sk")
|
||||
("1ll936b18wy464623jc5smf3c6dpimh0qwn28a991h7zcw31n3kp" "29e195d1d160" "sl")
|
||||
("14w9n994z9gf0wx7vrqisyxkngvhmmnayx8r0vwiq8k7jy81sxlm" "60a3b235fe1d" "son")
|
||||
("0z7bcfvq6x6dxf4d4bbjsg36r5npkr89087b0j360ljampk6c2fn" "8588cbc89847" "sq")
|
||||
("1fcq9g89lhzckzr2qb6x0w0z6q486n9jdqfi6h70dx8b069b3jfj" "198f7e89f10d" "sr")
|
||||
("0ap3m1sbibnaj9s2l139m7l8cc8s2ky4jlxwgzbxdzvqxfz7n954" "b098e2ebc049" "sv-SE")
|
||||
("0k93gnwfs5mahb9vz1c65ddcbkav0cwhxnrww3qk7gcmn7q88gqk" "25951b964d5b" "szl")
|
||||
("0b0v5pcwvhvhg8vlzy26g3j0m1r8svrpq07hq0q7lxldwlb48phz" "94659c83c9d8" "ta")
|
||||
("1v35cl6m3ikzsriq6zkjzjs3p9bhl8zmbp2gl14mga1f1zy4kcah" "eb59646a5d36" "te")
|
||||
("0y3r30mjgxngjraqmf5cm00kgqx2pvhbvy8sfxb3fhypv9vda3yr" "10d257301a2d" "th")
|
||||
("1inyqk495py20jwjvs4yl0n5ncf3hhb896bs1lwfsgpvbvr5hbq1" "9be6adca0e51" "tl")
|
||||
("0vsirjs655cia9n8dys2r84bvg303hcxkk2w6a9j3dkbifq5ymk6" "51354c936bf6" "tr")
|
||||
("050x882c0ywil290k4g861njw70ffw2y55dqk3w0kffi972mm909" "d7510f2d01dc" "trs")
|
||||
("001ykwxkwibavbi1k42b1hmysb3gmrwcs68zmw96m1vc80p29nz1" "4d1fa878042b" "uk")
|
||||
("0lsz6jlmmsqdg47pdx8b1djjvcavi0wlyr0mkpyhjgpginag21zx" "ad3035f28183" "ur")
|
||||
("0d3ggm3q76pkpg4n3lz2ji4pbb47n885byqxbp7sk6n9vlgzir7l" "8ea7a5a051db" "uz")
|
||||
("0v7d8y6xsr6yf2s1sjxnsjmw0hdnj91f0w2da6spkifb52lmbv6v" "67fe2acb306f" "vi")
|
||||
("0j8l09vzqlw4zlkyp6wkh44c5gr1xgbcmnawks1zj7xz02ambwii" "abc22dfb6d84" "xh")
|
||||
("1c01pbyswixkjg42714fvfy33b09mpdbf4d8f8kcs88c86jpf07z" "d6d6f9bb6113" "zh-CN")
|
||||
("0yq8fqdz862pnlbvfsqfc152rhpsqgncvp8bqkd653mdfv4qkwr4" "0cbdc5f1a048" "zh-TW")))
|
||||
|
||||
(define %icecat-91-version "91.13.0-guix0-preview1")
|
||||
|
||||
(define icecat-91-source
|
||||
(let* ((base-version (first (string-split %icecat-91-version #\-)))
|
||||
|
||||
(major-version (first (string-split base-version #\.)))
|
||||
(minor-version (second (string-split base-version #\.)))
|
||||
(sub-version (third (string-split base-version #\.)))
|
||||
|
||||
(upstream-firefox-version (string-append base-version "esr"))
|
||||
(upstream-firefox-source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://ftp.mozilla.org/pub/firefox/releases/"
|
||||
upstream-firefox-version "/source/"
|
||||
"firefox-" upstream-firefox-version ".source.tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0qh7j960wdp5zcfqhkj8ki47spp9i9ms12xx0v0kxvmmw36jpgjk"))))
|
||||
|
||||
(upstream-icecat-base-version "91.13.0") ; maybe older than base-version
|
||||
;;(gnuzilla-commit (string-append "v" upstream-icecat-base-version))
|
||||
(gnuzilla-commit "4a87716686104266a9cccc2d83cc249e312f3673")
|
||||
(gnuzilla-source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "git://git.savannah.gnu.org/gnuzilla.git")
|
||||
(commit gnuzilla-commit)))
|
||||
(file-name (git-file-name "gnuzilla"
|
||||
;;upstream-icecat-base-version
|
||||
(string-take gnuzilla-commit 8)))
|
||||
(sha256
|
||||
(base32
|
||||
"070j78al04xzchfl5xj1w300hmw17a3iqcw7mnlxf6b8rqlgj20p"))))
|
||||
|
||||
;; 'search-patch' returns either a valid file name or #f, so wrap it
|
||||
;; in 'assume-valid-file-name' to avoid 'local-file' warnings.
|
||||
(gnuzilla-fixes-patch
|
||||
(local-file (assume-valid-file-name
|
||||
(search-patch "icecat-use-older-reveal-hidden-html.patch"))))
|
||||
(makeicecat-patch
|
||||
(local-file (assume-valid-file-name
|
||||
(search-patch "icecat-makeicecat.patch")))))
|
||||
|
||||
(origin
|
||||
(method computed-origin-method)
|
||||
(file-name (string-append "icecat-" %icecat-91-version ".tar.xz"))
|
||||
(sha256 #f)
|
||||
(uri
|
||||
(delay
|
||||
(with-imported-modules '((guix build utils))
|
||||
#~(begin
|
||||
(use-modules (guix build utils))
|
||||
(let ((firefox-dir
|
||||
(string-append "firefox-" #$base-version))
|
||||
(icecat-dir
|
||||
(string-append "icecat-" #$%icecat-91-version)))
|
||||
|
||||
(set-path-environment-variable
|
||||
"PATH" '("bin")
|
||||
(list #+rename
|
||||
#+python
|
||||
#+(canonical-package bash)
|
||||
#+(canonical-package coreutils)
|
||||
#+(canonical-package findutils)
|
||||
#+(canonical-package patch)
|
||||
#+(canonical-package xz)
|
||||
#+(canonical-package sed)
|
||||
#+(canonical-package grep)
|
||||
#+(canonical-package bzip2)
|
||||
#+(canonical-package gzip)
|
||||
#+(canonical-package tar)))
|
||||
|
||||
(set-path-environment-variable
|
||||
"PYTHONPATH"
|
||||
(list #+(format #f "lib/python~a/site-packages"
|
||||
(version-major+minor
|
||||
(package-version python))))
|
||||
'#+(cons python-jsonschema
|
||||
(map second
|
||||
(package-transitive-propagated-inputs
|
||||
python-jsonschema))))
|
||||
|
||||
;; Needed by the 'makeicecat' script.
|
||||
(setenv "RENAME_CMD" "rename")
|
||||
|
||||
;; We copy the gnuzilla source directory because it is
|
||||
;; read-only in 'gnuzilla-source', and the makeicecat script
|
||||
;; uses "cp -a" to copy parts of it and assumes that the
|
||||
;; copies will be writable.
|
||||
(copy-recursively #+gnuzilla-source "/tmp/gnuzilla"
|
||||
#:log (%make-void-port "w"))
|
||||
|
||||
(with-directory-excursion "/tmp/gnuzilla"
|
||||
(make-file-writable "makeicecat")
|
||||
(invoke "patch" "--force" "--no-backup-if-mismatch"
|
||||
"-p1" "--input" #+gnuzilla-fixes-patch)
|
||||
(invoke "patch" "--force" "--no-backup-if-mismatch"
|
||||
"-p1" "--input" #+makeicecat-patch)
|
||||
(patch-shebang "makeicecat")
|
||||
(substitute* "makeicecat"
|
||||
(("^readonly FFMAJOR=(.*)" all ffmajor)
|
||||
(unless (string=? #$major-version
|
||||
(string-trim-both ffmajor))
|
||||
;; The makeicecat script cannot be expected to work
|
||||
;; properly on a different version of Firefox, even if
|
||||
;; no errors occur during execution.
|
||||
(error "makeicecat major version mismatch"))
|
||||
(string-append "readonly FFMAJOR=" #$major-version "\n"))
|
||||
(("^readonly FFMINOR=.*")
|
||||
(string-append "readonly FFMINOR=" #$minor-version "\n"))
|
||||
(("^readonly FFSUB=.*")
|
||||
(string-append "readonly FFSUB=" #$sub-version "\n"))
|
||||
(("^readonly DATADIR=.*")
|
||||
"readonly DATADIR=/tmp/gnuzilla/data\n")
|
||||
(("^readonly SOURCEDIR=.*")
|
||||
(string-append "readonly SOURCEDIR=" icecat-dir "\n"))
|
||||
(("/bin/sed")
|
||||
#+(file-append (canonical-package sed) "/bin/sed"))))
|
||||
|
||||
(format #t "Unpacking upstream firefox tarball...~%")
|
||||
(force-output)
|
||||
(invoke "tar" "xf" #+upstream-firefox-source)
|
||||
(rename-file firefox-dir icecat-dir)
|
||||
|
||||
(with-directory-excursion icecat-dir
|
||||
(format #t "Populating l10n directory...~%")
|
||||
(force-output)
|
||||
(mkdir "l10n")
|
||||
(with-directory-excursion "l10n"
|
||||
(for-each
|
||||
(lambda (locale-dir)
|
||||
(let ((locale
|
||||
(string-drop (basename locale-dir)
|
||||
(+ 32 ; length of hash
|
||||
(string-length "-mozilla-locale-")))))
|
||||
(format #t " ~a~%" locale)
|
||||
(force-output)
|
||||
(copy-recursively locale-dir locale
|
||||
#:log (%make-void-port "w"))
|
||||
(for-each make-file-writable (find-files locale))
|
||||
(with-directory-excursion locale
|
||||
(when (file-exists? ".hgtags")
|
||||
(delete-file ".hgtags"))
|
||||
(mkdir-p "browser/chrome/browser/preferences")
|
||||
(call-with-output-file
|
||||
"browser/chrome/browser/preferences/advanced-scripts.dtd"
|
||||
(lambda (port) #f)))))
|
||||
'#+all-mozilla-91-locales)
|
||||
(copy-recursively #+mozilla-compare-locales
|
||||
"compare-locales"
|
||||
#:log (%make-void-port "w"))
|
||||
(delete-file "compare-locales/.gitignore")
|
||||
(delete-file "compare-locales/.hgignore")
|
||||
(delete-file "compare-locales/.hgtags")))
|
||||
|
||||
(format #t "Running makeicecat script...~%")
|
||||
(force-output)
|
||||
(invoke "bash" "/tmp/gnuzilla/makeicecat")
|
||||
|
||||
(format #t "Packing IceCat source tarball...~%")
|
||||
(force-output)
|
||||
(setenv "XZ_DEFAULTS" (string-join (%xz-parallel-args)))
|
||||
(invoke "tar" "cfa" #$output
|
||||
;; Avoid non-determinism in the archive. We set the
|
||||
;; mtime of files in the archive to early 1980 because
|
||||
;; the build process fails if the mtime of source
|
||||
;; files is pre-1980, due to the creation of zip
|
||||
;; archives.
|
||||
"--mtime=@315619200" ; 1980-01-02 UTC
|
||||
"--owner=root:0"
|
||||
"--group=root:0"
|
||||
"--sort=name"
|
||||
icecat-dir)))))))))
|
||||
|
||||
;; Update this together with icecat!
|
||||
(define %icedove-build-id "20220726000000") ;must be of the form YYYYMMDDhhmmss
|
||||
(define %icedove-build-id "20220919000000") ;must be of the form YYYYMMDDhhmmss
|
||||
(define-public icedove
|
||||
(package
|
||||
(name "icedove")
|
||||
(version "91.12.0")
|
||||
(source icecat-source)
|
||||
(version "91.13.1")
|
||||
(source icecat-91-source)
|
||||
(properties
|
||||
`((cpe-name . "thunderbird_esr")))
|
||||
(build-system gnu-build-system)
|
||||
@ -1366,7 +1827,7 @@ standards of the IceCat project.")
|
||||
;; in the Thunderbird release tarball. We don't use the release
|
||||
;; tarball because it duplicates the Icecat sources and only adds the
|
||||
;; "comm" directory, which is provided by this repository.
|
||||
,(let ((changeset "bd3da11e22d0070699026cb5f4e31b44b35580f0"))
|
||||
,(let ((changeset "2f9b465346ceb38b4ab79ccc1bfe8d8ad0bc8743"))
|
||||
(origin
|
||||
(method hg-fetch)
|
||||
(uri (hg-reference
|
||||
@ -1375,7 +1836,7 @@ standards of the IceCat project.")
|
||||
(file-name (string-append "thunderbird-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"14na1n37sqjqcxmhbp0c56a1j70gnyqgrhlrk5jkblml47x4i35w")))))
|
||||
"10vsbwlh5imq7iljwzq3r4y80wzsmj6s2gsi1n64l0wmfq2m6ilb")))))
|
||||
("cargo" ,rust "cargo")
|
||||
("clang" ,clang)
|
||||
("llvm" ,llvm)
|
||||
|
@ -4951,7 +4951,7 @@ with a FSM is being built (for example, from a Makefile.)")
|
||||
(define-public guile-ini
|
||||
(package
|
||||
(name "guile-ini")
|
||||
(version "0.5.1")
|
||||
(version "0.5.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@ -4960,21 +4960,12 @@ with a FSM is being built (for example, from a Makefile.)")
|
||||
(file-name (string-append name "-" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0ky7sffxywc2p84q5kdsphr99q0g5gy45rj0vx7f77hwpfm2093x"))))
|
||||
"17fbys3gsfyx4f77a2fswirx76dlr57il2z27z77wljaz777jk36"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags '("GUILE_AUTO_COMPILE=0") ;to prevent guild warnings
|
||||
#:phases (modify-phases %standard-phases
|
||||
(delete 'strip)
|
||||
(add-before 'build 'generate-fsm-context
|
||||
;; Make sure the intermediate FSM context is present
|
||||
;; before the build.
|
||||
(lambda _
|
||||
(let ((cwd (getcwd)))
|
||||
(chdir "modules/ini/")
|
||||
(invoke "make" "GUILE_AUTO_COMPILE=0"
|
||||
"fsm-context.scm")
|
||||
(chdir cwd)))))))
|
||||
(delete 'strip))))
|
||||
(native-inputs (list autoconf automake pkg-config texinfo))
|
||||
(inputs (list bash-minimal guile-3.0 guile-lib))
|
||||
(propagated-inputs (list guile-smc))
|
||||
|
@ -22,6 +22,7 @@
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages commencement)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages datastructures)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages elf)
|
||||
@ -30,6 +31,7 @@
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages gawk)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages haskell-xyz)
|
||||
#:use-module (gnu packages libunwind)
|
||||
#:use-module (gnu packages linux)
|
||||
@ -207,17 +209,76 @@ interactive SVGs out of traces genated from various tracing tools. It comes
|
||||
with the script @command{flamegraph.pl} and many stackcollapse scripts.")
|
||||
(license license:cddl1.0))))
|
||||
|
||||
(define-public libpatch
|
||||
(package
|
||||
(name "libpatch")
|
||||
(version "1.0.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.sr.ht/~old/libpatch")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1sx1sichnnqfi84z37gd04h41vpr8i2vg6yg0jkqxlrv3dys489a"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list
|
||||
(string-append
|
||||
"--target="
|
||||
,(platform-linux-architecture
|
||||
(lookup-platform-by-target-or-system
|
||||
(or
|
||||
(%current-target-system)
|
||||
(%current-system))))))))
|
||||
;;; Add lttng-ust to the inputs if you want tracepoints within libpatch
|
||||
;;; for debugging.
|
||||
(inputs
|
||||
(list capstone
|
||||
elfutils
|
||||
libunwind
|
||||
liburcu))
|
||||
(native-inputs
|
||||
(list coreutils
|
||||
;; test-ftrace.scm
|
||||
(list coreutils "debug")
|
||||
(list guile-3.0 "debug")
|
||||
(list gnu-make "debug")
|
||||
|
||||
;; For eu-nm in test-ftrace.scm.
|
||||
(list elfutils "bin")
|
||||
|
||||
guile-3.0
|
||||
gnu-make
|
||||
pkg-config
|
||||
;; zlib is required by libdw. This can be removed if zlib is put
|
||||
;; as a propagated-input of elfutils.
|
||||
zlib))
|
||||
(synopsis "Dynamic binary patcher")
|
||||
(description
|
||||
"libpatch is a lightweight C library that can be used by tracers,
|
||||
debuggers and other tools for insertion of probes in a program at runtime. It
|
||||
has many strategies to minimize probe overhead and maximize possible
|
||||
coverage.")
|
||||
(home-page "https://git.sr.ht/~old/libpatch")
|
||||
(license (list license:lgpl2.1 license:expat license:gpl3+))
|
||||
;; Libpatch only supports instrumentation for x86_64 right now. Augment
|
||||
;; that list in further version.
|
||||
(supported-systems (list "x86_64-linux"))))
|
||||
|
||||
(define-public lttng-modules
|
||||
(package
|
||||
(name "lttng-modules")
|
||||
(version "2.13.4")
|
||||
(version "2.13.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://lttng.org/files/lttng-modules/"
|
||||
"lttng-modules-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1vm9nnjvid7acsvgwnjyxd60ih9rmbhnfjldxip58n8x9q7d0nb1"))))
|
||||
"0277yfp57psnvn5g40mk09zryp0r4saynns213qak18fv0l39szc"))))
|
||||
(build-system linux-module-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no tests
|
||||
@ -234,14 +295,14 @@ many probes which instrument numerous interesting parts of Linux.")
|
||||
(define-public lttng-ust
|
||||
(package
|
||||
(name "lttng-ust")
|
||||
(version "2.13.3")
|
||||
(version "2.13.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://lttng.org/files/lttng-ust/"
|
||||
"lttng-ust-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0vwgxp027pgwm0a4xr6bdibday7xjlnv6wmbqh546l2h2i8jzi1c"))))
|
||||
"165kz3zsklynkxdkcbkwhw7cccdgmgmld35h1cf9hvn5bpn853v9"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(list numactl))
|
||||
@ -260,20 +321,17 @@ to ring buffers shared with a consumer daemon.")
|
||||
(define-public lttng-tools
|
||||
(package
|
||||
(name "lttng-tools")
|
||||
(version "2.13.7")
|
||||
(version "2.13.8")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://lttng.org/files/lttng-tools/"
|
||||
"lttng-tools-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"13gh4bvlgbh82h9vb80aw8l1cfmdj3xyvjg30cscz9vqy7l04yni"))))
|
||||
"1h9x6mmqrxrbgivll3g81l7a9f7ggjmcgwr01f9r01r6kdbmksdi"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`( ;; FIXME - Currently there's a segmentation fault by swig when enabling
|
||||
;; Python's bindings. Thus, bindings are disable here. Replace
|
||||
;; `disable` by `enable` in #:configure-flags when this is fixed.
|
||||
#:configure-flags '("--disable-python-bindings")
|
||||
`(#:configure-flags '("--enable-python-bindings")
|
||||
;; FIXME - Tests are disabled for now because one test hangs
|
||||
;; indefinetely. Also, parallel testing is not possible because of how
|
||||
;; the lttng-daemon handles sessions. Thus, keep parallel testing
|
||||
|
@ -3,6 +3,7 @@
|
||||
;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019, 2020 Martin Becze <mjbecze@riseup.net>
|
||||
;;; Copyright © 2020, 2021, 2022 Michael Rohleder <mike@rohleder.de>
|
||||
;;; Copyright © 2022 Maxime Devos <maximedevos@telenet.be>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -28,7 +29,8 @@
|
||||
#:use-module (guix build-system go)
|
||||
#:use-module (gnu packages golang)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages shells))
|
||||
#:use-module (gnu packages shells)
|
||||
#:use-module (gnu packages syncthing))
|
||||
|
||||
(define-public go-github-com-ipfs-go-ipfs-cmdkit-files
|
||||
(let ((commit
|
||||
@ -227,7 +229,55 @@ written in Go.")
|
||||
"/go-ipfs-source.tar.gz"))
|
||||
(sha256
|
||||
(base32 "13pmj83hwpz6mk7x52qn0cjnfqxqw2qri3r0k4b270w3bafcccwm"))
|
||||
(file-name (string-append name "-" version "-source"))))
|
||||
(file-name (string-append name "-" version "-source"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet '(for-each delete-file-recursively
|
||||
;; TODO: unbundle the rest as well
|
||||
'("vendor/github.com/alecthomas"
|
||||
;; "vendor/github.com/blang"
|
||||
"vendor/github.com/cespare"
|
||||
;; TODO: Go files not found
|
||||
;; "vendor/github.com/cheggaaa"
|
||||
"vendor/github.com/davecgh"
|
||||
"vendor/github.com/dustin"
|
||||
"vendor/github.com/flynn"
|
||||
"vendor/github.com/francoispqt"
|
||||
"vendor/github.com/fsnotify"
|
||||
"vendor/github.com/gogo"
|
||||
"vendor/github.com/golang/groupcache"
|
||||
"vendor/github.com/golang/snappy"
|
||||
"vendor/github.com/google/uuid"
|
||||
"vendor/github.com/gorilla"
|
||||
;; These should be fine, they are part of
|
||||
;; the IPFS project
|
||||
;; "vendor/github.com/ipfs"
|
||||
;; "vendor/github.com/ipld"
|
||||
"vendor/github.com/jackpal"
|
||||
"vendor/github.com/klauspost"
|
||||
;; TODO: Go files not found
|
||||
;; "vendor/github.com/lucas-clemente"
|
||||
"vendor/github.com/mattn"
|
||||
"vendor/github.com/mgutz"
|
||||
"vendor/github.com/minio"
|
||||
"vendor/github.com/mitchellh"
|
||||
"vendor/github.com/mr-tron"
|
||||
"vendor/github.com/opentracing"
|
||||
"vendor/github.com/pkg"
|
||||
"vendor/github.com/pmezard"
|
||||
"vendor/github.com/prometheus/client_golang"
|
||||
"vendor/github.com/prometheus/client_model"
|
||||
"vendor/github.com/prometheus/common"
|
||||
"vendor/github.com/prometheus/procfs"
|
||||
"vendor/github.com/spaolacci"
|
||||
"vendor/github.com/stretchr"
|
||||
"vendor/github.com/syndtr"
|
||||
"vendor/golang.org/x"
|
||||
"vendor/gopkg.in/yaml.v2"
|
||||
"vendor/gopkg.in/yaml.v3"
|
||||
"vendor/go.uber.org/atomic"
|
||||
"vendor/go.uber.org/multierr"
|
||||
"vendor/go.uber.org/zap"
|
||||
"vendor/lukechampine.com")))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@ -247,6 +297,60 @@ written in Go.")
|
||||
"ipfs"
|
||||
#~(string-append #$output "/bin/ipfs"))
|
||||
"commands" "completion" "bash")))))))))
|
||||
(inputs (list go-github-com-alecthomas-units
|
||||
;; TODO: needs to be updated first
|
||||
;; go-github-com-blang-semver
|
||||
go-github-com-cespare-xxhash
|
||||
go-github-com-cheekybits-genny
|
||||
go-github-com-cheggaaa-pb-v3
|
||||
go-github-com-davecgh-go-spew
|
||||
go-github-com-dustin-go-humanize
|
||||
go-github-com-flynn-noise
|
||||
go-github-com-francoispqt-gojay
|
||||
go-github-com-fsnotify-fsnotify
|
||||
go-github-com-gogo-protobuf
|
||||
go-github-com-google-uuid
|
||||
go-github-com-golang-groupcache-lru
|
||||
go-github-com-golang-snappy
|
||||
go-github-com-gorilla-websocket
|
||||
go-github-com-jackpal-go-nat-pmp
|
||||
go-github-com-klauspost-compress
|
||||
go-github-com-klauspost-cpuid
|
||||
go-github-com-lucas-clemente-quic-go
|
||||
go-github-com-mattn-go-colorable
|
||||
go-github-com-mattn-go-isatty
|
||||
go-github-com-mattn-go-runewidth
|
||||
go-github-com-mgutz-ansi
|
||||
go-github-com-minio-blake2b-simd
|
||||
go-github-com-minio-sha256-simd
|
||||
go-github-com-mitchellh-go-homedir
|
||||
go-github-com-mr-tron-base58
|
||||
go-github-com-opentracing-opentracing-go
|
||||
go-github-com-pkg-errors
|
||||
go-github-com-pmezard-go-difflib
|
||||
go-github-com-prometheus-client-golang
|
||||
go-github-com-prometheus-client-model
|
||||
go-github-com-prometheus-common
|
||||
go-github-com-prometheus-procfs
|
||||
go-github-com-spaolacci-murmur3
|
||||
go-github-com-stretchr-testify
|
||||
go-github-com-syndtr-goleveldb
|
||||
go-gopkg-in-yaml-v2
|
||||
go-gopkg-in-yaml-v3
|
||||
go-go-uber-org-atomic
|
||||
go-go-uber-org-multierr
|
||||
go-go-uber-org-zap
|
||||
go-golang-org-x-crypto
|
||||
go-golang-org-x-lint
|
||||
go-golang-org-x-mod
|
||||
go-golang-org-x-net
|
||||
go-golang-org-x-oauth2
|
||||
go-golang-org-x-sync
|
||||
go-golang-org-x-sys
|
||||
go-golang-org-x-term
|
||||
go-golang-org-x-tools
|
||||
go-golang-org-x-xerrors
|
||||
go-lukechampine-com-blake3))
|
||||
(native-inputs
|
||||
(append (if (%current-target-system)
|
||||
(list this-package)
|
||||
|
@ -66,7 +66,7 @@
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils))
|
||||
|
||||
(define %jami-version "20220726.1515.da8d1da")
|
||||
(define %jami-version "20220825.0828.c10f01f")
|
||||
|
||||
(define %jami-sources
|
||||
;; Return an origin object of the tarball release sources archive of the
|
||||
@ -90,8 +90,8 @@
|
||||
"plugins"))))
|
||||
(sha256
|
||||
(base32
|
||||
"1zx0i9aw8jsba3bjc5r4pkkybm8c0lyz420ciq89vsswd48gfdhg"))
|
||||
(patches (search-patches "jami-fix-esc-bug.patch"))))
|
||||
"1iv06jb66g206qxm75v7rc3mqvrml1028avflsj11chj8jh63j14"))
|
||||
(patches (search-patches "jami-fix-crash-on-block-contact.patch"))))
|
||||
|
||||
;; Jami maintains a set of patches for some key dependencies (currently
|
||||
;; pjproject and ffmpeg) of Jami that haven't yet been integrated upstream.
|
||||
@ -113,12 +113,12 @@
|
||||
patches))))
|
||||
|
||||
(define-public pjproject-jami
|
||||
(let ((commit "e1f389d0b905011e0cb62cbdf7a8b37fc1bcde1a")
|
||||
(let ((commit "5e478bbf8692f43059de9c6ad654b377359baaa0")
|
||||
(revision "0"))
|
||||
(package
|
||||
(inherit pjproject)
|
||||
(name "pjproject-jami")
|
||||
(version (git-version "2.11" revision commit))
|
||||
(version (git-version "2.12" revision commit))
|
||||
(source (origin
|
||||
(inherit (package-source pjproject))
|
||||
;; The Jami development team regularly issues patches to
|
||||
@ -133,7 +133,7 @@
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0inpmyb6mhrzr0g309d6clkc99lddqdvyf9xajz0igvgp9pvgpza"))))
|
||||
"0n9hyqr57hhbmq35iqq5ihavj22gxzsspv0f8i6ajxwd4029nmcl"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments pjproject)
|
||||
((#:phases phases '%standard-phases)
|
||||
@ -374,16 +374,21 @@
|
||||
'())))
|
||||
|
||||
(define-public ffmpeg-jami
|
||||
(package/inherit ffmpeg
|
||||
(package
|
||||
(inherit ffmpeg-5)
|
||||
(name "ffmpeg-jami")
|
||||
;; XXX: Use a slightly older version, otherwise the
|
||||
;; 'libopusdec-enable-FEC' patch doesn't apply.
|
||||
(version "5.0.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0yq0jcdc4qm5znrzylj3dsicrkk2n3n8bv28vr0a506fb7iglbpg"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments ffmpeg)
|
||||
((#:tests? _ #f)
|
||||
;; The "rtp_ext_abs_send_time" patch causes the 'lavf-mov_rtphint'
|
||||
;; test to fail (see:
|
||||
;; https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/685).
|
||||
;; TODO: Try to disable just this test.
|
||||
#f)
|
||||
(substitute-keyword-arguments (package-arguments ffmpeg-5)
|
||||
((#:configure-flags '())
|
||||
(ffmpeg-compose-configure-flags))
|
||||
((#:phases phases)
|
||||
@ -399,7 +404,16 @@
|
||||
"rtp_ext_abs_send_time"
|
||||
"libopusdec-enable-FEC"
|
||||
"libopusenc-reload-packet-loss-at-encode"
|
||||
"screen-sharing-x11-fix"))))))))))
|
||||
"screen-sharing-x11-fix"))))
|
||||
(add-after 'apply-patches 'disable-problematic-tests
|
||||
(lambda _
|
||||
;; The "rtp_ext_abs_send_time" patch causes the 'lavf-mov_rtphint'
|
||||
;; test to fail (see:
|
||||
;; https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/685).
|
||||
(substitute* "tests/fate/lavf-container.mak"
|
||||
(("mov mov_rtphint ismv")
|
||||
"mov ismv")
|
||||
(("fate-lavf-mov_rtphint:.*") ""))))))))))
|
||||
|
||||
(define-public libjami
|
||||
(package
|
||||
|
@ -1781,511 +1781,398 @@ new Date();"))
|
||||
"0di91nnms2iq1svgq72r5y17am17r4vh2lq43k0bkcwpc84d6nd8"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
`(begin
|
||||
(for-each delete-file (find-files "." ".*.(bin|exe|jar)$"))
|
||||
#t))))
|
||||
'(for-each delete-file (find-files "." ".*.(bin|exe|jar)$")))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" "jdk" "doc"))
|
||||
(arguments
|
||||
`(#:imported-modules ((guix build syscalls)
|
||||
(list
|
||||
#:imported-modules `((guix build syscalls)
|
||||
,@%gnu-build-system-modules)
|
||||
#:modules `((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(ice-9 match)
|
||||
(srfi srfi-1)
|
||||
(srfi srfi-26))
|
||||
#:disallowed-references (list (gexp-input openjdk10)
|
||||
(gexp-input openjdk10 "jdk"))
|
||||
|
||||
#:disallowed-references ,(list (gexp-input openjdk10)
|
||||
(gexp-input openjdk10 "jdk"))
|
||||
|
||||
#:tests? #f; requires jtreg
|
||||
;; TODO package jtreg
|
||||
#:configure-flags
|
||||
`(;; Add flags for compilation with gcc >= 10
|
||||
,(string-append "--with-extra-cflags=-fcommon"
|
||||
" -fno-delete-null-pointer-checks"
|
||||
" -fno-lifetime-dse")
|
||||
"--disable-option-checking" ; --enable-fast-install default flag errors otherwise
|
||||
#:tests? #f ; requires jtreg
|
||||
;; TODO package jtreg
|
||||
#:configure-flags
|
||||
#~(list
|
||||
;; Add flags for compilation with gcc >= 10.
|
||||
#$(string-append "--with-extra-cflags=-fcommon"
|
||||
" -fno-delete-null-pointer-checks"
|
||||
" -fno-lifetime-dse")
|
||||
;; Otherwise, the '--enable-fast-install' causes an error.
|
||||
"--disable-option-checking"
|
||||
"--disable-warnings-as-errors"
|
||||
;; make validate-runpath pass, see: http://issues.guix.info/issue/32894
|
||||
;; Make validate-runpath pass (see:
|
||||
;; http://issues.guix.info/issue/32894).
|
||||
"--with-native-debug-symbols=zipped"
|
||||
;; do not use the bundled libraries
|
||||
;; Do not use the bundled libraries.
|
||||
"--with-giflib=system"
|
||||
"--with-lcms=system"
|
||||
"--with-libjpeg=system"
|
||||
"--with-libpng=system"
|
||||
"--with-version-pre="
|
||||
;; allow the build system to locate the system freetype
|
||||
,(string-append "--with-freetype-include="
|
||||
(assoc-ref %build-inputs "freetype") "/include")
|
||||
,(string-append "--with-freetype-lib="
|
||||
(assoc-ref %build-inputs "freetype") "/lib"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'patch-source-shebangs 'fix-java-shebangs
|
||||
(lambda _
|
||||
;; This file was "fixed" by patch-source-shebangs, but it requires
|
||||
;; this exact first line.
|
||||
(substitute* "make/data/blockedcertsconverter/blocked.certs.pem"
|
||||
(("^#!.*") "#! java BlockedCertsConverter SHA-256\n"))
|
||||
#t))
|
||||
(add-after 'unpack 'patch-jni-libs
|
||||
;; Hardcode dynamically loaded libraries.
|
||||
(lambda _
|
||||
(define remove
|
||||
(@ (srfi srfi-1) remove))
|
||||
;; Allow the build system to locate the system freetype.
|
||||
(string-append "--with-freetype-include="
|
||||
#$(this-package-input "freetype") "/include")
|
||||
(string-append "--with-freetype-lib="
|
||||
#$(this-package-input "freetype") "/lib"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'patch-source-shebangs 'fix-java-shebangs
|
||||
(lambda _
|
||||
;; This file was "fixed" by patch-source-shebangs, but it requires
|
||||
;; this exact first line.
|
||||
(substitute* "make/data/blockedcertsconverter/blocked.certs.pem"
|
||||
(("^#!.*") "#! java BlockedCertsConverter SHA-256\n"))))
|
||||
(add-after 'unpack 'patch-jni-libs
|
||||
;; Hardcode dynamically loaded libraries.
|
||||
(lambda _
|
||||
(define remove
|
||||
(@ (srfi srfi-1) remove))
|
||||
|
||||
(define (icedtea-or-openjdk? path)
|
||||
(or (string-contains path "openjdk")
|
||||
(string-contains path "icedtea")))
|
||||
(define (icedtea-or-openjdk? path)
|
||||
(or (string-contains path "openjdk")
|
||||
(string-contains path "icedtea")))
|
||||
|
||||
(let* ((library-path (remove icedtea-or-openjdk?
|
||||
(search-path-as-string->list
|
||||
(getenv "LIBRARY_PATH"))))
|
||||
(find-library (lambda (name)
|
||||
(or (search-path
|
||||
library-path
|
||||
(string-append "lib" name ".so"))
|
||||
(string-append "lib" name ".so")))))
|
||||
(for-each
|
||||
(lambda (file)
|
||||
(catch 'decoding-error
|
||||
(lambda ()
|
||||
(substitute* file
|
||||
(("VERSIONED_JNI_LIB_NAME\\(\"(.*)\", \"(.*)\"\\)"
|
||||
_ name version)
|
||||
(string-append "\"" (find-library name) "\""))
|
||||
(("JNI_LIB_NAME\\(\"(.*)\"\\)" _ name)
|
||||
(string-append "\"" (find-library name) "\""))))
|
||||
(lambda _
|
||||
;; Those are safe to skip.
|
||||
(format (current-error-port)
|
||||
"warning: failed to substitute: ~a~%"
|
||||
file))))
|
||||
(find-files "."
|
||||
"\\.c$|\\.h$"))
|
||||
#t)))
|
||||
(add-before 'build 'write-source-revision-file
|
||||
(lambda _
|
||||
(with-output-to-file ".src-rev"
|
||||
(lambda _
|
||||
(display ,version)))
|
||||
#t))
|
||||
(replace 'build
|
||||
(lambda* (#:key parallel-build? make-flags #:allow-other-keys)
|
||||
(apply invoke "make" "all"
|
||||
`(,@(if parallel-build?
|
||||
(list (string-append "JOBS="
|
||||
(number->string (parallel-job-count))))
|
||||
'())
|
||||
,@make-flags))))
|
||||
;; jdk 11 does not build jre by default any more
|
||||
;; building it anyways
|
||||
;; for further information see:
|
||||
;; https://github.com/AdoptOpenJDK/openjdk-build/issues/356
|
||||
(add-after 'build 'build-jre
|
||||
(lambda* (#:key parallel-build? make-flags #:allow-other-keys)
|
||||
(apply invoke "make" "legacy-jre-image"
|
||||
`(,@(if parallel-build?
|
||||
(list (string-append "JOBS="
|
||||
(number->string (parallel-job-count))))
|
||||
'())
|
||||
,@make-flags))))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(jdk (assoc-ref outputs "jdk"))
|
||||
(doc (assoc-ref outputs "doc"))
|
||||
(images (car (find-files "build" ".*-server-release"
|
||||
#:directories? #t))))
|
||||
(copy-recursively (string-append images "/images/jdk") jdk)
|
||||
(copy-recursively (string-append images "/images/jre") out)
|
||||
(copy-recursively (string-append images "/images/docs") doc))
|
||||
#t))
|
||||
;; Some of the libraries in the lib/ folder link to libjvm.so.
|
||||
;; But that shared object is located in the server/ folder, so it
|
||||
;; cannot be found. This phase creates a symbolic link in the
|
||||
;; lib/ folder so that the other libraries can find it.
|
||||
;;
|
||||
;; See:
|
||||
;; https://lists.gnu.org/archive/html/guix-devel/2017-10/msg00169.html
|
||||
;;
|
||||
;; FIXME: Find the bug in the build system, so that this symlink is
|
||||
;; not needed.
|
||||
(add-after 'install 'install-libjvm
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((lib-out (string-append (assoc-ref outputs "out")
|
||||
"/lib"))
|
||||
(lib-jdk (string-append (assoc-ref outputs "jdk")
|
||||
"/lib")))
|
||||
(symlink (string-append lib-jdk "/server/libjvm.so")
|
||||
(string-append lib-jdk "/libjvm.so"))
|
||||
(symlink (string-append lib-out "/server/libjvm.so")
|
||||
(string-append lib-out "/libjvm.so")))
|
||||
#t))
|
||||
(add-after 'install 'strip-character-data-timestamps
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(use-modules (guix build syscalls))
|
||||
(let ((archive (string-append
|
||||
(assoc-ref outputs "jdk") "/lib/src.zip"))
|
||||
(dir (mkdtemp! "zip-contents.XXXXXX")))
|
||||
(with-directory-excursion dir
|
||||
(invoke "unzip" archive))
|
||||
(delete-file archive)
|
||||
(with-directory-excursion dir
|
||||
(let ((char-data-files (find-files "." "CharacterData.*")))
|
||||
(for-each (lambda (file)
|
||||
(substitute* file
|
||||
(((string-append "This file was generated "
|
||||
(let* ((library-path (remove icedtea-or-openjdk?
|
||||
(search-path-as-string->list
|
||||
(getenv "LIBRARY_PATH"))))
|
||||
(find-library (lambda (name)
|
||||
(or (search-path
|
||||
library-path
|
||||
(string-append "lib" name ".so"))
|
||||
(string-append "lib" name ".so")))))
|
||||
(for-each
|
||||
(lambda (file)
|
||||
(catch 'decoding-error
|
||||
(lambda ()
|
||||
(substitute* file
|
||||
(("VERSIONED_JNI_LIB_NAME\\(\"(.*)\", \"(.*)\"\\)"
|
||||
_ name version)
|
||||
(string-append "\"" (find-library name) "\""))
|
||||
(("JNI_LIB_NAME\\(\"(.*)\"\\)" _ name)
|
||||
(string-append "\"" (find-library name) "\""))))
|
||||
(lambda _
|
||||
;; Those are safe to skip.
|
||||
(format (current-error-port)
|
||||
"warning: failed to substitute: ~a~%"
|
||||
file))))
|
||||
(find-files "."
|
||||
"\\.c$|\\.h$")))))
|
||||
(add-before 'build 'write-source-revision-file
|
||||
(lambda _
|
||||
(with-output-to-file ".src-rev"
|
||||
(lambda _
|
||||
(display #$version)))))
|
||||
(replace 'build
|
||||
(lambda* (#:key parallel-build? make-flags #:allow-other-keys)
|
||||
(apply invoke "make" "all"
|
||||
`(,@(if parallel-build?
|
||||
(list (string-append "JOBS="
|
||||
(number->string (parallel-job-count))))
|
||||
'())
|
||||
,@make-flags))))
|
||||
;; jdk 11 does not build jre by default any more; so explicitly build
|
||||
;; it (see:
|
||||
;; https://github.com/AdoptOpenJDK/openjdk-build/issues/356).
|
||||
(add-after 'build 'build-jre
|
||||
(lambda* (#:key parallel-build? make-flags #:allow-other-keys)
|
||||
(apply invoke "make" "legacy-jre-image"
|
||||
`(,@(if parallel-build?
|
||||
(list (string-append "JOBS="
|
||||
(number->string (parallel-job-count))))
|
||||
'())
|
||||
,@make-flags))))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(let ((images (car (find-files "build" ".*-server-release"
|
||||
#:directories? #t))))
|
||||
(copy-recursively (string-append images "/images/jdk")
|
||||
#$output:jdk)
|
||||
(copy-recursively (string-append images "/images/jre")
|
||||
#$output)
|
||||
(copy-recursively (string-append images "/images/docs")
|
||||
#$output:doc))))
|
||||
;; Some of the libraries in the lib/ folder link to libjvm.so.
|
||||
;; But that shared object is located in the server/ folder, so it
|
||||
;; cannot be found. This phase creates a symbolic link in the
|
||||
;; lib/ folder so that the other libraries can find it.
|
||||
;;
|
||||
;; See:
|
||||
;; https://lists.gnu.org/archive/html/guix-devel/2017-10/msg00169.html
|
||||
;;
|
||||
;; FIXME: Find the bug in the build system, so that this symlink is
|
||||
;; not needed.
|
||||
(add-after 'install 'install-libjvm
|
||||
(lambda _
|
||||
(let ((lib-out (string-append #$output "/lib"))
|
||||
(lib-jdk (string-append #$output:jdk "/lib")))
|
||||
(symlink (string-append lib-jdk "/server/libjvm.so")
|
||||
(string-append lib-jdk "/libjvm.so"))
|
||||
(symlink (string-append lib-out "/server/libjvm.so")
|
||||
(string-append lib-out "/libjvm.so")))))
|
||||
(add-after 'install 'strip-character-data-timestamps
|
||||
(lambda _
|
||||
(use-modules (guix build syscalls))
|
||||
(let ((archive (string-append #$output:jdk "/lib/src.zip"))
|
||||
(dir (mkdtemp! "zip-contents.XXXXXX")))
|
||||
(with-directory-excursion dir
|
||||
(invoke "unzip" archive))
|
||||
(delete-file archive)
|
||||
(with-directory-excursion dir
|
||||
(let ((char-data-files (find-files "." "CharacterData.*")))
|
||||
(for-each (lambda (file)
|
||||
(substitute* file
|
||||
(((string-append "This file was generated "
|
||||
"AUTOMATICALLY from a template "
|
||||
"file.*"))
|
||||
(string-append "This file was generated "
|
||||
"AUTOMATICALLY from a template "
|
||||
"file.*"))
|
||||
(string-append "This file was generated "
|
||||
"AUTOMATICALLY from a template "
|
||||
"file"))))
|
||||
char-data-files)))
|
||||
(with-directory-excursion dir
|
||||
(let ((files (find-files "." ".*" #:directories? #t)))
|
||||
(apply invoke "zip" "-0" "-X" archive files))))))
|
||||
(add-after 'strip-character-data-timestamps 'strip-archive-timestamps
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(use-modules (guix build syscalls)
|
||||
(ice-9 binary-ports)
|
||||
(rnrs bytevectors))
|
||||
(letrec ((repack-archive
|
||||
(lambda (archive)
|
||||
(let ((dir (mkdtemp! "zip-contents.XXXXXX")))
|
||||
(with-directory-excursion dir
|
||||
(invoke "unzip" archive))
|
||||
(delete-file archive)
|
||||
(for-each (compose repack-archive canonicalize-path)
|
||||
(find-files dir "(ct.sym|.*.jar)$"))
|
||||
(let ((reset-file-timestamp
|
||||
(lambda (file)
|
||||
(let ((s (lstat file)))
|
||||
(unless (eq? (stat:type s) 'symlink)
|
||||
(format #t "reset ~a~%" file)
|
||||
(utime file 0 0 0 0))))))
|
||||
(for-each reset-file-timestamp
|
||||
(find-files dir #:directories? #t)))
|
||||
(with-directory-excursion dir
|
||||
(let ((files (find-files "." ".*" #:directories? #t)))
|
||||
(apply invoke "zip" "-0" "-X" archive files)))))))
|
||||
(for-each repack-archive
|
||||
(find-files (assoc-ref outputs "doc") ".*.zip$"))
|
||||
(for-each repack-archive
|
||||
(find-files (assoc-ref outputs "jdk")
|
||||
".*.(zip|jar|diz)$"))
|
||||
(repack-archive (string-append (assoc-ref outputs "jdk") "/lib/ct.sym"))
|
||||
(let ((repack-jmod
|
||||
(lambda (file-name)
|
||||
(call-with-input-file file-name
|
||||
(lambda (file)
|
||||
(let ((header #vu8(#x4a #x4d #x01 #x00)))
|
||||
(if (equal? (get-bytevector-n
|
||||
file (bytevector-length header))
|
||||
header)
|
||||
(let* ((header-length (bytevector-length header))
|
||||
(temp-file (mkstemp!
|
||||
(string-copy
|
||||
"temp-file.XXXXXX")))
|
||||
(temp-filename (port-filename temp-file))
|
||||
(content-length
|
||||
(- (stat:size (stat file))
|
||||
header-length)))
|
||||
(sendfile temp-file file content-length header-length)
|
||||
(delete-file file-name)
|
||||
(close-port temp-file)
|
||||
(repack-archive (canonicalize-path temp-filename))
|
||||
(call-with-output-file file-name
|
||||
(lambda (file)
|
||||
(put-bytevector file header)
|
||||
(call-with-input-file temp-filename
|
||||
(lambda (temp-file)
|
||||
(sendfile
|
||||
file temp-file
|
||||
(stat:size (stat temp-file)) 0)))))))))))))
|
||||
(for-each repack-jmod
|
||||
(find-files (assoc-ref outputs "jdk") ".*.jmod$")))
|
||||
#t)))
|
||||
(add-after 'install 'remove-timestamp-from-api-summary
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(substitute* (string-append (assoc-ref outputs "doc")
|
||||
"/api/overview-summary.html")
|
||||
(("Generated by javadoc \\(11-internal\\).*$")
|
||||
"Generated by javadoc (11-internal) -->\n"))
|
||||
#t)))))
|
||||
"file"))))
|
||||
char-data-files)))
|
||||
(with-directory-excursion dir
|
||||
(let ((files (find-files "." ".*" #:directories? #t)))
|
||||
(apply invoke "zip" "-0" "-X" archive files))))))
|
||||
(add-after 'strip-character-data-timestamps 'remove-extraneous-files
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; Remove the *.diz and src.zip files for space considerations.
|
||||
;; The former are compressed debuginfo files not typically
|
||||
;; shipped with Java distributions, while the later corresponds
|
||||
;; to Java core API source files.
|
||||
(for-each delete-file
|
||||
(append-map (cut find-files <> "(^src\\.zip|\\.diz)$")
|
||||
(map (match-lambda
|
||||
((name . dir)
|
||||
dir))
|
||||
outputs)))))
|
||||
(add-after 'remove-diz-file 'strip-archive-timestamps
|
||||
(lambda _
|
||||
(use-modules (guix build syscalls)
|
||||
(ice-9 binary-ports)
|
||||
(rnrs bytevectors))
|
||||
(letrec ((repack-archive
|
||||
(lambda (archive)
|
||||
(let ((dir (mkdtemp! "zip-contents.XXXXXX")))
|
||||
(with-directory-excursion dir
|
||||
(invoke "unzip" archive))
|
||||
(delete-file archive)
|
||||
(for-each (compose repack-archive canonicalize-path)
|
||||
(find-files dir "(ct.sym|\\.jar)$"))
|
||||
(let ((reset-file-timestamp
|
||||
(lambda (file)
|
||||
(let ((s (lstat file)))
|
||||
(unless (eq? (stat:type s) 'symlink)
|
||||
(format #t "reset ~a~%" file)
|
||||
(utime file 0 0 0 0))))))
|
||||
(for-each reset-file-timestamp
|
||||
(find-files dir #:directories? #t)))
|
||||
(with-directory-excursion dir
|
||||
(let ((files (find-files "." ".*" #:directories? #t)))
|
||||
(apply invoke "zip" "-0" "-X" archive files)))))))
|
||||
(for-each repack-archive
|
||||
(find-files #$output:doc "\\.zip$"))
|
||||
(for-each repack-archive
|
||||
(find-files #$output:jdk "\\.(zip|jar)$"))
|
||||
(repack-archive (string-append #$output:jdk "/lib/ct.sym"))
|
||||
(let ((repack-jmod
|
||||
(lambda (file-name)
|
||||
(call-with-input-file file-name
|
||||
(lambda (file)
|
||||
(let ((header #vu8(#x4a #x4d #x01 #x00)))
|
||||
(if (equal? (get-bytevector-n
|
||||
file (bytevector-length header))
|
||||
header)
|
||||
(let* ((header-length (bytevector-length header))
|
||||
(temp-file (mkstemp!
|
||||
(string-copy
|
||||
"temp-file.XXXXXX")))
|
||||
(temp-filename (port-filename temp-file))
|
||||
(content-length
|
||||
(- (stat:size (stat file))
|
||||
header-length)))
|
||||
(sendfile temp-file file content-length header-length)
|
||||
(delete-file file-name)
|
||||
(close-port temp-file)
|
||||
(repack-archive (canonicalize-path temp-filename))
|
||||
(call-with-output-file file-name
|
||||
(lambda (file)
|
||||
(put-bytevector file header)
|
||||
(call-with-input-file temp-filename
|
||||
(lambda (temp-file)
|
||||
(sendfile
|
||||
file temp-file
|
||||
(stat:size (stat temp-file)) 0)))))))))))))
|
||||
(for-each repack-jmod
|
||||
(find-files #$output:jdk "\\.jmod$"))))))
|
||||
(add-after 'install 'remove-timestamp-from-api-summary
|
||||
(lambda _
|
||||
(substitute* (string-append #$output:doc
|
||||
"/api/overview-summary.html")
|
||||
(("Generated by javadoc \\(11-internal\\).*$")
|
||||
"Generated by javadoc (11-internal) -->\n")))))))
|
||||
(inputs
|
||||
`(("alsa-lib" ,alsa-lib)
|
||||
("cups" ,cups)
|
||||
("fontconfig" ,fontconfig)
|
||||
("freetype" ,freetype)
|
||||
("giflib" ,giflib)
|
||||
("lcms" ,lcms)
|
||||
("libjpeg" ,libjpeg-turbo)
|
||||
("libpng" ,libpng)
|
||||
("libx11" ,libx11)
|
||||
("libxext" ,libxext)
|
||||
("libxrandr" ,libxrandr)
|
||||
("libxrender" ,libxrender)
|
||||
("libxt" ,libxt)
|
||||
("libxtst" ,libxtst)))
|
||||
(list alsa-lib
|
||||
cups
|
||||
fontconfig
|
||||
freetype
|
||||
giflib
|
||||
lcms
|
||||
libjpeg-turbo
|
||||
libpng
|
||||
libx11
|
||||
libxext
|
||||
libxrandr
|
||||
libxrender
|
||||
libxt
|
||||
libxtst))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("openjdk10" ,openjdk10)
|
||||
("openjdk10:jdk" ,openjdk10 "jdk")
|
||||
("make" ,gnu-make-4.2)
|
||||
("pkg-config" ,pkg-config)
|
||||
("unzip" ,unzip)
|
||||
("which" ,which)
|
||||
("zip" ,zip)))
|
||||
(list autoconf
|
||||
openjdk10
|
||||
`(,openjdk10 "jdk")
|
||||
gnu-make-4.2
|
||||
pkg-config
|
||||
unzip
|
||||
which
|
||||
zip))
|
||||
(home-page "https://openjdk.java.net/projects/jdk/11/")
|
||||
(synopsis "Java development kit")
|
||||
(description
|
||||
"This package provides the Java development kit OpenJDK.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-syntax make-openjdk
|
||||
;; Return an OpenJDK package at VERSION with checksum HASH, using BOOTSTRAP,
|
||||
;; the bootstrap package. One or more FIELD can be provided to further
|
||||
;; refine the package definition; for convenience, the BASE, NAME and
|
||||
;; VERSION are defined in their scope.
|
||||
(lambda (x)
|
||||
(syntax-case x ()
|
||||
((_ bootstrap version* hash field ...)
|
||||
(with-syntax ((base (datum->syntax x 'base))
|
||||
(name (datum->syntax x 'name))
|
||||
(version (datum->syntax x 'version)))
|
||||
#'(let ((base (package
|
||||
(inherit bootstrap)
|
||||
(name "openjdk")
|
||||
(version version*)
|
||||
(source
|
||||
(origin
|
||||
(inherit (package-source bootstrap))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url (format
|
||||
#f "https://github.com/openjdk/jdk~au"
|
||||
(version-major version*)))
|
||||
(commit (string-append "jdk-" version*
|
||||
"-ga"))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256 (base32 hash))))
|
||||
(native-inputs
|
||||
(modify-inputs (package-native-inputs bootstrap)
|
||||
(replace "openjdk" bootstrap)))
|
||||
(home-page (string-append
|
||||
"https://openjdk.java.net/projects/jdk/"
|
||||
(version-major version)))))
|
||||
(name "openjdk")
|
||||
(version version*))
|
||||
(package
|
||||
(inherit base)
|
||||
field
|
||||
...)))))))
|
||||
|
||||
(define-public openjdk12
|
||||
(package
|
||||
(inherit openjdk11)
|
||||
(name "openjdk")
|
||||
(version "12.33")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri "http://hg.openjdk.java.net/jdk/jdk/archive/0276cba45aac.tar.bz2")
|
||||
(file-name (string-append name "-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0mbhdrk12b6878kby0flnbak7444dlpm0ihlmf92vk59y1c02bc2"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
`(begin
|
||||
(for-each delete-file (find-files "." ".*.(bin|exe|jar)$"))
|
||||
#t))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments openjdk11)
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(make-openjdk
|
||||
openjdk11 "12.33" "0mbhdrk12b6878kby0flnbak7444dlpm0ihlmf92vk59y1c02bc2"
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri "http://hg.openjdk.java.net/jdk/jdk/archive/0276cba45aac.tar.bz2")
|
||||
(file-name (string-append name "-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0mbhdrk12b6878kby0flnbak7444dlpm0ihlmf92vk59y1c02bc2"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(for-each delete-file (find-files "." "\\.(bin|exe|jar)$")))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments openjdk11)
|
||||
((#:phases phases)
|
||||
#~(modify-phases #$phases
|
||||
(replace 'fix-java-shebangs
|
||||
(lambda _
|
||||
;; This file was "fixed" by patch-source-shebangs, but it requires
|
||||
;; this exact first line.
|
||||
(substitute* "make/data/blacklistedcertsconverter/blacklisted.certs.pem"
|
||||
(("^#!.*") "#! java BlacklistedCertsConverter SHA-256\n"))))))))
|
||||
(inputs
|
||||
`(("alsa-lib" ,alsa-lib)
|
||||
("cups" ,cups)
|
||||
("fontconfig" ,fontconfig)
|
||||
("freetype" ,freetype)
|
||||
("giflib" ,giflib)
|
||||
("lcms" ,lcms)
|
||||
("libjpeg" ,libjpeg-turbo)
|
||||
("libpng" ,libpng)
|
||||
("libx11" ,libx11)
|
||||
("libxext" ,libxext)
|
||||
("libxrandr" ,libxrandr)
|
||||
("libxrender" ,libxrender)
|
||||
("libxt" ,libxt)
|
||||
("libxtst" ,libxtst)))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("openjdk11" ,openjdk11)
|
||||
("openjdk11:jdk" ,openjdk11 "jdk")
|
||||
("make@4.2" ,gnu-make-4.2)
|
||||
("pkg-config" ,pkg-config)
|
||||
("unzip" ,unzip)
|
||||
("which" ,which)
|
||||
("zip" ,zip)))
|
||||
(home-page "https://openjdk.java.net/projects/jdk/12")))
|
||||
;; 'blocked' was renamed to 'blacklisted' in this version for
|
||||
;; some reason.
|
||||
(substitute* "make/data/blacklistedcertsconverter/\
|
||||
blacklisted.certs.pem"
|
||||
(("^#!.*")
|
||||
"#! java BlacklistedCertsConverter SHA-256\n"))))))))))
|
||||
|
||||
(define-public openjdk13
|
||||
(package
|
||||
(inherit openjdk12)
|
||||
(name "openjdk")
|
||||
(version "13.0.7")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/openjdk/jdk13u")
|
||||
(commit (string-append "jdk-" version "-ga"))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
(make-openjdk openjdk12 "13.0.7"
|
||||
"0wrrr0d7lz1v8qqm752mn4gz5l2vpl2kmx4ac3ysvk4mljc924hp"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
`(begin
|
||||
(for-each delete-file (find-files "." ".*.(bin|exe|jar)$"))
|
||||
#t))))
|
||||
(inputs
|
||||
`(("alsa-lib" ,alsa-lib)
|
||||
("cups" ,cups)
|
||||
("fontconfig" ,fontconfig)
|
||||
("freetype" ,freetype)
|
||||
("giflib" ,giflib)
|
||||
("lcms" ,lcms)
|
||||
("libjpeg" ,libjpeg-turbo)
|
||||
("libpng" ,libpng)
|
||||
("libx11" ,libx11)
|
||||
("libxext" ,libxext)
|
||||
("libxrandr" ,libxrandr)
|
||||
("libxrender" ,libxrender)
|
||||
("libxt" ,libxt)
|
||||
("libxtst" ,libxtst)))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("openjdk12:jdk" ,openjdk12 "jdk")
|
||||
("make@4.2" ,gnu-make-4.2)
|
||||
("pkg-config" ,pkg-config)
|
||||
("unzip" ,unzip)
|
||||
("which" ,which)
|
||||
("zip" ,zip)))
|
||||
(home-page "https://openjdk.java.net/projects/jdk/13")))
|
||||
|
||||
(define-public openjdk14
|
||||
(package
|
||||
(inherit openjdk13)
|
||||
(name "openjdk")
|
||||
(version "14.0.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/openjdk/jdk14u")
|
||||
(commit (string-append "jdk-" version "-ga"))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"07k9bsbxwyf2z2n50z96nvhsdai916mxdxcr5lm44jz7f6xrwfq6"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
`(begin
|
||||
;; The m4 macro uses 'help' to search for builtins, which is
|
||||
;; not available in bash-minimal
|
||||
(substitute* "make/autoconf/basics.m4"
|
||||
(("if help") "if command -v"))
|
||||
(for-each delete-file (find-files "." ".*.(bin|exe|jar)$"))
|
||||
#t))))
|
||||
(inputs
|
||||
`(("alsa-lib" ,alsa-lib)
|
||||
("cups" ,cups)
|
||||
("fontconfig" ,fontconfig)
|
||||
("freetype" ,freetype)
|
||||
("giflib" ,giflib)
|
||||
("lcms" ,lcms)
|
||||
("libjpeg" ,libjpeg-turbo)
|
||||
("libpng" ,libpng)
|
||||
("libx11" ,libx11)
|
||||
("libxext" ,libxext)
|
||||
("libxrandr" ,libxrandr)
|
||||
("libxrender" ,libxrender)
|
||||
("libxt" ,libxt)
|
||||
("libxtst" ,libxtst)))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("make@4.2" ,gnu-make-4.2)
|
||||
("openjdk13:jdk" ,openjdk13 "jdk")
|
||||
("pkg-config" ,pkg-config)
|
||||
("unzip" ,unzip)
|
||||
("which" ,which)
|
||||
("zip" ,zip)))
|
||||
(home-page "https://openjdk.java.net/projects/jdk/14")))
|
||||
(make-openjdk
|
||||
openjdk13 "14.0.2"
|
||||
"07k9bsbxwyf2z2n50z96nvhsdai916mxdxcr5lm44jz7f6xrwfq6"
|
||||
(source (origin
|
||||
(inherit (package-source base))
|
||||
(snippet ;override snippet
|
||||
'(begin
|
||||
;; The m4 macro uses 'help' to search for builtins, which is
|
||||
;; not available in bash-minimal
|
||||
(substitute* "make/autoconf/basics.m4"
|
||||
(("if help") "if command -v"))
|
||||
(for-each delete-file (find-files "." "\\.(bin|exe|jar)$"))))))))
|
||||
|
||||
(define-public openjdk15
|
||||
(package
|
||||
(inherit openjdk14)
|
||||
(name "openjdk")
|
||||
(version "15.0.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/openjdk/jdk15u")
|
||||
(commit (string-append "jdk-" version "-ga"))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"168cr08nywp0q3vyj8njkhsmmnyd8rz9r58hk4xhzdzc6bdfkl1i"))
|
||||
(patches
|
||||
(search-patches "openjdk-15-xcursor-no-dynamic.patch"))))
|
||||
(inputs
|
||||
(cons `("libxcursor" ,libxcursor) ; for our patch to work
|
||||
(package-inputs openjdk14)))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("openjdk14:jdk" ,openjdk14 "jdk")
|
||||
("pkg-config" ,pkg-config)
|
||||
("unzip" ,unzip)
|
||||
("which" ,which)
|
||||
("zip" ,zip)))
|
||||
(home-page "https://openjdk.java.net/projects/jdk/15")))
|
||||
(make-openjdk
|
||||
openjdk14 "15.0.3"
|
||||
"168cr08nywp0q3vyj8njkhsmmnyd8rz9r58hk4xhzdzc6bdfkl1i"
|
||||
(source (origin
|
||||
(inherit (package-source base))
|
||||
(modules '())
|
||||
(snippet #f)
|
||||
(patches
|
||||
(search-patches "openjdk-15-xcursor-no-dynamic.patch"))))
|
||||
(inputs
|
||||
(modify-inputs (package-inputs base)
|
||||
(append libxcursor))) ;for our patch to work
|
||||
(native-inputs
|
||||
(modify-inputs (package-native-inputs base)
|
||||
(delete "make" ;remove old gnu-make-4.2
|
||||
"openjdk") ;to remove non-jdk output
|
||||
(append `(,openjdk14 "jdk"))))))
|
||||
|
||||
(define-public openjdk16
|
||||
(package
|
||||
(inherit openjdk15)
|
||||
(name "openjdk")
|
||||
(version "16.0.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/openjdk/jdk16u")
|
||||
(commit (string-append "jdk-" version "-ga"))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
(make-openjdk openjdk15 "16.0.1"
|
||||
"1ggddsbsar4dj2fycfqqqagqil7prhb30afvq6933rz7pa9apm2f"))
|
||||
(patches
|
||||
(search-patches "openjdk-15-xcursor-no-dynamic.patch"))))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("openjdk15:jdk" ,openjdk15 "jdk")
|
||||
("pkg-config" ,pkg-config)
|
||||
("unzip" ,unzip)
|
||||
("which" ,which)
|
||||
("zip" ,zip)))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments openjdk15)
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(add-after 'unpack 'make-templates-writable
|
||||
(lambda _
|
||||
;; The build system copies a few .template files from the
|
||||
;; source directory into the build directory and then modifies
|
||||
;; them in-place. So these files have to be writable.
|
||||
(for-each make-file-writable
|
||||
(find-files "src/java.base/share/classes/jdk/internal/misc/"
|
||||
"\\.template$"))))))))
|
||||
(home-page "https://openjdk.java.net/projects/jdk/16")))
|
||||
|
||||
(define-public openjdk17
|
||||
(package
|
||||
(inherit openjdk16)
|
||||
(name "openjdk")
|
||||
(version "17.0.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/openjdk/jdk17u")
|
||||
(commit (string-append "jdk-" version "-ga"))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0slmd6ww947gxpp4yr2wmr5z975bg86qh7zqfp2radf2q77ql65b"))
|
||||
(patches
|
||||
(search-patches "openjdk-15-xcursor-no-dynamic.patch"))))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("openjdk16:jdk" ,openjdk16 "jdk")
|
||||
("pkg-config" ,pkg-config)
|
||||
("unzip" ,unzip)
|
||||
("which" ,which)
|
||||
("zip" ,zip)))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments openjdk16)
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(make-openjdk
|
||||
openjdk16 "17.0.3"
|
||||
"0slmd6ww947gxpp4yr2wmr5z975bg86qh7zqfp2radf2q77ql65b"
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments openjdk16)
|
||||
((#:phases phases)
|
||||
#~(modify-phases #$phases
|
||||
(replace 'fix-java-shebangs
|
||||
(lambda _
|
||||
;; This file was "fixed" by patch-source-shebangs, but it requires
|
||||
;; this exact first line.
|
||||
;; 'blacklisted' was renamed back to 'blocked'.
|
||||
(substitute* "make/data/blockedcertsconverter/blocked.certs.pem"
|
||||
(("^#!.*") "#! java BlockedCertsConverter SHA-256\n"))))))))
|
||||
(home-page "https://openjdk.java.net/projects/jdk/17")))
|
||||
(("^#!.*") "#! java BlockedCertsConverter SHA-256\n"))))))))))
|
||||
|
||||
(define-public openjdk18
|
||||
(make-openjdk openjdk17 "18"
|
||||
"1bv6bdhkmwvn10l0xy8yi9xibds640hs5zsvx0jp7wrxa3qw4qy8"))
|
||||
|
||||
;;; Convenience alias to point to the latest version of OpenJDK.
|
||||
(define-public openjdk openjdk17)
|
||||
(define-public openjdk openjdk18)
|
||||
|
||||
(define-public icedtea icedtea-8)
|
||||
|
||||
@ -13965,6 +13852,41 @@ library and the API is similar.")
|
||||
parse command line options/arguments in your CUI application.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public java-argparse4j
|
||||
(package
|
||||
(name "java-argparse4j")
|
||||
(version "0.9.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/argparse4j/argparse4j")
|
||||
(commit (string-append "argparse4j-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1i0j3zs1ln48n0g8a90vqbv6528mcswhzys6252yp0c8w1ai64fb"))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
(list #:jar-name "java-argparse4j.jar"
|
||||
#:source-dir "main/src/main/"
|
||||
#:test-dir "main/src/test/"
|
||||
#:jdk openjdk11
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'copy-resources
|
||||
(lambda _
|
||||
(copy-recursively "main/src/test/resources"
|
||||
"target/test-classes")
|
||||
(copy-recursively "main/src/main/resources"
|
||||
"build/classes")))
|
||||
(replace 'install
|
||||
(install-from-pom "pom.xml")))))
|
||||
(inputs (list java-junit))
|
||||
(home-page "https://argparse4j.github.io/")
|
||||
(synopsis "Java command-line argument parser library")
|
||||
(description "Argparse4j is a command line argument parser library for
|
||||
Java based on Python's @code{argparse} module.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public java-metadata-extractor
|
||||
(package
|
||||
(name "java-metadata-extractor")
|
||||
|
@ -11,6 +11,7 @@
|
||||
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2020 Christopher Howard <christopher@librehacker.com>
|
||||
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
|
||||
;;; Copyright © 2022 Jacob Hrbek <kreyren@rixotstudio.cz>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -41,6 +42,8 @@
|
||||
#:use-module (guix build-system glib-or-gtk)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages gnupg)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages java)
|
||||
@ -49,6 +52,7 @@
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages xiph))
|
||||
|
||||
@ -339,6 +343,72 @@ unmodified CircuitPython code to run on the host computer and interact with
|
||||
I2C and SPI devices attached to the USB Hub.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public ideviceinstaller
|
||||
(package
|
||||
(name "ideviceinstaller")
|
||||
(version "1.1.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/libimobiledevice/ideviceinstaller")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1xp0sjgfx2z19x9mxihn18ybsmrnrcfc55zbh5a44g3vrmagmlzz"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs (list autoconf automake libtool pkg-config))
|
||||
(inputs (list libimobiledevice libzip))
|
||||
(home-page "https://libimobiledevice.org/")
|
||||
(synopsis "CLI Tool to manage apps and app archives on iOS devices")
|
||||
(description "This package provides an interface to manage IPA format
|
||||
files and applications for iOS devices, it's written in C")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public libirecovery
|
||||
(package
|
||||
(name "libirecovery")
|
||||
(version "1.0.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/libimobiledevice/libirecovery")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0p9ncqnz5kb7qisw00ynvasw1hax5qx241h9nwppi2g544i9lbnr"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs (list readline libusb))
|
||||
(native-inputs (list autoconf automake libtool pkg-config))
|
||||
(home-page "https://libimobiledevice.org/")
|
||||
(synopsis "Communication library with iBoot/iBSS of iOS devices via USB")
|
||||
(description "Libirecovery is a cross-platform library which implements
|
||||
communication to iBoot/iBSS found on Apple's iOS devices via USB.")
|
||||
(license license:lgpl2.1)))
|
||||
|
||||
(define-public idevicerestore
|
||||
(package
|
||||
(name "idevicerestore")
|
||||
(version "1.0.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/libimobiledevice/idevicerestore")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1w7ywp77xc6v4hifi3j9ywrj447vv7fkwg2w26w0lq95f3bkblqr"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs (list libusb libirecovery libimobiledevice libzip curl zlib))
|
||||
(native-inputs (list autoconf automake libtool pkg-config))
|
||||
(home-page "https://libimobiledevice.org/")
|
||||
(synopsis "CLI tool to restore firmware files to iOS devices")
|
||||
(description "This utility is used to restore bricked or otherwise
|
||||
broken iOS devices.")
|
||||
(license license:lgpl3+)))
|
||||
|
||||
(define-public libplist
|
||||
(package
|
||||
(name "libplist")
|
||||
|
@ -64,6 +64,7 @@
|
||||
;;; Copyright © 2022 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||
;;; Copyright © 2022 Rene Saavedra <nanuui@protonmail.com>
|
||||
;;; Copyright © 2022 muradm <mail@muradm.net>
|
||||
;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
||||
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
@ -353,7 +354,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
;; The current "stable" kernels. That is, the most recently released major
|
||||
;; versions that are still supported upstream.
|
||||
|
||||
(define-public linux-libre-5.19-version "5.19.9")
|
||||
(define-public linux-libre-5.19-version "5.19.11")
|
||||
(define-public linux-libre-5.19-gnu-revision "gnu")
|
||||
(define deblob-scripts-5.19
|
||||
(linux-libre-deblob-scripts
|
||||
@ -363,7 +364,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "092myqjixvy1k3ylcj0hfc4whfxapjvxsxm4gk30a3jv5dnh7mly")))
|
||||
(define-public linux-libre-5.19-pristine-source
|
||||
(let ((version linux-libre-5.19-version)
|
||||
(hash (base32 "0dvzjbyknzlx4ndz77fsm6v28fj2chxbq1z85fbc3bckcscbbm8a")))
|
||||
(hash (base32 "0wyrwdqm4dypx2jbb7d8c3b7fl7q5j434d6g9x2v6sw01gwx4m2m")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-5.19)))
|
||||
@ -372,7 +373,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
;; The "longterm" kernels — the older releases with long-term upstream support.
|
||||
;; Here are the support timelines:
|
||||
;; <https://www.kernel.org/category/releases.html>
|
||||
(define-public linux-libre-5.15-version "5.15.68")
|
||||
(define-public linux-libre-5.15-version "5.15.70")
|
||||
(define-public linux-libre-5.15-gnu-revision "gnu")
|
||||
(define deblob-scripts-5.15
|
||||
(linux-libre-deblob-scripts
|
||||
@ -382,12 +383,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "048r4synfax2ajyzlmp672b68yshxwlfccdah2vz1kh88rqfmgsc")))
|
||||
(define-public linux-libre-5.15-pristine-source
|
||||
(let ((version linux-libre-5.15-version)
|
||||
(hash (base32 "0zlb44bwpc0hwfynzz5v5b3lkv4aha7w5737ns1qb8cvbk5v7fqp")))
|
||||
(hash (base32 "0xhdjz7aqq13pkh1yr7ax3msqdb2xvrcpj464wibn1rl4pq2cz0s")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-5.15)))
|
||||
|
||||
(define-public linux-libre-5.10-version "5.10.143")
|
||||
(define-public linux-libre-5.10-version "5.10.145")
|
||||
(define-public linux-libre-5.10-gnu-revision "gnu1")
|
||||
(define deblob-scripts-5.10
|
||||
(linux-libre-deblob-scripts
|
||||
@ -397,12 +398,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "1981axxswghza3iadp94q54y8w30h9w9vyq4cbjiiv9alvbv0pb8")))
|
||||
(define-public linux-libre-5.10-pristine-source
|
||||
(let ((version linux-libre-5.10-version)
|
||||
(hash (base32 "14af0lsvgh1k0fh283d0nrm1pkrk2kaf2mz0ab59vlvjybg9wb7s")))
|
||||
(hash (base32 "0qdcqmwvc70hfgj8hb8ccwmnvwl41dvdffqrmyg3cyblwprr0ngw")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-5.10)))
|
||||
|
||||
(define-public linux-libre-5.4-version "5.4.213")
|
||||
(define-public linux-libre-5.4-version "5.4.214")
|
||||
(define-public linux-libre-5.4-gnu-revision "gnu1")
|
||||
(define deblob-scripts-5.4
|
||||
(linux-libre-deblob-scripts
|
||||
@ -412,12 +413,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "1vnjbdyssa7dwyjl9kg35alwvf7yh597cl74yr1wy2gk5bc9paw6")))
|
||||
(define-public linux-libre-5.4-pristine-source
|
||||
(let ((version linux-libre-5.4-version)
|
||||
(hash (base32 "1wdssqmac66zqsnq5lx2z8ampa0rd3qswg0gm1sh6n3y8xlf2z76")))
|
||||
(hash (base32 "1ny57g5agk8sq6cbp2crjiay5bfkwqy32i4a5yw7x0lch2s7kg4s")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-5.4)))
|
||||
|
||||
(define-public linux-libre-4.19-version "4.19.258")
|
||||
(define-public linux-libre-4.19-version "4.19.259")
|
||||
(define-public linux-libre-4.19-gnu-revision "gnu1")
|
||||
(define deblob-scripts-4.19
|
||||
(linux-libre-deblob-scripts
|
||||
@ -427,12 +428,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "00i91lx938nqlgy63hiricqd0fnbbf26vgya9c5lb7m1f4x324im")))
|
||||
(define-public linux-libre-4.19-pristine-source
|
||||
(let ((version linux-libre-4.19-version)
|
||||
(hash (base32 "002sw8b272dzkp3vff0x89sbj5p3vrrikqygfdgrsxv7k3w4459x")))
|
||||
(hash (base32 "1ska6v95zjjj44h53gi34rnbsrm4507jwxi3kklnky6d0aykiy1z")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-4.19)))
|
||||
|
||||
(define-public linux-libre-4.14-version "4.14.293")
|
||||
(define-public linux-libre-4.14-version "4.14.294")
|
||||
(define-public linux-libre-4.14-gnu-revision "gnu1")
|
||||
(define deblob-scripts-4.14
|
||||
(linux-libre-deblob-scripts
|
||||
@ -442,12 +443,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "00i91lx938nqlgy63hiricqd0fnbbf26vgya9c5lb7m1f4x324im")))
|
||||
(define-public linux-libre-4.14-pristine-source
|
||||
(let ((version linux-libre-4.14-version)
|
||||
(hash (base32 "047gl9nqrvpi9jaxlmhfnx848qvnrhf13710ka8fwn3lyv22k342")))
|
||||
(hash (base32 "069i11hv4fhwc9dirqbag1g1k3fn21wzpfggah4f1a41whf98apy")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-4.14)))
|
||||
|
||||
(define-public linux-libre-4.9-version "4.9.328")
|
||||
(define-public linux-libre-4.9-version "4.9.329")
|
||||
(define-public linux-libre-4.9-gnu-revision "gnu1")
|
||||
(define deblob-scripts-4.9
|
||||
(linux-libre-deblob-scripts
|
||||
@ -457,7 +458,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "0bib3641dbcqdkx3anna3caxnsg3nw9cnmhcklq0s93g3m57041h")))
|
||||
(define-public linux-libre-4.9-pristine-source
|
||||
(let ((version linux-libre-4.9-version)
|
||||
(hash (base32 "1px2np3k796cjwq1sp9gfxyql6hqyqya82vq9cb5y0canq6fqmg8")))
|
||||
(hash (base32 "168hy7vhgw2sfknflhhf6ykhkp4xs8v0igii6ivjlvs3dmwm21sj")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-4.9)))
|
||||
@ -1342,6 +1343,31 @@ battery charging thresholds, keyboard backlight, fans and thermal monitors,
|
||||
and the notification, WiFi, and Bluetooth LED.")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public ec
|
||||
(package
|
||||
(name "ec")
|
||||
(version (package-version linux-libre))
|
||||
(source (package-source linux-libre))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:make-flags #~(list (string-append "sbindir="
|
||||
#$output "/sbin")
|
||||
"INSTALL=install" "STRIPCMD=true")
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'enter-subdirectory
|
||||
(lambda _
|
||||
(chdir "tools/power/acpi/tools/ec")))
|
||||
(delete 'configure)) ;no configure script
|
||||
#:tests? #f)) ;no tests
|
||||
(home-page (package-home-page linux-libre))
|
||||
(synopsis
|
||||
"Utility for reading or writing @acronym{EC, Embedded Controller} registers")
|
||||
(description
|
||||
"This utility can read or write specific registers or all the available
|
||||
registers of the @acronym{EC, Embedded Controller} supported by the
|
||||
@code{ec_sys} Linux driver.")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public lkrg
|
||||
(package
|
||||
(name "lkrg")
|
||||
@ -8699,7 +8725,11 @@ of Linux application development.")
|
||||
#:configure-flags
|
||||
#~(list (string-append "-Dudevrulesdir=" #$output "/lib/udev/rules.d")
|
||||
"-Dsystemd=disabled"
|
||||
"-Dsession-managers=[]")))
|
||||
"-Dsession-managers=[]"
|
||||
"-Dman=enabled")))
|
||||
(native-inputs
|
||||
(modify-inputs (package-native-inputs pipewire)
|
||||
(prepend python-docutils)))
|
||||
(inputs (modify-inputs (package-inputs pipewire)
|
||||
(prepend avahi
|
||||
bluez
|
||||
|
@ -575,7 +575,7 @@ testing. It is an extension of the library written by Chris Riesbeck.")
|
||||
;; See https://github.com/AccelerationNet/symbol-munger/issues/4
|
||||
(package
|
||||
(name "sbcl-lisp-unit2")
|
||||
(version "0.9.3")
|
||||
(version "0.9.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -584,7 +584,7 @@ testing. It is an extension of the library written by Chris Riesbeck.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name "cl-lisp-unit2" version))
|
||||
(sha256
|
||||
(base32 "0y7k6fd4mf7ggc8kdrbg8flkj5j7i7ki1350wnj6hqax7cmh4xv5"))))
|
||||
(base32 "0dnq0qvbsn7ciknvmwzfjnimlzq1gdkv5xd87agmhxm1cpm1ksz0"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(inputs
|
||||
(list sbcl-alexandria sbcl-cl-interpol sbcl-iterate
|
||||
|
@ -214,6 +214,38 @@ with dice-roll statistics.")
|
||||
(define-public ecl-alea
|
||||
(sbcl-package->ecl-package sbcl-alea))
|
||||
|
||||
(define-public sbcl-bubble-operator-upwards
|
||||
(let ((commit "846275a318b960de81b62caecb1e31930f70aef6")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "sbcl-bubble-operator-upwards")
|
||||
(version (git-version "1.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Hexstream/bubble-operator-upwards")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "cl-bubble-operator-upwards" version))
|
||||
(sha256
|
||||
(base32 "0ybsy29ms3yrxgr7f2146lr6z4vm070dvdyzvwwxjh4dgm9na7bi"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(native-inputs
|
||||
(list sbcl-parachute))
|
||||
(home-page "https://www.hexstreamsoft.com/libraries/bubble-operator-upwards/")
|
||||
(synopsis "Function that bubbles an operator upwards in a form")
|
||||
(description
|
||||
"@code{bubble-operator-upwards} is a function that bubbles an operator
|
||||
upwards in a form, demultiplexing all alternative branches by way of
|
||||
cartesian product.")
|
||||
(license license:unlicense))))
|
||||
|
||||
(define-public cl-bubble-operator-upwards
|
||||
(sbcl-package->cl-source-package sbcl-bubble-operator-upwards))
|
||||
|
||||
(define-public ecl-bubble-operator-upwards
|
||||
(sbcl-package->ecl-package sbcl-bubble-operator-upwards))
|
||||
|
||||
(define-public sbcl-map-bind
|
||||
(let ((commit "532d55d93540c632e22b2cd264b5daa5f9d3d900")
|
||||
(revision "0"))
|
||||
|
@ -988,7 +988,7 @@ the HTML documentation of TXR.")
|
||||
(define-public txr
|
||||
(package
|
||||
(name "txr")
|
||||
(version "281")
|
||||
(version "282")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -997,7 +997,7 @@ the HTML documentation of TXR.")
|
||||
(commit (string-append "txr-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "18sncprahl41hcy9l6mc4vwlaiamkwrs805974g4vci4waccb37k"))))
|
||||
(base32 "1hzni1v9qlh1vy8spz8prink7v9hp2bin15vnyfha2ax306w6dq5"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
@ -1359,7 +1359,7 @@ executable Common Lisp image. It is similar to cl-launch and hu.dwim.build.")
|
||||
(define-public eisl
|
||||
(package
|
||||
(name "eisl")
|
||||
(version "2.62")
|
||||
(version "2.63")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -1368,7 +1368,7 @@ executable Common Lisp image. It is similar to cl-launch and hu.dwim.build.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0yqzj64h9z4dlf2jz5chy6l6lggd4scgsd06crvfi9h1j1cxjvgi"))))
|
||||
(base32 "01fwffk71c1cvq7pf50xwpl2a32rbghcymllg67wvm07yfw3gi0q"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(list bash-minimal freeglut gdbm libiconv ncurses tcl tk))
|
||||
|
@ -3,7 +3,7 @@
|
||||
;;; Copyright © 2014 Raimon Grau <raimonster@gmail.com>
|
||||
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2014 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2016, 2017, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017, 2020-2022 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2019 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016 doncatnip <gnopap@gmail.com>
|
||||
;;; Copyright © 2016, 2017, 2019 Clément Lassieur <clement@lassieur.org>
|
||||
@ -61,7 +61,8 @@
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages vim)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages xorg))
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (srfi srfi-1))
|
||||
|
||||
(define-public lua
|
||||
(package
|
||||
@ -177,7 +178,8 @@ for configuration, scripting, and rapid prototyping.")
|
||||
(synopsis "Just in time compiler for Lua programming language version 5.1")
|
||||
;; On powerpc64le-linux, the build fails with an error: "No support for
|
||||
;; PowerPC 64 bit mode (yet)". See: https://issues.guix.gnu.org/49220
|
||||
(supported-systems (delete "powerpc64le-linux" %supported-systems))
|
||||
(supported-systems (fold delete %supported-systems
|
||||
(list "powerpc64le-linux" "riscv64-linux")))
|
||||
(description
|
||||
"LuaJIT is a Just-In-Time Compiler (JIT) for the Lua
|
||||
programming language. Lua is a powerful, dynamic and light-weight programming
|
||||
|
@ -295,19 +295,36 @@ training, HMM clustering, HMM mixtures.")
|
||||
(define-public guile-aiscm
|
||||
(package
|
||||
(name "guile-aiscm")
|
||||
(version "0.23.1")
|
||||
(version "0.24.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/wedesoft/aiscm")
|
||||
(commit "c78b91edb7c17c6fbf3b294452f44e91d75e3c67")))
|
||||
(commit "2e16e38391bf1638f1dd9a1cf4b25a25f6626078")))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"09rdbcr8dinzijyx9h940ann91yjlbg0fangx365llhvy354n840"))))
|
||||
"1gwqpzl6irpaszkpxaf5wliwq19280632hlgxs3ikjkfg8mkqql0"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(list (string-append "OPENCV_CFLAGS=-I" #$(this-package-input "opencv")
|
||||
"/include/opencv4")
|
||||
(let ((modules
|
||||
(list "aruco" "barcode" "bgsegm" "bioinspired"
|
||||
"calib3d" "ccalib" "core" "datasets" "dnn"
|
||||
"dnn_objdetect" "dnn_superres" "dpm" "face"
|
||||
"features2d" "flann" "freetype" "fuzzy" "hdf"
|
||||
"hfs" "highgui" "img_hash" "imgcodecs" "imgproc"
|
||||
"intensity_transform" "line_descriptor" "mcc"
|
||||
"ml" "objdetect" "optflow" "phase_unwrapping"
|
||||
"photo" "plot" "quality" "rapid" "reg" "rgbd"
|
||||
"saliency" "shape" "stereo" "stitching"
|
||||
"structured_light" "superres" "surface_matching"
|
||||
"text" "tracking" "video" "videoio" "videostab"
|
||||
"wechat_qrcode" "ximgproc" "xobjdetect" "xphoto")))
|
||||
(format #false "OPENCV_LIBS=~{-lopencv_~a~^ ~}" modules)))
|
||||
#:make-flags
|
||||
#~(list (string-append "GUILE_CACHE=" #$output "/lib/guile/3.0/site-ccache")
|
||||
(string-append "GUILE_EXT=" #$output "/lib/guile/3.0/extensions")
|
||||
@ -318,10 +335,23 @@ training, HMM clustering, HMM mixtures.")
|
||||
(lambda _
|
||||
(substitute* "doc/Makefile.am"
|
||||
(("\\$\\(DATE\\)") "1970-01-01"))))
|
||||
(add-after 'unpack 'find-clearsilver
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "configure.ac"
|
||||
(("/usr/local/include/ClearSilver")
|
||||
(string-append (assoc-ref inputs "clearsilver")
|
||||
"/include/ClearSilver")))
|
||||
(substitute* "aiscm/Makefile.am"
|
||||
(("-lneo_utl" m)
|
||||
(string-append m " -lstreamhtmlparser")))
|
||||
(setenv "C_INCLUDE_PATH"
|
||||
(string-append (assoc-ref inputs "clearsilver")
|
||||
"/include/ClearSilver:"
|
||||
(or (getenv "C_INCLUDE_PATH") "")))))
|
||||
(add-after 'unpack 'use-llvm-config
|
||||
(lambda _
|
||||
(substitute* "m4/ax_llvmc.m4"
|
||||
(("llvm-config-13") "llvm-config")
|
||||
(("llvm-config-11") "llvm-config")
|
||||
;; For some reason this library is not on the link list.
|
||||
(("(LLVM_LIBS=\"\\$\\(\\$ac_llvm_config_path --libs \\$1\\))\"" _ m)
|
||||
(string-append m " -lLLVMMCJIT\"")))
|
||||
@ -329,10 +359,17 @@ training, HMM clustering, HMM mixtures.")
|
||||
;; Because of this message:
|
||||
;; symbol lookup error: ./.libs/libguile-aiscm-core.so: undefined symbol: LLVMInitializeX86TargetInfo
|
||||
;; This probably needs to differ when building on architectures
|
||||
;; other than x86_64p
|
||||
;; other than x86_64.
|
||||
(substitute* "aiscm/Makefile.am"
|
||||
(("LLVM_LIBS\\)") "LLVM_LIBS) \
|
||||
-lLLVMX86AsmParser -lLLVMX86CodeGen -lLLVMX86Desc -lLLVMX86Info"))))
|
||||
;; This test fails because our version of tensorflow is too old
|
||||
;; to provide tf-string-length.
|
||||
(add-after 'unpack 'disable-broken-test
|
||||
(lambda _
|
||||
(substitute* "tests/test_tensorflow.scm"
|
||||
(("\\(test-eqv \"determine string length" m)
|
||||
(string-append "#;" m)))))
|
||||
;; Use Clang instead of GCC.
|
||||
(add-before 'configure 'prepare-build-environment
|
||||
(lambda _
|
||||
@ -341,10 +378,12 @@ training, HMM clustering, HMM mixtures.")
|
||||
(setenv "CC" "clang")
|
||||
(setenv "CXX" "clang++"))))))
|
||||
(inputs
|
||||
(list ffmpeg
|
||||
(list clearsilver
|
||||
ffmpeg-4
|
||||
freeglut
|
||||
guile-3.0
|
||||
imagemagick
|
||||
libgc
|
||||
libjpeg-turbo
|
||||
libomp
|
||||
libxi
|
||||
@ -354,12 +393,15 @@ training, HMM clustering, HMM mixtures.")
|
||||
libxv
|
||||
mesa
|
||||
mjpegtools
|
||||
opencv
|
||||
pandoc
|
||||
pulseaudio))
|
||||
pulseaudio
|
||||
tensorflow))
|
||||
(native-inputs
|
||||
(list clang-13
|
||||
llvm-13
|
||||
(list clang-11
|
||||
llvm-11
|
||||
pkg-config
|
||||
protobuf-c
|
||||
autoconf
|
||||
automake
|
||||
gettext-minimal
|
||||
@ -372,68 +414,7 @@ Performance is achieved by using the LLVM JIT compiler.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public guile-aiscm-next
|
||||
(let ((commit "b17ed538c303badc419a7c358d91f266d2a8c354")
|
||||
(revision "1"))
|
||||
(package
|
||||
(inherit guile-aiscm)
|
||||
(name "guile-aiscm-next")
|
||||
(version (git-version "0.23.1" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/wedesoft/aiscm")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0px7r7lfskbp1prdrfrcvrsc4wjrk3ahkigsw4pqvny6zs7jnvc0"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments guile-aiscm)
|
||||
((#:configure-flags flags '())
|
||||
#~(list (string-append "OPENCV_CFLAGS=-I" #$(this-package-input "opencv")
|
||||
"/include/opencv4")
|
||||
(let ((modules
|
||||
(list "aruco" "barcode" "bgsegm" "bioinspired"
|
||||
"calib3d" "ccalib" "core" "datasets" "dnn"
|
||||
"dnn_objdetect" "dnn_superres" "dpm" "face"
|
||||
"features2d" "flann" "freetype" "fuzzy" "hdf"
|
||||
"hfs" "highgui" "img_hash" "imgcodecs" "imgproc"
|
||||
"intensity_transform" "line_descriptor" "mcc"
|
||||
"ml" "objdetect" "optflow" "phase_unwrapping"
|
||||
"photo" "plot" "quality" "rapid" "reg" "rgbd"
|
||||
"saliency" "shape" "stereo" "stitching"
|
||||
"structured_light" "superres" "surface_matching"
|
||||
"text" "tracking" "video" "videoio" "videostab"
|
||||
"wechat_qrcode" "ximgproc" "xobjdetect" "xphoto")))
|
||||
(format #false "OPENCV_LIBS=~{-lopencv_~a~^ ~}" modules))))
|
||||
((#:phases phases '%standard-phases)
|
||||
`(modify-phases ,phases
|
||||
(add-after 'unpack 'find-clearsilver
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "configure.ac"
|
||||
(("/usr/local/include/ClearSilver")
|
||||
(string-append (assoc-ref inputs "clearsilver")
|
||||
"/include/ClearSilver")))
|
||||
(substitute* "aiscm/Makefile.am"
|
||||
(("-lneo_utl" m)
|
||||
(string-append m " -lstreamhtmlparser")))
|
||||
(setenv "C_INCLUDE_PATH"
|
||||
(string-append (assoc-ref inputs "clearsilver")
|
||||
"/include/ClearSilver:"
|
||||
(or (getenv "C_INCLUDE_PATH") "")))))
|
||||
;; This test fails because our version of tensorflow is too old
|
||||
;; to provide tf-string-length.
|
||||
(add-after 'unpack 'disable-broken-test
|
||||
(lambda _
|
||||
(substitute* "tests/test_tensorflow.scm"
|
||||
(("\\(test-eqv \"determine string length" m)
|
||||
(string-append "#;" m)))))))))
|
||||
(inputs
|
||||
(modify-inputs (package-inputs guile-aiscm)
|
||||
(append clearsilver opencv tensorflow libgc)))
|
||||
(native-inputs
|
||||
(modify-inputs (package-native-inputs guile-aiscm)
|
||||
(append protobuf-c))))))
|
||||
(deprecated-package "guile-aiscm-next" guile-aiscm))
|
||||
|
||||
(define-public mcl
|
||||
(package
|
||||
@ -3165,7 +3146,7 @@ of Hidden Markov Models.")
|
||||
(define-public liblantern
|
||||
(package
|
||||
(name "liblantern")
|
||||
(version "0.8.0")
|
||||
(version "0.8.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -3174,48 +3155,53 @@ of Hidden Markov Models.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1xkqyj1clj1r70yrp5qpbpyf0xmh9c128005idshi7vk883wfp77"))))
|
||||
(base32 "1q57jsqzv9b70svr6whf04yd08np3x15qq1zm06fbl0sqf0kfn7p"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #false ;no test target
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'chdir
|
||||
(lambda _ (chdir "lantern")))
|
||||
(add-after 'chdir 'do-not-download-binaries
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("find_package\\(Torch.*") "set(TORCH_CXX_FLAGS \"-ltorch\")\n")
|
||||
(("retrieve_lib\\(.*") ""))
|
||||
(setenv "LIBRARY_PATH"
|
||||
(string-append
|
||||
(search-input-directory
|
||||
inputs "/lib/python3.9/site-packages/torch/lib")
|
||||
":" (or (getenv "LIBRARY_PATH") "")))
|
||||
(setenv "CPLUS_INCLUDE_PATH"
|
||||
(string-append
|
||||
(search-input-directory
|
||||
inputs "lib/python3.9/site-packages/torch/include/torch/csrc/api/include/")
|
||||
":"
|
||||
(search-input-directory
|
||||
inputs "lib/python3.9/site-packages/torch/include/")
|
||||
":"
|
||||
(or (getenv "CPLUS_INCLUDE_PATH") "")))
|
||||
(setenv "C_INCLUDE_PATH"
|
||||
(string-append
|
||||
(search-input-directory
|
||||
inputs "lib/python3.9/site-packages/torch/include/")
|
||||
":"
|
||||
(or (getenv "C_INCLUDE_PATH") "")))))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(install-file
|
||||
"../build/liblantern.so"
|
||||
(string-append #$output "/lib"))
|
||||
(copy-recursively
|
||||
"../lantern/include"
|
||||
(string-append #$output "/include")))))))
|
||||
(let ((python-version (version-major+minor (package-version python))))
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'chdir
|
||||
(lambda _ (chdir "lantern")))
|
||||
(add-after 'chdir 'do-not-download-binaries
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("find_package\\(Torch.*") "set(TORCH_CXX_FLAGS \"-ltorch\")\n")
|
||||
(("retrieve_lib\\(.*") ""))
|
||||
(let ((site-packages (string-append "/lib/python"
|
||||
#$python-version
|
||||
"/site-packages")))
|
||||
(setenv "LIBRARY_PATH"
|
||||
(string-append
|
||||
(search-input-directory
|
||||
inputs (string-append site-packages "/torch/lib"))
|
||||
":" (or (getenv "LIBRARY_PATH") "")))
|
||||
(setenv "CPLUS_INCLUDE_PATH"
|
||||
(string-append
|
||||
(search-input-directory
|
||||
inputs (string-append
|
||||
site-packages "/torch/include/torch/csrc/api/include/"))
|
||||
":"
|
||||
(search-input-directory
|
||||
inputs (string-append site-packages "/torch/include/"))
|
||||
":"
|
||||
(or (getenv "CPLUS_INCLUDE_PATH") "")))
|
||||
(setenv "C_INCLUDE_PATH"
|
||||
(string-append
|
||||
(search-input-directory
|
||||
inputs (string-append site-packages "/torch/include/"))
|
||||
":"
|
||||
(or (getenv "C_INCLUDE_PATH") ""))))))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(install-file
|
||||
"../build/liblantern.so"
|
||||
(string-append #$output "/lib"))
|
||||
(copy-recursively
|
||||
"../lantern/include"
|
||||
(string-append #$output "/include"))))))))
|
||||
(inputs (list python-pytorch-for-r-torch))
|
||||
(home-page "https://github.com/mlverse/torch/")
|
||||
(synopsis "C API to libtorch")
|
||||
|
@ -7590,6 +7590,7 @@ of C, Java, or Ada programs.")
|
||||
ocaml-graph
|
||||
ocaml-yojson
|
||||
ocaml-zarith
|
||||
ocaml-lablgtk3-sourceview3
|
||||
lablgtk3
|
||||
why3))
|
||||
(native-search-paths
|
||||
|
@ -27,6 +27,7 @@
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build-system ant)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages compression)
|
||||
@ -1780,31 +1781,33 @@ artifactId=maven-core" ,(package-version maven-core-bootstrap))))
|
||||
(arguments
|
||||
`(#:jar-name "maven-slf4j-provider.jar"
|
||||
#:source-dir "maven-slf4j-provider/src/main/java"
|
||||
#:tests? #f; no tests
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'unpack-slf4j
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(mkdir-p "generated-sources")
|
||||
(with-directory-excursion "generated-sources"
|
||||
(invoke "tar" "xf" (assoc-ref inputs "java-slf4j-simple-source"))
|
||||
(for-each delete-file (find-files "." "StaticLoggerBinder.java")))
|
||||
(for-each
|
||||
(lambda (simple)
|
||||
(for-each
|
||||
(lambda (java)
|
||||
(copy-file java
|
||||
(string-append
|
||||
"maven-slf4j-provider/src/main/java/org/slf4j/impl/"
|
||||
(basename java))))
|
||||
(find-files (string-append simple "/src/main/java/") "\\.java$")))
|
||||
(find-files "generated-sources" "slf4j-simple" #:directories? #t))))
|
||||
(replace 'install
|
||||
(install-from-pom "maven-slf4j-provider/pom.xml")))))
|
||||
(inputs
|
||||
`(("java-slf4j-api" ,java-slf4j-api)
|
||||
("java-slf4j-simple-source" ,(package-source java-slf4j-simple))
|
||||
("maven-shared-utils" ,maven-shared-utils)))
|
||||
#:tests? #f ;no tests
|
||||
#:phases (modify-phases %standard-phases
|
||||
(add-after 'unpack 'unpack-slf4j
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(mkdir-p "generated-sources")
|
||||
(copy-recursively (assoc-ref inputs
|
||||
"java-slf4j-simple-source")
|
||||
"generated-sources")
|
||||
(with-directory-excursion "generated-sources"
|
||||
(for-each delete-file
|
||||
(find-files "." "StaticLoggerBinder.java")))
|
||||
(for-each (lambda (simple)
|
||||
(for-each (lambda (java)
|
||||
(copy-file java
|
||||
(string-append
|
||||
"maven-slf4j-provider/src/main/java/org/slf4j/impl/"
|
||||
(basename java))))
|
||||
(find-files (string-append simple
|
||||
"/src/main/java/")
|
||||
"\\.java$")))
|
||||
(find-files "generated-sources" "slf4j-simple"
|
||||
#:directories? #t))))
|
||||
(replace 'install
|
||||
(install-from-pom "maven-slf4j-provider/pom.xml")))))
|
||||
(inputs `(("java-slf4j-api" ,java-slf4j-api)
|
||||
("java-slf4j-simple-source" ,(package-source java-slf4j-simple))
|
||||
("maven-shared-utils" ,maven-shared-utils)))
|
||||
(native-inputs (list unzip))))
|
||||
|
||||
(define-public maven-embedder
|
||||
@ -3012,6 +3015,50 @@ Maven project dependencies.")
|
||||
maven-plugin-annotations
|
||||
maven-enforcer-parent-pom))))
|
||||
|
||||
(define-public maven-sisu-plugin
|
||||
(package
|
||||
(name "maven-sisu-plugin")
|
||||
(version "0.3.5")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/eclipse/sisu.mojos/")
|
||||
(commit (string-append "releases/" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"00hb7v6hz8jg0mgkj3cl0nmqz49za4k2a0rbjr4gdhy2m7f34sq3"))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
(list #:jar-name "maven-sisu-plugin.jar"
|
||||
#:source-dir "src"
|
||||
#:tests? #f ;no tests
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(add-before 'build 'generate-plugin.xml
|
||||
(generate-plugin.xml "pom.xml" "sisu"
|
||||
"src/main/java/org/eclipse/sisu/mojos/"
|
||||
(list (list "IndexMojo.java")
|
||||
(list "MainIndexMojo.java")
|
||||
(list "TestIndexMojo.java"))))
|
||||
(replace 'install
|
||||
(install-from-pom "pom.xml")))))
|
||||
(propagated-inputs (list java-sonatype-oss-parent-pom-9))
|
||||
(inputs (list maven-artifact
|
||||
maven-plugin-api
|
||||
maven-plugin-annotations
|
||||
maven-core
|
||||
maven-common-artifact-filters
|
||||
java-slf4j-nop
|
||||
java-eclipse-sisu-inject
|
||||
java-plexus-utils
|
||||
java-plexus-build-api
|
||||
java-slf4j-api))
|
||||
(home-page "https://www.eclipse.org/sisu/")
|
||||
(synopsis "Maven plugin that generates annotation indexes for Sisu")
|
||||
(description "Maven plugin that generates annotation indexes for Sisu to
|
||||
avoid classpath scanning at runtime.")
|
||||
(license license:epl1.0)))
|
||||
|
||||
(define-public maven-artifact-transfer
|
||||
(package
|
||||
(name "maven-artifact-transfer")
|
||||
|
@ -3196,7 +3196,7 @@ designed for experienced users.")
|
||||
(define-public matterbridge
|
||||
(package
|
||||
(name "matterbridge")
|
||||
(version "1.24.0")
|
||||
(version "1.25.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@ -3205,7 +3205,7 @@ designed for experienced users.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0cd70x9685162c0imdici1ipl9lziq700wzyb5bsg610wfak3ms7"))))
|
||||
"0csvxsgl62fjkrmk0wy64h2qaiy16m0wh6pqfbhz0kfacq16p9an"))))
|
||||
;; Using the go-build-system results in the same error message
|
||||
;; than in the bug 1551[1]. So we fix it by running go build
|
||||
;; manually in the git repository as-is as this is the solution
|
||||
|
@ -12,6 +12,8 @@
|
||||
;;; Copyright © 2021 Raphaël Mélotte <raphael.melotte@mind.be>
|
||||
;;; Copyright © 2022 Paul A. Patience <paul@apatience.com>
|
||||
;;; Copyright © 2022 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
||||
;;; Copyright © 2022 ( <paren@disroot.org>
|
||||
;;; Copyright © 2022 Mathieu Laparie <mlaparie@disr.it>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -50,6 +52,7 @@
|
||||
#:use-module (gnu packages django)
|
||||
#:use-module (gnu packages gd)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages gnome) ;libnotify
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages mail)
|
||||
#:use-module (gnu packages ncurses)
|
||||
@ -758,3 +761,46 @@ display resumes.
|
||||
(description "StatsD is a friendly front-end to Graphite. This package
|
||||
provides a simple Python client for the StatsD daemon.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public batsignal
|
||||
(package
|
||||
(name "batsignal")
|
||||
(version "1.6.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/electrickite/batsignal")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0b1j6mljnqgxwr3id3r9shzhsjk5r0qdh9cxkvy1dm4kzbyc4dxq"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:make-flags
|
||||
#~(list (string-append "PREFIX=" #$output)
|
||||
(string-append "CC=" #$(cc-for-target)))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-cross-compile
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
(("pkg-config")
|
||||
#$(pkg-config-for-target)))))
|
||||
(delete 'configure)
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "./batsignal" "-v")))))))
|
||||
(inputs (list libnotify))
|
||||
(native-inputs (list pkg-config))
|
||||
(home-page "https://github.com/electrickite/batsignal")
|
||||
(synopsis "Power monitoring tool")
|
||||
(description
|
||||
"This package provides a daemon that monitors device power levels,
|
||||
notifying the user and optionally running a command when it reaches
|
||||
user-configured power thresholds. This can be used to force powering off a
|
||||
laptop when the battery gets below critical levels, instead of damaging the
|
||||
battery.")
|
||||
(license license:isc)))
|
||||
|
||||
|
@ -867,14 +867,14 @@ systems with no further dependencies.")
|
||||
(define-public blueman
|
||||
(package
|
||||
(name "blueman")
|
||||
(version "2.2.3")
|
||||
(version "2.3.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/blueman-project/blueman/releases"
|
||||
"/download/" version "/blueman-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "1s86w4mklzr8hvbgl3nkg8jycl6grww533dhzw8gdn5glqfpkpbf"))))
|
||||
(base32 "1bjh0cx9j2akygiqyxm7g0q74jyx9hpgf186gv3m31vks5zpvkw4"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags (list "--enable-polkit"
|
||||
@ -942,30 +942,30 @@ systems with no further dependencies.")
|
||||
(map (lambda (prog) (string-append libexec prog))
|
||||
'("mechanism" "rfcomm-watcher"))))))))))
|
||||
(native-inputs
|
||||
`(("cython" ,python-cython)
|
||||
("glib:bin" ,glib "bin")
|
||||
("gobject-introspection" ,gobject-introspection)
|
||||
("gtk+:bin" ,gtk+ "bin")
|
||||
("intltool" ,intltool)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(list python-cython
|
||||
`(,glib "bin")
|
||||
gobject-introspection
|
||||
`(,gtk+ "bin")
|
||||
intltool
|
||||
pkg-config))
|
||||
(inputs
|
||||
`(("bluez" ,bluez)
|
||||
("dbus" ,dbus)
|
||||
("librsvg" ,librsvg)
|
||||
("glib" ,glib)
|
||||
("gtk+" ,gtk+)
|
||||
("iproute2" ,iproute)
|
||||
("iptables" ,iptables)
|
||||
("net-tools" ,net-tools)
|
||||
("pango" ,pango)
|
||||
("polkit" ,polkit)
|
||||
("ppp" ,ppp)
|
||||
("pulseaudio" ,pulseaudio)
|
||||
("pycairo" ,python-pycairo)
|
||||
("pygobject" ,python-pygobject)
|
||||
("python" ,python-wrapper)
|
||||
("libappindicator" ,libappindicator)
|
||||
("libnm" ,network-manager)))
|
||||
(list bluez
|
||||
dbus
|
||||
librsvg
|
||||
glib
|
||||
gtk+
|
||||
iproute
|
||||
iptables
|
||||
net-tools
|
||||
pango
|
||||
polkit
|
||||
ppp
|
||||
pulseaudio
|
||||
python-pycairo
|
||||
python-pygobject
|
||||
python-wrapper
|
||||
libappindicator
|
||||
network-manager))
|
||||
(synopsis "GTK+ Bluetooth manager")
|
||||
(description "Blueman is a Bluetooth management utility using the Bluez
|
||||
D-Bus backend. It is designed to be easy to use for most common Bluetooth
|
||||
@ -2747,6 +2747,10 @@ procedure calls (RPCs).")
|
||||
"--disable-static" ; XXX still installs libopenvswitchavx512.a
|
||||
"--localstatedir=/var"
|
||||
"--with-dbdir=/var/lib/openvswitch")
|
||||
;; Tests fail in different ways, on different x86_64-linux hardware:
|
||||
;; 25. bfd.at:268: 25. bfd - bfd decay (bfd.at:268): FAILED (bfd.at:397)
|
||||
;; 1040. dpif-netdev - meters (dpif-netdev.at:269): FAILED (dpif-netdev.at:376)
|
||||
#:tests? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'use-absolute-/bin/sh
|
||||
|
@ -26,6 +26,7 @@
|
||||
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
|
||||
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
|
||||
;;; Copyright © 2022 Garek Dyszel <garekdyszel@disroot.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -1078,54 +1079,52 @@ the OCaml core distribution.")
|
||||
(license license:lgpl2.1+))); with linking exception
|
||||
|
||||
(define-public emacs-tuareg
|
||||
;; Last upstream release on Sept., 14th, 2018, since then "Package cl
|
||||
;; deprecated" or 'lexical-binding' and others had been fixed.
|
||||
(let ((commit "ccde45bbc292123ec20617f1af7f7e19f7481545")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "emacs-tuareg")
|
||||
(version (git-version "2.2.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ocaml/tuareg")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1yxv4bnqarilnpg5j7wywall8170hwvm0q4xx06yqjgcn8pq1lac"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("emacs" ,emacs-minimal)
|
||||
("opam" ,opam)))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'make-git-checkout-writable
|
||||
(lambda _
|
||||
(for-each make-file-writable (find-files "."))
|
||||
#t))
|
||||
(delete 'configure)
|
||||
(add-before 'install 'fix-install-path
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(substitute* "Makefile"
|
||||
(("/emacs/site-lisp")
|
||||
(string-append (assoc-ref %outputs "out")
|
||||
"/share/emacs/site-lisp/")))
|
||||
#t))
|
||||
(add-after 'install 'post-install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(symlink "tuareg.el"
|
||||
(string-append (assoc-ref outputs "out")
|
||||
"/share/emacs/site-lisp/"
|
||||
"tuareg-autoloads.el"))
|
||||
#t)))))
|
||||
(home-page "https://github.com/ocaml/tuareg")
|
||||
(synopsis "OCaml programming mode, REPL, debugger for Emacs")
|
||||
(description "Tuareg helps editing OCaml code, to highlight important
|
||||
(package
|
||||
(name "emacs-tuareg")
|
||||
(version "3.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ocaml/tuareg")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "115vm0hq4xkwfd3w0j8xqhkdgcirlxpnwzwxv02c27583hj056is"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:imported-modules `(,@%gnu-build-system-modules
|
||||
(guix build emacs-build-system)
|
||||
(guix build emacs-utils))
|
||||
#:modules '((guix build gnu-build-system)
|
||||
((guix build emacs-build-system) #:prefix emacs:)
|
||||
(guix build emacs-utils)
|
||||
(guix build utils))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'make-git-checkout-writable
|
||||
(lambda _
|
||||
(for-each make-file-writable (find-files "."))))
|
||||
(delete 'configure)
|
||||
(add-before 'install 'fix-install-path
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
(("/emacs/site-lisp")
|
||||
(emacs:elpa-directory #$output)))))
|
||||
(add-after 'install 'post-install
|
||||
(lambda _
|
||||
(symlink "tuareg.el"
|
||||
(string-append (emacs:elpa-directory #$output)
|
||||
"/tuareg-autoloads.el")))))))
|
||||
(native-inputs
|
||||
(list emacs-minimal opam))
|
||||
(home-page "https://github.com/ocaml/tuareg")
|
||||
(synopsis "OCaml programming mode, REPL, debugger for Emacs")
|
||||
(description "Tuareg helps editing OCaml code, to highlight important
|
||||
parts of the code, to run an OCaml REPL, and to run the OCaml debugger within
|
||||
Emacs.")
|
||||
(license license:gpl2+))))
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public ocaml-menhir
|
||||
(package
|
||||
@ -1954,7 +1953,7 @@ ocaml-migrate-parsetree")
|
||||
(define-public ocaml-linenoise
|
||||
(package
|
||||
(name "ocaml-linenoise")
|
||||
(version "1.3.1")
|
||||
(version "1.4.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@ -1963,7 +1962,7 @@ ocaml-migrate-parsetree")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0s98695skz1wvrak0rdlh80w3cv6piic1dxqpn9rv1yymbklafg4"))))
|
||||
"1gk11pflal08kg2dz1b5zrlpnhbxpg2rwf8cknw3vzmq6gsmk2kc"))))
|
||||
(build-system dune-build-system)
|
||||
(arguments
|
||||
;; No tests
|
||||
@ -2701,7 +2700,7 @@ module Unix.")
|
||||
(define-public ocaml-lwt-log
|
||||
(package
|
||||
(name "ocaml-lwt-log")
|
||||
(version "1.1.1")
|
||||
(version "1.1.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@ -2710,7 +2709,7 @@ module Unix.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1n12i1rmn9cjn6p8yr6qn5dwbrwvym7ckr7bla04a1xnq8qlcyj7"))))
|
||||
"0mbv5l9gj09jd1c4lr2axcl4v043ipmhjd9xrk27l4hylzfc6d1q"))))
|
||||
(build-system dune-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f)); require lwt_ppx
|
||||
@ -3068,7 +3067,7 @@ string values and to directly encode characters in OCaml Buffer.t values.")
|
||||
(define-public ocaml-uunf
|
||||
(package
|
||||
(name "ocaml-uunf")
|
||||
(version "14.0.0")
|
||||
(version "15.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@ -3076,13 +3075,18 @@ string values and to directly encode characters in OCaml Buffer.t values.")
|
||||
version".tbz"))
|
||||
(sha256
|
||||
(base32
|
||||
"17wv0nm3vvwcbzb1b09akw8jblmigyhbfmh1sy9lkb5756ni94a2"))))
|
||||
"1s5svvdqfbzw16rf1h0zm9n92xfdr0qciprd7lcjza8z1hy6pyh7"))))
|
||||
(build-system ocaml-build-system)
|
||||
(arguments
|
||||
`(#:build-flags (list "build" "--tests" "true")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
;; reported and fixed upstream, will be available in next version.
|
||||
(add-before 'build 'fix-test
|
||||
(lambda _
|
||||
(substitute* "test/test.ml"
|
||||
(("test/NormalizationTest.txt") "-"))))
|
||||
(add-before 'check 'check-data
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(copy-file (assoc-ref inputs "NormalizationTest.txt")
|
||||
@ -3101,7 +3105,7 @@ string values and to directly encode characters in OCaml Buffer.t values.")
|
||||
"/ucd/NormalizationTest.txt"))
|
||||
(file-name (string-append "NormalizationTest-" version ".txt"))
|
||||
(sha256
|
||||
(base32 "0c93pqdkksf7b7zw8y2w0h9i5kkrsdjmh2cr5clrrhp6mg10rcvw"))))))
|
||||
(base32 "09pkawfqpgy2xnv2nkkgmxv53rx4anprg65crbbcm02a2p6ci6pv"))))))
|
||||
(propagated-inputs (list ocaml-uutf))
|
||||
(home-page "https://erratique.ch/software/uunf")
|
||||
(synopsis "Unicode text normalization for OCaml")
|
||||
@ -4468,6 +4472,35 @@ sensitive completion, colors, and more.")
|
||||
("ocaml-zed" ,ocaml-zed)))
|
||||
(properties '()))))
|
||||
|
||||
(define-public ocaml-ansiterminal
|
||||
(package
|
||||
(name "ocaml-ansiterminal")
|
||||
(version "0.8.5")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Chris00/ANSITerminal")
|
||||
(commit version)
|
||||
(recursive? #t)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"052qnc23vmxp90yympjz9q6lhqw98gs1yvb3r15kcbi1j678l51h"))))
|
||||
(build-system dune-build-system)
|
||||
(arguments
|
||||
`(#:test-target "tests"))
|
||||
(home-page "https://github.com/Chris00/ANSITerminal")
|
||||
(synopsis
|
||||
"Basic control of ANSI compliant terminals and the windows shell")
|
||||
(description
|
||||
"ANSITerminal is a module allowing to use the colors and cursor
|
||||
movements on ANSI terminals.")
|
||||
;; Variant of the LGPL3+ which permits
|
||||
;; static and dynamic linking when producing binary files.
|
||||
;; In other words, it allows one to link to the library
|
||||
;; when compiling nonfree software.
|
||||
(license (license:non-copyleft "LICENSE.md"))))
|
||||
|
||||
(define-public ocaml-ptmap
|
||||
(package
|
||||
(name "ocaml-ptmap")
|
||||
@ -7998,7 +8031,7 @@ support for Mparser.")))
|
||||
(define-public lablgtk3
|
||||
(package
|
||||
(name "lablgtk")
|
||||
(version "3.1.1")
|
||||
(version "3.1.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@ -8007,10 +8040,11 @@ support for Mparser.")))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"11qfc39cmwfwfpwmjh6wh98zwdv6p73bv8hqwcsss869vs1r7gmn"))))
|
||||
"0b17w9qb1f02h3313cm62mrqlhwxficppzm72n7sf8mmwrylxbm7"))))
|
||||
(build-system dune-build-system)
|
||||
(arguments
|
||||
`(#:test-target "."
|
||||
`(#:package "lablgtk3"
|
||||
#:test-target "."
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'build 'make-writable
|
||||
@ -8026,7 +8060,7 @@ support for Mparser.")))
|
||||
(propagated-inputs
|
||||
(list ocaml-cairo2))
|
||||
(inputs
|
||||
(list camlp5 gtk+ gtksourceview-3 gtkspell3))
|
||||
(list camlp5 gtk+))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(home-page "https://github.com/garrigue/lablgtk")
|
||||
@ -8040,6 +8074,19 @@ generate OCaml code from .glade files), libpanel, librsvg and quartz.")
|
||||
;; Version 2 only, with linking exception.
|
||||
(license license:lgpl2.0)))
|
||||
|
||||
(define-public ocaml-lablgtk3-sourceview3
|
||||
(package
|
||||
(inherit lablgtk3)
|
||||
(name "ocaml-lablgtk3-sourceview3")
|
||||
(propagated-inputs (list lablgtk3))
|
||||
(native-inputs (list gtksourceview-3 pkg-config))
|
||||
(arguments
|
||||
`(#:package "lablgtk3-sourceview3"
|
||||
#:test-target "."))
|
||||
(synopsis "OCaml interface to GTK+ gtksourceview library")
|
||||
(description "This package provides the lablgtk interface to the
|
||||
GTK+ gtksourceview library.")))
|
||||
|
||||
(define-public ocaml-reactivedata
|
||||
(package
|
||||
(name "ocaml-reactivedata")
|
||||
@ -8071,7 +8118,7 @@ client chooses the concrete timeline.")
|
||||
(define-public ocaml-uucd
|
||||
(package
|
||||
(name "ocaml-uucd")
|
||||
(version "14.0.0")
|
||||
(version "15.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@ -8079,7 +8126,7 @@ client chooses the concrete timeline.")
|
||||
"uucd-" version ".tbz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0fc737v5gj3339jx4x9xr096lxrpwvp6vaiylhavcvsglcwbgm30"))))
|
||||
"1g26237yqmxr7sd1n9fg65qm5mxz66ybk7hr336zfyyzl25h6jqf"))))
|
||||
(build-system ocaml-build-system)
|
||||
(arguments
|
||||
'(#:build-flags '("build" "--tests" "true")
|
||||
@ -8101,7 +8148,7 @@ representations can be extracted.")
|
||||
(define-public ocaml-uucp
|
||||
(package
|
||||
(name "ocaml-uucp")
|
||||
(version "14.0.0")
|
||||
(version "15.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@ -8109,7 +8156,7 @@ representations can be extracted.")
|
||||
"uucp-" version ".tbz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1yx9nih3d9prb9zizq8fzmmqylf24a6yifhf81h33znrj5xn1mpj"))))
|
||||
"0c2k9gkg442l7hnc8rn1vqzn6qh68w9fx7h3nj03n2x90ps98ixc"))))
|
||||
(build-system ocaml-build-system)
|
||||
(arguments
|
||||
'(#:build-flags '("build" "--tests" "true")
|
||||
|
34
gnu/packages/patches/connman-CVE-2022-32292.patch
Normal file
34
gnu/packages/patches/connman-CVE-2022-32292.patch
Normal file
@ -0,0 +1,34 @@
|
||||
https://git.kernel.org/pub/scm/network/connman/connman.git/patch/?id=d1a5ede5d255bde8ef707f8441b997563b9312bd
|
||||
|
||||
From d1a5ede5d255bde8ef707f8441b997563b9312bd Mon Sep 17 00:00:00 2001
|
||||
From: Nathan Crandall <ncrandall@tesla.com>
|
||||
Date: Tue, 12 Jul 2022 08:56:34 +0200
|
||||
Subject: gweb: Fix OOB write in received_data()
|
||||
|
||||
There is a mismatch of handling binary vs. C-string data with memchr
|
||||
and strlen, resulting in pos, count, and bytes_read to become out of
|
||||
sync and result in a heap overflow. Instead, do not treat the buffer
|
||||
as an ASCII C-string. We calculate the count based on the return value
|
||||
of memchr, instead of strlen.
|
||||
|
||||
Fixes: CVE-2022-32292
|
||||
---
|
||||
gweb/gweb.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/gweb/gweb.c b/gweb/gweb.c
|
||||
index 12fcb1d8..13c6c5f2 100644
|
||||
--- a/gweb/gweb.c
|
||||
+++ b/gweb/gweb.c
|
||||
@@ -918,7 +918,7 @@ static gboolean received_data(GIOChannel *channel, GIOCondition cond,
|
||||
}
|
||||
|
||||
*pos = '\0';
|
||||
- count = strlen((char *) ptr);
|
||||
+ count = pos - ptr;
|
||||
if (count > 0 && ptr[count - 1] == '\r') {
|
||||
ptr[--count] = '\0';
|
||||
bytes_read--;
|
||||
--
|
||||
cgit
|
||||
|
140
gnu/packages/patches/connman-CVE-2022-32293-pt1.patch
Normal file
140
gnu/packages/patches/connman-CVE-2022-32293-pt1.patch
Normal file
@ -0,0 +1,140 @@
|
||||
https://git.kernel.org/pub/scm/network/connman/connman.git/patch/?id=72343929836de80727a27d6744c869dff045757c
|
||||
|
||||
From 72343929836de80727a27d6744c869dff045757c Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Wagner <wagi@monom.org>
|
||||
Date: Tue, 5 Jul 2022 08:32:12 +0200
|
||||
Subject: wispr: Add reference counter to portal context
|
||||
|
||||
Track the connman_wispr_portal_context live time via a
|
||||
refcounter. This only adds the infrastructure to do proper reference
|
||||
counting.
|
||||
|
||||
Fixes: CVE-2022-32293
|
||||
---
|
||||
src/wispr.c | 52 ++++++++++++++++++++++++++++++++++++++++++----------
|
||||
1 file changed, 42 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/src/wispr.c b/src/wispr.c
|
||||
index a07896ca..bde7e63b 100644
|
||||
--- a/src/wispr.c
|
||||
+++ b/src/wispr.c
|
||||
@@ -56,6 +56,7 @@ struct wispr_route {
|
||||
};
|
||||
|
||||
struct connman_wispr_portal_context {
|
||||
+ int refcount;
|
||||
struct connman_service *service;
|
||||
enum connman_ipconfig_type type;
|
||||
struct connman_wispr_portal *wispr_portal;
|
||||
@@ -97,6 +98,11 @@ static char *online_check_ipv4_url = NULL;
|
||||
static char *online_check_ipv6_url = NULL;
|
||||
static bool enable_online_to_ready_transition = false;
|
||||
|
||||
+#define wispr_portal_context_ref(wp_context) \
|
||||
+ wispr_portal_context_ref_debug(wp_context, __FILE__, __LINE__, __func__)
|
||||
+#define wispr_portal_context_unref(wp_context) \
|
||||
+ wispr_portal_context_unref_debug(wp_context, __FILE__, __LINE__, __func__)
|
||||
+
|
||||
static void connman_wispr_message_init(struct connman_wispr_message *msg)
|
||||
{
|
||||
DBG("");
|
||||
@@ -162,9 +168,6 @@ static void free_connman_wispr_portal_context(
|
||||
{
|
||||
DBG("context %p", wp_context);
|
||||
|
||||
- if (!wp_context)
|
||||
- return;
|
||||
-
|
||||
if (wp_context->wispr_portal) {
|
||||
if (wp_context->wispr_portal->ipv4_context == wp_context)
|
||||
wp_context->wispr_portal->ipv4_context = NULL;
|
||||
@@ -201,9 +204,38 @@ static void free_connman_wispr_portal_context(
|
||||
g_free(wp_context);
|
||||
}
|
||||
|
||||
+static struct connman_wispr_portal_context *
|
||||
+wispr_portal_context_ref_debug(struct connman_wispr_portal_context *wp_context,
|
||||
+ const char *file, int line, const char *caller)
|
||||
+{
|
||||
+ DBG("%p ref %d by %s:%d:%s()", wp_context,
|
||||
+ wp_context->refcount + 1, file, line, caller);
|
||||
+
|
||||
+ __sync_fetch_and_add(&wp_context->refcount, 1);
|
||||
+
|
||||
+ return wp_context;
|
||||
+}
|
||||
+
|
||||
+static void wispr_portal_context_unref_debug(
|
||||
+ struct connman_wispr_portal_context *wp_context,
|
||||
+ const char *file, int line, const char *caller)
|
||||
+{
|
||||
+ if (!wp_context)
|
||||
+ return;
|
||||
+
|
||||
+ DBG("%p ref %d by %s:%d:%s()", wp_context,
|
||||
+ wp_context->refcount - 1, file, line, caller);
|
||||
+
|
||||
+ if (__sync_fetch_and_sub(&wp_context->refcount, 1) != 1)
|
||||
+ return;
|
||||
+
|
||||
+ free_connman_wispr_portal_context(wp_context);
|
||||
+}
|
||||
+
|
||||
static struct connman_wispr_portal_context *create_wispr_portal_context(void)
|
||||
{
|
||||
- return g_try_new0(struct connman_wispr_portal_context, 1);
|
||||
+ return wispr_portal_context_ref(
|
||||
+ g_new0(struct connman_wispr_portal_context, 1));
|
||||
}
|
||||
|
||||
static void free_connman_wispr_portal(gpointer data)
|
||||
@@ -215,8 +247,8 @@ static void free_connman_wispr_portal(gpointer data)
|
||||
if (!wispr_portal)
|
||||
return;
|
||||
|
||||
- free_connman_wispr_portal_context(wispr_portal->ipv4_context);
|
||||
- free_connman_wispr_portal_context(wispr_portal->ipv6_context);
|
||||
+ wispr_portal_context_unref(wispr_portal->ipv4_context);
|
||||
+ wispr_portal_context_unref(wispr_portal->ipv6_context);
|
||||
|
||||
g_free(wispr_portal);
|
||||
}
|
||||
@@ -452,7 +484,7 @@ static void portal_manage_status(GWebResult *result,
|
||||
connman_info("Client-Timezone: %s", str);
|
||||
|
||||
if (!enable_online_to_ready_transition)
|
||||
- free_connman_wispr_portal_context(wp_context);
|
||||
+ wispr_portal_context_unref(wp_context);
|
||||
|
||||
__connman_service_ipconfig_indicate_state(service,
|
||||
CONNMAN_SERVICE_STATE_ONLINE, type);
|
||||
@@ -616,7 +648,7 @@ static void wispr_portal_request_wispr_login(struct connman_service *service,
|
||||
return;
|
||||
}
|
||||
|
||||
- free_connman_wispr_portal_context(wp_context);
|
||||
+ wispr_portal_context_unref(wp_context);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -952,7 +984,7 @@ static int wispr_portal_detect(struct connman_wispr_portal_context *wp_context)
|
||||
|
||||
if (wp_context->token == 0) {
|
||||
err = -EINVAL;
|
||||
- free_connman_wispr_portal_context(wp_context);
|
||||
+ wispr_portal_context_unref(wp_context);
|
||||
}
|
||||
} else if (wp_context->timeout == 0) {
|
||||
wp_context->timeout = g_idle_add(no_proxy_callback, wp_context);
|
||||
@@ -1001,7 +1033,7 @@ int __connman_wispr_start(struct connman_service *service,
|
||||
|
||||
/* If there is already an existing context, we wipe it */
|
||||
if (wp_context)
|
||||
- free_connman_wispr_portal_context(wp_context);
|
||||
+ wispr_portal_context_unref(wp_context);
|
||||
|
||||
wp_context = create_wispr_portal_context();
|
||||
if (!wp_context)
|
||||
--
|
||||
cgit
|
||||
|
173
gnu/packages/patches/connman-CVE-2022-32293-pt2.patch
Normal file
173
gnu/packages/patches/connman-CVE-2022-32293-pt2.patch
Normal file
@ -0,0 +1,173 @@
|
||||
https://git.kernel.org/pub/scm/network/connman/connman.git/patch/?id=416bfaff988882c553c672e5bfc2d4f648d29e8a
|
||||
|
||||
From 416bfaff988882c553c672e5bfc2d4f648d29e8a Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Wagner <wagi@monom.org>
|
||||
Date: Tue, 5 Jul 2022 09:11:09 +0200
|
||||
Subject: wispr: Update portal context references
|
||||
|
||||
Maintain proper portal context references to avoid UAF.
|
||||
|
||||
Fixes: CVE-2022-32293
|
||||
---
|
||||
src/wispr.c | 34 ++++++++++++++++++++++------------
|
||||
1 file changed, 22 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/src/wispr.c b/src/wispr.c
|
||||
index bde7e63b..84bed33f 100644
|
||||
--- a/src/wispr.c
|
||||
+++ b/src/wispr.c
|
||||
@@ -105,8 +105,6 @@ static bool enable_online_to_ready_transition = false;
|
||||
|
||||
static void connman_wispr_message_init(struct connman_wispr_message *msg)
|
||||
{
|
||||
- DBG("");
|
||||
-
|
||||
msg->has_error = false;
|
||||
msg->current_element = NULL;
|
||||
|
||||
@@ -166,8 +164,6 @@ static void free_wispr_routes(struct connman_wispr_portal_context *wp_context)
|
||||
static void free_connman_wispr_portal_context(
|
||||
struct connman_wispr_portal_context *wp_context)
|
||||
{
|
||||
- DBG("context %p", wp_context);
|
||||
-
|
||||
if (wp_context->wispr_portal) {
|
||||
if (wp_context->wispr_portal->ipv4_context == wp_context)
|
||||
wp_context->wispr_portal->ipv4_context = NULL;
|
||||
@@ -483,9 +479,6 @@ static void portal_manage_status(GWebResult *result,
|
||||
&str))
|
||||
connman_info("Client-Timezone: %s", str);
|
||||
|
||||
- if (!enable_online_to_ready_transition)
|
||||
- wispr_portal_context_unref(wp_context);
|
||||
-
|
||||
__connman_service_ipconfig_indicate_state(service,
|
||||
CONNMAN_SERVICE_STATE_ONLINE, type);
|
||||
|
||||
@@ -546,14 +539,17 @@ static void wispr_portal_request_portal(
|
||||
{
|
||||
DBG("");
|
||||
|
||||
+ wispr_portal_context_ref(wp_context);
|
||||
wp_context->request_id = g_web_request_get(wp_context->web,
|
||||
wp_context->status_url,
|
||||
wispr_portal_web_result,
|
||||
wispr_route_request,
|
||||
wp_context);
|
||||
|
||||
- if (wp_context->request_id == 0)
|
||||
+ if (wp_context->request_id == 0) {
|
||||
wispr_portal_error(wp_context);
|
||||
+ wispr_portal_context_unref(wp_context);
|
||||
+ }
|
||||
}
|
||||
|
||||
static bool wispr_input(const guint8 **data, gsize *length,
|
||||
@@ -618,13 +614,15 @@ static void wispr_portal_browser_reply_cb(struct connman_service *service,
|
||||
return;
|
||||
|
||||
if (!authentication_done) {
|
||||
- wispr_portal_error(wp_context);
|
||||
free_wispr_routes(wp_context);
|
||||
+ wispr_portal_error(wp_context);
|
||||
+ wispr_portal_context_unref(wp_context);
|
||||
return;
|
||||
}
|
||||
|
||||
/* Restarting the test */
|
||||
__connman_service_wispr_start(service, wp_context->type);
|
||||
+ wispr_portal_context_unref(wp_context);
|
||||
}
|
||||
|
||||
static void wispr_portal_request_wispr_login(struct connman_service *service,
|
||||
@@ -700,11 +698,13 @@ static bool wispr_manage_message(GWebResult *result,
|
||||
|
||||
wp_context->wispr_result = CONNMAN_WISPR_RESULT_LOGIN;
|
||||
|
||||
+ wispr_portal_context_ref(wp_context);
|
||||
if (__connman_agent_request_login_input(wp_context->service,
|
||||
wispr_portal_request_wispr_login,
|
||||
- wp_context) != -EINPROGRESS)
|
||||
+ wp_context) != -EINPROGRESS) {
|
||||
wispr_portal_error(wp_context);
|
||||
- else
|
||||
+ wispr_portal_context_unref(wp_context);
|
||||
+ } else
|
||||
return true;
|
||||
|
||||
break;
|
||||
@@ -753,6 +753,7 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data)
|
||||
if (length > 0) {
|
||||
g_web_parser_feed_data(wp_context->wispr_parser,
|
||||
chunk, length);
|
||||
+ wispr_portal_context_unref(wp_context);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -770,6 +771,7 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data)
|
||||
|
||||
switch (status) {
|
||||
case 000:
|
||||
+ wispr_portal_context_ref(wp_context);
|
||||
__connman_agent_request_browser(wp_context->service,
|
||||
wispr_portal_browser_reply_cb,
|
||||
wp_context->status_url, wp_context);
|
||||
@@ -781,11 +783,14 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data)
|
||||
if (g_web_result_get_header(result, "X-ConnMan-Status",
|
||||
&str)) {
|
||||
portal_manage_status(result, wp_context);
|
||||
+ wispr_portal_context_unref(wp_context);
|
||||
return false;
|
||||
- } else
|
||||
+ } else {
|
||||
+ wispr_portal_context_ref(wp_context);
|
||||
__connman_agent_request_browser(wp_context->service,
|
||||
wispr_portal_browser_reply_cb,
|
||||
wp_context->redirect_url, wp_context);
|
||||
+ }
|
||||
|
||||
break;
|
||||
case 300:
|
||||
@@ -798,6 +803,7 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data)
|
||||
!g_web_result_get_header(result, "Location",
|
||||
&redirect)) {
|
||||
|
||||
+ wispr_portal_context_ref(wp_context);
|
||||
__connman_agent_request_browser(wp_context->service,
|
||||
wispr_portal_browser_reply_cb,
|
||||
wp_context->status_url, wp_context);
|
||||
@@ -808,6 +814,7 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data)
|
||||
|
||||
wp_context->redirect_url = g_strdup(redirect);
|
||||
|
||||
+ wispr_portal_context_ref(wp_context);
|
||||
wp_context->request_id = g_web_request_get(wp_context->web,
|
||||
redirect, wispr_portal_web_result,
|
||||
wispr_route_request, wp_context);
|
||||
@@ -820,6 +827,7 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data)
|
||||
|
||||
break;
|
||||
case 505:
|
||||
+ wispr_portal_context_ref(wp_context);
|
||||
__connman_agent_request_browser(wp_context->service,
|
||||
wispr_portal_browser_reply_cb,
|
||||
wp_context->status_url, wp_context);
|
||||
@@ -832,6 +840,7 @@ static bool wispr_portal_web_result(GWebResult *result, gpointer user_data)
|
||||
wp_context->request_id = 0;
|
||||
done:
|
||||
wp_context->wispr_msg.message_type = -1;
|
||||
+ wispr_portal_context_unref(wp_context);
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -890,6 +899,7 @@ static void proxy_callback(const char *proxy, void *user_data)
|
||||
xml_wispr_parser_callback, wp_context);
|
||||
|
||||
wispr_portal_request_portal(wp_context);
|
||||
+ wispr_portal_context_unref(wp_context);
|
||||
}
|
||||
|
||||
static gboolean no_proxy_callback(gpointer user_data)
|
||||
--
|
||||
cgit
|
||||
|
@ -1,54 +0,0 @@
|
||||
From 3e1f4da8c0e536c09ffaf3b43fe2eb5dc17cc23e Mon Sep 17 00:00:00 2001
|
||||
From: Georges Basile Stavracas Neto <georges.stavracas@gmail.com>
|
||||
Date: Thu, 18 Nov 2021 19:46:13 -0300
|
||||
Subject: [PATCH] flatpak: Adjust to libportal changes
|
||||
|
||||
---
|
||||
build-aux/flatpak/org.gnome.Todo.json | 3 +++
|
||||
src/plugins/background/gtd-plugin-background.c | 2 +-
|
||||
src/plugins/background/meson.build | 2 +-
|
||||
3 files changed, 5 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/build-aux/flatpak/org.gnome.Todo.json b/build-aux/flatpak/org.gnome.Todo.json
|
||||
index 034e200c..44b83d66 100644
|
||||
--- a/build-aux/flatpak/org.gnome.Todo.json
|
||||
+++ b/build-aux/flatpak/org.gnome.Todo.json
|
||||
@@ -143,6 +143,9 @@
|
||||
{
|
||||
"name" : "libportal",
|
||||
"buildsystem" : "meson",
|
||||
+ "config-opts" : [
|
||||
+ "-Dbackends=gtk4"
|
||||
+ ],
|
||||
"sources" : [
|
||||
{
|
||||
"type" : "git",
|
||||
diff --git a/src/plugins/background/gtd-plugin-background.c b/src/plugins/background/gtd-plugin-background.c
|
||||
index cf48786c..f64d07aa 100644
|
||||
--- a/src/plugins/background/gtd-plugin-background.c
|
||||
+++ b/src/plugins/background/gtd-plugin-background.c
|
||||
@@ -28,7 +28,7 @@
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
#include <libportal/portal.h>
|
||||
-#include <libportal/portal-gtk4.h>
|
||||
+#include <libportal-gtk4/portal-gtk4.h>
|
||||
|
||||
#define AUTOSTART_NOTIFICATION_ID "Gtd::BackgroundPlugin::autostart_notification"
|
||||
#define AUTOSTART_NOTIFICATION_TIMEOUT 3 /* seconds */
|
||||
diff --git a/src/plugins/background/meson.build b/src/plugins/background/meson.build
|
||||
index a671a4f3..59d3635f 100644
|
||||
--- a/src/plugins/background/meson.build
|
||||
+++ b/src/plugins/background/meson.build
|
||||
@@ -1,7 +1,7 @@
|
||||
plugins_ldflags += ['-Wl,--undefined=gtd_plugin_background_register_types']
|
||||
|
||||
plugins_deps += [
|
||||
- dependency('libportal'),
|
||||
+ dependency('libportal-gtk4'),
|
||||
]
|
||||
|
||||
plugins_sources += files(
|
||||
--
|
||||
GitLab
|
||||
|
32
gnu/packages/patches/jami-fix-crash-on-block-contact.patch
Normal file
32
gnu/packages/patches/jami-fix-crash-on-block-contact.patch
Normal file
@ -0,0 +1,32 @@
|
||||
From 673dc5f525c9d478fc22f8ea0a50d9849a81f6c8 Mon Sep 17 00:00:00 2001
|
||||
From: Kateryna Kostiuk <kateryna.kostiuk@savoirfairelinux.com>
|
||||
Date: Fri, 2 Sep 2022 13:32:10 -0400
|
||||
Subject: [PATCH] conversation: fix crash when block contact
|
||||
|
||||
This patch fixes crash that happened when block contact
|
||||
for not active account.
|
||||
|
||||
GitLab: #758
|
||||
Change-Id: I5347394a67cdffe0d95c9ee03aedf9d2618cec55
|
||||
---
|
||||
src/jamidht/jamiaccount.cpp | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/daemon/src/jamidht/jamiaccount.cpp b/daemon/src/jamidht/jamiaccount.cpp
|
||||
index fe15eedb2..9d0a5ee68 100644
|
||||
--- a/daemon/src/jamidht/jamiaccount.cpp
|
||||
+++ b/daemon/src/jamidht/jamiaccount.cpp
|
||||
@@ -1129,7 +1129,9 @@ JamiAccount::loadAccount(const std::string& archive_password,
|
||||
if (auto convModule = shared->convModule())
|
||||
convModule->removeContact(uri, banned);
|
||||
// Remove current connections with contact
|
||||
- shared->connectionManager_->closeConnectionsWith(uri);
|
||||
+ if (shared->connectionManager_) {
|
||||
+ shared->connectionManager_->closeConnectionsWith(uri);
|
||||
+ }
|
||||
// Update client.
|
||||
emitSignal<DRing::ConfigurationSignal::ContactRemoved>(shared->getAccountID(),
|
||||
uri,
|
||||
--
|
||||
2.37.3
|
||||
|
@ -1,24 +0,0 @@
|
||||
This fixes the issue where pressing the ESC key would hide the Jami
|
||||
GUI on systems lacking a notification tray.
|
||||
|
||||
From 47fd4c38ddd8bd350319ce9bb750ca496826e655 Mon Sep 17 00:00:00 2001
|
||||
From: Sébastien Blin <sebastien.blin@savoirfairelinux.com>
|
||||
Date: Fri, 29 Jul 2022 21:24:01 -0400
|
||||
Subject: [PATCH] layoutmanager: fix popFullScreenItem
|
||||
|
||||
Change-Id: I79780d4ad570846e6f3c52734dd627bcd0e11327
|
||||
---
|
||||
|
||||
diff --git a/src/app/LayoutManager.qml b/src/app/LayoutManager.qml
|
||||
index 98516ce..87f13ac 100644
|
||||
--- a/client-qt/src/app/LayoutManager.qml
|
||||
+++ b/client-qt/src/app/LayoutManager.qml
|
||||
@@ -176,7 +176,7 @@
|
||||
|
||||
// Only leave fullscreen mode if our window isn't in fullscreen
|
||||
// mode already.
|
||||
- if (priv.fullScreenItems.length === 0) {
|
||||
+ if (priv.fullScreenItems.length === 0 && priv.windowedVisibility !== Window.Hidden) {
|
||||
// Simply recall the last visibility state.
|
||||
visibility = priv.windowedVisibility
|
||||
}
|
@ -1,19 +0,0 @@
|
||||
# Retrieved from upstream:
|
||||
# https://github.com/pjsip/pjproject/commit/742f7dc252ded778a8b677937791c02e2fbc0dde
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 31a6d39d4..74e246a44 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -121,9 +121,10 @@ cmp_wav:
|
||||
|
||||
install:
|
||||
mkdir -p $(DESTDIR)$(libdir)/
|
||||
- cp -af $(APP_LIB_FILES) $(DESTDIR)$(libdir)/
|
||||
if [ "$(PJ_EXCLUDE_PJSUA2)x" = "x" ] ; then \
|
||||
- cp -af $(PJ_DIR)/pjsip/lib/libpjsua2-$(LIB_SUFFIX) $(DESTDIR)$(libdir)/; \
|
||||
+ cp -af $(APP_LIBXX_FILES) $(DESTDIR)$(libdir)/; \
|
||||
+ else \
|
||||
+ cp -af $(APP_LIB_FILES) $(DESTDIR)$(libdir)/; \
|
||||
fi
|
||||
mkdir -p $(DESTDIR)$(includedir)/
|
||||
for d in pjlib pjlib-util pjnath pjmedia pjsip; do \
|
@ -0,0 +1,25 @@
|
||||
From ff5ed26f21d304e867ab57781878069567deb23d Mon Sep 17 00:00:00 2001
|
||||
From: Hartmut Goebel <h.goebel@crazy-compilers.com>
|
||||
Date: Mon, 3 Aug 2020 19:49:58 +0000
|
||||
Subject: [PATCH] Fix build errors if PREFIX is different from ECM's PREFIX.
|
||||
|
||||
See <https://bugs.kde.org/424483> for details
|
||||
---
|
||||
KF5PlasmaMacros.cmake | 3 +--
|
||||
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||
|
||||
diff --git a/KF5PlasmaMacros.cmake b/KF5PlasmaMacros.cmake
|
||||
index 494b42d56..80b3fd8dd 100644
|
||||
--- a/KF5PlasmaMacros.cmake
|
||||
+++ b/KF5PlasmaMacros.cmake
|
||||
@@ -1,6 +1,5 @@
|
||||
|
||||
-find_package(ECM 1.6.0 CONFIG REQUIRED)
|
||||
-include(${ECM_KDE_MODULE_DIR}/KDEInstallDirs.cmake)
|
||||
+include(KDEInstallDirs)
|
||||
|
||||
set(PLASMA_RELATIVE_DATA_INSTALL_DIR "plasma")
|
||||
set(PLASMA_DATA_INSTALL_DIR "${KDE_INSTALL_DATADIR}/${PLASMA_RELATIVE_DATA_INSTALL_DIR}")
|
||||
--
|
||||
GitLab
|
||||
|
@ -0,0 +1,13 @@
|
||||
Disable the qtest-aarch64/migration-test, which sometimes fail non-deterministically.
|
||||
See: https://gitlab.com/qemu-project/qemu/-/issues/1230.
|
||||
|
||||
--- qemu-7.1.0/tests/qtest/meson.build.old 1969-12-31 19:00:01.000000000 -0500
|
||||
+++ qemu-7.1.0/tests/qtest/meson.build 2022-09-26 11:11:05.434209797 -0400
|
||||
@@ -219,7 +219,6 @@
|
||||
['arm-cpu-features',
|
||||
'numa-test',
|
||||
'boot-serial-test',
|
||||
- 'migration-test',
|
||||
'bcm2835-dma-test']
|
||||
|
||||
qtests_s390x = \
|
@ -1,7 +1,7 @@
|
||||
Removes references to bundled libuv.
|
||||
|
||||
--- a/src/Makevars 2020-07-31 11:53:30.576484531 +0200
|
||||
+++ b/src/Makevars 2020-07-31 11:54:19.369863118 +0200
|
||||
--- a/src/Makevars 2022-09-19 23:37:55.067810741 +0200
|
||||
+++ b/src/Makevars 2022-09-19 23:39:20.984859770 +0200
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
UNAME := $(shell uname)
|
||||
@ -20,13 +20,12 @@ Removes references to bundled libuv.
|
||||
|
||||
# To avoid spurious warnings from `R CMD check --as-cran`, about compiler
|
||||
# warning flags like -Werror.
|
||||
@@ -43,49 +43,5 @@
|
||||
@@ -43,50 +43,4 @@
|
||||
# PKG_CPPFLAGS += -D_GLIBCXX_ASSERTIONS
|
||||
|
||||
|
||||
-$(SHLIB): libuv/.libs/libuv.a http-parser/http_parser.o sha1/sha1.o base64/base64.o
|
||||
+$(SHLIB): http-parser/http_parser.o sha1/sha1.o base64/base64.o
|
||||
|
||||
-
|
||||
-# We needed to rename lt~obsolete.m4 because the name causes problems with R
|
||||
-# CMD check. Here we rename it back.
|
||||
-libuv/m4/lt~obsolete.m4: libuv/m4/lt_obsolete.m4
|
||||
@ -59,7 +58,8 @@ Removes references to bundled libuv.
|
||||
- touch aclocal.m4; \
|
||||
- touch -r aclocal.m4 configure Makefile.in; \
|
||||
- else \
|
||||
- echo "automake found. Running autogen.sh."; \
|
||||
- echo "automake found. Running autoupdate and autogen.sh."; \
|
||||
- autoupdate; \
|
||||
- sh autogen.sh; \
|
||||
- fi; \
|
||||
- chmod +x configure; \
|
||||
@ -71,3 +71,4 @@ Removes references to bundled libuv.
|
||||
-
|
||||
-clean:
|
||||
- $(MAKE) --directory=libuv distclean
|
||||
+$(SHLIB): http-parser/http_parser.o sha1/sha1.o base64/base64.o
|
@ -625,7 +625,7 @@ by using the poppler rendering engine.")
|
||||
(define-public zathura
|
||||
(package
|
||||
(name "zathura")
|
||||
(version "0.4.9")
|
||||
(version "0.5.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
@ -633,20 +633,21 @@ by using the poppler rendering engine.")
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0msy7s57mlx0wya99qpia4fpcy40pbj253kmx2y97nb0sqnc8c7w"))))
|
||||
(native-inputs `(("pkg-config" ,pkg-config)
|
||||
("gettext" ,gettext-minimal)
|
||||
("glib:bin" ,glib "bin")
|
||||
"1c8vmfpghqlq5kdnq92bzzp2grym3x3kxxxqgs51178s4z7639lq"))))
|
||||
(native-inputs
|
||||
(list pkg-config
|
||||
gettext-minimal
|
||||
(list glib "bin")
|
||||
|
||||
;; For building documentation.
|
||||
("python-sphinx" ,python-sphinx)
|
||||
;; For building documentation.
|
||||
python-sphinx
|
||||
|
||||
;; For building icons.
|
||||
("librsvg" ,(librsvg-for-system))
|
||||
;; For building icons.
|
||||
(librsvg-for-system)
|
||||
|
||||
;; For tests.
|
||||
("check" ,check)
|
||||
("xorg-server" ,xorg-server-for-tests)))
|
||||
;; For tests.
|
||||
check
|
||||
xorg-server-for-tests))
|
||||
(inputs (list sqlite))
|
||||
;; Listed in 'Requires.private' of 'zathura.pc'.
|
||||
(propagated-inputs (list cairo girara))
|
||||
@ -660,8 +661,7 @@ by using the poppler rendering engine.")
|
||||
(add-before 'check 'start-xserver
|
||||
;; Tests require a running X server.
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((xorg-server (assoc-ref inputs "xorg-server"))
|
||||
(display ":1"))
|
||||
(let ((display ":1"))
|
||||
(setenv "DISPLAY" display)
|
||||
|
||||
;; On busy machines, tests may take longer than
|
||||
@ -670,8 +670,9 @@ by using the poppler rendering engine.")
|
||||
|
||||
;; Don't fail due to missing '/etc/machine-id'.
|
||||
(setenv "DBUS_FATAL_WARNINGS" "0")
|
||||
(zero? (system (string-append xorg-server "/bin/Xvfb "
|
||||
display " &")))))))))
|
||||
(zero? (system (string-append
|
||||
(search-input-file inputs "/bin/Xvfb")
|
||||
" " display " &")))))))))
|
||||
(home-page "https://pwmt.org/projects/zathura/")
|
||||
(synopsis "Lightweight keyboard-driven PDF viewer")
|
||||
(description "Zathura is a customizable document viewer. It provides a
|
||||
|
@ -7,6 +7,7 @@
|
||||
;;; Copyright © 2018, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2022 Garek Dyszel <garekdyszel@disroot.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -474,3 +475,25 @@ system, then @code{flit_core} to build the package.")
|
||||
@dfn{software configuration management} (SCM) metadata instead of declaring
|
||||
them as the version argument or in a SCM managed file.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-editables
|
||||
(package
|
||||
(name "python-editables")
|
||||
(version "0.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/pfmoore/editables")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1gbfkgzmrmbd4ycshm09fr2wd4f1n9gq7s567jgkavhfkn7s2pn1"))))
|
||||
(build-system python-build-system)
|
||||
(home-page "https://github.com/pfmoore/editables")
|
||||
(synopsis "Editable installations")
|
||||
(description "This library supports the building of wheels which, when
|
||||
installed, will expose packages in a local directory on @code{sys.path} in
|
||||
``editable mode''. In other words, changes to the package source will be
|
||||
reflected in the package visible to Python, without needing a reinstall.")
|
||||
(license license:expat)))
|
||||
|
@ -50,6 +50,7 @@
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system cargo)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages crates-io)
|
||||
@ -394,6 +395,86 @@ general production use. Include this module and use its backends at your own
|
||||
risk.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-blake3
|
||||
(package
|
||||
(name "python-blake3")
|
||||
(version "0.3.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "blake3" version))
|
||||
(sha256
|
||||
(base32 "1p6z6jfk8n1lshz4cp6dgz2i8zmqdxwr8d9m86ypp3m1kp70k5xk"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'install 'build-python-module
|
||||
(lambda _
|
||||
;; We don't use maturin.
|
||||
(delete-file "pyproject.toml")
|
||||
(call-with-output-file "pyproject.toml"
|
||||
(lambda (port)
|
||||
(format port "\
|
||||
[build-system]
|
||||
build-backend = 'setuptools.build_meta'
|
||||
requires = ['setuptools']
|
||||
")))
|
||||
(call-with-output-file "setup.cfg"
|
||||
(lambda (port)
|
||||
(format port "\
|
||||
|
||||
[metadata]
|
||||
name = blake3
|
||||
version = '~a'
|
||||
|
||||
[options]
|
||||
packages = find:
|
||||
|
||||
[options.packages.find]
|
||||
exclude =
|
||||
src*
|
||||
c_impl*
|
||||
tests*
|
||||
Cargo.toml
|
||||
" #$version)))
|
||||
;; ZIP does not support timestamps before 1980.
|
||||
(setenv "SOURCE_DATE_EPOCH" "315532800")
|
||||
(invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
|
||||
(add-after 'build-python-module 'install-python-module
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((whl (car (find-files "dist" "\\.whl$"))))
|
||||
(invoke "pip" "--no-cache-dir" "--no-input"
|
||||
"install" "--no-deps" "--prefix" #$output whl))))
|
||||
(add-after 'install-python-module 'install-python-library
|
||||
(lambda _
|
||||
(let ((site (string-append #$output "/lib/python"
|
||||
#$(version-major+minor
|
||||
(package-version python))
|
||||
"/site-packages")))
|
||||
(mkdir-p site)
|
||||
(copy-file "target/release/libblake3.so"
|
||||
(string-append site "/blake3.so"))))))
|
||||
#:cargo-inputs
|
||||
`(("rust-blake3" ,rust-blake3-1)
|
||||
("rust-hex" ,rust-hex-0.4)
|
||||
("rust-parking-lot" ,rust-parking-lot-0.11)
|
||||
("rust-pyo3" ,rust-pyo3-0.15)
|
||||
("rust-rayon" ,rust-rayon-1))))
|
||||
(inputs (list rust-blake3-1))
|
||||
(native-inputs
|
||||
(list python-wrapper
|
||||
python-pypa-build
|
||||
python-wheel))
|
||||
(home-page "https://github.com/oconnor663/blake3-py")
|
||||
(synopsis "Python bindings for the Rust blake3 crate")
|
||||
(description "This package provides Python bindings for the Rust crate of
|
||||
blake3, a cryptographic hash function.")
|
||||
;; This work is released into the public domain with CC0
|
||||
;; 1.0. Alternatively, it is licensed under the Apache License 2.0.
|
||||
(license (list license:asl2.0 license:cc0))))
|
||||
|
||||
(define-public python-certauth
|
||||
(package
|
||||
(name "python-certauth")
|
||||
|
@ -45,12 +45,14 @@
|
||||
#:use-module (gnu packages build-tools)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages cpp)
|
||||
#:use-module (gnu packages crypto)
|
||||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages image-processing)
|
||||
#:use-module (gnu packages machine-learning)
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages mpi)
|
||||
#:use-module (gnu packages pcre)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
@ -1492,6 +1494,62 @@ well as potentially any library which conforms to a standard API. See the
|
||||
documentation for more information.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-vaex-core
|
||||
(package
|
||||
(name "python-vaex-core")
|
||||
(version "4.13.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "vaex-core" version))
|
||||
(sha256
|
||||
(base32 "0ni862x5njhfsldjy49xmasd34plrs7yrmkyss6z1b6sgkbw9fsb"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Remove bundled libraries
|
||||
'(for-each delete-file-recursively
|
||||
(list "vendor/boost"
|
||||
"vendor/pcre"
|
||||
"vendor/pybind11")))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:tests? #false ;require vaex.server and others, which require vaex-core.
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "pytest" "-vv" )))))))
|
||||
(inputs
|
||||
(list boost pcre pybind11-2.3))
|
||||
(propagated-inputs
|
||||
(list python-aplus
|
||||
python-blake3
|
||||
python-cloudpickle
|
||||
python-dask
|
||||
python-filelock
|
||||
python-frozendict
|
||||
python-future
|
||||
python-nest-asyncio
|
||||
python-numpy
|
||||
python-pandas
|
||||
python-progressbar2
|
||||
python-pyarrow
|
||||
python-pydantic
|
||||
python-pyyaml
|
||||
python-requests
|
||||
python-rich
|
||||
python-six
|
||||
python-tabulate))
|
||||
(native-inputs
|
||||
(list python-pytest python-cython))
|
||||
(home-page "https://www.github.com/maartenbreddels/vaex")
|
||||
(synopsis "Core of Vaex library for exploring tabular datasets")
|
||||
(description "Vaex is a high performance Python library for lazy
|
||||
Out-of-Core DataFrames (similar to Pandas), to visualize and explore big
|
||||
tabular datasets. This package provides the core modules of Vaex.")
|
||||
(license license:expat)))
|
||||
|
||||
;;;
|
||||
;;; Avoid adding new packages to the end of this file. To reduce the chances
|
||||
;;; of a merge conflict, place them above by existing packages with similar
|
||||
|
@ -129,6 +129,7 @@
|
||||
;;; Copyright © 2022 Hilton Chain <hako@ultrarare.space>
|
||||
;;; Copyright © 2022 Tomasz Jeneralczyk <tj@schwi.pl>
|
||||
;;; Copyright © 2022 Mathieu Laparie <mlaparie@disr.it>
|
||||
;;; Copyright © 2022 Garek Dyszel <garekdyszel@disroot.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -19664,6 +19665,26 @@ point is the point of maximum curvature.")
|
||||
perform the operations required for synchronizing plain text.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python-icdiff
|
||||
(package
|
||||
(name "python-icdiff")
|
||||
(version "2.0.5")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/jeffkaufman/icdiff")
|
||||
(commit (string-append "release-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"14gr9j2h7sfw47pwfzspm4zinywhqmzm4a0qz5c2k9wbixz120a4"))))
|
||||
(build-system python-build-system)
|
||||
(home-page "https://www.jefftk.com/icdiff")
|
||||
(synopsis "Improved colored diff")
|
||||
(description "This package provides colored diff functions that highlight
|
||||
parts of the lines that were modified.")
|
||||
(license license:psfl)))
|
||||
|
||||
(define-public python-dirsync
|
||||
(package
|
||||
(name "python-dirsync")
|
||||
@ -22381,6 +22402,26 @@ library: to minimize boilerplate code in traditional extension modules by
|
||||
inferring type information using compile-time introspection.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
;; This is needed for python-vaex-core.
|
||||
(define-public pybind11-2.3
|
||||
(package
|
||||
(inherit pybind11)
|
||||
(name "pybind11")
|
||||
(version "2.3.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/pybind/pybind11")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32
|
||||
"11b6dniri8m05spfd2a19irz82shf4sdca73566bniggrf3zclnf"))
|
||||
(file-name (git-file-name name version))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments pybind11)
|
||||
((#:tests? tests? #false)
|
||||
#false)))))
|
||||
|
||||
(define-public python-pooch
|
||||
(package
|
||||
(name "python-pooch")
|
||||
@ -27148,6 +27189,29 @@ applications with variable CPU loads).")
|
||||
(home-page "https://jwilk.net/software/python-djvulibre")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public python-version
|
||||
;; No version tags available in the git repo; just using bare commit instead.
|
||||
(let ((commit "5232eea250ab72cc5cb72b0b75efb35d2192b906")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "python-version")
|
||||
(version (git-version "0.0.2" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.com/halfak/python_version")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0w210559ypdynlj9yn40m9awzkaknwrf682i99hswl7h66sdgh0h"))))
|
||||
(build-system python-build-system)
|
||||
(home-page "https://gitlab.com/halfak/python_version")
|
||||
(synopsis "Python version checking utility")
|
||||
(description
|
||||
"This package provides a simple utility for checking the python version.")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public python-versioneer
|
||||
(package
|
||||
(name "python-versioneer")
|
||||
|
@ -18,6 +18,7 @@
|
||||
;;; Copyright © 2022 Aleksandr Vityazev <avityazev@posteo.org>
|
||||
;;; Copyright © 2022 Gabriel Arazas <foo.dogsquared@gmail.com>
|
||||
;;; Copyright © 2022 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2022 Mathieu Laparie <mlaparie@disr.it>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -768,6 +769,31 @@ your current directory for a regex pattern while respecting your
|
||||
gitignore rules.")
|
||||
(license (list license:unlicense license:expat))))
|
||||
|
||||
(define-public rot8
|
||||
(package
|
||||
(name "rot8")
|
||||
(version "0.1.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "rot8" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1m5kzpqq9pgc19lbnh20iaq654lzlmc1m5fc9f73w2vpwqdiw1qf"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs (("rust-clap" ,rust-clap-2)
|
||||
("rust-glob" ,rust-glob-0.3)
|
||||
("rust-regex" ,rust-regex-1)
|
||||
("rust-serde" ,rust-serde-1)
|
||||
("rust-serde-json" ,rust-serde-json-1))))
|
||||
(home-page "https://github.com/efernau/rot8/")
|
||||
(synopsis "Automatic display rotation using built-in accelerometer")
|
||||
(description "@command{rot8} is a daemon that automates rotating screen and
|
||||
associated input devices using the built-in accelerometer; handy for convertible
|
||||
touchscreen devices.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public git-interactive-rebase-tool
|
||||
(package
|
||||
(name "git-interactive-rebase-tool")
|
||||
|
@ -35,6 +35,7 @@
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (gnu packages)
|
||||
@ -274,7 +275,7 @@ external dependencies.")
|
||||
python-pyasn1 ;for krb5 tests
|
||||
;; For generating man pages.
|
||||
docbook-xml-4.2
|
||||
docbook-xsl
|
||||
docbook-xsl-next ;otherwise the man pages are corrupted
|
||||
libxslt
|
||||
libxml2)) ;for XML_CATALOG_FILES
|
||||
(home-page "https://www.samba.org/")
|
||||
@ -505,3 +506,30 @@ and IPV6 and the protocols layered above them, such as TCP and UDP.")
|
||||
license:bsd-4
|
||||
license:gpl2+
|
||||
license:public-domain))))
|
||||
|
||||
(define-public wsdd
|
||||
(package
|
||||
(name "wsdd")
|
||||
(version "0.7.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference (url "https://github.com/christgau/wsdd")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "04an2w6hamnai668ag4vq8x0i09fsg2jrayb4a7ar0x6bn837k7m"))))
|
||||
(build-system copy-build-system)
|
||||
(inputs
|
||||
`(("python" ,python)))
|
||||
(arguments
|
||||
'(#:install-plan
|
||||
'(("src/wsdd.py" "bin/wsdd")
|
||||
("man/wsdd.1" "share/man/man1/"))))
|
||||
(home-page "https://github.com/christgau/wsdd")
|
||||
(synopsis "A Web Service Discovery host daemon")
|
||||
(description "This daemon allows (Samba) hosts to be found by Web
|
||||
Service Dicovery Clients. It also implements the client side of the
|
||||
discovery protocol which allows to search for devices implementing
|
||||
WSD.")
|
||||
(license license:expat)))
|
||||
|
@ -540,14 +540,14 @@ ksh, and tcsh.")
|
||||
(define-public xonsh
|
||||
(package
|
||||
(name "xonsh")
|
||||
(version "0.13.1")
|
||||
(version "0.13.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "xonsh" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1b409wkh41inn6m0qmps4iq6bgvwg465dcfcbffqd15fr1j2d0hq"))
|
||||
"154s4lbda3n8kamiyblfrv8isn3hnqyxw2k99qicyfll02chpjzl"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(begin
|
||||
|
@ -550,14 +550,14 @@ k-nearest neighbour, Learning Vector Quantization and Self-Organizing Maps.")
|
||||
(define-public r-cluster
|
||||
(package
|
||||
(name "r-cluster")
|
||||
(version "2.1.3")
|
||||
(version "2.1.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "cluster" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ab466lniykz2a6kdnrbkk7hwair79xfmy6cqvhc8d6nana7mbd3"))))
|
||||
"1dpmss4mdpw6la5kjf135h2jj5j5zmqvykpj6fl6n5wslbn0rwf6"))))
|
||||
(build-system r-build-system)
|
||||
(native-inputs
|
||||
(list gfortran))
|
||||
@ -655,14 +655,14 @@ also flexible enough to handle most nonstandard requirements.")
|
||||
(define-public r-matrix
|
||||
(package
|
||||
(name "r-matrix")
|
||||
(version "1.4-1")
|
||||
(version "1.5-1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "Matrix" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0zigzgx4dv7ydcyppr5ypna9dxi9vzi944pgy07jnj4l3qflzcj2"))))
|
||||
"0pap6pb0is2s02l43y982p7banwi844bjpgbcgf6fb8pb01vlzam"))))
|
||||
(properties `((upstream-name . "Matrix")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
@ -677,13 +677,13 @@ and operations on them using LAPACK and SuiteSparse.")
|
||||
(define-public r-nlme
|
||||
(package
|
||||
(name "r-nlme")
|
||||
(version "3.1-158")
|
||||
(version "3.1-159")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "nlme" version))
|
||||
(sha256
|
||||
(base32 "08xzaslqmbizj38v746hn09bi7k9h0vjhh0z7mv0c9xsq80v8nx5"))))
|
||||
(base32 "1gqrv4skfgcny4pdpmymdwjcmsd3hla84s76g18dgqj665f5zc4v"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-lattice))
|
||||
@ -779,14 +779,14 @@ analysis.")
|
||||
(define-public r-survival
|
||||
(package
|
||||
(name "r-survival")
|
||||
(version "3.3-1")
|
||||
(version "3.4-0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "survival" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1isdrcvrzi118xiyigckj9sq1xl4m92180brmpzdqzhcrl2qg1ql"))))
|
||||
"04pqkklbjpcqaq49h49j0vw18q4hi31ry3szzf84vzk5fba273m4"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-matrix))
|
||||
@ -1186,16 +1186,21 @@ transliteration, concatenation, date-time formatting and parsing, etc.")
|
||||
(define-public r-stringr
|
||||
(package
|
||||
(name "r-stringr")
|
||||
(version "1.4.0")
|
||||
(version "1.4.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "stringr" version))
|
||||
(sha256
|
||||
(base32 "1p9ip7p87gbbg4s6d3d392svvzz2b5dqdq2c8ilgvn4s78nlsq47"))))
|
||||
(base32 "1cfw1lv64lzg16zb04c0fcmd3gx8vq9x73hqikqhgqd3ra88w3gc"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-glue r-magrittr r-stringi))
|
||||
;; We can't add r-knitr here, because this package ends up being an input
|
||||
;; to r-knitr.
|
||||
#;
|
||||
(native-inputs
|
||||
(list r-knitr))
|
||||
(home-page "https://github.com/hadley/stringr")
|
||||
(synopsis "Simple, consistent wrappers for common string operations")
|
||||
(description
|
||||
@ -1421,13 +1426,13 @@ for template use among CRAN packages.")
|
||||
(define-public r-evaluate
|
||||
(package
|
||||
(name "r-evaluate")
|
||||
(version "0.15")
|
||||
(version "0.16")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "evaluate" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0pbwj02y2j7r0msa7747ih1p32xm9bcyr8fa7bysfslb199ywnl8"))))
|
||||
"009861l805z4c10cz0pyym5qd2b2wsiignjkz74vl25718k0mz0h"))))
|
||||
(build-system r-build-system)
|
||||
(home-page "https://github.com/hadley/evaluate")
|
||||
(synopsis "Parsing and evaluation tools for R")
|
||||
@ -1551,13 +1556,13 @@ emitter (http://pyyaml.org/wiki/LibYAML) for R.")
|
||||
(define-public r-knitr
|
||||
(package
|
||||
(name "r-knitr")
|
||||
(version "1.39")
|
||||
(version "1.40")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "knitr" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0wmcj6xv0bcqzmp5vm8s574rfx366rkgm03lgyppk9ywxgnna6n9"))))
|
||||
"1g1mhnkyxd2sv6p1l6iph9dnmpbwxhah78xx4kq543ks6vzrb3wv"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-evaluate r-highr r-stringr r-xfun r-yaml))
|
||||
@ -1756,13 +1761,13 @@ defined in different packages.")
|
||||
(define-public r-rlang
|
||||
(package
|
||||
(name "r-rlang")
|
||||
(version "1.0.4")
|
||||
(version "1.0.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "rlang" version))
|
||||
(sha256
|
||||
(base32
|
||||
"15l65as409b3y9sn1jm7lb2019jsp19w6qxsgvimr1badka8kdqz"))))
|
||||
"1argj8pvf8b19693r6j7rw1fl4bd99b39h5y52qrm1wpcvjkba9d"))))
|
||||
(build-system r-build-system)
|
||||
(home-page "http://rlang.tidyverse.org")
|
||||
(synopsis "Functions for base types, core R and Tidyverse features")
|
||||
@ -1803,13 +1808,13 @@ and printing capabilities than traditional data frames.")
|
||||
(define-public r-dplyr
|
||||
(package
|
||||
(name "r-dplyr")
|
||||
(version "1.0.9")
|
||||
(version "1.0.10")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "dplyr" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0sxl9yzccsdhlrrwj26lmh9frsijxyfaf7csv8mf7d0q4qqzgqg2"))))
|
||||
"0aqggs0gk95b326gzqjab8i27cna1hzik3zi5l2kkr5l4zv3kdis"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-generics
|
||||
@ -2173,13 +2178,13 @@ jackknifed confidence intervals are available for most estimates.")
|
||||
(define-public r-rversions
|
||||
(package
|
||||
(name "r-rversions")
|
||||
(version "2.1.1")
|
||||
(version "2.1.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "rversions" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1cbwwbz8lqx2n33xr4q904whvld22s63rpyy1nn93395l7ssrakr"))))
|
||||
"0q5ip3rkhcxz7472fbqddrw3a2wm31b18w7ax0pi6wc27qiihn6y"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-curl r-xml2))
|
||||
@ -2353,14 +2358,14 @@ module, Java Server Pages, and Python's psp module.")
|
||||
(define-public r-desc
|
||||
(package
|
||||
(name "r-desc")
|
||||
(version "1.4.1")
|
||||
(version "1.4.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "desc" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0m3g5m0g08k674zh4lq0ihmqiwz8jpsfqrdwfqp5p4ngxi8vp7lg"))))
|
||||
"0z1259ghccmrjylydra4bpryqasirsky7bc4gsx0k327pqacz2km"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-cli r-r6 r-rprojroot))
|
||||
@ -2434,14 +2439,14 @@ collation, and NAMESPACE files.")
|
||||
(define-public r-openssl
|
||||
(package
|
||||
(name "r-openssl")
|
||||
(version "2.0.2")
|
||||
(version "2.0.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "openssl" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1i7il5kkr1yp2xk8zw7max4llga4hfz0cx9sx0v2xnb9pg4ksbc6"))))
|
||||
"1al6cb0qwafa32dxr2hhhv6hvbp26hiykamn7w27z1gc1d99ipkw"))))
|
||||
(build-system r-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@ -2476,13 +2481,13 @@ integers.")
|
||||
(define-public r-httr
|
||||
(package
|
||||
(name "r-httr")
|
||||
(version "1.4.3")
|
||||
(version "1.4.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "httr" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0skwi501rzndywn81704d68n1l6lrvqilf91q08cjfhpjvx171ls"))))
|
||||
"0pa3ypkq6kq6sw7b8w62rfpcbjwhc49y8nkvk900s9pfycijbn21"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-curl r-jsonlite r-openssl r-mime r-r6))
|
||||
@ -2523,13 +2528,13 @@ pure C implementation of the Git core methods.")
|
||||
(define-public r-rstudioapi
|
||||
(package
|
||||
(name "r-rstudioapi")
|
||||
(version "0.13")
|
||||
(version "0.14")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "rstudioapi" version))
|
||||
(sha256
|
||||
(base32
|
||||
"12vdfzzjc6mv4h105l8cp108j3hjk0mqmg23m6mqr3jarfymphxa"))))
|
||||
"1i5g9l2739mlaglzg98iifycx98jlzxj5933qfb8lwmdn63hk7a6"))))
|
||||
(build-system r-build-system)
|
||||
(native-inputs
|
||||
(list r-knitr))
|
||||
@ -2605,14 +2610,14 @@ were originally a part of the r-devtools package.")
|
||||
(define-public r-hms
|
||||
(package
|
||||
(name "r-hms")
|
||||
(version "1.1.1")
|
||||
(version "1.1.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "hms" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0qlh4s1g9rbm6c3s906dhw3xsz28m8fg6cyynlkhvis533dk0pvb"))))
|
||||
"1vdx08irnh8q5232hriv47hh88hc55nbbrff7y6zbainff2akrhy"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-ellipsis r-lifecycle r-pkgconfig r-rlang r-vctrs))
|
||||
@ -2721,13 +2726,13 @@ well as additional utilities such as panel and axis annotation functions.")
|
||||
(define-public r-rcpparmadillo
|
||||
(package
|
||||
(name "r-rcpparmadillo")
|
||||
(version "0.11.2.0.0")
|
||||
(version "0.11.2.4.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "RcppArmadillo" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0f0rrv254jd66m80vm4bmk3yrnyw1kdfgdki6zbcih7mbvw7mqgr"))))
|
||||
"1y499idmci72x6gpj855vf4rlzh1r2qqpxyzs53r59ay8f4g0jar"))))
|
||||
(properties `((upstream-name . "RcppArmadillo")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
@ -2813,13 +2818,13 @@ certain criterion, e.g., it contains a certain regular file.")
|
||||
(define-public r-rmarkdown
|
||||
(package
|
||||
(name "r-rmarkdown")
|
||||
(version "2.14")
|
||||
(version "2.16")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "rmarkdown" version))
|
||||
(sha256
|
||||
(base32 "081j1hpxcwadn606ch5lq279s66c1b0f0mjvap7yimnrljpigv79"))))
|
||||
(base32 "0wgsc5ax4wynviasyxr240fkjk0g1wm9aq7b42mx66f43424xlyk"))))
|
||||
(properties `((upstream-name . "rmarkdown")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
@ -2846,15 +2851,17 @@ variety of formats.")
|
||||
(define-public r-gtable
|
||||
(package
|
||||
(name "r-gtable")
|
||||
(version "0.3.0")
|
||||
(version "0.3.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "gtable" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1lyncxf2dqdjgw1071cn9c8zwzkz6sldnd5cgmicf70bc726qf7x"))))
|
||||
"1dbwxhxawwbmaixwxxglazv5bici56qvmjk7sqa8j66m49bjrmlb"))))
|
||||
(properties `((upstream-name . "gtable")))
|
||||
(build-system r-build-system)
|
||||
(native-inputs
|
||||
(list r-knitr))
|
||||
(home-page "https://cran.r-project.org/web/packages/gtable")
|
||||
(synopsis "R library to arrange grobs in tables")
|
||||
(description
|
||||
@ -2928,13 +2935,13 @@ a column in data frame.")
|
||||
(define-public r-rsqlite
|
||||
(package
|
||||
(name "r-rsqlite")
|
||||
(version "2.2.15")
|
||||
(version "2.2.17")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "RSQLite" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1cypz9i85fnp3izk0px9r8s3l1jwn5kmgs2avc0fi3fad1775029"))))
|
||||
"16l64ganvdlaldmqryz2c95id2m8vchlj9x5rz9kppbmhy122vjw"))))
|
||||
(properties `((upstream-name . "RSQLite")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
@ -3346,9 +3353,8 @@ using the multicore functionality of the parallel package.")
|
||||
("https://cdn.datatables.net/buttons/1.6.1/js/buttons.bootstrap4.js"
|
||||
"0hfclipg43wr9p7irrcn9vp5wji8z7gz6y5mclkq88z1mlpwklzf"
|
||||
"datatables-extensions/Buttons")
|
||||
;; It is not clear what version the bundled file corresponds to.
|
||||
("https://cdnjs.cloudflare.com/ajax/libs/jszip/2.5.0/jszip.js"
|
||||
"18hpj9vwgki56ijb20l5gwmqa5p1d0xprn57z2mlg3ph6ll0bdkd"
|
||||
("https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.js"
|
||||
"01l5lw49jz2qn6k9i63dk4llar4lvvpd6xp6i45mpwfk49fbxqg2"
|
||||
"datatables-extensions/Buttons")
|
||||
("https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.36/pdfmake.js"
|
||||
"1sfw80az2cgzin5wk7q1p2n9zm66c35cz0m6isdygml81i594wia"
|
||||
@ -3564,13 +3570,13 @@ using the multicore functionality of the parallel package.")
|
||||
"datatables-extensions/Select"))))
|
||||
(package
|
||||
(name "r-dt")
|
||||
(version "0.23")
|
||||
(version "0.25")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "DT" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0w6wgiwa3zgldp175a3q7zfw853xqc7mfj34n6hja48ln7yf42in"))
|
||||
"0as43h4minnz5c09nvbvq8b1d9506mzkcdl98bhf87rf0q9qgz0d"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(for-each delete-file
|
||||
@ -4132,14 +4138,14 @@ most common form of color blindness.")
|
||||
(define-public r-viridislite
|
||||
(package
|
||||
(name "r-viridislite")
|
||||
(version "0.4.0")
|
||||
(version "0.4.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "viridisLite" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0siwr0vq80gs3sbyd542zjb0cl9av5zqdm0fqnym5g6ribf5b6c4"))))
|
||||
"15zaf2c7kzjf3i0g7y8w6jlgfkpprqj2zl346y5imz75r8fdp5m8"))))
|
||||
(properties `((upstream-name . "viridisLite")))
|
||||
(build-system r-build-system)
|
||||
(home-page "https://github.com/sjmgarnier/viridisLite")
|
||||
@ -4183,14 +4189,14 @@ selection.")
|
||||
(define-public r-tidyr
|
||||
(package
|
||||
(name "r-tidyr")
|
||||
(version "1.2.0")
|
||||
(version "1.2.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "tidyr" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1a0k296a0jb2xi5zgfrqfmmw8197bwibjl7a04fm49vqx6livl4c"))))
|
||||
"1bv1rvnbbfdqf78qfbawq3yxjhjfdy0mgcla6b17bp336rnpcwb9"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-cpp11
|
||||
@ -4445,14 +4451,14 @@ following problems:
|
||||
(define-public r-base64
|
||||
(package
|
||||
(name "r-base64")
|
||||
(version "2.0")
|
||||
(version "2.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "base64" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1labh0ycdm2xcjssj8bhnyjvbk44mcdsi0rb2p8rfqa428mrq9cf"))))
|
||||
"1w9m4n29xmj7px8fbmha04vq146bxfqi7ipj1ag09hlm05y6h8jd"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-openssl))
|
||||
@ -4467,13 +4473,13 @@ package instead.")
|
||||
(define-public r-hmisc
|
||||
(package
|
||||
(name "r-hmisc")
|
||||
(version "4.7-0")
|
||||
(version "4.7-1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "Hmisc" version))
|
||||
(sha256
|
||||
(base32 "1gc71wg6f17x6nriphs1kk39ix7lpqk32clk1qshqy8wl6f2vv19"))))
|
||||
(base32 "0zrfi2mmi6wfl6440iqflzzmkina8dhxia2qsamqw6djd0d5fp9j"))))
|
||||
(properties `((upstream-name . "Hmisc")))
|
||||
(build-system r-build-system)
|
||||
(native-inputs
|
||||
@ -4858,13 +4864,13 @@ Wall Street Journal, among others. This package also provides
|
||||
(define-public r-statmod
|
||||
(package
|
||||
(name "r-statmod")
|
||||
(version "1.4.36")
|
||||
(version "1.4.37")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "statmod" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1hkvklcav6gj4zib4g3b4xwsdsbsmnzdblr0v6jaqv227p49gs0l"))))
|
||||
"04v9nynv3lakhnd7b17v5syrlnscrxml71jnd3r93chckskwillh"))))
|
||||
(build-system r-build-system)
|
||||
(home-page "https://cran.r-project.org/web/packages/statmod")
|
||||
(native-inputs
|
||||
@ -5245,14 +5251,14 @@ analysis} (PCA) by projection pursuit.")
|
||||
(define-public r-rrcov
|
||||
(package
|
||||
(name "r-rrcov")
|
||||
(version "1.7-0")
|
||||
(version "1.7-1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "rrcov" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1z98j9973hl19b70dcwfcf55ifxr2a9v53daaq2sagynh95aik6b"))))
|
||||
"1rd4r4acgpr25x2iy7v2mnahmmf76a378zq16gnpwv5ljycs05g1"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-lattice r-mvtnorm r-pcapp r-robustbase))
|
||||
@ -5486,14 +5492,14 @@ metrics for evaluating models.")
|
||||
(define-public r-matrixmodels
|
||||
(package
|
||||
(name "r-matrixmodels")
|
||||
(version "0.5-0")
|
||||
(version "0.5-1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "MatrixModels" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1va6i6bpkq71rzl9i4xgyc5x7qcksa3nfzihlaggf6aj30dayzx8"))))
|
||||
"1a9ywhv1yklfcp0jgirkih3ib5scs61hkscmyddwfh5blpgmpi9z"))))
|
||||
(properties `((upstream-name . "MatrixModels")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
@ -5773,14 +5779,14 @@ first and second order derivatives.")
|
||||
(define-public r-sn
|
||||
(package
|
||||
(name "r-sn")
|
||||
(version "2.0.2")
|
||||
(version "2.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "sn" version))
|
||||
(sha256
|
||||
(base32
|
||||
"140p1pl5sq0laxhcm16kbqm986hlhqj90gj3jccga491gh14jywm"))))
|
||||
"12s4g9rfrnijdil7bqw66ikj5k3w6bdnz6fsgqsp0bkfsap9nps9"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-mnormt r-numderiv r-quantreg))
|
||||
@ -5950,17 +5956,24 @@ and the corresponding decision threshold.")
|
||||
(define-public r-forcats
|
||||
(package
|
||||
(name "r-forcats")
|
||||
(version "0.5.1")
|
||||
(version "0.5.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "forcats" version))
|
||||
(sha256
|
||||
(base32
|
||||
"12d2nv2w15085jscgidmjdnr1ryymciflcmal6ldmgp2fkl9dyy4"))))
|
||||
"0hb1m16il1n8nmhp7hx8k2xxq8bd8kp3qqs2pw7xm0iz311hm9hl"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-ellipsis r-magrittr r-tibble r-rlang))
|
||||
(list r-cli
|
||||
r-ellipsis
|
||||
r-glue
|
||||
r-lifecycle
|
||||
r-magrittr
|
||||
r-tibble
|
||||
r-rlang
|
||||
r-withr))
|
||||
(native-inputs
|
||||
(list r-knitr))
|
||||
(home-page "https://forcats.tidyverse.org")
|
||||
@ -6462,14 +6475,14 @@ mediation and estimating power.")
|
||||
(define-public r-clubsandwich
|
||||
(package
|
||||
(name "r-clubsandwich")
|
||||
(version "0.5.7")
|
||||
(version "0.5.8")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "clubSandwich" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1chq0bjz0yskm3cs8k6019j9v1m3fiz4p2ysk3xmqxlcihmnvv0b"))))
|
||||
"1y894n35l4lzqm15ifxjnpnh95dldsfivv4098571yqf1z4a253q"))))
|
||||
(properties `((upstream-name . "clubSandwich")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
@ -6901,13 +6914,13 @@ Calculates confidence intervals for the difference in proportion.")
|
||||
(define-public r-desctools
|
||||
(package
|
||||
(name "r-desctools")
|
||||
(version "0.99.45")
|
||||
(version "0.99.46")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "DescTools" version))
|
||||
(sha256
|
||||
(base32 "01gbmikpzjmymvb7p76k7wqvfvwznl6v0qa78jy7bi6fzmbp1zld"))))
|
||||
(base32 "1f6jhvwgzv8mw5vmy7nqh8bpmrrzl36x1bq1ggnk3va24fcd01jq"))))
|
||||
(properties `((upstream-name . "DescTools")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -62,6 +62,7 @@
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system copy)
|
||||
@ -71,6 +72,230 @@
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system qt))
|
||||
|
||||
(define %telegram-version "2.9.3")
|
||||
|
||||
(define libvpx-for-telegram-desktop
|
||||
(let ((commit "5b63f0f821e94f8072eb483014cfc33b05978bb9")
|
||||
(revision "112"))
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://chromium.googlesource.com/webm/libvpx")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name
|
||||
"libvpx-for-telegram-desktop"
|
||||
(git-version "1.9.0" revision commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"1psvxaddihlw1k5n0anxif3qli6zyw2sa2ywn6mkb8six9myrp68")))))
|
||||
|
||||
(define libyuv-for-telegram-desktop
|
||||
(let ((commit "ad890067f661dc747a975bc55ba3767fe30d4452")
|
||||
(revision "2211"))
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://chromium.googlesource.com/libyuv/libyuv")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name
|
||||
"libyuv-for-telegram-desktop"
|
||||
(git-version "0" revision commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"01knnk4h247rq536097n9n3s3brxlbby3nv3ppdgsqfda3k159ll")))))
|
||||
|
||||
(define cmake-helpers-for-telegram-desktop
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/desktop-app/cmake_helpers.git")
|
||||
(commit "4d44d822e01b3b5fbec3ce824e01f56aa35d7f72")))
|
||||
(file-name
|
||||
(git-file-name "cmake-helpers-for-telegram-desktop" %telegram-version))
|
||||
(sha256
|
||||
(base32
|
||||
"0h6cjiqy014h2mz90h1z5a7plb3ihbnds4bja8994ybr1dy3m7m5"))))
|
||||
|
||||
(define codegen-for-telegram-desktop
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/desktop-app/codegen.git")
|
||||
(commit "248614b49cd7d5aff69d75a737f2e35b79fbb119")))
|
||||
(file-name
|
||||
(git-file-name "codegen-for-telegram-desktop" %telegram-version))
|
||||
(sha256
|
||||
(base32
|
||||
"00f7g2z6xmkbkrmi3q27hscjl44mg66wf9q0mz3rhy3jaa6cfdrk"))))
|
||||
|
||||
(define lib-base-for-telegram-desktop
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/desktop-app/lib_base.git")
|
||||
(commit "a23c05c44e4f01dc4428f4d75d4db98c59d313a6")))
|
||||
(file-name
|
||||
(git-file-name "lib-base-for-telegram-desktop" %telegram-version))
|
||||
(sha256
|
||||
(base32
|
||||
"0vh5zgxwalmbnvz8lzlnba87ch8vnpmcz6nvf56w09f3nlxvvq78"))))
|
||||
|
||||
(define lib-crl-for-telegram-desktop
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/desktop-app/lib_crl.git")
|
||||
(commit "3ccf2ed5095442e5874bba8852cb7dc4efeae29f")))
|
||||
(file-name
|
||||
(git-file-name "lib-crl-for-telegram-desktop" %telegram-version))
|
||||
(sha256
|
||||
(base32
|
||||
"11my7q54m4lvvlgma6pbdyjxi1cv1adk1gph2j50mh18sqlm8myz"))))
|
||||
|
||||
(define lib-lottie-for-telegram-desktop
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/desktop-app/lib_lottie.git")
|
||||
(commit "0770df009db7928df1d0cad0900dc5110106d229")))
|
||||
(file-name
|
||||
(git-file-name "lib-lottie-for-telegram-desktop" %telegram-version))
|
||||
(sha256
|
||||
(base32
|
||||
"1gj56ymlbk5dnk82jw674808m511lv9dky8891a5wm4gp3pph5jb"))))
|
||||
|
||||
(define lib-qr-for-telegram-desktop
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/desktop-app/lib_qr.git")
|
||||
(commit "2b08c71c6edcfc3e31f7d7f518cc963493b6e189")))
|
||||
(file-name
|
||||
(git-file-name "lib-qr-for-telegram-desktop" %telegram-version))
|
||||
(sha256
|
||||
(base32
|
||||
"05hrkmwgrczyjv87r507i2r7m1zr6k2i43mq3my0s6j4szr1rjq0"))))
|
||||
|
||||
(define lib-rlottie-for-telegram-desktop
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/desktop-app/lib_rlottie.git")
|
||||
(commit "0671bf70547381effcf442ec9618e04502a8adbc")))
|
||||
(file-name
|
||||
(git-file-name "lib-rlottie-for-telegram-desktop" %telegram-version))
|
||||
(sha256
|
||||
(base32
|
||||
"05qnza7j15356s8jq16pkbyp4zr586lssmd86lz5jq23lcb3raxv"))))
|
||||
|
||||
(define lib-rpl-for-telegram-desktop
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/desktop-app/lib_rpl.git")
|
||||
(commit "df721be3fa14a27dfc230d2e3c42bb1a7c9d0617")))
|
||||
(file-name
|
||||
(git-file-name "lib-rpl-for-telegram-desktop" %telegram-version))
|
||||
(sha256
|
||||
(base32
|
||||
"15fnv3ssn7rn5d0j52gggdvyqc2wm464678dj7v2x9h8lka2jjxn"))))
|
||||
|
||||
(define lib-spellcheck-for-telegram-desktop
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/desktop-app/lib_spellcheck.git")
|
||||
(commit "68c9b788958904aea7de79f986a0f82ec8c5b094")))
|
||||
(file-name
|
||||
(git-file-name "lib-spellcheck-for-telegram-desktop" %telegram-version))
|
||||
(sha256
|
||||
(base32
|
||||
"0d8s4wwk6fxf536mhzq2vb9qw3j0m8nqia7ylvvpsbc4kh09dadn"))))
|
||||
|
||||
(define lib-storage-for-telegram-desktop
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/desktop-app/lib_storage.git")
|
||||
(commit "403df6c4a29562bd417c92d410e49819f5a48cc1")))
|
||||
(file-name
|
||||
(git-file-name "lib-storage-for-telegram-desktop" %telegram-version))
|
||||
(sha256
|
||||
(base32
|
||||
"1zxvzfrxbj4d395fzyb5pm9wn3n8jyimxx88cyqjcdd46sx4h7r5"))))
|
||||
|
||||
(define lib-tl-for-telegram-desktop
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/desktop-app/lib_tl.git")
|
||||
(commit "45faed44e7f4d11fec79b7a70e4a35dc91ef3fdb")))
|
||||
(file-name
|
||||
(git-file-name "lib-tl-for-telegram-desktop" %telegram-version))
|
||||
(sha256
|
||||
(base32
|
||||
"0h43xvzklda02494d466jp52hl8c1kmav9f12dyld10dpf1w6c7m"))))
|
||||
|
||||
(define lib-ui-for-telegram-desktop
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/desktop-app/lib_ui.git")
|
||||
(commit "1b590f9e16eb9571a039f072d6fea66c607e419f")))
|
||||
(file-name
|
||||
(git-file-name "lib-ui-for-telegram-desktop" %telegram-version))
|
||||
(sha256
|
||||
(base32
|
||||
"0ighyhfp29h9h8c7vr70pnhcv2xnsr9ln084pssn8hb5z4pmb62f"))))
|
||||
|
||||
(define lib-waylandshells-for-telegram-desktop
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/desktop-app/lib_waylandshells.git")
|
||||
(commit "59b0ee55a68976d27f1bf7cec0e11d5939e185e7")))
|
||||
(file-name
|
||||
(git-file-name "lib-waylandshells-for-telegram-desktop" %telegram-version))
|
||||
(sha256
|
||||
(base32
|
||||
"0l2xrpc5mvvdlsj333pmkgfvn9wi1ijfdaaz8skfnw9icw52faaf"))))
|
||||
|
||||
(define lib-webrtc-for-telegram-desktop
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/desktop-app/lib_webrtc.git")
|
||||
(commit "ef49f953f12b112008a094a719f40939aaf39db4")))
|
||||
(file-name
|
||||
(git-file-name "lib-webrtc-for-telegram-desktop" %telegram-version))
|
||||
(sha256
|
||||
(base32
|
||||
"15k4xs3462p3ddp5cn9im3nvdiaijmxir8wxsf5yrj70ghy26ibw"))))
|
||||
|
||||
(define lib-webview-for-telegram-desktop
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/desktop-app/lib_webview.git")
|
||||
(commit "e06427c624515485774e2e2181d4afeb05ad5a67")))
|
||||
(file-name
|
||||
(git-file-name "lib-webview-for-telegram-desktop" %telegram-version))
|
||||
(sha256
|
||||
(base32
|
||||
"148z7xzfscynwwwqssdsd97npax6yn8zrd64xw8qzbwff2g2r7k4"))))
|
||||
|
||||
(define tgcalls-for-telegram-desktop
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/TelegramMessenger/tgcalls.git")
|
||||
(commit "81e97fa52e25b7775b62ce07bb653533d81e91b3")))
|
||||
(file-name
|
||||
(git-file-name "tgcalls-for-telegram-desktop" %telegram-version))
|
||||
(sha256
|
||||
(base32
|
||||
"0fvad87hyxli83xn19mgf8jjrrh6y6iaig14pckpbkg33vf4wqkj"))))
|
||||
|
||||
(define-public webrtc-for-telegram-desktop
|
||||
(let ((commit "91d836dc84a16584c6ac52b36c04c0de504d9c34")
|
||||
(revision "166"))
|
||||
@ -94,84 +319,54 @@
|
||||
(ice-9 ftw)
|
||||
(srfi srfi-1)))
|
||||
(snippet
|
||||
`(begin
|
||||
(let ((keep
|
||||
'( ;; Custom forks which are incompatible with the ones in Guix.
|
||||
"abseil-cpp" "libsrtp" "openh264" "rnnoise"
|
||||
;; Not available in Guix.
|
||||
"pffft" "usrsctp"
|
||||
;; Has cmake support files for libvpx input.
|
||||
"libvpx")))
|
||||
(with-directory-excursion "src/third_party"
|
||||
(for-each delete-file-recursively
|
||||
(lset-difference string=?
|
||||
(scandir ".")
|
||||
(cons* "." ".." keep))))
|
||||
#t)))))
|
||||
#~(begin
|
||||
(let ((keep
|
||||
'( ;; Custom forks which are incompatible with the ones in Guix.
|
||||
"abseil-cpp" "libsrtp" "openh264" "rnnoise"
|
||||
;; Not available in Guix.
|
||||
"pffft" "usrsctp"
|
||||
;; Has cmake support files for libvpx input.
|
||||
"libvpx")))
|
||||
(with-directory-excursion "src/third_party"
|
||||
(for-each delete-file-recursively
|
||||
(lset-difference string=?
|
||||
(scandir ".")
|
||||
(cons* "." ".." keep)))))))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; No target
|
||||
#:configure-flags
|
||||
(list
|
||||
"-DCMAKE_C_FLAGS=-fPIC"
|
||||
"-DCMAKE_CXX_FLAGS=-fPIC")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'copy-inputs
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((libvpx-from (assoc-ref inputs "libvpx"))
|
||||
(libyuv-from (assoc-ref inputs "libyuv"))
|
||||
(libvpx-to (string-append (getcwd)
|
||||
"/src/third_party/libvpx/source/libvpx"))
|
||||
(libyuv-to (string-append (getcwd)
|
||||
"/src/third_party/libyuv")))
|
||||
(copy-recursively libvpx-from libvpx-to)
|
||||
(copy-recursively libyuv-from libyuv-to))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("perl" ,perl)
|
||||
("pkg-config" ,pkg-config)
|
||||
("python" ,python-wrapper)
|
||||
("yasm" ,yasm)))
|
||||
(list
|
||||
#:tests? #f ; No target
|
||||
#:configure-flags #~(list "-DCMAKE_C_FLAGS=-fPIC"
|
||||
"-DCMAKE_CXX_FLAGS=-fPIC")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'copy-inputs
|
||||
(lambda _
|
||||
(let* ((third-party (string-append (getcwd) "/src/third_party"))
|
||||
(libvpx-to (string-append third-party
|
||||
"/libvpx/source/libvpx"))
|
||||
(libyuv-to (string-append third-party "/libyuv")))
|
||||
(copy-recursively #$libvpx-for-telegram-desktop libvpx-to)
|
||||
(copy-recursively #$libyuv-for-telegram-desktop
|
||||
libyuv-to)))))))
|
||||
(native-inputs (list perl pkg-config python-wrapper yasm))
|
||||
(inputs
|
||||
`(("alsa" ,alsa-lib)
|
||||
("ffmpeg" ,ffmpeg)
|
||||
("libjpeg" ,libjpeg-turbo)
|
||||
("glib" ,glib)
|
||||
("libvpx"
|
||||
,(origin
|
||||
(method git-fetch)
|
||||
(uri
|
||||
(git-reference
|
||||
(url "https://chromium.googlesource.com/webm/libvpx")
|
||||
(commit "5b63f0f821e94f8072eb483014cfc33b05978bb9")))
|
||||
(file-name
|
||||
(git-file-name "libvpx-for-webrtc-for-telegram-desktop" version))
|
||||
(sha256
|
||||
(base32 "1psvxaddihlw1k5n0anxif3qli6zyw2sa2ywn6mkb8six9myrp68"))))
|
||||
("libyuv"
|
||||
,(origin
|
||||
(method git-fetch)
|
||||
(uri
|
||||
(git-reference
|
||||
(url "https://chromium.googlesource.com/libyuv/libyuv")
|
||||
(commit "ad890067f661dc747a975bc55ba3767fe30d4452")))
|
||||
(file-name
|
||||
(git-file-name "libyuv-for-webrtc-for-telegram-desktop" version))
|
||||
(sha256
|
||||
(base32 "01knnk4h247rq536097n9n3s3brxlbby3nv3ppdgsqfda3k159ll"))))
|
||||
("libxcomposite" ,libxcomposite)
|
||||
("libxdamage" ,libxdamage)
|
||||
("libxrender" ,libxrender)
|
||||
("libxrandr" ,libxrandr)
|
||||
("openssl" ,openssl)
|
||||
("opus" ,opus)
|
||||
("pipewire" ,pipewire)
|
||||
("protobuf" ,protobuf)
|
||||
("pulseaudio" ,pulseaudio)
|
||||
("x11" ,libx11)
|
||||
("xext" ,libxext)
|
||||
("xtst" ,libxtst)))
|
||||
(list alsa-lib
|
||||
ffmpeg
|
||||
libjpeg-turbo
|
||||
glib
|
||||
libxcomposite
|
||||
libxdamage
|
||||
libxrender
|
||||
libxrandr
|
||||
openssl
|
||||
opus
|
||||
pipewire
|
||||
protobuf
|
||||
pulseaudio
|
||||
libx11
|
||||
libxext
|
||||
libxtst))
|
||||
(synopsis "WebRTC support for Telegram Desktop")
|
||||
(description "WebRTC-for-Telegram-Desktop is a custom WebRTC fork by
|
||||
Telegram project, for its use in telegram desktop client.")
|
||||
@ -269,7 +464,7 @@ Telegram project, for its use in telegram desktop client.")
|
||||
(define-public telegram-desktop
|
||||
(package
|
||||
(name "telegram-desktop")
|
||||
(version "2.9.3")
|
||||
(version %telegram-version)
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -286,312 +481,124 @@ Telegram project, for its use in telegram desktop client.")
|
||||
(ice-9 ftw)
|
||||
(srfi srfi-1)))
|
||||
(snippet
|
||||
`(begin
|
||||
(let ((keep
|
||||
'( ;; Not available in Guix.
|
||||
"SPMediaKeyTap" "statusnotifieritem" "tgcalls")))
|
||||
(with-directory-excursion "Telegram/ThirdParty"
|
||||
(for-each delete-file-recursively
|
||||
(lset-difference string=?
|
||||
(scandir ".")
|
||||
(cons* "." ".." keep))))
|
||||
#t)))))
|
||||
#~(begin
|
||||
(let ((keep
|
||||
'( ;; Not available in Guix.
|
||||
"SPMediaKeyTap" "statusnotifieritem" "tgcalls")))
|
||||
(with-directory-excursion "Telegram/ThirdParty"
|
||||
(for-each delete-file-recursively
|
||||
(lset-difference string=?
|
||||
(scandir ".")
|
||||
(cons* "." ".." keep)))))))))
|
||||
(build-system qt-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; No target
|
||||
#:imported-modules
|
||||
(,@%qt-build-system-modules
|
||||
(guix build glib-or-gtk-build-system))
|
||||
#:modules
|
||||
((guix build qt-build-system)
|
||||
((guix build glib-or-gtk-build-system)
|
||||
#:prefix glib-or-gtk:)
|
||||
(guix build utils)
|
||||
(ice-9 match))
|
||||
#:configure-flags
|
||||
(list
|
||||
;; Client applications must provide their own API-ID and API-HASH,
|
||||
;; see also <https://core.telegram.org/api/obtaining_api_id>.
|
||||
;; In case, that the credentials below fail to work, contact
|
||||
;; Raghav Gururajan <rg@raghavgururajan.name>
|
||||
"-DTDESKTOP_API_ID=2791056"
|
||||
"-DTDESKTOP_API_HASH=582d6d0b44f7a2de949e99271fd8b3f2"
|
||||
;; Disable WebkitGTK support as it fails to link
|
||||
"-DDESKTOP_APP_DISABLE_WEBKITGTK=ON"
|
||||
;; Use bundled fonts as fallback.
|
||||
"-DDESKTOP_APP_USE_PACKAGED_FONTS=OFF")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'make-writable
|
||||
(lambda _
|
||||
(for-each make-file-writable (find-files "."))
|
||||
#t))
|
||||
(add-after 'make-writable 'copy-inputs
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(for-each
|
||||
(match-lambda
|
||||
((dst src)
|
||||
(copy-recursively src dst)
|
||||
(for-each make-file-writable (find-files dst))))
|
||||
`(("cmake" ,(assoc-ref inputs "cmake-helpers"))
|
||||
("Telegram/codegen" ,(assoc-ref inputs "codegen-source"))
|
||||
("Telegram/lib_base" ,(assoc-ref inputs "lib-base-source"))
|
||||
("Telegram/lib_crl" ,(assoc-ref inputs "lib-crl-source"))
|
||||
("Telegram/lib_lottie"
|
||||
,(assoc-ref inputs "lib-lottie-source"))
|
||||
("Telegram/lib_qr" ,(assoc-ref inputs "lib-qr-source"))
|
||||
("Telegram/lib_rlottie"
|
||||
,(assoc-ref inputs "lib-rlottie-source"))
|
||||
("Telegram/lib_rpl" ,(assoc-ref inputs "lib-rpl-source"))
|
||||
("Telegram/lib_spellcheck"
|
||||
,(assoc-ref inputs "lib-spellcheck-source"))
|
||||
("Telegram/lib_storage"
|
||||
,(assoc-ref inputs "lib-storage-source"))
|
||||
("Telegram/lib_tl" ,(assoc-ref inputs "lib-tl-source"))
|
||||
("Telegram/lib_ui" ,(assoc-ref inputs "lib-ui-source"))
|
||||
("Telegram/lib_waylandshells" ,(assoc-ref inputs "lib-waylandshells-source"))
|
||||
("Telegram/lib_webrtc" ,(assoc-ref inputs "lib-webrtc-source"))
|
||||
("Telegram/lib_webview" ,(assoc-ref inputs "lib-webview-source"))
|
||||
("Telegram/ThirdParty/tgcalls"
|
||||
,(assoc-ref inputs "tgcalls-source"))))
|
||||
#t))
|
||||
(add-before 'configure 'patch-cxx-flags
|
||||
(lambda _
|
||||
(substitute* "cmake/options_linux.cmake"
|
||||
(("class-memaccess") "all"))
|
||||
#t))
|
||||
(add-after 'install 'glib-or-gtk-compile-schemas
|
||||
(assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
|
||||
(add-after 'glib-or-gtk-compile-schemas 'glib-or-gtk-wrap
|
||||
(assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
|
||||
(list #:tests? #f ; No target
|
||||
#:imported-modules
|
||||
`(,@%qt-build-system-modules
|
||||
(guix build glib-or-gtk-build-system))
|
||||
#:modules
|
||||
'((guix build qt-build-system)
|
||||
((guix build glib-or-gtk-build-system)
|
||||
#:prefix glib-or-gtk:)
|
||||
(guix build utils)
|
||||
(ice-9 match))
|
||||
#:configure-flags
|
||||
#~(list
|
||||
;; Client applications must provide their own API-ID and API-HASH,
|
||||
;; see also <https://core.telegram.org/api/obtaining_api_id>.
|
||||
;; Here, we snarf the keys from the official Snaps, which are
|
||||
;; also stored in <#$source/snap/snapcraft.yaml>.
|
||||
"-DTDESKTOP_API_ID=611335"
|
||||
"-DTDESKTOP_API_HASH=d524b414d21f4d37f08684c1df41ac9c"
|
||||
;; Disable WebkitGTK support as it fails to link
|
||||
"-DDESKTOP_APP_DISABLE_WEBKITGTK=ON"
|
||||
;; Use bundled fonts as fallback.
|
||||
"-DDESKTOP_APP_USE_PACKAGED_FONTS=OFF")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'make-writable
|
||||
(lambda _
|
||||
(for-each make-file-writable (find-files "."))))
|
||||
(add-after 'make-writable 'copy-inputs
|
||||
(lambda _
|
||||
(for-each
|
||||
(match-lambda
|
||||
((dst src)
|
||||
(copy-recursively src dst)
|
||||
(for-each make-file-writable (find-files dst))))
|
||||
'(("cmake" #$cmake-helpers-for-telegram-desktop)
|
||||
("Telegram/codegen" #$codegen-for-telegram-desktop)
|
||||
("Telegram/lib_base" #$lib-base-for-telegram-desktop)
|
||||
("Telegram/lib_crl" #$lib-crl-for-telegram-desktop)
|
||||
("Telegram/lib_lottie" #$lib-lottie-for-telegram-desktop)
|
||||
("Telegram/lib_qr" #$lib-qr-for-telegram-desktop)
|
||||
("Telegram/lib_rlottie" #$lib-rlottie-for-telegram-desktop)
|
||||
("Telegram/lib_rpl" #$lib-rpl-for-telegram-desktop)
|
||||
("Telegram/lib_spellcheck" #$lib-spellcheck-for-telegram-desktop)
|
||||
("Telegram/lib_storage" #$lib-storage-for-telegram-desktop)
|
||||
("Telegram/lib_tl" #$lib-tl-for-telegram-desktop)
|
||||
("Telegram/lib_ui" #$lib-ui-for-telegram-desktop)
|
||||
("Telegram/lib_waylandshells" #$lib-waylandshells-for-telegram-desktop)
|
||||
("Telegram/lib_webrtc" #$lib-webrtc-for-telegram-desktop)
|
||||
("Telegram/lib_webview" #$lib-webview-for-telegram-desktop)
|
||||
("Telegram/ThirdParty/tgcalls" #$tgcalls-for-telegram-desktop)))))
|
||||
(add-before 'configure 'patch-cxx-flags
|
||||
(lambda _
|
||||
(substitute* "cmake/options_linux.cmake" (("class-memaccess") "all"))))
|
||||
(add-after 'install 'glib-or-gtk-compile-schemas
|
||||
(assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas))
|
||||
(add-after 'glib-or-gtk-compile-schemas 'glib-or-gtk-wrap
|
||||
(assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)))))
|
||||
(native-inputs
|
||||
`(("cmake-helpers"
|
||||
,(origin
|
||||
(method git-fetch)
|
||||
(uri
|
||||
(git-reference
|
||||
(url "https://github.com/desktop-app/cmake_helpers.git")
|
||||
(commit "4d44d822e01b3b5fbec3ce824e01f56aa35d7f72")))
|
||||
(file-name
|
||||
(git-file-name "cmake-helpers-for-telegram-desktop" version))
|
||||
(sha256
|
||||
(base32 "0h6cjiqy014h2mz90h1z5a7plb3ihbnds4bja8994ybr1dy3m7m5"))))
|
||||
("cmake-shared" ,cmake-shared)
|
||||
("extra-cmake-modules" ,extra-cmake-modules)
|
||||
("glib:bin" ,glib "bin")
|
||||
("gobject-introspection" ,gobject-introspection)
|
||||
("gtk+:bin" ,gtk+ "bin")
|
||||
("pkg-config" ,pkg-config)
|
||||
("python" ,python-wrapper)
|
||||
("qttools-5" ,qttools-5)))
|
||||
(list cmake-shared
|
||||
extra-cmake-modules
|
||||
`(,glib "bin")
|
||||
`(,gtk+ "bin")
|
||||
pkg-config
|
||||
python-wrapper
|
||||
qttools-5))
|
||||
(inputs
|
||||
`(("alsa" ,alsa-lib)
|
||||
("c++-gsl" ,c++-gsl)
|
||||
("catch" ,catch2)
|
||||
("codegen-source"
|
||||
,(origin
|
||||
(method git-fetch)
|
||||
(uri
|
||||
(git-reference
|
||||
(url "https://github.com/desktop-app/codegen.git")
|
||||
(commit "248614b49cd7d5aff69d75a737f2e35b79fbb119")))
|
||||
(file-name
|
||||
(git-file-name "codegen" version))
|
||||
(sha256
|
||||
(base32 "00f7g2z6xmkbkrmi3q27hscjl44mg66wf9q0mz3rhy3jaa6cfdrk"))))
|
||||
("expected" ,libexpected)
|
||||
("fcitx-qt5" ,fcitx-qt5)
|
||||
("fcitx5-qt" ,fcitx5-qt)
|
||||
("ffmpeg" ,ffmpeg)
|
||||
("glib" ,glib)
|
||||
("glibmm" ,glibmm-2.64)
|
||||
("gtk+" ,gtk+)
|
||||
("hime" ,hime)
|
||||
("hunspell" ,hunspell)
|
||||
("jemalloc" ,jemalloc)
|
||||
("kwayland" ,kwayland)
|
||||
("lib-base-source"
|
||||
,(origin
|
||||
(method git-fetch)
|
||||
(uri
|
||||
(git-reference
|
||||
(url "https://github.com/desktop-app/lib_base.git")
|
||||
(commit "a23c05c44e4f01dc4428f4d75d4db98c59d313a6")))
|
||||
(file-name
|
||||
(git-file-name "lib-base-for-telegram-desktop" version))
|
||||
(sha256
|
||||
(base32 "0vh5zgxwalmbnvz8lzlnba87ch8vnpmcz6nvf56w09f3nlxvvq78"))))
|
||||
("lib-crl-source"
|
||||
,(origin
|
||||
(method git-fetch)
|
||||
(uri
|
||||
(git-reference
|
||||
(url "https://github.com/desktop-app/lib_crl.git")
|
||||
(commit "3ccf2ed5095442e5874bba8852cb7dc4efeae29f")))
|
||||
(file-name
|
||||
(git-file-name "lib-crl-for-telegram-desktop" version))
|
||||
(sha256
|
||||
(base32 "11my7q54m4lvvlgma6pbdyjxi1cv1adk1gph2j50mh18sqlm8myz"))))
|
||||
("lib-lottie-source"
|
||||
,(origin
|
||||
(method git-fetch)
|
||||
(uri
|
||||
(git-reference
|
||||
(url "https://github.com/desktop-app/lib_lottie.git")
|
||||
(commit "0770df009db7928df1d0cad0900dc5110106d229")))
|
||||
(file-name
|
||||
(git-file-name "lib-lottie-for-telegram-desktop" version))
|
||||
(sha256
|
||||
(base32 "1gj56ymlbk5dnk82jw674808m511lv9dky8891a5wm4gp3pph5jb"))))
|
||||
("lib-qr-source"
|
||||
,(origin
|
||||
(method git-fetch)
|
||||
(uri
|
||||
(git-reference
|
||||
(url "https://github.com/desktop-app/lib_qr.git")
|
||||
(commit "2b08c71c6edcfc3e31f7d7f518cc963493b6e189")))
|
||||
(file-name
|
||||
(git-file-name "lib-qr-for-telegram-desktop" version))
|
||||
(sha256
|
||||
(base32 "05hrkmwgrczyjv87r507i2r7m1zr6k2i43mq3my0s6j4szr1rjq0"))))
|
||||
("lib-rlottie-source"
|
||||
,(origin
|
||||
(method git-fetch)
|
||||
(uri
|
||||
(git-reference
|
||||
(url "https://github.com/desktop-app/lib_rlottie.git")
|
||||
(commit "0671bf70547381effcf442ec9618e04502a8adbc")))
|
||||
(file-name
|
||||
(git-file-name "lib-rlottie-for-telegram-desktop" version))
|
||||
(sha256
|
||||
(base32 "05qnza7j15356s8jq16pkbyp4zr586lssmd86lz5jq23lcb3raxv"))))
|
||||
("lib-rpl-source"
|
||||
,(origin
|
||||
(method git-fetch)
|
||||
(uri
|
||||
(git-reference
|
||||
(url "https://github.com/desktop-app/lib_rpl.git")
|
||||
(commit "df721be3fa14a27dfc230d2e3c42bb1a7c9d0617")))
|
||||
(file-name
|
||||
(git-file-name "lib-rpl-for-telegram-desktop" version))
|
||||
(sha256
|
||||
(base32 "15fnv3ssn7rn5d0j52gggdvyqc2wm464678dj7v2x9h8lka2jjxn"))))
|
||||
("lib-spellcheck-source"
|
||||
,(origin
|
||||
(method git-fetch)
|
||||
(uri
|
||||
(git-reference
|
||||
(url "https://github.com/desktop-app/lib_spellcheck.git")
|
||||
(commit "68c9b788958904aea7de79f986a0f82ec8c5b094")))
|
||||
(file-name
|
||||
(git-file-name "lib-spellcheck-for-telegram-desktop" version))
|
||||
(sha256
|
||||
(base32 "0d8s4wwk6fxf536mhzq2vb9qw3j0m8nqia7ylvvpsbc4kh09dadn"))))
|
||||
("lib-storage-source"
|
||||
,(origin
|
||||
(method git-fetch)
|
||||
(uri
|
||||
(git-reference
|
||||
(url "https://github.com/desktop-app/lib_storage.git")
|
||||
(commit "403df6c4a29562bd417c92d410e49819f5a48cc1")))
|
||||
(file-name
|
||||
(git-file-name "lib-storage-for-telegram-desktop" version))
|
||||
(sha256
|
||||
(base32 "1zxvzfrxbj4d395fzyb5pm9wn3n8jyimxx88cyqjcdd46sx4h7r5"))))
|
||||
("lib-tl-source"
|
||||
,(origin
|
||||
(method git-fetch)
|
||||
(uri
|
||||
(git-reference
|
||||
(url "https://github.com/desktop-app/lib_tl.git")
|
||||
(commit "45faed44e7f4d11fec79b7a70e4a35dc91ef3fdb")))
|
||||
(file-name
|
||||
(git-file-name "lib-tl-for-telegram-desktop" version))
|
||||
(sha256
|
||||
(base32 "0h43xvzklda02494d466jp52hl8c1kmav9f12dyld10dpf1w6c7m"))))
|
||||
("lib-ui-source"
|
||||
,(origin
|
||||
(method git-fetch)
|
||||
(uri
|
||||
(git-reference
|
||||
(url "https://github.com/desktop-app/lib_ui.git")
|
||||
(commit "1b590f9e16eb9571a039f072d6fea66c607e419f")))
|
||||
(file-name
|
||||
(git-file-name "lib-ui-for-telegram-desktop" version))
|
||||
(sha256
|
||||
(base32 "0ighyhfp29h9h8c7vr70pnhcv2xnsr9ln084pssn8hb5z4pmb62f"))))
|
||||
("lib-waylandshells-source"
|
||||
,(origin
|
||||
(method git-fetch)
|
||||
(uri
|
||||
(git-reference
|
||||
(url "https://github.com/desktop-app/lib_waylandshells.git")
|
||||
(commit "59b0ee55a68976d27f1bf7cec0e11d5939e185e7")))
|
||||
(file-name
|
||||
(git-file-name "lib-waylandshells-for-telegram-desktop" version))
|
||||
(sha256
|
||||
(base32 "0l2xrpc5mvvdlsj333pmkgfvn9wi1ijfdaaz8skfnw9icw52faaf"))))
|
||||
("lib-webrtc-source"
|
||||
,(origin
|
||||
(method git-fetch)
|
||||
(uri
|
||||
(git-reference
|
||||
(url "https://github.com/desktop-app/lib_webrtc.git")
|
||||
(commit "ef49f953f12b112008a094a719f40939aaf39db4")))
|
||||
(file-name
|
||||
(git-file-name "lib-webrtc-for-telegram-desktop" version))
|
||||
(sha256
|
||||
(base32 "15k4xs3462p3ddp5cn9im3nvdiaijmxir8wxsf5yrj70ghy26ibw"))))
|
||||
("lib-webview-source"
|
||||
,(origin
|
||||
(method git-fetch)
|
||||
(uri
|
||||
(git-reference
|
||||
(url "https://github.com/desktop-app/lib_webview.git")
|
||||
(commit "e06427c624515485774e2e2181d4afeb05ad5a67")))
|
||||
(file-name
|
||||
(git-file-name "lib-webview-for-telegram-desktop" version))
|
||||
(sha256
|
||||
(base32 "148z7xzfscynwwwqssdsd97npax6yn8zrd64xw8qzbwff2g2r7k4"))))
|
||||
("libdbusmenu-qt" ,libdbusmenu-qt)
|
||||
("libjpeg" ,libjpeg-turbo)
|
||||
("libtgvoip" ,libtgvoip-for-telegram-desktop)
|
||||
("lz4" ,lz4)
|
||||
("materialdecoration" ,materialdecoration)
|
||||
("minizip" ,minizip)
|
||||
("nimf" ,nimf)
|
||||
("openal" ,openal)
|
||||
("openssl" ,openssl)
|
||||
("opus" ,opus)
|
||||
("pulseaudio" ,pulseaudio)
|
||||
("qrcodegen" ,qrcodegen-cpp)
|
||||
("qt" ,qtbase-5)
|
||||
("qtsvg-5" ,qtsvg-5)
|
||||
("qt5ct" ,qt5ct)
|
||||
("qtimageformats" ,qtimageformats)
|
||||
("qtwayland" ,qtwayland)
|
||||
("range-v3" ,range-v3)
|
||||
("rlottie" ,rlottie-for-telegram-desktop)
|
||||
("rnnoise" ,rnnoise)
|
||||
("tgcalls-source"
|
||||
,(origin
|
||||
(method git-fetch)
|
||||
(uri
|
||||
(git-reference
|
||||
(url "https://github.com/TelegramMessenger/tgcalls.git")
|
||||
(commit "81e97fa52e25b7775b62ce07bb653533d81e91b3")))
|
||||
(file-name
|
||||
(git-file-name "tgcalls-for-telegram-desktop" version))
|
||||
(sha256
|
||||
(base32 "0fvad87hyxli83xn19mgf8jjrrh6y6iaig14pckpbkg33vf4wqkj"))))
|
||||
("webrtc" ,webrtc-for-telegram-desktop)
|
||||
("x11" ,libx11)
|
||||
("xcb" ,libxcb)
|
||||
("xcb-keysyms" ,xcb-util-keysyms)
|
||||
("xxhash" ,xxhash)
|
||||
("zlib" ,zlib)))
|
||||
(propagated-inputs
|
||||
(list dconf))
|
||||
(list alsa-lib
|
||||
c++-gsl
|
||||
catch2
|
||||
libexpected
|
||||
fcitx-qt5
|
||||
fcitx5-qt
|
||||
ffmpeg
|
||||
glib
|
||||
glibmm-2.64
|
||||
gtk+
|
||||
hime
|
||||
hunspell
|
||||
jemalloc
|
||||
kwayland
|
||||
libdbusmenu-qt
|
||||
libjpeg-turbo
|
||||
libtgvoip-for-telegram-desktop
|
||||
lz4
|
||||
materialdecoration
|
||||
minizip
|
||||
nimf
|
||||
openal
|
||||
openssl
|
||||
opus
|
||||
pulseaudio
|
||||
qrcodegen-cpp
|
||||
qtbase-5
|
||||
qtsvg-5
|
||||
qt5ct
|
||||
qtimageformats
|
||||
qtwayland
|
||||
range-v3
|
||||
rlottie-for-telegram-desktop
|
||||
rnnoise
|
||||
webrtc-for-telegram-desktop
|
||||
libx11
|
||||
libxcb
|
||||
xcb-util-keysyms
|
||||
xxhash
|
||||
zlib))
|
||||
(propagated-inputs (list dconf))
|
||||
(synopsis "Telegram Desktop")
|
||||
(description "Telegram desktop is the official desktop version of the
|
||||
Telegram instant messenger.")
|
||||
|
@ -17,7 +17,7 @@
|
||||
;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
|
||||
;;; Copyright © 2020, 2022 Michael Rohleder <mike@rohleder.de>
|
||||
;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org>
|
||||
;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
|
||||
;;; Copyright © 2021 LibreMiami <packaging-guix@libremiami.org>
|
||||
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
|
||||
@ -723,7 +723,7 @@ your calls and messages.")
|
||||
(define-public pjproject
|
||||
(package
|
||||
(name "pjproject")
|
||||
(version "2.11.1")
|
||||
(version "2.12.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -733,7 +733,7 @@ your calls and messages.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"04s4bgr2d22ym2ajjk6q507hyqss1p59yp8avyyyf5f8032nbaws"))
|
||||
"0xrj4sznbaip22y9hclff6y81l285bzkkj1smzifskpk3kiwp00w"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
@ -742,99 +742,100 @@ your calls and messages.")
|
||||
(substitute* "aconfigure.ac"
|
||||
(("third_party/build/os-auto.mak") ""))
|
||||
(substitute* "Makefile"
|
||||
(("third_party/build") ""))))
|
||||
(patches (search-patches "pjproject-install-libpjsua2.patch"))))
|
||||
(("third_party/build") ""))))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" "debug" "static"))
|
||||
(arguments
|
||||
`(#:test-target "selftest"
|
||||
#:configure-flags
|
||||
(list "--enable-shared"
|
||||
"--with-external-speex"
|
||||
"--with-external-gsm"
|
||||
"--with-external-srtp"
|
||||
"--with-external-pa"
|
||||
;; The following flag is Linux specific.
|
||||
,@(if (string-contains (or (%current-system)
|
||||
(%current-target-system)) "linux")
|
||||
'("--enable-epoll")
|
||||
'())
|
||||
"--with-gnutls" ;disable OpenSSL checks
|
||||
"--disable-libyuv" ;TODO: add missing package
|
||||
"--disable-silk" ;TODO: add missing package
|
||||
"--disable-libwebrtc" ;TODO: add missing package
|
||||
"--disable-ilbc-codec" ;cannot be unbundled
|
||||
"--disable-g7221-codec" ;TODO: add missing package
|
||||
"--enable-libsamplerate"
|
||||
;; -DNDEBUG is set to prevent pjproject from raising
|
||||
;; assertions that aren't critical, crashing
|
||||
;; applications as the result.
|
||||
"CFLAGS=-DNDEBUG"
|
||||
;; Specify a runpath reference to itself, which is missing and
|
||||
;; causes the validate-runpath phase to fail.
|
||||
(string-append "LDFLAGS=-Wl,-rpath=" (assoc-ref %outputs "out")
|
||||
"/lib"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'build 'build-dep
|
||||
(lambda _ (invoke "make" "dep")))
|
||||
;; The check phases is moved after the install phase so to
|
||||
;; use the installed shared libraries for the tests.
|
||||
(delete 'check)
|
||||
(add-after 'install 'move-static-libraries
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(s (string-append (assoc-ref outputs "static") "/lib")))
|
||||
(mkdir-p s)
|
||||
(with-directory-excursion out
|
||||
(for-each (lambda (f)
|
||||
(rename-file f (string-append s "/" (basename f))))
|
||||
(find-files "." "\\.a$"))))))
|
||||
(add-after 'install 'check
|
||||
(assoc-ref %standard-phases 'check))
|
||||
(add-before 'patch-source-shebangs 'autoconf
|
||||
(lambda _
|
||||
(invoke "autoconf" "-v" "-f" "-i" "-o"
|
||||
"aconfigure" "aconfigure.ac")))
|
||||
(add-before 'autoconf 'disable-some-tests
|
||||
(lambda _
|
||||
(substitute* "pjlib/src/pjlib-test/test.h"
|
||||
;; Disable network tests which are slow and/or require an
|
||||
;; actual network.
|
||||
(("#define GROUP_NETWORK.*")
|
||||
"#define GROUP_NETWORK 0\n"))
|
||||
(substitute* "self-test.mak"
|
||||
;; Fails with: pjlib-util-test-x86_64-unknown-linux-gnu:
|
||||
;; ../src/pjlib-util-test/resolver_test.c:1501: action2_1:
|
||||
;; Assertio n `pj_strcmp2(&pkt->q[0].name, "_sip._udp."
|
||||
;; "domain2.com")==0' failed.
|
||||
((" pjlib_util_test ") ""))
|
||||
(substitute* "pjsip/src/test/test.h"
|
||||
;; Fails with: Error: unable to acquire TCP transport:
|
||||
;; [pj_status_t=120101] Network is unreachable.
|
||||
(("#define INCLUDE_TCP_TEST.*")
|
||||
"#define INCLUDE_TCP_TEST 0\n")
|
||||
;; The TSX tests takes a very long time to run; skip them.
|
||||
(("#define INCLUDE_TSX_GROUP.*")
|
||||
"#define INCLUDE_TSX_GROUP 0\n"))
|
||||
(substitute* "pjsip/src/test/dns_test.c"
|
||||
;; The round_robin_test fails non-deterministically (depending
|
||||
;; on load); skip it (see:
|
||||
;; https://github.com/pjsip/pjproject/issues/2500).
|
||||
(("round_robin_test(pool)") 0))
|
||||
(substitute* "pjmedia/src/test/test.h"
|
||||
;; The following tests require a sound card.
|
||||
(("#define HAS_MIPS_TEST.*")
|
||||
"#define HAS_MIPS_TEST 0\n")
|
||||
(("#define HAS_JBUF_TEST.*")
|
||||
"#define HAS_JBUF_TEST 0\n"))
|
||||
(substitute* "Makefile"
|
||||
;; Disable the pjnath and pjsua tests, which require an actual
|
||||
;; network and an actual sound card, respectively.
|
||||
(("pjnath-test pjmedia-test pjsip-test pjsua-test")
|
||||
"pjmedia-test pjsip-test")))))))
|
||||
(list
|
||||
#:test-target "selftest"
|
||||
#:configure-flags
|
||||
#~(list "--enable-shared"
|
||||
"--with-external-speex"
|
||||
"--with-external-gsm"
|
||||
"--with-external-srtp"
|
||||
"--with-external-pa"
|
||||
;; The following flag is Linux specific.
|
||||
#$@(if (string-contains (or (%current-system)
|
||||
(%current-target-system)) "linux")
|
||||
#~("--enable-epoll")
|
||||
#~())
|
||||
"--with-gnutls" ;disable OpenSSL checks
|
||||
"--disable-libyuv" ;TODO: add missing package
|
||||
"--disable-silk" ;TODO: add missing package
|
||||
"--disable-libwebrtc" ;TODO: add missing package
|
||||
"--disable-ilbc-codec" ;cannot be unbundled
|
||||
"--disable-g7221-codec" ;TODO: add missing package
|
||||
"--enable-libsamplerate"
|
||||
;; -DNDEBUG is set to prevent pjproject from raising
|
||||
;; assertions that aren't critical, crashing
|
||||
;; applications as the result.
|
||||
"CFLAGS=-DNDEBUG"
|
||||
;; Specify a runpath reference to itself, which is missing and
|
||||
;; causes the validate-runpath phase to fail.
|
||||
(string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'build 'build-dep
|
||||
(lambda _ (invoke "make" "dep")))
|
||||
;; The check phases is moved after the install phase so to
|
||||
;; use the installed shared libraries for the tests.
|
||||
(delete 'check)
|
||||
(add-after 'install 'move-static-libraries
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((s (string-append #$output:static "/lib")))
|
||||
(mkdir-p s)
|
||||
(with-directory-excursion #$output
|
||||
(for-each (lambda (f)
|
||||
(rename-file f (string-append s "/" (basename f))))
|
||||
(find-files "." "\\.a$"))))))
|
||||
(add-after 'install 'check
|
||||
(assoc-ref %standard-phases 'check))
|
||||
(add-before 'patch-source-shebangs 'autoconf
|
||||
(lambda _
|
||||
(invoke "autoconf" "-v" "-f" "-i" "-o"
|
||||
"aconfigure" "aconfigure.ac")))
|
||||
(add-before 'autoconf 'disable-some-tests
|
||||
(lambda _
|
||||
(substitute* "pjlib/src/pjlib-test/test.h"
|
||||
;; Disable network tests which are slow and/or require an
|
||||
;; actual network.
|
||||
(("#define GROUP_NETWORK.*")
|
||||
"#define GROUP_NETWORK 0\n"))
|
||||
(substitute* "self-test.mak"
|
||||
;; Fails with: pjlib-util-test-x86_64-unknown-linux-gnu:
|
||||
;; ../src/pjlib-util-test/resolver_test.c:1501: action2_1:
|
||||
;; Assertio n `pj_strcmp2(&pkt->q[0].name, "_sip._udp."
|
||||
;; "domain2.com")==0' failed.
|
||||
((" pjlib_util_test ") ""))
|
||||
(substitute* "pjsip/src/test/test.h"
|
||||
;; Fails with: Error: unable to acquire TCP transport:
|
||||
;; [pj_status_t=120101] Network is unreachable.
|
||||
(("#define INCLUDE_TCP_TEST.*")
|
||||
"#define INCLUDE_TCP_TEST 0\n")
|
||||
;; The TSX tests takes a very long time to run; skip them.
|
||||
(("#define INCLUDE_TSX_GROUP.*")
|
||||
"#define INCLUDE_TSX_GROUP 0\n"))
|
||||
(substitute* "pjsip/src/test/dns_test.c"
|
||||
;; The round_robin_test fails non-deterministically (depending
|
||||
;; on load); skip it (see:
|
||||
;; https://github.com/pjsip/pjproject/issues/2500).
|
||||
(("round_robin_test(pool)") 0))
|
||||
(substitute* "pjmedia/src/test/test.h"
|
||||
;; The following tests require a sound card.
|
||||
(("#define HAS_MIPS_TEST.*")
|
||||
"#define HAS_MIPS_TEST 0\n")
|
||||
(("#define HAS_JBUF_TEST.*")
|
||||
"#define HAS_JBUF_TEST 0\n"))
|
||||
(substitute* "Makefile"
|
||||
;; Disable the pjnath and pjsua tests, which require an actual
|
||||
;; network and an actual sound card, respectively.
|
||||
(("pjnath-test pjmedia-test pjsip-test pjsua-test")
|
||||
"pjmedia-test pjsip-test")))))))
|
||||
(native-inputs
|
||||
(list autoconf automake libtool pkg-config))
|
||||
(list autoconf
|
||||
automake
|
||||
libtool
|
||||
pkg-config))
|
||||
(inputs
|
||||
(list bcg729
|
||||
gnutls
|
||||
|
@ -6209,6 +6209,45 @@ the same place. The package also has a range of techniques for labelling
|
||||
footnotes with symbols rather than numbers.")
|
||||
(license license:lppl1.3+)))
|
||||
|
||||
(define-public texlive-latex-frankenstein
|
||||
(package
|
||||
(name "texlive-latex-frankenstein")
|
||||
(version (number->string %texlive-revision))
|
||||
(source (origin
|
||||
(method svn-fetch)
|
||||
(uri (svn-reference (url (string-append
|
||||
"svn://www.tug.org/texlive/tags/"
|
||||
%texlive-tag "/Master/texmf-dist/"
|
||||
"/tex/latex/frankenstein"))
|
||||
(revision %texlive-revision)))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"1zhdvn3zgdarlzfcyq8nzilvw0v0bqgl4m0y7j233cbqw8wiil4z"))))
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build utils))
|
||||
#:builder (begin
|
||||
(use-modules (guix build utils))
|
||||
(let ((target (string-append (assoc-ref %outputs "out")
|
||||
"/share/texmf-dist/tex/latex/frankenstein")))
|
||||
(mkdir-p target)
|
||||
(copy-recursively (assoc-ref %build-inputs "source")
|
||||
target) #t))))
|
||||
(home-page "https://ctan.org/pkg/frankenstein")
|
||||
(synopsis "Collection of unrelated LaTeX packages")
|
||||
(description
|
||||
"Frankenstein is a bundle of LaTeX packages serving various purposes and a
|
||||
BibTeX bibliography style. The individual packages are: @code{abbrevs},
|
||||
@code{achicago}, @code{achicago} bibstyle, @code{attrib}, @code{blkcntrl},
|
||||
@code{compsci}, @code{dialogue}, @code{lips}, @code{moredefs}, @code{newclude},
|
||||
@code{slemph} and @code{titles}. Note: The installation follows the suboptimal
|
||||
``Quick and dirty'' recipe, rendering some features unavailable.")
|
||||
;; README mentions an unspecified version of GNU GPL and points to COPYING,
|
||||
;; which is missing. However, the individual files mention LPPL 1.2 or
|
||||
;; later.
|
||||
(license license:lppl1.2+)))
|
||||
|
||||
(define-public texlive-latex-letltxmacro
|
||||
(package
|
||||
(inherit (simple-texlive-package
|
||||
@ -6929,6 +6968,24 @@ They combine a comprehensive Unicode-based collection of mathematical symbols
|
||||
and alphabets with a set of text faces suitable for professional publishing.")
|
||||
(license license:silofl1.1))))
|
||||
|
||||
(define-public texlive-latex-sidecap
|
||||
(package
|
||||
(inherit (simple-texlive-package
|
||||
"texlive-latex-sidecap"
|
||||
(list "doc/latex/sidecap/"
|
||||
"tex/latex/sidecap/")
|
||||
(base32 "1biyxvh7fm70pq1rxqrla2vs013bpsd1j8jvlyl3vjg433d5bly3")
|
||||
#:trivial? #t))
|
||||
(build-system texlive-build-system)
|
||||
(home-page "https://ctan.org/pkg/sidecap")
|
||||
(synopsis "Typeset captions sideways")
|
||||
(description
|
||||
"@code{sidecap} defines environments called @code{SCfigure} and
|
||||
@code{SCtable} (analogous to @code{figure} and @code{table}) to typeset
|
||||
captions sideways. Options include @code{outercaption}, @code{innercaption},
|
||||
@code{leftcaption} and @code{rightcaption}.")
|
||||
(license license:lppl1.0+)))
|
||||
|
||||
(define-public texlive-stmaryrd
|
||||
(let ((template (simple-texlive-package
|
||||
"texlive-stmaryrd"
|
||||
@ -11238,6 +11295,33 @@ Danish in @code{babel}. It provides all the necessary macros, definitions and
|
||||
settings to typeset Danish documents.")
|
||||
(license license:lppl1.3c+))))
|
||||
|
||||
(define-public texlive-babel-polish
|
||||
(let ((template (simple-texlive-package
|
||||
"texlive-babel-polish"
|
||||
(list "/source/generic/babel-polish/")
|
||||
(base32
|
||||
"1jymxl98mwxmq0yq90mhrr7bq7c613rh1rnhl7l3bih36af55rwr"))))
|
||||
(package
|
||||
(inherit template)
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments template)
|
||||
((#:tex-directory _ '())
|
||||
"generic/babel-polish")
|
||||
((#:build-targets _ '())
|
||||
''("polish.ins")) ; TODO: use dtx and build documentation
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(add-after 'unpack 'chdir
|
||||
(lambda _
|
||||
(chdir "source/generic/babel-polish")))))))
|
||||
(home-page "https://www.ctan.org/pkg/babel-polish")
|
||||
(synopsis "Babel support for Polish")
|
||||
(description
|
||||
"This package provides the language definition file for support of
|
||||
Polish in @code{babel}. Some shortcuts are defined, as well as translations to
|
||||
Polish of standard ``LaTeX names''.")
|
||||
(license license:lppl1.3+))))
|
||||
|
||||
(define-public texlive-mdframed
|
||||
(package
|
||||
(inherit
|
||||
|
@ -77,7 +77,7 @@
|
||||
(define-public vim
|
||||
(package
|
||||
(name "vim")
|
||||
(version "9.0.0325")
|
||||
(version "9.0.0509")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@ -86,7 +86,7 @@
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"18m3lhp7d8a0n3bx0kqn082gqrh7lyar1ndvwq79gj73fz5c19vh"))))
|
||||
"0affh0q6r5cvf01f4m5nr94bq1k23bzhiwa4xlpqim21yipafamm"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:test-target "test"
|
||||
@ -95,14 +95,11 @@
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'configure 'patch-absolute-paths
|
||||
(lambda _
|
||||
(substitute* '("runtime/autoload/context.vim"
|
||||
"src/testdir/Makefile"
|
||||
(substitute* '("src/testdir/Makefile"
|
||||
"src/testdir/test_filetype.vim"
|
||||
"src/testdir/test_normal.vim"
|
||||
"src/testdir/test_popupwin.vim"
|
||||
"src/testdir/test_prompt_buffer.vim"
|
||||
"src/testdir/test_shell.vim"
|
||||
"src/testdir/test_suspend.vim"
|
||||
"src/testdir/test_terminal.vim"
|
||||
"src/testdir/test_terminal2.vim")
|
||||
(("/bin/sh") (which "sh")))
|
||||
@ -826,7 +823,7 @@ and support for fonts with ligatures.")
|
||||
(define-public vifm
|
||||
(package
|
||||
(name "vifm")
|
||||
(version "0.12")
|
||||
(version "0.12.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@ -837,7 +834,7 @@ and support for fonts with ligatures.")
|
||||
"vifm-" version ".tar.bz2")))
|
||||
(sha256
|
||||
(base32
|
||||
"1h5j4y704nciyzg3aaav8sl3r5h9mpwq8f28cj65nnxk6a7n3a9k"))))
|
||||
"122ncp319xisxjxcy33bshjib6905bb0aaz0xjdfkkycplz83qlg"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags '("--disable-build-timestamp")
|
||||
@ -852,8 +849,7 @@ and support for fonts with ligatures.")
|
||||
(("/bin/bash") (which "bash")))
|
||||
;; This test segfaults
|
||||
(substitute* "tests/Makefile"
|
||||
(("misc") ""))
|
||||
#t))
|
||||
(("misc") ""))))
|
||||
(add-after 'install 'install-vim-plugin-files
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
@ -864,8 +860,7 @@ and support for fonts with ligatures.")
|
||||
(copy-recursively (string-append vifm "/vim")
|
||||
vimfiles)
|
||||
(delete-file-recursively (string-append vifm "/colors"))
|
||||
(delete-file-recursively (string-append vifm "/vim")))
|
||||
#t)))))
|
||||
(delete-file-recursively (string-append vifm "/vim"))))))))
|
||||
(native-inputs
|
||||
(list groff)) ; for the documentation
|
||||
(inputs
|
||||
@ -1380,30 +1375,29 @@ files for reading or editing, and perform basic file system operations.")
|
||||
(license license:wtfpl2)))
|
||||
|
||||
(define-public vim-nerdcommenter
|
||||
(let ((commit "a65465d321f2f8a74b2ffa540b9b87563f7e12e8")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "vim-nerdcommenter")
|
||||
(version (git-version "2.5.2" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/preservim/nerdcommenter")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "00ir65iv8jfbgzjmj7332fmydh0qhabbhx8zbvd3j6pgfxqpaafw"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
'(#:install-plan
|
||||
'(("autoload" "share/vim/vimfiles/")
|
||||
("doc" "share/vim/vimfiles/")
|
||||
("plugin" "share/vim/vimfiles/"))))
|
||||
(home-page "https://github.com/preservim/nerdcommenter")
|
||||
(synopsis "Vim plugin for easy commenting of code")
|
||||
(description
|
||||
"NERD commenter is a Vim plugin that provides many different commenting
|
||||
(package
|
||||
(name "vim-nerdcommenter")
|
||||
(version "2.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/preservim/nerdcommenter")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1ka2rqn7rby55aps3iblh1dcqxm7m7qx72mpkz6y2aaj8mkj0zyd"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:install-plan
|
||||
#~`(("autoload" "share/vim/vimfiles/")
|
||||
("doc" "share/vim/vimfiles/")
|
||||
("plugin" "share/vim/vimfiles/"))))
|
||||
(home-page "https://github.com/preservim/nerdcommenter")
|
||||
(synopsis "Vim plugin for easy commenting of code")
|
||||
(description
|
||||
"NERD commenter is a Vim plugin that provides many different commenting
|
||||
operations and styles which are invoked via key mappings and a menu. These
|
||||
operations are available for most filetypes.")
|
||||
(license license:cc0))))
|
||||
(license license:cc0)))
|
||||
|
@ -169,6 +169,7 @@
|
||||
(base32
|
||||
"1rmvrgqjhrvcmchnz170dxvrrf14n6nm39y8ivrprmfydd9lwqx0"))
|
||||
(patches (search-patches "qemu-build-info-manual.patch"
|
||||
"qemu-disable-aarch64-migration-test.patch"
|
||||
"qemu-fix-agent-paths.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
|
@ -1987,6 +1987,41 @@ productive, customizable lisp based systems.")
|
||||
(description "This package provides a StumpWM interactive shell.")
|
||||
(license (list license:gpl2+ license:gpl3+ license:bsd-2))))
|
||||
|
||||
(define-public sbcl-stumpwm-pamixer
|
||||
(let ((commit "aa820533c80ea1af5a0e107cea25eaf34e69dc24")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "sbcl-stumpwm-pamixer")
|
||||
(version (git-version "0.1.1" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Junker/stumpwm-pamixer")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0djcrr16bx40l7b60d4j507vk5l42fdgmjpgrnk86z1ba8wlqim8"))))
|
||||
(inputs (list pamixer `(,stumpwm "lib")))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(arguments
|
||||
(list #:asd-systems ''("pamixer")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-pamixer
|
||||
(lambda _
|
||||
(substitute* "pamixer.lisp"
|
||||
(("\"pamixer \"")
|
||||
(string-append "\""
|
||||
#$(this-package-input "pamixer")
|
||||
"/bin/pamixer \""))))))))
|
||||
(home-page "https://github.com/Junker/stumpwm-pamixer")
|
||||
(synopsis "StumpWM Pamixer Module")
|
||||
(description
|
||||
"This package provides a minimalistic Pulseaudio volume and microphone
|
||||
control module for StumpWM.")
|
||||
(license license:gpl3))))
|
||||
|
||||
(define-public sbcl-stumpwm+slynk
|
||||
(deprecated-package "sbcl-stumpwm-with-slynk" stumpwm+slynk))
|
||||
|
||||
@ -2809,7 +2844,7 @@ Type=Application~%"
|
||||
(define-public avizo
|
||||
(package
|
||||
(name "avizo")
|
||||
(version "1.2")
|
||||
(version "1.2.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@ -2818,7 +2853,7 @@ Type=Application~%"
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"02h2jbgrbl2hyq6bzwryc1r47mipgdqrdh7zi44skc25w045s6q5"))))
|
||||
"0ddv5ssxfjbzhqskbbhi9qj1yqkraiv3r8svfmp9s5nnfpid8aba"))))
|
||||
(build-system meson-build-system)
|
||||
(inputs (list gtk+))
|
||||
(native-inputs
|
||||
|
@ -497,7 +497,7 @@ matching them against regular expressions.")
|
||||
(define-public xfce4-pulseaudio-plugin
|
||||
(package
|
||||
(name "xfce4-pulseaudio-plugin")
|
||||
(version "0.4.3")
|
||||
(version "0.4.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@ -506,21 +506,8 @@ matching them against regular expressions.")
|
||||
(version-major+minor version) "/"
|
||||
"xfce4-pulseaudio-plugin-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "0nv1lbkshfzar87f6xq1ib120pjja24r7135rbc42wqkw8vq4las"))))
|
||||
(base32 "05f12fzn8q1y7jkzanxy82pzl00km66gngb5j6d5k8kbx9ykj9a4"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
;; For dbus/dbus-glib.h in pulseaudio-config.h.
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'set-paths 'augment-cflags
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(setenv "C_INCLUDE_PATH"
|
||||
(string-append (assoc-ref inputs "dbus-glib")
|
||||
"/include/dbus-1.0" ":"
|
||||
(assoc-ref inputs "dbus")
|
||||
"/include/dbus-1.0" ":"
|
||||
(or (getenv "C_INCLUDE_PATH") "")))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
(list intltool pkg-config dbus-glib dbus))
|
||||
(inputs
|
||||
@ -1530,7 +1517,7 @@ each time a new earthquake occurs.")
|
||||
(define-public xfce4-datetime-plugin
|
||||
(package
|
||||
(name "xfce4-datetime-plugin")
|
||||
(version "0.8.1")
|
||||
(version "0.8.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://archive.xfce.org/src/panel-plugins/"
|
||||
@ -1539,7 +1526,7 @@ each time a new earthquake occurs.")
|
||||
"/xfce4-datetime-plugin-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0h15mxq5lawlxyr6h1vxc60rkf0rpmnv81l0f52mrswww9dz3xp9"))))
|
||||
"0dz0syl9dm55pqcqywbnjpi14z2xh7pg2ipmxjgn4pq1az28qf3c"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list intltool pkg-config))
|
||||
@ -1847,7 +1834,7 @@ interfaces of your choice in the panel.")
|
||||
(define-public xfce4-places-plugin
|
||||
(package
|
||||
(name "xfce4-places-plugin")
|
||||
(version "1.8.1")
|
||||
(version "1.8.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://archive.xfce.org/src/panel-plugins/"
|
||||
@ -1856,7 +1843,7 @@ interfaces of your choice in the panel.")
|
||||
"/xfce4-places-plugin-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1chac4ki70axgvkmhw94m0srsv0pwiwqrqbh8di0y9n90fgj24gj"))))
|
||||
"00bh7d91vzk6s38djlpnihvjvymxgrnx3nh6sm2y3mnx2jmb4chy"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list intltool desktop-file-utils pkg-config))
|
||||
|
@ -410,7 +410,7 @@ If NEGATE? is @code{#t}, retrieve all fields except FIELDS."
|
||||
|
||||
|
||||
(define* (interpose ls #:optional (delimiter "\n") (grammar 'infix))
|
||||
"Same as @code{string-join}, but without join and string, returns an
|
||||
"Same as @code{string-join}, but without join and string, returns a
|
||||
DELIMITER interposed LS. Support 'infix and 'suffix GRAMMAR values."
|
||||
(when (not (member grammar '(infix suffix)))
|
||||
(raise
|
||||
@ -442,6 +442,7 @@ the list result in @code{#t} when applying PRED? on them."
|
||||
|
||||
(define (text-config? config)
|
||||
(list-of file-like?))
|
||||
|
||||
(define (serialize-text-config field-name val)
|
||||
#~(string-append
|
||||
#$@(interpose
|
||||
|
286
gnu/services/samba.scm
Normal file
286
gnu/services/samba.scm
Normal file
@ -0,0 +1,286 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2022 Simon Streit <simon@netpanic.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
||||
;;; under the terms of the GNU General Public License as published by
|
||||
;;; the Free Software Foundation; either version 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix is distributed in the hope that it will be useful, but
|
||||
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;;; GNU General Public License for more details.
|
||||
;;;
|
||||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu services samba)
|
||||
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages admin)
|
||||
#:use-module (gnu packages samba)
|
||||
|
||||
#:use-module (gnu services)
|
||||
#:use-module (gnu services configuration)
|
||||
#:use-module (gnu services shepherd)
|
||||
#:use-module (gnu services base)
|
||||
#:use-module (gnu system shadow)
|
||||
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix modules)
|
||||
#:use-module (guix records)
|
||||
|
||||
#:use-module (ice-9 format)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (ice-9 textual-ports)
|
||||
#:use-module (srfi srfi-1)
|
||||
|
||||
#:export (samba-service-type
|
||||
samba-configuration
|
||||
samba-smb-conf
|
||||
|
||||
wsdd-service-type
|
||||
wsdd-configuration))
|
||||
|
||||
(define %smb-conf
|
||||
(plain-file "smb.conf" "[global]
|
||||
workgroup = WORKGROUP
|
||||
server string = Samba Server
|
||||
server role = standalone server
|
||||
log file = /var/log/samba/log.%m
|
||||
logging = file
|
||||
"))
|
||||
|
||||
(define-record-type* <samba-configuration>
|
||||
samba-configuration
|
||||
make-samba-configuration
|
||||
samba-configuration?
|
||||
(package samba-configuration-package
|
||||
(default samba))
|
||||
(config-file samba-configuration-config-file
|
||||
(default #f))
|
||||
(enable-samba? samba-configuration-enable-samba?
|
||||
(default #f))
|
||||
(enable-smbd? samba-configuration-enable-smbd?
|
||||
(default #t))
|
||||
(enable-nmbd? samba-configuration-enable-nmbd?
|
||||
(default #t))
|
||||
(enable-winbindd? samba-configuration-enable-winbindd?
|
||||
(default #t)))
|
||||
|
||||
(define (samba-activation config)
|
||||
(let ((package (samba-configuration-package config))
|
||||
(config-file (samba-configuration-config-file config)))
|
||||
(with-imported-modules '((guix build utils))
|
||||
(let ((lib-dir "/var/lib/samba")
|
||||
(log-dir "/var/log/samba")
|
||||
(run-dir "/var/run/samba")
|
||||
(lock-dir "/var/lock/samba")
|
||||
(cache-dir "/var/cache/samba")
|
||||
(etc-dir "/etc/samba")
|
||||
(smb.conf "/etc/samba/smb.conf"))
|
||||
#~(begin
|
||||
(use-modules (guix build utils))
|
||||
(mkdir-p #$etc-dir)
|
||||
(mkdir-p #$lib-dir)
|
||||
(mkdir-p/perms (string-append #$lib-dir "/private")
|
||||
(getpwnam "root") #o700)
|
||||
(mkdir-p #$log-dir)
|
||||
(mkdir-p #$run-dir)
|
||||
(mkdir-p #$lock-dir)
|
||||
(mkdir-p #$cache-dir)
|
||||
(copy-file #$config-file #$smb.conf)
|
||||
(invoke #$(file-append package "/bin/testparm")
|
||||
"--suppress-prompt" #$smb.conf))))))
|
||||
|
||||
(define (samba-samba-shepherd-service config)
|
||||
(let ((package (samba-configuration-package config))
|
||||
(config-file (samba-configuration-config-file config)))
|
||||
(list (shepherd-service
|
||||
(documentation "Run Samba")
|
||||
(provision '(samba-samba))
|
||||
(requirement '(networking))
|
||||
(start #~(make-forkexec-constructor
|
||||
(list #$(file-append package "/sbin/samba")
|
||||
(string-append "--configfile=" #$config-file)
|
||||
"--foreground"
|
||||
"--no-process-group")))
|
||||
(stop #~(make-kill-destructor))))))
|
||||
|
||||
(define (samba-nmbd-shepherd-service config)
|
||||
(let ((package (samba-configuration-package config))
|
||||
(config-file (samba-configuration-config-file config)))
|
||||
(list (shepherd-service
|
||||
(documentation "Run NMBD")
|
||||
(provision '(samba-nmbd))
|
||||
(requirement '(networking))
|
||||
(start #~(make-forkexec-constructor
|
||||
(list #$(file-append package "/sbin/nmbd")
|
||||
(string-append "--configfile=" #$config-file)
|
||||
"--foreground"
|
||||
"--no-process-group")))
|
||||
(stop #~(make-kill-destructor))))))
|
||||
|
||||
(define (samba-smbd-shepherd-service config)
|
||||
(let ((package (samba-configuration-package config))
|
||||
(config-file (samba-configuration-config-file config)))
|
||||
(list (shepherd-service
|
||||
(documentation "Run SMBD")
|
||||
(provision '(samba-smbd))
|
||||
(requirement '(networking))
|
||||
(start #~(make-forkexec-constructor
|
||||
(list #$(file-append package "/sbin/smbd")
|
||||
(string-append "--configfile=" #$config-file)
|
||||
"--foreground"
|
||||
"--no-process-group")))
|
||||
(stop #~(make-kill-destructor))))))
|
||||
|
||||
(define (samba-winbindd-shepherd-service config)
|
||||
(let ((package (samba-configuration-package config))
|
||||
(config-file (samba-configuration-config-file config)))
|
||||
(list (shepherd-service
|
||||
(documentation "Run Winnbindd for Name Service Switch")
|
||||
(provision '(samba-winbindd))
|
||||
(requirement '(networking))
|
||||
(start #~(make-forkexec-constructor
|
||||
(list #$(file-append package "/sbin/winbindd")
|
||||
(string-append "--configfile=" #$config-file)
|
||||
"--foreground"
|
||||
"--no-process-group")))
|
||||
(stop #~(make-kill-destructor))))))
|
||||
|
||||
(define (samba-shepherd-services config)
|
||||
(append (if (samba-configuration-enable-samba? config)
|
||||
(samba-samba-shepherd-service config)
|
||||
'())
|
||||
(if (samba-configuration-enable-nmbd? config)
|
||||
(samba-nmbd-shepherd-service config)
|
||||
'())
|
||||
(if (samba-configuration-enable-smbd? config)
|
||||
(samba-smbd-shepherd-service config)
|
||||
'())
|
||||
(if (samba-configuration-enable-winbindd? config)
|
||||
(samba-winbindd-shepherd-service config)
|
||||
'())))
|
||||
|
||||
(define samba-service-type
|
||||
(service-type
|
||||
(name 'samba)
|
||||
(description "Run @uref{https://www.samba.org/, Samba}, a network file and
|
||||
print service for all clients using the SMB/CIFS protocol. Samba is an
|
||||
important component to seamlessly integrate Linux/Unix Servers and Desktops
|
||||
into Active Directory environments. It can function both as a domain
|
||||
controller or as a regular domain member.")
|
||||
(extensions
|
||||
(list (service-extension shepherd-root-service-type
|
||||
samba-shepherd-services)
|
||||
(service-extension activation-service-type
|
||||
samba-activation)
|
||||
(service-extension profile-service-type
|
||||
(compose list samba-configuration-package))))
|
||||
(default-value (samba-configuration))))
|
||||
|
||||
|
||||
;;;
|
||||
;;; WSDD
|
||||
;;;
|
||||
|
||||
(define-record-type* <wsdd-configuration>
|
||||
wsdd-configuration
|
||||
make-wsdd-configuration
|
||||
wsdd-configuration?
|
||||
(package wsdd-configuration-package
|
||||
(default wsdd))
|
||||
(ipv4only? wsdd-configuration-ipv4only?
|
||||
(default #f))
|
||||
(ipv6only? wsdd-configuration-ipv6only?
|
||||
(default #f))
|
||||
(chroot wsdd-configuration-chroot
|
||||
(default #f))
|
||||
(hop-limit wsdd-configuration-hop-limit
|
||||
(default 1))
|
||||
(interfaces wsdd-configuration-interfaces
|
||||
(default '()))
|
||||
(uuid-device wsdd-configuration-uuid-device
|
||||
(default #f))
|
||||
(domain wsdd-configuration-domain
|
||||
(default #f))
|
||||
(host-name wsdd-configuration-host-name
|
||||
(default #f))
|
||||
(preserve-case? wsdd-configuration-preserve-case?
|
||||
(default #f))
|
||||
(workgroup wsdd-configuration-workgroup
|
||||
(default "WORKGROUP")))
|
||||
|
||||
(define wsdd-accounts
|
||||
(list
|
||||
(user-group (name "wsdd"))
|
||||
(user-account (name "wsdd")
|
||||
(group "wsdd")
|
||||
(comment "Web Service Discovery user")
|
||||
(home-directory "/var/empty")
|
||||
(shell (file-append shadow "/sbin/nologin")))))
|
||||
|
||||
(define (wsdd-shepherd-service config)
|
||||
(match-record config <wsdd-configuration>
|
||||
(package ipv4only? ipv6only? chroot hop-limit interfaces uuid-device
|
||||
domain host-name preserve-case? workgroup)
|
||||
(list (shepherd-service
|
||||
(documentation "The Web Service Discovery daemon enables (Samba) hosts,
|
||||
like your local NAS device, to be found by Web Service Discovery Clients
|
||||
like Windows.")
|
||||
(provision '(wsdd))
|
||||
(requirement '(networking))
|
||||
(start #~(make-forkexec-constructor
|
||||
(list #$(file-append package "/bin/wsdd")
|
||||
#$@(if ipv4only?
|
||||
#~("--ipv4only")
|
||||
'())
|
||||
#$@(if ipv6only?
|
||||
#~("--ipv6only")
|
||||
'())
|
||||
#$@(if chroot
|
||||
#~("--chroot" #$chroot)
|
||||
'())
|
||||
#$@(if hop-limit
|
||||
#~("--hoplimit" #$(number->string hop-limit))
|
||||
'())
|
||||
#$@(map (lambda (interfaces)
|
||||
(string-append "--interface=" interfaces))
|
||||
interfaces)
|
||||
#$@(if uuid-device
|
||||
#~("--uuid" #$uuid-device)
|
||||
'())
|
||||
#$@(if domain
|
||||
#~("--domain" #$domain)
|
||||
'())
|
||||
#$@(if host-name
|
||||
#~("--hostname" #$host-name)
|
||||
'())
|
||||
#$@(if preserve-case?
|
||||
#~("--preserve-case")
|
||||
'())
|
||||
#$@(if workgroup
|
||||
#~("--workgroup" #$workgroup)
|
||||
'()))
|
||||
#:user "wsdd"
|
||||
#:group "wsdd"
|
||||
#:log-file "/var/log/wsdd.log"))
|
||||
(stop #~(make-kill-destructor))))))
|
||||
|
||||
(define wsdd-service-type
|
||||
(service-type
|
||||
(name 'wsdd)
|
||||
(description "Web Service Discovery Daemon")
|
||||
(extensions
|
||||
(list (service-extension shepherd-root-service-type
|
||||
wsdd-shepherd-service)
|
||||
(service-extension account-service-type
|
||||
(const wsdd-accounts))
|
||||
(service-extension profile-service-type
|
||||
(compose list wsdd-configuration-package))))
|
||||
(default-value (wsdd-configuration))))
|
@ -685,13 +685,11 @@ argument, either a registered username or the fingerprint of the account.")
|
||||
|
||||
;; Finally, return the PID of the daemon process.
|
||||
daemon-pid))
|
||||
(stop
|
||||
#~(lambda (pid . args)
|
||||
(kill pid SIGKILL)
|
||||
;; Wait for the process to exit; this prevents overlapping
|
||||
;; processes when issuing 'herd restart'.
|
||||
(waitpid pid)
|
||||
#f))))))))
|
||||
;; XXX: jamid takes some time to terminate, and GNU Shepherd
|
||||
;; doesn't block when calling waitpid (see:
|
||||
;; https://issues.guix.gnu.org/57922). Using SIGKILL instead
|
||||
;; of SIGTERM works around that.
|
||||
(stop #~(make-kill-destructor SIGKILL))))))))
|
||||
|
||||
(define jami-service-type
|
||||
(service-type
|
||||
|
@ -14,6 +14,7 @@
|
||||
;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
;;; Copyright © 2020, 2021 Alexandru-Sergiu Marton <brown121407@posteo.ro>
|
||||
;;; Copyright © 2022 Simen Endsjø <simendsjo@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -646,8 +647,12 @@ of index files."
|
||||
" server_name " (config-domain-strings server-name) ";\n"
|
||||
(and/l ssl-certificate " ssl_certificate " <> ";\n")
|
||||
(and/l ssl-certificate-key " ssl_certificate_key " <> ";\n")
|
||||
" root " root ";\n"
|
||||
" index " (config-index-strings index) ";\n"
|
||||
(if (not (equal? "" root))
|
||||
(list " root " root ";\n")
|
||||
"")
|
||||
(if (not (null? index))
|
||||
(list " index " (config-index-strings index) ";\n")
|
||||
"")
|
||||
(if (not (nil? try-files))
|
||||
(and/l (config-index-strings try-files) " try_files " <> ";\n")
|
||||
"")
|
||||
|
@ -434,7 +434,7 @@ TARGET in the other system."
|
||||
(define %pseudo-file-system-types
|
||||
;; List of know pseudo file system types. This is used when validating file
|
||||
;; system definitions.
|
||||
'("binfmt_misc" "cgroup" "debugfs" "devpts" "devtmpfs" "efivarfs" "fusectl"
|
||||
'("binfmt_misc" "cgroup" "cgroup2" "debugfs" "devpts" "devtmpfs" "efivarfs" "fusectl"
|
||||
"hugetlbfs" "overlay" "proc" "securityfs" "sysfs" "tmpfs"))
|
||||
|
||||
(define %fuse-control-file-system
|
||||
|
@ -3,6 +3,7 @@
|
||||
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2022 Pavel Shlyak <p.shlyak@pantherx.org>
|
||||
;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
||||
;;; Copyright © 2022 Alex Griffin <a@ajgrf.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -32,17 +33,20 @@
|
||||
#:use-module ((guix self) #:select (make-config.scm))
|
||||
#:use-module (gnu bootloader)
|
||||
#:use-module (gnu bootloader grub)
|
||||
#:use-module (gnu compression)
|
||||
#:use-module (gnu image)
|
||||
#:use-module (guix platform)
|
||||
#:use-module (gnu services)
|
||||
#:use-module (gnu services base)
|
||||
#:use-module (gnu system)
|
||||
#:use-module (gnu system accounts)
|
||||
#:use-module (gnu system file-systems)
|
||||
#:use-module (gnu system linux-container)
|
||||
#:use-module (gnu system uuid)
|
||||
#:use-module (gnu system vm)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages bootloaders)
|
||||
#:use-module (gnu packages cdrom)
|
||||
#:use-module (gnu packages compression)
|
||||
@ -65,6 +69,7 @@
|
||||
#:use-module (ice-9 match)
|
||||
#:export (root-offset
|
||||
root-label
|
||||
image-without-os
|
||||
|
||||
esp-partition
|
||||
esp32-partition
|
||||
@ -73,6 +78,8 @@
|
||||
efi-disk-image
|
||||
iso9660-image
|
||||
docker-image
|
||||
tarball-image
|
||||
wsl2-image
|
||||
raw-with-offset-disk-image
|
||||
|
||||
image-with-os
|
||||
@ -82,6 +89,8 @@
|
||||
iso-image-type
|
||||
uncompressed-iso-image-type
|
||||
docker-image-type
|
||||
tarball-image-type
|
||||
wsl2-image-type
|
||||
raw-with-offset-image-type
|
||||
|
||||
image-with-label
|
||||
@ -102,6 +111,12 @@
|
||||
;; Generic root partition label.
|
||||
(define root-label "Guix_image")
|
||||
|
||||
(define-syntax-rule (image-without-os . fields)
|
||||
"Return an image record with the mandatory operating-system field set to
|
||||
#false. This is useful when creating an image record that will serve as a
|
||||
parent image record."
|
||||
(image (operating-system #false) . fields))
|
||||
|
||||
(define esp-partition
|
||||
(partition
|
||||
(size (* 40 (expt 2 20)))
|
||||
@ -127,17 +142,17 @@
|
||||
(initializer (gexp initialize-root-partition))))
|
||||
|
||||
(define efi-disk-image
|
||||
(image
|
||||
(image-without-os
|
||||
(format 'disk-image)
|
||||
(partitions (list esp-partition root-partition))))
|
||||
|
||||
(define efi32-disk-image
|
||||
(image
|
||||
(image-without-os
|
||||
(format 'disk-image)
|
||||
(partitions (list esp32-partition root-partition))))
|
||||
|
||||
(define iso9660-image
|
||||
(image
|
||||
(image-without-os
|
||||
(format 'iso9660)
|
||||
(partitions
|
||||
(list (partition
|
||||
@ -146,11 +161,19 @@
|
||||
(flags '(boot)))))))
|
||||
|
||||
(define docker-image
|
||||
(image
|
||||
(image-without-os
|
||||
(format 'docker)))
|
||||
|
||||
(define tarball-image
|
||||
(image-without-os
|
||||
(format 'tarball)))
|
||||
|
||||
(define wsl2-image
|
||||
(image-without-os
|
||||
(format 'wsl2)))
|
||||
|
||||
(define* (raw-with-offset-disk-image #:optional (offset root-offset))
|
||||
(image
|
||||
(image-without-os
|
||||
(format 'disk-image)
|
||||
(partitions
|
||||
(list (partition
|
||||
@ -211,6 +234,16 @@ set to the given OS."
|
||||
(name 'docker)
|
||||
(constructor (cut image-with-os docker-image <>))))
|
||||
|
||||
(define tarball-image-type
|
||||
(image-type
|
||||
(name 'tarball)
|
||||
(constructor (cut image-with-os tarball-image <>))))
|
||||
|
||||
(define wsl2-image-type
|
||||
(image-type
|
||||
(name 'wsl2)
|
||||
(constructor (cut image-with-os wsl2-image <>))))
|
||||
|
||||
(define raw-with-offset-image-type
|
||||
(image-type
|
||||
(name 'raw-with-offset)
|
||||
@ -681,6 +714,88 @@ output file."
|
||||
#:options `(#:references-graphs ((,graph ,os))
|
||||
#:substitutable? ,substitutable?))))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Tarball image.
|
||||
;;;
|
||||
|
||||
;; TODO: Some bits can be factorized with (guix scripts pack).
|
||||
(define* (system-tarball-image image
|
||||
#:key
|
||||
(name "image")
|
||||
(compressor (srfi-1:first %compressors))
|
||||
(wsl? #f))
|
||||
"Build a tarball of IMAGE. NAME is the base name to use for the
|
||||
output file."
|
||||
(let* ((os (image-operating-system image))
|
||||
(substitutable? (image-substitutable? image))
|
||||
(schema (local-file (search-path %load-path
|
||||
"guix/store/schema.sql")))
|
||||
(name (string-append name ".tar" (compressor-extension compressor)))
|
||||
(graph "system-graph")
|
||||
(root (srfi-1:find (lambda (user)
|
||||
(and=> (user-account-uid user) zero?))
|
||||
(operating-system-users os)))
|
||||
(root-shell (or (and=> root user-account-shell)
|
||||
(file-append bash "/bin/bash"))))
|
||||
(define builder
|
||||
(with-extensions gcrypt-sqlite3&co ;for (guix store database)
|
||||
(with-imported-modules `(,@(source-module-closure
|
||||
'((guix build pack)
|
||||
(guix build store-copy)
|
||||
(guix build utils)
|
||||
(guix store database)
|
||||
(gnu build image))
|
||||
#:select? not-config?)
|
||||
((guix config) => ,(make-config.scm)))
|
||||
#~(begin
|
||||
(use-modules (guix build pack)
|
||||
(guix build store-copy)
|
||||
(guix build utils)
|
||||
(guix store database)
|
||||
(gnu build image))
|
||||
|
||||
;; Set the SQL schema location.
|
||||
(sql-schema #$schema)
|
||||
|
||||
;; Allow non-ASCII file names--e.g., 'nss-certs'--to be decoded.
|
||||
(setenv "GUIX_LOCPATH"
|
||||
#+(file-append glibc-utf8-locales "/lib/locale"))
|
||||
(setlocale LC_ALL "en_US.utf8")
|
||||
|
||||
(let ((image-root (string-append (getcwd) "/tmp-root"))
|
||||
(tar #+(file-append tar "/bin/tar")))
|
||||
|
||||
(mkdir-p image-root)
|
||||
(initialize-root-partition image-root
|
||||
#:references-graphs '(#$graph)
|
||||
#:deduplicate? #f
|
||||
#:system-directory #$os)
|
||||
|
||||
(with-directory-excursion image-root
|
||||
#$@(if wsl?
|
||||
#~(;; WSL requires /bin/sh. Will be overwritten by
|
||||
;; system activation.
|
||||
(symlink #$root-shell "./bin/sh")
|
||||
|
||||
;; WSL requires /bin/mount to access the host fs.
|
||||
(symlink #$(file-append util-linux "/bin/mount")
|
||||
"./bin/mount"))
|
||||
#~())
|
||||
|
||||
(apply invoke tar "-cvf" #$output "."
|
||||
(tar-base-options
|
||||
#:tar tar
|
||||
#:compressor
|
||||
#+(and=> compressor compressor-command)))))))))
|
||||
|
||||
(computed-file name builder
|
||||
;; Allow offloading so that this I/O-intensive process
|
||||
;; doesn't run on the build farm's head node.
|
||||
#:local-build? #f
|
||||
#:options `(#:references-graphs ((,graph ,os))
|
||||
#:substitutable? ,substitutable?))))
|
||||
|
||||
|
||||
;;
|
||||
;; Image creation.
|
||||
@ -690,7 +805,7 @@ output file."
|
||||
"Return the IMAGE root partition file-system type."
|
||||
(case (image-format image)
|
||||
((iso9660) "iso9660")
|
||||
((docker) "dummy")
|
||||
((docker tarball wsl2) "dummy")
|
||||
(else
|
||||
(partition-file-system (find-root-partition image)))))
|
||||
|
||||
@ -827,6 +942,10 @@ image, depending on IMAGE format."
|
||||
("bootcfg" ,bootcfg))))
|
||||
((memq image-format '(docker))
|
||||
(system-docker-image image*))
|
||||
((memq image-format '(tarball))
|
||||
(system-tarball-image image*))
|
||||
((memq image-format '(wsl2))
|
||||
(system-tarball-image image* #:wsl? #t))
|
||||
((memq image-format '(iso9660))
|
||||
(system-iso9660-image
|
||||
image*
|
||||
|
@ -74,9 +74,9 @@
|
||||
#:wal-mode? #f)))))
|
||||
|
||||
(define hurd-disk-image
|
||||
(image
|
||||
(image-without-os
|
||||
(format 'disk-image)
|
||||
(platform hurd)
|
||||
(platform i586-gnu)
|
||||
(partitions
|
||||
(list (partition
|
||||
(size 'guess)
|
||||
@ -104,14 +104,14 @@
|
||||
(define hurd-barebones-disk-image
|
||||
(image
|
||||
(inherit
|
||||
(os+platform->image hurd-barebones-os hurd
|
||||
(os+platform->image hurd-barebones-os i586-gnu
|
||||
#:type hurd-image-type))
|
||||
(name 'hurd-barebones-disk-image)))
|
||||
|
||||
(define hurd-barebones-qcow2-image
|
||||
(image
|
||||
(inherit
|
||||
(os+platform->image hurd-barebones-os hurd
|
||||
(os+platform->image hurd-barebones-os i586-gnu
|
||||
#:type hurd-qcow2-image-type))
|
||||
(name 'hurd-barebones.qcow2)))
|
||||
|
||||
|
170
gnu/system/images/wsl2.scm
Normal file
170
gnu/system/images/wsl2.scm
Normal file
@ -0,0 +1,170 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2022 Alex Griffin <a@ajgrf.com>
|
||||
;;; Copyright © 2022 Mathieu Othacehe <othacehe@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
||||
;;; under the terms of the GNU General Public License as published by
|
||||
;;; the Free Software Foundation; either version 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix is distributed in the hope that it will be useful, but
|
||||
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;;; GNU General Public License for more details.
|
||||
;;;
|
||||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu system images wsl2)
|
||||
#:use-module (gnu bootloader)
|
||||
#:use-module (gnu image)
|
||||
#:use-module (gnu packages admin)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu services)
|
||||
#:use-module (gnu services base)
|
||||
#:use-module (gnu system)
|
||||
#:use-module (gnu system image)
|
||||
#:use-module (gnu system shadow)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:export (wsl-boot-program
|
||||
wsl-os
|
||||
wsl2-image))
|
||||
|
||||
(define (wsl-boot-program user)
|
||||
"Program that runs the system boot script, then starts a login shell as
|
||||
USER."
|
||||
(program-file
|
||||
"wsl-boot-program"
|
||||
(with-imported-modules '((guix build syscalls))
|
||||
#~(begin
|
||||
(use-modules (guix build syscalls))
|
||||
(unless (file-exists? "/run/current-system")
|
||||
(let ((shepherd-socket "/var/run/shepherd/socket"))
|
||||
;; Clean up this file so we can wait for it later.
|
||||
(when (file-exists? shepherd-socket)
|
||||
(delete-file shepherd-socket))
|
||||
|
||||
;; Child process boots the system and is replaced by shepherd.
|
||||
(when (zero? (primitive-fork))
|
||||
(let* ((system-generation
|
||||
(readlink "/var/guix/profiles/system"))
|
||||
(system (readlink
|
||||
(string-append
|
||||
(if (absolute-file-name? system-generation)
|
||||
""
|
||||
"/var/guix/profiles/")
|
||||
system-generation))))
|
||||
(setenv "GUIX_NEW_SYSTEM" system)
|
||||
(execl #$(file-append guile-3.0 "/bin/guile")
|
||||
"guile"
|
||||
"--no-auto-compile"
|
||||
(string-append system "/boot"))))
|
||||
|
||||
;; Parent process waits for shepherd before continuing.
|
||||
(while (not (file-exists? shepherd-socket))
|
||||
(sleep 1))))
|
||||
|
||||
(let* ((pw (getpw #$user))
|
||||
(shell (passwd:shell pw))
|
||||
(sudo #+(file-append sudo "/bin/sudo"))
|
||||
(args (cdr (command-line))))
|
||||
;; Save the value of $PATH set by WSL. Useful for finding
|
||||
;; Windows binaries to run with WSL's binfmt interop.
|
||||
(setenv "WSLPATH" (getenv "PATH"))
|
||||
|
||||
;; /run is mounted with the nosuid flag by WSL. This prevents
|
||||
;; running the /run/setuid-programs. Remount it without this flag
|
||||
;; as a workaround. See:
|
||||
;; https://github.com/microsoft/WSL/issues/8716.
|
||||
(mount #f "/run" #f
|
||||
MS_REMOUNT
|
||||
#:update-mtab? #f)
|
||||
|
||||
;; Start login shell as user.
|
||||
(apply execl sudo "sudo"
|
||||
"--preserve-env=WSLPATH"
|
||||
"-u" #$user
|
||||
"--"
|
||||
shell "-l" args))))))
|
||||
|
||||
(define dummy-package
|
||||
(package
|
||||
(name "dummy")
|
||||
(version "0")
|
||||
(source #f)
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build utils))
|
||||
#:target #f
|
||||
#:builder (begin
|
||||
(use-modules (guix build utils))
|
||||
(let* ((out (assoc-ref %outputs "out"))
|
||||
(dummy (string-append out "/dummy")))
|
||||
(mkdir-p out)
|
||||
(call-with-output-file dummy
|
||||
(const #t))))))
|
||||
(home-page #f)
|
||||
(synopsis #f)
|
||||
(description #f)
|
||||
(license #f)))
|
||||
|
||||
(define dummy-bootloader
|
||||
(bootloader
|
||||
(name 'dummy-bootloader)
|
||||
(package dummy-package)
|
||||
(configuration-file "/dev/null")
|
||||
(configuration-file-generator
|
||||
(lambda (. _rest)
|
||||
(plain-file "dummy-bootloader" "")))
|
||||
(installer #~(const #t))))
|
||||
|
||||
(define dummy-kernel dummy-package)
|
||||
|
||||
(define (dummy-initrd . _rest)
|
||||
(plain-file "dummy-initrd" ""))
|
||||
|
||||
(define-public wsl-os
|
||||
(operating-system
|
||||
(host-name "gnu")
|
||||
(timezone "Etc/UTC")
|
||||
(bootloader
|
||||
(bootloader-configuration
|
||||
(bootloader dummy-bootloader)))
|
||||
(kernel dummy-kernel)
|
||||
(initrd dummy-initrd)
|
||||
(initrd-modules '())
|
||||
(firmware '())
|
||||
(file-systems '())
|
||||
(users (cons* (user-account
|
||||
(name "guest")
|
||||
(group "users")
|
||||
(supplementary-groups '("wheel")) ; allow use of sudo
|
||||
(password "")
|
||||
(comment "Guest of GNU"))
|
||||
(user-account
|
||||
(inherit %root-account)
|
||||
(shell (wsl-boot-program "guest")))
|
||||
%base-user-accounts))
|
||||
(services
|
||||
(list
|
||||
(service guix-service-type)
|
||||
(service special-files-service-type
|
||||
`(("/bin/sh" ,(file-append bash "/bin/bash"))
|
||||
("/bin/mount" ,(file-append util-linux "/bin/mount"))
|
||||
("/usr/bin/env" ,(file-append coreutils "/bin/env"))))))))
|
||||
|
||||
(define wsl2-image
|
||||
(image
|
||||
(inherit
|
||||
(os->image wsl-os
|
||||
#:type wsl2-image-type))
|
||||
(name 'wsl2-image)))
|
||||
|
||||
wsl2-image
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user