Merge branch 'master' into emacs-team

This commit is contained in:
Liliana Marie Prikler 2024-03-02 08:07:11 +01:00
commit 3d4fc910f7
No known key found for this signature in database
GPG key ID: 442A84B8C70E2F87
312 changed files with 156029 additions and 142193 deletions

View file

@ -140,6 +140,7 @@ MODULES = \
guix/platforms/arm.scm \ guix/platforms/arm.scm \
guix/platforms/avr.scm \ guix/platforms/avr.scm \
guix/platforms/mips.scm \ guix/platforms/mips.scm \
guix/platforms/or1k.scm \
guix/platforms/powerpc.scm \ guix/platforms/powerpc.scm \
guix/platforms/riscv.scm \ guix/platforms/riscv.scm \
guix/platforms/x86.scm \ guix/platforms/x86.scm \
@ -453,9 +454,6 @@ AUX_FILES = \
gnu/packages/aux-files/linux-libre/4.19-arm64.conf \ gnu/packages/aux-files/linux-libre/4.19-arm64.conf \
gnu/packages/aux-files/linux-libre/4.19-i686.conf \ gnu/packages/aux-files/linux-libre/4.19-i686.conf \
gnu/packages/aux-files/linux-libre/4.19-x86_64.conf \ gnu/packages/aux-files/linux-libre/4.19-x86_64.conf \
gnu/packages/aux-files/linux-libre/4.14-arm.conf \
gnu/packages/aux-files/linux-libre/4.14-i686.conf \
gnu/packages/aux-files/linux-libre/4.14-x86_64.conf \
gnu/packages/aux-files/pack-audit.c \ gnu/packages/aux-files/pack-audit.c \
gnu/packages/aux-files/python/sanity-check.py \ gnu/packages/aux-files/python/sanity-check.py \
gnu/packages/aux-files/python/sitecustomize.py \ gnu/packages/aux-files/python/sitecustomize.py \

View file

@ -2111,9 +2111,15 @@ they are ready to become a committer. Commit access should not be
thought of as a ``badge of honor'' but rather as a responsibility a thought of as a ``badge of honor'' but rather as a responsibility a
contributor is willing to take to help the project. It is expected from contributor is willing to take to help the project. It is expected from
all contributors, and even more so from committers, to help build all contributors, and even more so from committers, to help build
consensus and make decisions based on consensus. To learn what consensus and make decisions based on consensus. By using consensus, we
consensus decision making means and understand its finer details, you are committed to finding solutions that everyone can live with. It
are encouraged to read implies that no decision is made against significant concerns and these
concerns are actively resolved with proposals that work for everyone. A
contributor (which may or may not have commit access) wishing to block a
proposal bears a special responsibility for finding alternatives,
proposing ideas/code or explain the rationale for the status quo to
resolve the deadlock. To learn what consensus decision making means and
understand its finer details, you are encouraged to read
@url{https://www.seedsforchange.org.uk/consensus}. @url{https://www.seedsforchange.org.uk/consensus}.
The following sections explain how to get commit access, how to be ready The following sections explain how to get commit access, how to be ready
@ -2328,7 +2334,7 @@ Perhaps the biggest action you can do to help GNU Guix grow as a project
is to review the work contributed by others. You do not need to be a is to review the work contributed by others. You do not need to be a
committer to do so; applying, reading the source, building, linting and committer to do so; applying, reading the source, building, linting and
running other people's series and sharing your comments about your running other people's series and sharing your comments about your
experience will give some confidence to committers. Basically, you gmust experience will give some confidence to committers. Basically, you must
ensure the check list found in the @ref{Submitting Patches} section has ensure the check list found in the @ref{Submitting Patches} section has
been correctly followed. A reviewed patch series should give the best been correctly followed. A reviewed patch series should give the best
chances for the proposed change to be merged faster, so if a change you chances for the proposed change to be merged faster, so if a change you

View file

@ -22,7 +22,7 @@
@set SUBSTITUTE-URLS https://@value{SUBSTITUTE-SERVER-1} https://@value{SUBSTITUTE-SERVER-2} @set SUBSTITUTE-URLS https://@value{SUBSTITUTE-SERVER-1} https://@value{SUBSTITUTE-SERVER-2}
@copying @copying
Copyright @copyright{} 2012-2023 Ludovic Courtès@* Copyright @copyright{} 2012-2024 Ludovic Courtès@*
Copyright @copyright{} 2013, 2014, 2016 Andreas Enge@* Copyright @copyright{} 2013, 2014, 2016 Andreas Enge@*
Copyright @copyright{} 2013 Nikita Karetnikov@* Copyright @copyright{} 2013 Nikita Karetnikov@*
Copyright @copyright{} 2014, 2015, 2016 Alex Kost@* Copyright @copyright{} 2014, 2015, 2016 Alex Kost@*
@ -43,7 +43,7 @@ Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Christopher Baines@*
Copyright @copyright{} 2017, 2018, 2019 Clément Lassieur@* Copyright @copyright{} 2017, 2018, 2019 Clément Lassieur@*
Copyright @copyright{} 2017, 2018, 2020, 2021, 2022 Mathieu Othacehe@* Copyright @copyright{} 2017, 2018, 2020, 2021, 2022 Mathieu Othacehe@*
Copyright @copyright{} 2017 Federico Beffa@* Copyright @copyright{} 2017 Federico Beffa@*
Copyright @copyright{} 2017, 2018 Carlo Zancanaro@* Copyright @copyright{} 2017, 2018, 2024 Carlo Zancanaro@*
Copyright @copyright{} 2017 Thomas Danckaert@* Copyright @copyright{} 2017 Thomas Danckaert@*
Copyright @copyright{} 2017 humanitiesNerd@* Copyright @copyright{} 2017 humanitiesNerd@*
Copyright @copyright{} 2017, 2021 Christine Lemmer-Webber@* Copyright @copyright{} 2017, 2021 Christine Lemmer-Webber@*
@ -124,6 +124,7 @@ Copyright @copyright{} 2023 Thomas Ieong@*
Copyright @copyright{} 2023 Saku Laesvuori@* Copyright @copyright{} 2023 Saku Laesvuori@*
Copyright @copyright{} 2023 Graham James Addis@* Copyright @copyright{} 2023 Graham James Addis@*
Copyright @copyright{} 2023 Tomas Volf@* Copyright @copyright{} 2023 Tomas Volf@*
Copyright @copyright{} 2024 Herman Rimm@*
Permission is granted to copy, distribute and/or modify this document Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or under the terms of the GNU Free Documentation License, Version 1.3 or
@ -732,14 +733,17 @@ ready to use it.
@cindex installing Guix from binaries @cindex installing Guix from binaries
@cindex installer script @cindex installer script
This section describes how to install Guix on an arbitrary system from a This section describes how to install Guix from a self-contained tarball
self-contained tarball providing binaries for Guix and for all its providing binaries for Guix and for all its dependencies. This is often
dependencies. This is often quicker than installing from source, which quicker than installing from source, which is described in the next
is described in the next sections. The only requirement is to have sections. Binary installation requires a system using a Hurd or Linux
GNU@tie{}tar and Xz. kernel; the GNU@tie{}tar and Xz commands must also be available.
@quotation Important
This section only applies to systems without Guix. Following it for
existing Guix installations will overwrite important system files.
@c Note duplicated from the ``Installation'' node. @c Note duplicated from the ``Installation'' node.
@quotation Note
We recommend the use of this We recommend the use of this
@uref{https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh, @uref{https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh,
shell installer script}. The script automates the download, installation, and shell installer script}. The script automates the download, installation, and
@ -1297,6 +1301,11 @@ environment variable is set to the non-existent
@file{/homeless-shelter}. This helps to highlight inappropriate uses of @file{/homeless-shelter}. This helps to highlight inappropriate uses of
@env{HOME} in the build scripts of packages. @env{HOME} in the build scripts of packages.
All this usually enough to ensure details of the environment do not
influence build processes. In some exceptional cases where more control
is needed---typically over the date, kernel, or CPU---you can resort to
a virtual build machine (@pxref{build-vm, virtual build machines}).
You can influence the directory where the daemon stores build trees You can influence the directory where the daemon stores build trees
@i{via} the @env{TMPDIR} environment variable. However, the build tree @i{via} the @env{TMPDIR} environment variable. However, the build tree
within the chroot is always called @file{/tmp/guix-build-@var{name}.drv-0}, within the chroot is always called @file{/tmp/guix-build-@var{name}.drv-0},
@ -9850,7 +9859,7 @@ MbedTLS package:
(("generate_wrapper_header.*") (("generate_wrapper_header.*")
(string-append (string-append
"generate_wrapper_header(\"MbedTLS\", \"" "generate_wrapper_header(\"MbedTLS\", \""
(assoc-ref inputs "mbedtls-apache") "\")\n")))) (assoc-ref inputs "mbedtls") "\")\n"))))
;; There's a Julia file for each platform, override them all. ;; There's a Julia file for each platform, override them all.
(find-files "src/wrappers/" "\\.jl$")))) (find-files "src/wrappers/" "\\.jl$"))))
@end lisp @end lisp
@ -14021,6 +14030,9 @@ the certificates of X.509 authorities from the directory pointed to by
the @env{SSL_CERT_DIR} environment variable (@pxref{X.509 the @env{SSL_CERT_DIR} environment variable (@pxref{X.509
Certificates}), unless @option{--no-check-certificate} is used. Certificates}), unless @option{--no-check-certificate} is used.
Alternatively, @command{guix download} can also retrieve a Git
repository, possibly a specific commit, tag, or branch.
The following options are available: The following options are available:
@table @code @table @code
@ -14045,6 +14057,26 @@ URL, which makes you vulnerable to ``man-in-the-middle'' attacks.
@itemx -o @var{file} @itemx -o @var{file}
Save the downloaded file to @var{file} instead of adding it to the Save the downloaded file to @var{file} instead of adding it to the
store. store.
@item --git
@itemx -g
Checkout the Git repository at the latest commit on the default branch.
@item --commit=@var{commit-or-tag}
Checkout the Git repository at @var{commit-or-tag}.
@var{commit-or-tag} can be either a tag or a commit defined in the Git
repository.
@item --branch=@var{branch}
Checkout the Git repository at @var{branch}.
The repository will be checked out at the latest commit of @var{branch},
which must be a valid branch of the Git repository.
@item --recursive
@itemx -r
Recursively clone the Git repository.
@end table @end table
@node Invoking guix hash @node Invoking guix hash
@ -14155,12 +14187,21 @@ is a package definition, or a template thereof, in the format we know
The general syntax is: The general syntax is:
@example @example
guix import @var{importer} @var{options}@dots{} guix import [@var{global-options}@dots{}] @var{importer} @var{package} [@var{options}@dots{}]
@end example @end example
@var{importer} specifies the source from which to import package @var{importer} specifies the source from which to import package
metadata, and @var{options} specifies a package identifier and other metadata, and @var{options} specifies a package identifier and other
options specific to @var{importer}. options specific to @var{importer}. @command{guix import} itself has the
following @var{global-options}:
@table @code
@item --insert=@var{file}
@itemx -i @var{file}
Insert the package definition(s) that the @var{importer} generated into the
specified @var{file}, either in alphabetical order among existing package
definitions, or at the end of the file otherwise.
@end table
Some of the importers rely on the ability to run the @command{gpgv} command. Some of the importers rely on the ability to run the @command{gpgv} command.
For these, GnuPG must be installed and in @code{$PATH}; run @code{guix install For these, GnuPG must be installed and in @code{$PATH}; run @code{guix install
@ -14311,7 +14352,7 @@ statistical and graphical environment}.
Information is extracted from the @file{DESCRIPTION} file of the package. Information is extracted from the @file{DESCRIPTION} file of the package.
The command command below imports metadata for the Cairo R package: The command below imports metadata for the Cairo R package:
@example @example
guix import cran Cairo guix import cran Cairo
@ -14371,10 +14412,10 @@ Information about the package is obtained from the TeX Live package
database, a plain text file that is included in the database, a plain text file that is included in the
@code{texlive-scripts} package. The source code is downloaded from @code{texlive-scripts} package. The source code is downloaded from
possibly multiple locations in the SVN repository of the Tex Live possibly multiple locations in the SVN repository of the Tex Live
project. project. Note that therefore SVN must be installed and in @code{$PATH};
run @code{guix install subversion} if needed.
The command command below imports metadata for the @code{fontspec} The command below imports metadata for the @code{fontspec} TeX package:
TeX package:
@example @example
guix import texlive fontspec guix import texlive fontspec
@ -16721,6 +16762,20 @@ guix package}).
This option can be repeated several times, in which case the manifests This option can be repeated several times, in which case the manifests
are concatenated. are concatenated.
@item --expression=@var{expr}
@itemx -e @var{expr}
Consider the package @var{expr} evaluates to.
A typical use case for this option is specifying a package that is
hidden and thus cannot be referred to in the usual way, as in this
example:
@example
guix weather -e '(@@@@ (gnu packages rust) rust-bootstrap)'
@end example
This option can be repeated.
@item --coverage[=@var{count}] @item --coverage[=@var{count}]
@itemx -c [@var{count}] @itemx -c [@var{count}]
Report on substitute coverage for packages: list packages with at least Report on substitute coverage for packages: list packages with at least
@ -16903,6 +16958,7 @@ The available targets are:
- i686-linux-gnu - i686-linux-gnu
- i686-w64-mingw32 - i686-w64-mingw32
- mips64el-linux-gnu - mips64el-linux-gnu
- or1k-elf
- powerpc-linux-gnu - powerpc-linux-gnu
- powerpc64le-linux-gnu - powerpc64le-linux-gnu
- riscv64-linux-gnu - riscv64-linux-gnu
@ -20948,9 +21004,214 @@ networks.
@item @code{disable-vpn?} (default: @code{#f}) @item @code{disable-vpn?} (default: @code{#f})
When true, disable connman's vpn plugin. When true, disable connman's vpn plugin.
@item @code{general-configuration} (default: @code{(connman-general-configuration)})
Configuration serialized to @file{main.conf} and passed as @option{--config}
to @command{connmand}.
@end table @end table
@end deftp @end deftp
@c %start of fragment
@deftp {Data Type} connman-general-configuration
Available @code{connman-general-configuration} fields are:
@table @asis
@item @code{input-request-timeout} (type: maybe-number)
Set input request timeout. Default is 120 seconds. The request for
inputs like passphrase will timeout after certain amount of time. Use
this setting to increase the value in case of different user interface
designs.
@item @code{browser-launch-timeout} (type: maybe-number)
Set browser launch timeout. Default is 300 seconds. The request for
launching a browser for portal pages will timeout after certain amount
of time. Use this setting to increase the value in case of different
user interface designs.
@item @code{background-scanning?} (type: maybe-boolean)
Enable background scanning. Default is true. If wifi is disconnected,
the background scanning will follow a simple back off mechanism from 3s
up to 5 minutes. Then, it will stay in 5 minutes unless user
specifically asks for scanning through a D-Bus call. If so, the
mechanism will start again from 3s. This feature activates also the
background scanning while being connected, which is required for roaming
on wifi. When @code{background-scanning?} is false, ConnMan will not
perform any scan regardless of wifi is connected or not, unless it is
requested by the user through a D-Bus call.
@item @code{use-gateways-as-timeservers?} (type: maybe-boolean)
Assume that service gateways also function as timeservers. Default is
false.
@item @code{fallback-timeservers} (type: maybe-list)
List of Fallback timeservers. These timeservers are used for NTP sync
when there are no timeservers set by the user or by the service, and
when @code{use-gateways-as-timeservers?} is @code{#f}. These can
contain a mixed combination of fully qualified domain names, IPv4 and
IPv6 addresses.
@item @code{fallback-nameservers} (type: maybe-list)
List of fallback nameservers appended to the list of nameservers given
by the service. The nameserver entries must be in numeric format, host
names are ignored.
@item @code{default-auto-connect-technologies} (type: maybe-list)
List of technologies that are marked autoconnectable by default. The
default value for this entry when empty is @code{"ethernet"},
@code{"wifi"}, @code{"cellular"}. Services that are automatically
connected must have been set up and saved to storage beforehand.
@item @code{default-favourite-technologies} (type: maybe-list)
List of technologies that are marked favorite by default. The default
value for this entry when empty is @code{"ethernet"}. Connects to
services from this technology even if not setup and saved to storage.
@item @code{always-connected-technologies} (type: maybe-list)
List of technologies which are always connected regardless of
preferred-technologies setting (@code{auto-connect?} @code{#t}). The
default value is empty and this feature is disabled unless explicitly
enabled.
@item @code{preferred-technologies} (type: maybe-list)
List of preferred technologies from the most preferred one to the least
preferred one. Services of the listed technology type will be tried one
by one in the order given, until one of them gets connected or they are
all tried. A service of a preferred technology type in state 'ready'
will get the default route when compared to another preferred type
further down the list with state 'ready' or with a non-preferred type; a
service of a preferred technology type in state 'online' will get the
default route when compared to either a non-preferred type or a
preferred type further down in the list.
@item @code{network-interface-blacklist} (type: maybe-list)
List of blacklisted network interfaces. Found interfaces will be
compared to the list and will not be handled by ConnMan, if their first
characters match any of the list entries. Default value is
@code{"vmnet"}, @code{"vboxnet"}, @code{"virbr"}, @code{"ifb"}.
@item @code{allow-hostname-updates?} (type: maybe-boolean)
Allow ConnMan to change the system hostname. This can happen for
example if we receive DHCP hostname option. Default value is @code{#t}.
@item @code{allow-domainname-updates?} (type: maybe-boolean)
Allow connman to change the system domainname. This can happen for
example if we receive DHCP domainname option. Default value is
@code{#t}.
@item @code{single-connected-technology?} (type: maybe-boolean)
Keep only a single connected technology at any time. When a new service
is connected by the user or a better one is found according to
preferred-technologies, the new service is kept connected and all the
other previously connected services are disconnected. With this setting
it does not matter whether the previously connected services are in
'online' or 'ready' states, the newly connected service is the only one
that will be kept connected. A service connected by the user will be
used until going out of network coverage. With this setting enabled
applications will notice more network breaks than normal. Note this
options can't be used with VPNs. Default value is @code{#f}.
@item @code{tethering-technologies} (type: maybe-list)
List of technologies that are allowed to enable tethering. The default
value is @code{"wifi"}, @code{"bluetooth"}, @code{"gadget"}. Only those
technologies listed here are used for tethering. If one wants to tether
ethernet, then add @code{"ethernet"} in the list. Note that if ethernet
tethering is enabled, then a DHCP server is started on all ethernet
interfaces. Tethered ethernet should never be connected to corporate or
home network as it will disrupt normal operation of these networks. Due
to this ethernet is not tethered by default. Do not activate ethernet
tethering unless you really know what you are doing.
@item @code{persistent-tethering-mode?} (type: maybe-boolean)
Restore earlier tethering status when returning from offline mode,
re-enabling a technology, and after restarts and reboots. Default value
is @code{#f}.
@item @code{enable-6to4?} (type: maybe-boolean)
Automatically enable anycast 6to4 if possible. This is not recommended,
as the use of 6to4 will generally lead to a severe degradation of
connection quality. See RFC6343. Default value is @code{#f} (as
recommended by RFC6343 section 4.1).
@item @code{vendor-class-id} (type: maybe-string)
Set DHCP option 60 (Vendor Class ID) to the given string. This option
can be used by DHCP servers to identify specific clients without having
to rely on MAC address ranges, etc.
@item @code{enable-online-check?} (type: maybe-boolean)
Enable or disable use of HTTP GET as an online status check. When a
service is in a READY state, and is selected as default, ConnMan will
issue an HTTP GET request to verify that end-to-end connectivity is
successful. Only then the service will be transitioned to ONLINE state.
If this setting is false, the default service will remain in READY
state. Default value is @code{#t}.
@item @code{online-check-ipv4-url} (type: maybe-string)
IPv4 URL used during the online status check. Please refer to the
README for more detailed information. Default value is
@uref{http://ipv4.connman.net/online/status.html}.
@item @code{online-check-ipv6-url} (type: maybe-string)
IPv6 URL used during the online status check. Please refer to the
README for more detailed information. Default value is
@uref{http://ipv6.connman.net/online/status.html}.
@item @code{online-check-initial-interval} (type: maybe-number)
Range of intervals between two online check requests. Please refer to
the README for more detailed information. Default value is @samp{1}.
@item @code{online-check-max-interval} (type: maybe-number)
Range of intervals between two online check requests. Please refer to
the README for more detailed information. Default value is @samp{1}.
@item @code{enable-online-to-ready-transition?} (type: maybe-boolean)
WARNING: This is an experimental feature. In addition to
@code{enable-online-check} setting, enable or disable use of HTTP GET to
detect the loss of end-to-end connectivity. If this setting is
@code{#f}, when the default service transitions to ONLINE state, the
HTTP GET request is no more called until next cycle, initiated by a
transition of the default service to DISCONNECT state. If this setting
is @code{#t}, the HTTP GET request keeps being called to guarantee that
end-to-end connectivity is still successful. If not, the default
service will transition to READY state, enabling another service to
become the default one, in replacement. Default value is @code{#f}.
@item @code{auto-connect-roaming-services?} (type: maybe-boolean)
Automatically connect roaming services. This is not recommended unless
you know you won't have any billing problem. Default value is
@code{#f}.
@item @code{address-conflict-detection?} (type: maybe-boolean)
Enable or disable the implementation of IPv4 address conflict detection
according to RFC5227. ConnMan will send probe ARP packets to see if an
IPv4 address is already in use before assigning the address to an
interface. If an address conflict occurs for a statically configured
address, an IPv4LL address will be chosen instead (according to
RFC3927). If an address conflict occurs for an address offered via
DHCP, ConnMan sends a DHCP DECLINE once and for the second conflict
resorts to finding an IPv4LL address. Default value is @code{#f}.
@item @code{localtime} (type: maybe-string)
Path to localtime file. Defaults to @file{/etc/localtime}.
@item @code{regulatory-domain-follows-timezone?} (type: maybe-boolean)
Enable regulatory domain to be changed along timezone changes. With
this option set to true each time the timezone changes the first present
ISO3166 country code is read from
@file{/usr/share/zoneinfo/zone1970.tab} and set as regulatory domain
value. Default value is @code{#f}.
@item @code{resolv-conf} (type: maybe-string)
Path to resolv.conf file. If the file does not exist, but intermediate
directories exist, it will be created. If this option is not set, it
tries to write into @file{/var/run/connman/resolv.conf} if it fails
(@file{/var/run/connman} does not exist or is not writeable). If you do
not want to update resolv.conf, you can set @file{/dev/null}.
@end table
@end deftp
@cindex WPA Supplicant @cindex WPA Supplicant
@defvar wpa-supplicant-service-type @defvar wpa-supplicant-service-type
This is the service type to run @url{https://w1.fi/wpa_supplicant/,WPA This is the service type to run @url{https://w1.fi/wpa_supplicant/,WPA
@ -25555,6 +25816,9 @@ The @code{(gnu services databases)} module provides the following services.
@subsubheading PostgreSQL @subsubheading PostgreSQL
@defvar postgresql-service-type
The service type for the PostgreSQL database server. Its value should
be a valid @code{postgresql-configuration} object, documented below.
The following example describes a PostgreSQL service with the default The following example describes a PostgreSQL service with the default
configuration. configuration.
@ -25581,6 +25845,7 @@ sudo -u postgres -s /bin/sh
createuser --interactive createuser --interactive
createdb $MY_USER_LOGIN # Replace appropriately. createdb $MY_USER_LOGIN # Replace appropriately.
@end example @end example
@end defvar
@deftp {Data Type} postgresql-configuration @deftp {Data Type} postgresql-configuration
Data type representing the configuration for the Data type representing the configuration for the
@ -27888,7 +28153,7 @@ Prosodyctl will also help you to import certificates from the
them. See @url{https://prosody.im/doc/letsencrypt}. them. See @url{https://prosody.im/doc/letsencrypt}.
@example @example
prosodyctl --root cert import /etc/letsencrypt/live prosodyctl --root cert import /etc/certs
@end example @end example
The available configuration parameters follow. Each parameter The available configuration parameters follow. Each parameter
@ -28354,10 +28619,11 @@ services:
@subsubheading Jami @subsubheading Jami
@cindex jami, service @defvar jami-service-type
The service type for running Jami as a service. It takes a
This section describes how to configure a Jami server that can be used @code{jami-configuration} object as a value, documented below. This
to host video (or audio) conferences, among other uses. The following section describes how to configure a Jami server that can be used to
host video (or audio) conferences, among other uses. The following
example demonstrates how to specify Jami account archives (backups) to example demonstrates how to specify Jami account archives (backups) to
be provisioned automatically: be provisioned automatically:
@ -28485,6 +28751,7 @@ Account_username: f3345f2775ddfe07a4b0d95daea111d15fbc1199
The remaining actions should be self-explanatory. The remaining actions should be self-explanatory.
The complete set of available configuration options is detailed below. The complete set of available configuration options is detailed below.
@end defvar
@c TODO: Ideally, the following fragments would be auto-generated at @c TODO: Ideally, the following fragments would be auto-generated at
@c build time, so that they needn't be manually duplicated. @c build time, so that they needn't be manually duplicated.
@ -28581,6 +28848,12 @@ account fingerprint for a registered username.
This section describes how to set up and run a This section describes how to set up and run a
@uref{https://mumble.info, Mumble} server (formerly known as Murmur). @uref{https://mumble.info, Mumble} server (formerly known as Murmur).
@defvar mumble-server-service-type
This is the service to run a Mumble server. It takes a
@code{mumble-server-configuration} object as its value, defined below.
@end defvar
@deftp {Data Type} mumble-server-configuration @deftp {Data Type} mumble-server-configuration
The service type for the Mumble server. An example configuration can The service type for the Mumble server. An example configuration can
look like this: look like this:
@ -28591,8 +28864,8 @@ look like this:
(welcome-text (welcome-text
"Welcome to this Mumble server running on Guix!") "Welcome to this Mumble server running on Guix!")
(cert-required? #t) ;disallow text password logins (cert-required? #t) ;disallow text password logins
(ssl-cert "/etc/letsencrypt/live/mumble.example.com/fullchain.pem") (ssl-cert "/etc/certs/mumble.example.com/fullchain.pem")
(ssl-key "/etc/letsencrypt/live/mumble.example.com/privkey.pem"))) (ssl-key "/etc/certs/mumble.example.com/privkey.pem")))
@end lisp @end lisp
After reconfiguring your system, you can manually set the mumble-server After reconfiguring your system, you can manually set the mumble-server
@ -28710,12 +28983,12 @@ Should logged ips be obfuscated to protect the privacy of users.
File name of the SSL/TLS certificate used for encrypted connections. File name of the SSL/TLS certificate used for encrypted connections.
@lisp @lisp
(ssl-cert "/etc/letsencrypt/live/example.com/fullchain.pem") (ssl-cert "/etc/certs/example.com/fullchain.pem")
@end lisp @end lisp
@item @code{ssl-key} (default: @code{#f}) @item @code{ssl-key} (default: @code{#f})
Filepath to the ssl private key used for encrypted connections. Filepath to the ssl private key used for encrypted connections.
@lisp @lisp
(ssl-key "/etc/letsencrypt/live/example.com/privkey.pem") (ssl-key "/etc/certs/example.com/privkey.pem")
@end lisp @end lisp
@item @code{ssl-dh-params} (default: @code{#f}) @item @code{ssl-dh-params} (default: @code{#f})
@ -31603,6 +31876,50 @@ Additional arguments to pass to the @command{varnishd} process.
@end table @end table
@end deftp @end deftp
@subheading Whoogle Search
@cindex Whoogle Search
@uref{https://github.com/benbusby/whoogle-search, Whoogle Search} is a
self-hosted, ad-free, privacy-respecting meta search engine that collects
and displays Google search results. By default, you can configure it by
adding this line to the @code{services} field of your operating system
declaration:
@lisp
(service whoogle-service-type)
@end lisp
As a result, Whoogle Search runs as local Web server, which you can
access by opening @indicateurl{http://localhost:5000} in your browser.
The configuration reference is given below.
@defvar whoogle-service-type
Service type for Whoogle Search. Its value must be a
@code{whoogle-configuration} record---see below.
@end defvar
@deftp {Data Type} whoogle-configuration
Data type representing Whoogle Search service configuration.
@table @asis
@item @code{package} (default: @code{whoogle-search})
The Whoogle Search package to use.
@item @code{host} (default: @code{"127.0.0.1"})
The host address to run Whoogle on.
@item @code{port} (default: @code{5000})
The port where Whoogle will be exposed.
@item @code{environment-variables} (default: @code{'()})
A list of strings with the environment variables to configure Whoogle.
You can consult
@uref{https://github.com/benbusby/whoogle-search/blob/main/whoogle.template.env,
its environment variables template} for the list of available options.
@end table
@end deftp
@subsubheading Patchwork @subsubheading Patchwork
@cindex Patchwork @cindex Patchwork
Patchwork is a patch tracking system. It can collect patches sent to a Patchwork is a patch tracking system. It can collect patches sent to a
@ -32307,21 +32624,13 @@ A service type for the @code{certbot} Let's Encrypt client. Its value
must be a @code{certbot-configuration} record as in this example: must be a @code{certbot-configuration} record as in this example:
@lisp @lisp
(define %certbot-deploy-hook
(program-file "certbot-deploy-hook.scm"
(with-imported-modules '((gnu services herd))
#~(begin
(use-modules (gnu services herd))
(with-shepherd-action 'nginx ('reload) result result)))))
(service certbot-service-type (service certbot-service-type
(certbot-configuration (certbot-configuration
(email "foo@@example.net") (email "foo@@example.net")
(certificates (certificates
(list (list
(certificate-configuration (certificate-configuration
(domains '("example.net" "www.example.net")) (domains '("example.net" "www.example.net")))
(deploy-hook %certbot-deploy-hook))
(certificate-configuration (certificate-configuration
(domains '("bar.example.net"))))))) (domains '("bar.example.net")))))))
@end lisp @end lisp
@ -32435,12 +32744,18 @@ certificates and keys; the shell variable @code{$RENEWED_DOMAINS} will
contain a space-delimited list of renewed certificate domains (for contain a space-delimited list of renewed certificate domains (for
example, @samp{"example.com www.example.com"}. example, @samp{"example.com www.example.com"}.
@item @code{start-self-signed?} (default: @code{#t})
Whether to generate an initial self-signed certificate during system
activation. This option is particularly useful to allow @code{nginx} to
start before @code{certbot} has run, because @code{certbot} relies on
@code{nginx} running to perform HTTP challenges.
@end table @end table
@end deftp @end deftp
For each @code{certificate-configuration}, the certificate is saved to For each @code{certificate-configuration}, the certificate is saved to
@code{/etc/letsencrypt/live/@var{name}/fullchain.pem} and the key is @code{/etc/certs/@var{name}/fullchain.pem} and the key is
saved to @code{/etc/letsencrypt/live/@var{name}/privkey.pem}. saved to @code{/etc/certs/@var{name}/privkey.pem}.
@node DNS Services @node DNS Services
@subsection DNS Services @subsection DNS Services
@cindex DNS (domain name system) @cindex DNS (domain name system)
@ -36081,6 +36396,142 @@ host. If empty, QEMU uses a default file name.
@end deftp @end deftp
@anchor{build-vm}
@subsubheading Virtual Build Machines
@cindex virtual build machines
@cindex build VMs
@cindex VMs, for offloading
@dfn{Virtual build machines} or ``build VMs'' let you offload builds to
a fully controlled environment. ``How can it be more controlled than
regular builds? And why would it be useful?'', you ask. Good
questions.
Builds spawned by @code{guix-daemon} indeed run in a controlled
environment; specifically the daemon spawns build processes in separate
namespaces and in a chroot, such as that build processes only see their
declared dependencies and a well-defined subset of the file system tree
(@pxref{Build Environment Setup}, for details). A few aspects of the
environments are not controlled though: the operating system kernel, the
CPU model, and the date. Most of the time, these aspects have no impact
on the build process: the level of isolation @code{guix-daemon} provides
is ``good enough''.
@cindex time traps
However, there are occasionally cases where those aspects @emph{do}
influence the build process. A typical example is @dfn{time traps}:
build processes that stop working after a certain date@footnote{The most
widespread example of time traps is test suites that involve checking
the expiration date of a certificate. Such tests exists in TLS
implementations such as OpenSSL and GnuTLS, but also in high-level
software such as Python.}. Another one is software that optimizes for
the CPU microarchitecture it is built on or, worse, bugs that manifest
only on specific CPUs.
To address that, @code{virtual-build-machine-service-type} lets you add
a virtual build machine on your system, as in this example:
@lisp
(use-modules (gnu services virtualization))
(operating-system
;; @dots{}
(services (append (list (service virtual-build-machine-service-type))
%base-services)))
@end lisp
By default, you have to explicitly start the build machine when you need
it, at which point builds may be offloaded to it (@pxref{Daemon Offload
Setup}):
@example
herd start build-vm
@end example
With the default setting shown above, the build VM runs with its clock
set to a date several years in the past, and on a CPU model that
corresponds to that date---a model possibly older than that of your
machine. This lets you rebuild today software from the past that would
otherwise fail to build due to a time trap or other issues in its build
process. You can view the VM's config like this:
@example
herd configuration build-vm
@end example
You can configure the build VM, as in this example:
@lisp
(service virtual-build-machine-service-type
(virtual-build-machine
(cpu "Westmere")
(cpu-count 8)
(memory-size (* 1 1024))
(auto-start? #t)))
@end lisp
The available options are shown below.
@defvar virtual-build-machine-service-type
This is the service type to run @dfn{virtual build machines}. Virtual
build machines are configured so that builds are offloaded to them when
they are running.
@end defvar
@deftp {Data Type} virtual-build-machine
This is the data type specifying the configuration of a build machine.
It contains the fields below:
@table @asis
@item @code{name} (default: @code{'build-vm})
The name of this build VM. It is used to construct the name of its
Shepherd service.
@item @code{image}
The image of the virtual machine (@pxref{System Images}). This notably
specifies the virtual disk size and the operating system running into it
(@pxref{operating-system Reference}). The default value is a minimal
operating system image.
@item @code{qemu} (default: @code{qemu-minimal})
The QEMU package to run the image.
@item @code{cpu}
The CPU model being emulated as a string denoting a model known to QEMU.
The default value is a model that matches @code{date} (see below). To
see what CPU models are available, run, for example:
@example
qemu-system-x86_64 -cpu help
@end example
@item @code{cpu-count} (default: @code{4})
The number of CPUs emulated by the virtual machine.
@item @code{memory-size} (default: @code{2048})
Size in mebibytes (MiB) of the virtual machine's main memory (RAM).
@item @code{date} (default: a few years ago)
Date inside the virtual machine when it starts; this must be a SRFI-19
date object (@pxref{SRFI-19 Date,,, guile, GNU Guile Reference Manual}).
@item @code{port-forwardings} (default: 11022 and 11004)
TCP ports of the virtual machine forwarded to the host. By default, the
SSH and secrets ports are forwarded into the host.
@item @code{systems} (default: @code{(list (%current-system))})
List of system types supported by the build VM---e.g.,
@code{"x86_64-linux"}.
@item @code{auto-start?} (default: @code{#f})
Whether to start the virtual machine when the system boots.
@end table
@end deftp
In the next section, you'll find a variant on this theme: GNU/Hurd
virtual machines!
@anchor{hurd-vm} @anchor{hurd-vm}
@subsubheading The Hurd in a Virtual Machine @subsubheading The Hurd in a Virtual Machine
@ -37126,9 +37577,9 @@ serve the default @file{/srv/git} over HTTPS might be:
(listen '("443 ssl")) (listen '("443 ssl"))
(server-name "git.my-host.org") (server-name "git.my-host.org")
(ssl-certificate (ssl-certificate
"/etc/letsencrypt/live/git.my-host.org/fullchain.pem") "/etc/certs/git.my-host.org/fullchain.pem")
(ssl-certificate-key (ssl-certificate-key
"/etc/letsencrypt/live/git.my-host.org/privkey.pem") "/etc/certs/git.my-host.org/privkey.pem")
(locations (locations
(list (list
(git-http-nginx-location-configuration (git-http-nginx-location-configuration
@ -38253,9 +38704,9 @@ footers.
(nginx-server-block (nginx-server-block
(nginx-server-configuration (nginx-server-configuration
(ssl-certificate (ssl-certificate
"/etc/letsencrypt/live/myweb.site/fullchain.pem") "/etc/certs/myweb.site/fullchain.pem")
(ssl-certificate-key (ssl-certificate-key
"/etc/letsencrypt/live/myweb.site/privkey.pem") "/etc/certs/myweb.site/privkey.pem")
(listen '("443 ssl http2" "[::]:443 ssl http2")) (listen '("443 ssl http2" "[::]:443 ssl http2"))
(locations (locations
(list (list
@ -40060,16 +40511,31 @@ After @command{guix system reconfigure} configure Nix for your user:
@itemize @itemize
@item Add a Nix channel and update it. See @item Add a Nix channel and update it. See
@url{https://nixos.org/nix/manual/, Nix Package Manager Guide}. @url{https://nixos.wiki/wiki/Nix_channels, Nix channels} for more
information about the available channels. If you would like to use the
unstable Nix channel you can do this by running:
@example
$ nix-channel --add https://nixos.org/channels/nixpkgs-unstable
$ nix-channel --update
@end example
@item Create your Nix profile directory:
@example
$ sudo mkdir -p /nix/var/nix/profiles/per-user/$USER
$ sudo chown $USER:root /nix/var/nix/profiles/per-user/$USER
@end example
@item Create a symlink to your profile and activate Nix profile: @item Create a symlink to your profile and activate Nix profile:
@end itemize
@example @example
$ ln -s "/nix/var/nix/profiles/per-user/$USER/profile" ~/.nix-profile $ ln -s "/nix/var/nix/profiles/per-user/$USER/profile" ~/.nix-profile
$ source /run/current-system/profile/etc/profile.d/nix.sh $ source /run/current-system/profile/etc/profile.d/nix.sh
@end example @end example
@end itemize
@end defvar @end defvar
@deftp {Data Type} nix-configuration @deftp {Data Type} nix-configuration
@ -42888,6 +43354,15 @@ shepherd, The GNU Shepherd Manual}, for more info.
Whether to restart the service when it stops, for instance when the Whether to restart the service when it stops, for instance when the
underlying process dies. underlying process dies.
@item @code{respawn-limit} (default: @code{#f})
Set a limit on how many times and how frequently a service may be
restarted by Shepherd before it is disabled. @xref{Defining
Services,,, shepherd, The GNU Shepherd Manual}, for details.
@item @code{respawn-delay} (default: @code{#f})
When true, this is the delay in seconds before restarting a failed
service.
@item @code{start} @item @code{start}
@itemx @code{stop} (default: @code{#~(const #f)}) @itemx @code{stop} (default: @code{#~(const #f)})
The @code{start} and @code{stop} fields refer to the Shepherd's The @code{start} and @code{stop} fields refer to the Shepherd's
@ -43120,7 +43595,7 @@ A clause has the following form:
the generated record. the generated record.
@var{type-decl} is either @code{@var{type}} for fields that require a @var{type-decl} is either @code{@var{type}} for fields that require a
value to be set or @code{(@var{type} @var{default})} otherwise. value to be set or @code{(@var{type} @var{default-value})} otherwise.
@var{type} is the type of the value corresponding to @var{field-name}; @var{type} is the type of the value corresponding to @var{field-name};
since Guile is untyped, a predicate since Guile is untyped, a predicate
@ -43961,6 +44436,116 @@ to use alternative services to implement more advanced use cases like
read-only home. Feel free to experiment and share your results. read-only home. Feel free to experiment and share your results.
@end defvar @end defvar
@cindex dot files in Guix Home
It is often the case that Guix Home users already have a setup for versioning
their user configuration files (also known as @emph{dot files}) in a single
directory, and some way of automatically deploy changes to their user home.
@cindex Stow-like dot file management
The @code{home-dotfiles-service-type} from @code{(gnu home services dotfiles)}
is designed to ease the way into using Guix Home for this kind of users,
allowing them to point the service to their dotfiles directory, which must
follow the layout suggested by
@uref{https://www.gnu.org/software/stow/, GNU Stow},
and have their dotfiles automatically deployed to their user home, without
migrating them to Guix native configurations.
The dotfiles directory layout is expected to be structured as follows. Please
keep in mind that it is advisable to keep your dotfiles directories under
version control, for example in the same repository where you'd track your
Guix Home configuration.
@example
~$ tree -a ./dotfiles/
dotfiles/
├── git
│ └── .gitconfig
├── gpg
│ └── .gnupg
│ ├── gpg-agent.conf
│ └── gpg.conf
├── guile
│ └── .guile
├── guix
│ └── .config
│ └── guix
│ └── channels.scm
├── nix
│ ├── .config
│ │ └── nixpkgs
│ │ └── config.nix
│ └── .nix-channels
├── tmux
│ └── .tmux.conf
└── vim
└── .vimrc
13 directories, 10 files
@end example
For an informal specification please refer to the Stow manual
(@pxref{Top,,, stow, Introduction}). A suitable configuration would then
be:
@lisp
(home-environment
;; @dots{}
(services
(service home-dotfiles-service-type
(home-dotfiles-configuration
(directories (list "./dotfiles"))))))
@end lisp
The expected home directory state would then be:
@example
.
├── .config
│ ├── guix
│ │ └── channels.scm
│ └── nixpkgs
│ └── config.nix
├── .gitconfig
├── .gnupg
│ ├── gpg-agent.conf
│ └── gpg.conf
├── .guile
├── .nix-channels
├── .tmux.conf
└── .vimrc
@end example
@defvar home-dotfiles-service-type
Return a service which is very similiar to @code{home-files-service-type}
(and actually extends it), but designed to ease the way into using Guix
Home for users that already track their dotfiles under some kind of version
control. This service allows users to point Guix Home to their dotfiles
directory and have their files automatically deployed to their home directory
just like Stow would, without migrating all of their dotfiles to Guix native
configurations.
@end defvar
@deftp {Data Type} home-dotfiles-configuration
Available @code{home-dotfiles-configuration} fields are:
@table @asis
@item @code{source-directory} (default: @code{(current-source-directory)})
The path where dotfile directories are resolved. By default dotfile directories
are resolved relative the source location where
@code{home-dotfiles-configuration} appears.
@item @code{directories} (type: list-of-strings)
The list of dotfiles directories where @code{home-dotfiles-service-type} will
look for application dotfiles.
@item @code{exclude} (default: @code{'(".*~" ".*\\.swp" "\\.git" "\\.gitignore")})
The list of file patterns @code{home-dotfiles-service-type} will exclude while
visiting each one of the @code{directories}.
@end table
@end deftp
@defvar home-xdg-configuration-files-service-type @defvar home-xdg-configuration-files-service-type
The service is very similar to @code{home-files-service-type} (and The service is very similar to @code{home-files-service-type} (and
actually extends it), but used for defining files, which will go to actually extends it), but used for defining files, which will go to
@ -46167,6 +46752,11 @@ Platform targeting AVR CPUs without an operating system, with run-time support
from AVR Libc. from AVR Libc.
@end defvar @end defvar
@defvar or1k-elf
Platform targeting OpenRISC 1000 CPU without an operating system and without a
C standard library.
@end defvar
@node System Images @node System Images
@chapter Creating System Images @chapter Creating System Images

View file

@ -6,7 +6,7 @@
"build-system": "gnu", "build-system": "gnu",
"arguments": { "arguments": {
"tests?": false "tests?": false
} },
"home-page": "https://www.gnu.org/software/hello/", "home-page": "https://www.gnu.org/software/hello/",
"synopsis": "Hello, GNU world: An example GNU package", "synopsis": "Hello, GNU world: An example GNU package",
"description": "GNU Hello prints a greeting.", "description": "GNU Hello prints a greeting.",
@ -16,11 +16,11 @@
{ {
"name": "greeter", "name": "greeter",
"version": "1.0", "version": "1.0",
"source": "https://example.com/greeter-1.0.tar.gz", "source": "mirror://gnu/hello/hello-2.10.tar.gz",
"build-system": "gnu", "build-system": "gnu",
"arguments": { "arguments": {
"test-target": "foo", "test-target": "foo",
"parallel-build?": false, "parallel-build?": false
}, },
"home-page": "https://example.com/", "home-page": "https://example.com/",
"synopsis": "Greeter using GNU Hello", "synopsis": "Greeter using GNU Hello",

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2021-2023 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2021-2024 Ludovic Courtès <ludo@gnu.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -35,6 +35,8 @@
(and (origin-hash origin) (and (origin-hash origin)
(or (string-suffix? ".tar.gz" file) (or (string-suffix? ".tar.gz" file)
(string-suffix? ".tgz" file) (string-suffix? ".tgz" file)
(string-suffix? ".tar.bz2" file)
(string-suffix? ".tbz2" file)
(string-suffix? ".tar.xz" file) (string-suffix? ".tar.xz" file)
(string-suffix? ".tar" file)))))) (string-suffix? ".tar" file))))))

View file

@ -20,6 +20,7 @@
[b4] [b4]
attestation-check-dkim = off attestation-check-dkim = off
attestation-policy = off attestation-policy = off
shazam-am-flags = --signoff --3way
linkmask = https://yhetil.org/guix/%s linkmask = https://yhetil.org/guix/%s
linktrailermask = https://yhetil.org/guix/%s linktrailermask = https://yhetil.org/guix/%s
midmask = https://yhetil.org/guix/%s midmask = https://yhetil.org/guix/%s

View file

@ -19,6 +19,7 @@
;; Copyright © 2021, 2023 Jonathan Brielmaier <jonathan.brielmaier@web.de> ;; Copyright © 2021, 2023 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;; Copyright © 2022 Thiago Jung Bauermann <bauermann@kolabnow.com> ;; Copyright © 2022 Thiago Jung Bauermann <bauermann@kolabnow.com>
;; Copyright © 2024 Oleg Pykhalov <go.wigust@gmail.com> ;; Copyright © 2024 Oleg Pykhalov <go.wigust@gmail.com>
;; Copyright © 2024 Wilko Meyer <w@wmeyer.eu>
;; ;;
;; Copying and distribution of this file, with or without modification, are ;; Copying and distribution of this file, with or without modification, are
;; permitted in any medium without royalty provided the copyright notice and ;; permitted in any medium without royalty provided the copyright notice and
@ -27,6 +28,18 @@
(channel-news (channel-news
(version 0) (version 0)
(entry (commit "10a193596368443f441077525ebbddf787d91e4b")
(title
(en "Linux-libre 4.14 removed due to end of upstream support")
(de "Linux-libre 4.14 wurde entfernt"))
(body
(en "The linux-libre 4.14 kernel series has reached the end of
its life, and is no longer supported upstream. For this
reason, it has been removed from GNU Guix.")
(de "Die @code{linux-libre} 4.14-Versionsreihe hat ihr
Supportende erreicht und wird nicht mehr unterstützt (end of life). Daher ist die
Versionsreihe aus GNU Guix entfernt worden.")))
(entry (commit "519e1e3eb88ec532fc83ebb742d9919269b57c87") (entry (commit "519e1e3eb88ec532fc83ebb742d9919269b57c87")
(title (title
(de "Neue Option @samp{--max-layers=N} für den Befehl @command{guix pack}") (de "Neue Option @samp{--max-layers=N} für den Befehl @command{guix pack}")

View file

@ -8,7 +8,7 @@ exec $pre_inst_env_maybe guix repl -- "$0" "$@"
!# !#
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2022, 2023 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2022-2024 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2022 Mathieu Othacehe <othacehe@gnu.org> ;;; Copyright © 2022 Mathieu Othacehe <othacehe@gnu.org>
;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 Simon Tournier <zimon.toutoune@gmail.com> ;;; Copyright © 2022 Simon Tournier <zimon.toutoune@gmail.com>
@ -176,6 +176,13 @@ and the r-build-system."
"guix/scripts/import/cran.scm" "guix/scripts/import/cran.scm"
"tests/cran.scm"))) "tests/cran.scm")))
(define-team sugar
(team 'sugar
#:name "Sugar team"
#:description
"Everything related to the Sugar Desktop and learning environment."
#:scope (list "gnu/packages/sugar.scm")))
(define-team telephony (define-team telephony
(team 'telephony (team 'telephony
#:name "Telephony team" #:name "Telephony team"
@ -299,10 +306,12 @@ asdf-build-system."
(define-team go (define-team go
(team 'go (team 'go
#:name "Go team" #:name "Go team"
#:scope (list "gnu/packages/golang.scm" #:scope (list "gnu/packages/configuration-management.scm"
"gnu/packages/golang-check.scm" "gnu/packages/golang(-.+|)\\.scm$"
"guix/build/go-build-system.scm" "gnu/packages/syncthing.scm"
"gnu/packages/terraform.scm"
"guix/build-system/go.scm" "guix/build-system/go.scm"
"guix/build/go-build-system.scm"
"guix/import/go.scm" "guix/import/go.scm"
"guix/scripts/import/go.scm" "guix/scripts/import/go.scm"
"tests/go.scm"))) "tests/go.scm")))
@ -495,7 +504,8 @@ asdf-build-system."
and Thunderbird." and Thunderbird."
#:scope (list "gnu/build/icecat-extension.scm" #:scope (list "gnu/build/icecat-extension.scm"
"gnu/packages/browser-extensions.scm" "gnu/packages/browser-extensions.scm"
"gnu/packages/gnuzilla.scm"))) "gnu/packages/gnuzilla.scm"
"gnu/packages/tor-browsers.scm")))
(define-team racket (define-team racket
(team 'racket (team 'racket
@ -592,7 +602,7 @@ GLib/GIO, GTK, GStreamer and Webkit."
(define-member (person "Efraim Flashner" (define-member (person "Efraim Flashner"
"efraim@flashner.co.il") "efraim@flashner.co.il")
embedded bootstrap julia rust science) embedded bootstrap julia rust)
(define-member (person "jgart" (define-member (person "jgart"
"jgart@dismail.de") "jgart@dismail.de")
@ -624,7 +634,7 @@ GLib/GIO, GTK, GStreamer and Webkit."
(define-member (person "Ricardo Wurmus" (define-member (person "Ricardo Wurmus"
"rekado@elephly.net") "rekado@elephly.net")
r core mentors tex) core mentors r sugar tex)
(define-member (person "Christopher Baines" (define-member (person "Christopher Baines"
"guix@cbaines.net") "guix@cbaines.net")
@ -710,6 +720,10 @@ GLib/GIO, GTK, GStreamer and Webkit."
"w@wmeyer.eu") "w@wmeyer.eu")
kernel) kernel)
(define-member (person "Mark H Weaver"
"mhw@netris.org")
mozilla)
(define (find-team name) (define (find-team name)
(or (hash-ref %teams (string->symbol name)) (or (hash-ref %teams (string->symbol name))

View file

@ -8,6 +8,7 @@
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2020 Christine Lemmer-Webber <cwebber@dustycloud.org> ;;; Copyright © 2020 Christine Lemmer-Webber <cwebber@dustycloud.org>
;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -408,6 +409,7 @@ improvement."
(format #t "making '~a' the current system...~%" system) (format #t "making '~a' the current system...~%" system)
(mkdir-p "/run")
;; Atomically make SYSTEM current. ;; Atomically make SYSTEM current.
(let ((new (string-append %current-system ".new"))) (let ((new (string-append %current-system ".new")))
(symlink system new) (symlink system new)

View file

@ -7,6 +7,7 @@
;;; Copyright © 2019 David C. Trudgian <dave@trudgian.net> ;;; Copyright © 2019 David C. Trudgian <dave@trudgian.net>
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2022 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -1021,8 +1022,8 @@ were found."
(define (canonicalize-device-spec spec) (define (canonicalize-device-spec spec)
"Return the device name corresponding to SPEC, which can be a <uuid>, a "Return the device name corresponding to SPEC, which can be a <uuid>, a
<file-system-label>, or a string (typically a /dev file name or an nfs-root <file-system-label>, the string 'none' or another string (typically a /dev
containing ':/')." file name or an nfs-root containing ':/')."
(define max-trials (define max-trials
;; Number of times we retry partition label resolution, 1 second per ;; Number of times we retry partition label resolution, 1 second per
;; trial. Note: somebody reported a delay of 16 seconds (!) before their ;; trial. Note: somebody reported a delay of 16 seconds (!) before their
@ -1046,8 +1047,8 @@ containing ':/')."
(match spec (match spec
((? string?) ((? string?)
(if (string-contains spec ":/") (if (or (string-contains spec ":/") (string=? spec "none"))
spec ; do not resolve NFS devices spec ; do not resolve NFS / tmpfs devices
;; Nothing to do, but wait until SPEC shows up. ;; Nothing to do, but wait until SPEC shows up.
(resolve identity spec identity))) (resolve identity spec identity)))
((? file-system-label?) ((? file-system-label?)

View file

@ -2,6 +2,7 @@
;;; Copyright © 2013-2020, 2022 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013-2020, 2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com> ;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -134,8 +135,6 @@ STORE."
(directory "/var/guix/gcroots") (directory "/var/guix/gcroots")
(directory "/var/empty") ; for no-login accounts (directory "/var/empty") ; for no-login accounts
(directory "/var/db") ; for dhclient, etc. (directory "/var/db") ; for dhclient, etc.
(directory "/var/run")
(directory "/run")
(directory "/mnt") (directory "/mnt")
(directory "/var/guix/profiles/per-user/root" 0 0) (directory "/var/guix/profiles/per-user/root" 0 0)

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016-2022 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016-2022, 2024 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Chris Marusich <cmmarusich@gmail.com> ;;; Copyright © 2018 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu> ;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu>
@ -223,29 +223,49 @@ FILE has not shown up after TIMEOUT seconds, raise an error."
(define* (wait-for-tcp-port port marionette (define* (wait-for-tcp-port port marionette
#:key #:key
(timeout 20) (timeout 20)
(peek? #f)
(address `(make-socket-address AF_INET (address `(make-socket-address AF_INET
INADDR_LOOPBACK INADDR_LOOPBACK
,port))) ,port)))
"Wait for up to TIMEOUT seconds for PORT to accept connections in "Wait for up to TIMEOUT seconds for PORT to accept connections in
MARIONETTE. ADDRESS must be an expression that returns a socket address, MARIONETTE. ADDRESS must be an expression that returns a socket address,
typically a call to 'make-socket-address'. Raise an error on failure." typically a call to 'make-socket-address'. When PEEK? is true, attempt to
read a byte from the socket upon connection; retry if that gives the
end-of-file object.
Raise an error on failure."
;; Note: The 'connect' loop has to run within the guest because, when we ;; Note: The 'connect' loop has to run within the guest because, when we
;; forward ports to the host, connecting to the host never raises ;; forward ports to the host, connecting to the host never raises
;; ECONNREFUSED. ;; ECONNREFUSED.
(match (marionette-eval (match (marionette-eval
`(let* ((address ,address) `(let* ((address ,address))
(sock (socket (sockaddr:fam address) SOCK_STREAM 0))) (define (open-socket)
(let loop ((i 0)) (socket (sockaddr:fam address) SOCK_STREAM 0))
(let loop ((sock (open-socket))
(i 0))
(catch 'system-error (catch 'system-error
(lambda () (lambda ()
(connect sock address) (connect sock address)
(when ,peek?
(let ((byte ((@ (ice-9 binary-ports) lookahead-u8)
sock)))
(when (eof-object? byte)
(close-port sock)
(throw 'system-error
"wait-for-tcp-port" "~A"
(list (strerror ECONNRESET))
(list ECONNRESET)))))
(close-port sock) (close-port sock)
'success) 'success)
(lambda args (lambda args
(if (< i ,timeout) (if (< i ,timeout)
(begin (begin
(sleep 1) (sleep 1)
(loop (+ 1 i))) (loop (if (port-closed? sock)
(open-socket)
sock)
(+ 1 i)))
(list 'failure address)))))) (list 'failure address))))))
marionette) marionette)
('success #t) ('success #t)

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020-2022 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2020-2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
@ -93,13 +93,28 @@ Return #t in the former case and #f in the latter case."
('readable #t) ('readable #t)
('timeout #f))))))) ('timeout #f)))))))
(define* (secret-service-send-secrets port secret-root (define (socket-address->string address)
"Return a human-readable representation of ADDRESS, an object as returned by
'make-socket-address'."
(let ((family (sockaddr:fam address)))
(cond ((= AF_INET family)
(string-append (inet-ntop AF_INET (sockaddr:addr address))
":" (number->string (sockaddr:port address))))
((= AF_INET6 family)
(string-append "[" (inet-ntop AF_INET6 (sockaddr:addr address)) "]"
":" (number->string (sockaddr:port address))))
((= AF_UNIX family)
(sockaddr:path address))
(else
(object->string address)))))
(define* (secret-service-send-secrets address secret-root
#:key (retry 60) #:key (retry 60)
(handshake-timeout 180)) (handshake-timeout 180))
"Copy all files under SECRET-ROOT using TCP to secret-service listening at "Copy all files under SECRET-ROOT by connecting to secret-service listening
local PORT. If connect fails, sleep 1s and retry RETRY times; once connected, at ADDRESS, an address as returned by 'make-socket-address'. If connection
wait for at most HANDSHAKE-TIMEOUT seconds for handshake to complete. Return fails, sleep 1s and retry RETRY times; once connected, wait for at most
#f on failure." HANDSHAKE-TIMEOUT seconds for handshake to complete. Return #f on failure."
(define (file->file+size+mode file-name) (define (file->file+size+mode file-name)
(let ((stat (stat file-name)) (let ((stat (stat file-name))
(target (substring file-name (string-length secret-root)))) (target (substring file-name (string-length secret-root))))
@ -118,9 +133,9 @@ wait for at most HANDSHAKE-TIMEOUT seconds for handshake to complete. Return
(dump-port input sock)))) (dump-port input sock))))
files))) files)))
(log "sending secrets to ~a~%" port) (log "sending secrets to ~a~%" (socket-address->string address))
(let ((sock (socket AF_INET (logior SOCK_CLOEXEC SOCK_STREAM) 0)) (let ((sock (socket AF_INET (logior SOCK_CLOEXEC SOCK_STREAM) 0))
(addr (make-socket-address AF_INET INADDR_LOOPBACK port))
(sleep (if (resolve-module '(fibers) #f) (sleep (if (resolve-module '(fibers) #f)
(module-ref (resolve-interface '(fibers)) 'sleep) (module-ref (resolve-interface '(fibers)) 'sleep)
sleep))) sleep)))
@ -129,7 +144,7 @@ wait for at most HANDSHAKE-TIMEOUT seconds for handshake to complete. Return
;; forward port inside the guest. ;; forward port inside the guest.
(let loop ((retry retry)) (let loop ((retry retry))
(catch 'system-error (catch 'system-error
(cute connect sock addr) (cute connect sock address)
(lambda (key . args) (lambda (key . args)
(when (zero? retry) (when (zero? retry)
(apply throw key args)) (apply throw key args))
@ -147,7 +162,8 @@ wait for at most HANDSHAKE-TIMEOUT seconds for handshake to complete. Return
(('secret-service-server ('version version ...)) (('secret-service-server ('version version ...))
(log "sending files from ~s...~%" secret-root) (log "sending files from ~s...~%" secret-root)
(send-files sock) (send-files sock)
(log "done sending files to port ~a~%" port) (log "done sending files to ~a~%"
(socket-address->string address))
(close-port sock) (close-port sock)
secret-root) secret-root)
(x (x
@ -155,7 +171,8 @@ wait for at most HANDSHAKE-TIMEOUT seconds for handshake to complete. Return
(close-port sock) (close-port sock)
#f)) #f))
(begin ;timeout (begin ;timeout
(log "timeout while sending files to ~a~%" port) (log "timeout while sending files to ~a~%"
(socket-address->string address))
(close-port sock) (close-port sock)
#f)))) #f))))
@ -168,19 +185,20 @@ wait for at most HANDSHAKE-TIMEOUT seconds for handshake to complete. Return
(unless (= ENOENT (system-error-errno args)) (unless (= ENOENT (system-error-errno args))
(apply throw args))))) (apply throw args)))))
(define (secret-service-receive-secrets port) (define (secret-service-receive-secrets address)
"Listen to local PORT and wait for a secret service client to send secrets. "Listen to ADDRESS, an address returned by 'make-socket-address', and wait
Write them to the file system. Return the list of files installed on success, for a secret service client to send secrets. Write them to the file system.
and #f otherwise." Return the list of files installed on success, and #f otherwise."
(define (wait-for-client port) (define (wait-for-client address)
;; Wait for a TCP connection on PORT. Note: We cannot use the ;; Wait for a connection on ADDRESS. Note: virtio-serial ports are safer
;; virtio-serial ports, which would be safer, because they are ;; than TCP connections but they are (presumably) unsupported on GNU/Hurd.
;; (presumably) unsupported on GNU/Hurd.
(let ((sock (socket AF_INET (logior SOCK_CLOEXEC SOCK_STREAM) 0))) (let ((sock (socket AF_INET (logior SOCK_CLOEXEC SOCK_STREAM) 0)))
(bind sock AF_INET INADDR_ANY port) (bind sock address)
(listen sock 1) (listen sock 1)
(log "waiting for secrets on port ~a...~%" port) (log "waiting for secrets on ~a...~%"
(socket-address->string address))
(match (select (list sock) '() '() 60) (match (select (list sock) '() '() 60)
(((_) () ()) (((_) () ())
(match (accept sock) (match (accept sock)
@ -244,7 +262,7 @@ and #f otherwise."
(log "invalid secrets received~%") (log "invalid secrets received~%")
#f))) #f)))
(let* ((port (wait-for-client port)) (let* ((port (wait-for-client address))
(result (and=> port read-secrets))) (result (and=> port read-secrets)))
(when port (when port
(close-port port)) (close-port port))

View file

@ -191,6 +191,7 @@ SYSTEM."
(define (pointless? target) (define (pointless? target)
;; Return #t if it makes no sense to cross-build to TARGET from SYSTEM. ;; Return #t if it makes no sense to cross-build to TARGET from SYSTEM.
(or (string=? target "avr") ; Nothing for AVR at this time. (or (string=? target "avr") ; Nothing for AVR at this time.
(string=? target "or1k-elf") ;; Nothing for or1k-elf at this time.
(match system (match system
((or "x86_64-linux" "i686-linux") ((or "x86_64-linux" "i686-linux")
(if (string-contains target "mingw") (if (string-contains target "mingw")

View file

@ -37,6 +37,7 @@
#:use-module (guix memoization) #:use-module (guix memoization)
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
#:use-module (srfi srfi-9) #:use-module (srfi srfi-9)
#:use-module (srfi srfi-34)
#:use-module (ice-9 match) #:use-module (ice-9 match)
#:use-module (ice-9 vlist) #:use-module (ice-9 vlist)

View file

@ -0,0 +1,117 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2024 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2024 Giacomo Leidi <goodoldpaul@autistici.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 home services dotfiles)
#:use-module (gnu home services)
#:use-module (gnu services)
#:autoload (guix build utils) (find-files)
#:use-module (guix gexp)
#:use-module (guix records)
#:use-module ((guix utils) #:select (current-source-directory))
#:use-module (srfi srfi-1)
#:use-module (ice-9 ftw)
#:use-module (ice-9 regex)
#:export (home-dotfiles-service-type
home-dotfiles-configuration
home-dotfiles-configuration?
home-dotfiles-configuration-source-directory
home-dotfiles-configuration-directories
home-dotfiles-configuration-excluded))
(define %home-dotfiles-excluded
'(".*~"
".*\\.swp"
"\\.git"
"\\.gitignore"))
(define-record-type* <home-dotfiles-configuration>
home-dotfiles-configuration make-home-dotfiles-configuration
home-dotfiles-configuration?
(source-directory home-dotfiles-configuration-source-directory
(default (current-source-directory))
(innate))
(directories home-dotfiles-configuration-directories ;list of strings
(default '()))
(excluded home-dotfiles-configuration-excluded ;list of strings
(default %home-dotfiles-excluded)))
(define (import-dotfiles directory files)
"Return a list of objects compatible with @code{home-files-service-type}'s
value. Each object is a pair where the first element is the relative path
of a file and the second is a gexp representing the file content. Objects are
generated by recursively visiting DIRECTORY and mapping its contents to the
user's home directory, excluding files that match any of the patterns in EXCLUDED."
(define (strip file)
(string-drop file (+ 1 (string-length directory))))
(define (format file)
;; Remove from FILE characters that cannot be used in the store.
(string-append
"home-dotfiles-"
(string-map (lambda (chr)
(if (and (char-set-contains? char-set:ascii chr)
(char-set-contains? char-set:graphic chr)
(not (memv chr '(#\. #\/ #\space))))
chr
#\-))
file)))
(map (lambda (file)
(let ((stripped (strip file)))
(list stripped
(local-file file (format stripped)
#:recursive? #t))))
files))
(define (home-dotfiles-configuration->files config)
"Return a list of objects compatible with @code{home-files-service-type}'s
value, generated following GNU Stow's algorithm for each of the
directories in CONFIG, excluding files that match any of the patterns configured."
(define excluded
(home-dotfiles-configuration-excluded config))
(define exclusion-rx
(make-regexp (string-append "^.*(" (string-join excluded "|") ")$")))
(define (directory-contents directory)
(find-files directory
(lambda (file stat)
(not (regexp-exec exclusion-rx
(basename file))))))
(define (resolve directory)
;; Resolve DIRECTORY relative to the 'source-directory' field of CONFIG.
(if (string-prefix? "/" directory)
directory
(in-vicinity (home-dotfiles-configuration-source-directory config)
directory)))
(append-map (lambda (directory)
(let* ((directory (resolve directory))
(contents (directory-contents directory)))
(import-dotfiles directory contents)))
(home-dotfiles-configuration-directories config)))
(define-public home-dotfiles-service-type
(service-type (name 'home-dotfiles)
(extensions
(list (service-extension home-files-service-type
home-dotfiles-configuration->files)))
(default-value (home-dotfiles-configuration))
(description "Files that will be put in the user's home directory
following GNU Stow's algorithm, and further processed during activation.")))

View file

@ -2,6 +2,7 @@
;;; Copyright © 2021 Andrew Tropin <andrew@trop.in> ;;; Copyright © 2021 Andrew Tropin <andrew@trop.in>
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz> ;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
;;; Copyright © 2022 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -157,6 +158,12 @@ subdirectory from XDG_CONFIG_HOME to generate a target path."
#t #t
(G_ "Skipping ~a (not an empty directory)... done\n") (G_ "Skipping ~a (not an empty directory)... done\n")
directory)) directory))
;; This happens when the directory is a mounted device.
((= EBUSY errno)
(format
#t
(G_ "Skipping ~a (underlying device is busy)... done\n")
directory))
((= ENOENT errno) #t) ((= ENOENT errno) #t)
((= ENOTDIR errno) #t) ((= ENOTDIR errno) #t)
(else (else

View file

@ -1,6 +1,6 @@
# GNU Guix --- Functional package management for GNU # GNU Guix --- Functional package management for GNU
# Copyright © 2012-2024 Ludovic Courtès <ludo@gnu.org> # Copyright © 2012-2024 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2022, 2023 Andreas Enge <andreas@enge.fr> # Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2022, 2023, 2024 Andreas Enge <andreas@enge.fr>
# Copyright © 2016 Mathieu Lirzin <mthl@gnu.org> # Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
# Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Mark H Weaver <mhw@netris.org> # Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Mark H Weaver <mhw@netris.org>
# Copyright © 2016 Chris Marusich <cmmarusich@gmail.com> # Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
@ -13,7 +13,7 @@
# Copyright © 2016-2023 Efraim Flashner <efraim@flashner.co.il> # Copyright © 2016-2023 Efraim Flashner <efraim@flashner.co.il>
# Copyright © 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> # Copyright © 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
# Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> # Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
# Copyright © 2017, 2018, 2023 Clément Lassieur <clement@lassieur.org> # Copyright © 2017, 2018, 2023, 2024 Clément Lassieur <clement@lassieur.org>
# Copyright © 2017, 2020 Mathieu Othacehe <m.othacehe@gmail.com> # Copyright © 2017, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
# Copyright © 2017, 2018, 2019 Gábor Boskovits <boskovits@gmail.com> # Copyright © 2017, 2018, 2019 Gábor Boskovits <boskovits@gmail.com>
# Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net> # Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
@ -56,13 +56,14 @@
# Copyright © 2022 Alex Griffin <a@ajgrf.com> # Copyright © 2022 Alex Griffin <a@ajgrf.com>
# Copyright © 2022 ( <paren@disroot.org> # Copyright © 2022 ( <paren@disroot.org>
# Copyright © 2022 jgart <jgart@dismail.de> # Copyright © 2022 jgart <jgart@dismail.de>
# Copyright © 2023 Zheng Junjie <873216071@qq.com> # Copyright © 2023, 2024 Zheng Junjie <873216071@qq.com>
# Copyright © 2023 Ivana Drazovic <iv.dra@hotmail.com> # Copyright © 2023 Ivana Drazovic <iv.dra@hotmail.com>
# Copyright © 2023 Andy Tai <atai@atai.org> # Copyright © 2023 Andy Tai <atai@atai.org>
# Copyright © 2023 B. Wilson <elaexuotee@wilsonb.com> # Copyright © 2023 B. Wilson <elaexuotee@wilsonb.com>
# Copyright © 2023 gemmaro <gemmaro.dev@gmail.com> # Copyright © 2023 gemmaro <gemmaro.dev@gmail.com>
# Copyright © 2023 Herman Rimm <herman@rimm.ee> # Copyright © 2023 Herman Rimm <herman@rimm.ee>
# Copyright © 2023 Troy Figiel <troy@troyfigiel.com> # Copyright © 2023 Troy Figiel <troy@troyfigiel.com>
# Copyright © 2024 David Elsing <david.elsing@posteo.net>
# #
# This file is part of GNU Guix. # This file is part of GNU Guix.
# #
@ -96,6 +97,7 @@ GNU_SYSTEM_MODULES = \
%D%/home/services.scm \ %D%/home/services.scm \
%D%/home/services/desktop.scm \ %D%/home/services/desktop.scm \
%D%/home/services/dict.scm \ %D%/home/services/dict.scm \
%D%/home/services/dotfiles.scm \
%D%/home/services/symlink-manager.scm \ %D%/home/services/symlink-manager.scm \
%D%/home/services/fontutils.scm \ %D%/home/services/fontutils.scm \
%D%/home/services/gnupg.scm \ %D%/home/services/gnupg.scm \
@ -199,9 +201,15 @@ GNU_SYSTEM_MODULES = \
%D%/packages/cpp.scm \ %D%/packages/cpp.scm \
%D%/packages/cppi.scm \ %D%/packages/cppi.scm \
%D%/packages/cran.scm \ %D%/packages/cran.scm \
%D%/packages/crates-apple.scm \
%D%/packages/crates-crypto.scm \
%D%/packages/crates-io.scm \ %D%/packages/crates-io.scm \
%D%/packages/crates-graphics.scm \ %D%/packages/crates-graphics.scm \
%D%/packages/crates-gtk.scm \ %D%/packages/crates-gtk.scm \
%D%/packages/crates-tls.scm \
%D%/packages/crates-vcs.scm \
%D%/packages/crates-web.scm \
%D%/packages/crates-windows.scm \
%D%/packages/cross-base.scm \ %D%/packages/cross-base.scm \
%D%/packages/cross-toolchain.scm \ %D%/packages/cross-toolchain.scm \
%D%/packages/crypto.scm \ %D%/packages/crypto.scm \
@ -306,8 +314,12 @@ GNU_SYSTEM_MODULES = \
%D%/packages/gnu-pw-mgr.scm \ %D%/packages/gnu-pw-mgr.scm \
%D%/packages/gobby.scm \ %D%/packages/gobby.scm \
%D%/packages/golang.scm \ %D%/packages/golang.scm \
%D%/packages/golang-build.scm \
%D%/packages/golang-check.scm \ %D%/packages/golang-check.scm \
%D%/packages/golang-compression.scm \
%D%/packages/golang-crypto.scm \
%D%/packages/golang-web.scm \ %D%/packages/golang-web.scm \
%D%/packages/golang-xyz.scm \
%D%/packages/gperf.scm \ %D%/packages/gperf.scm \
%D%/packages/gpodder.scm \ %D%/packages/gpodder.scm \
%D%/packages/gps.scm \ %D%/packages/gps.scm \
@ -543,6 +555,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/toys.scm \ %D%/packages/toys.scm \
%D%/packages/tryton.scm \ %D%/packages/tryton.scm \
%D%/packages/qt.scm \ %D%/packages/qt.scm \
%D%/packages/quantum.scm \
%D%/packages/racket.scm \ %D%/packages/racket.scm \
%D%/packages/radio.scm \ %D%/packages/radio.scm \
%D%/packages/ragel.scm \ %D%/packages/ragel.scm \
@ -629,6 +642,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/tls.scm \ %D%/packages/tls.scm \
%D%/packages/tmux.scm \ %D%/packages/tmux.scm \
%D%/packages/toolkits.scm \ %D%/packages/toolkits.scm \
%D%/packages/tor-browsers.scm \
%D%/packages/tor.scm \ %D%/packages/tor.scm \
%D%/packages/tree-sitter.scm \ %D%/packages/tree-sitter.scm \
%D%/packages/tv.scm \ %D%/packages/tv.scm \
@ -927,7 +941,6 @@ dist_patch_DATA = \
%D%/packages/patches/apr-skip-getservbyname-test.patch \ %D%/packages/patches/apr-skip-getservbyname-test.patch \
%D%/packages/patches/aria2-unbundle-wslay.patch \ %D%/packages/patches/aria2-unbundle-wslay.patch \
%D%/packages/patches/ark-skip-xar-test.patch \ %D%/packages/patches/ark-skip-xar-test.patch \
%D%/packages/patches/arpack-ng-propagate-rng-state.patch \
%D%/packages/patches/asli-use-system-libs.patch \ %D%/packages/patches/asli-use-system-libs.patch \
%D%/packages/patches/aspell-CVE-2019-25051.patch \ %D%/packages/patches/aspell-CVE-2019-25051.patch \
%D%/packages/patches/aspell-default-dict-dir.patch \ %D%/packages/patches/aspell-default-dict-dir.patch \
@ -952,6 +965,7 @@ dist_patch_DATA = \
%D%/packages/patches/audiofile-function-signature.patch \ %D%/packages/patches/audiofile-function-signature.patch \
%D%/packages/patches/automake-skip-amhello-tests.patch \ %D%/packages/patches/automake-skip-amhello-tests.patch \
%D%/packages/patches/avahi-localstatedir.patch \ %D%/packages/patches/avahi-localstatedir.patch \
%D%/packages/patches/avalon-toolkit-rdkit-fixes.patch \
%D%/packages/patches/avidemux-install-to-lib.patch \ %D%/packages/patches/avidemux-install-to-lib.patch \
%D%/packages/patches/awesome-reproducible-png.patch \ %D%/packages/patches/awesome-reproducible-png.patch \
%D%/packages/patches/awesome-4.3-fno-common.patch \ %D%/packages/patches/awesome-4.3-fno-common.patch \
@ -965,7 +979,6 @@ dist_patch_DATA = \
%D%/packages/patches/bazaar-CVE-2017-14176.patch \ %D%/packages/patches/bazaar-CVE-2017-14176.patch \
%D%/packages/patches/bc-fix-cross-compilation.patch \ %D%/packages/patches/bc-fix-cross-compilation.patch \
%D%/packages/patches/bdb-5.3-atomics-on-gcc-9.patch \ %D%/packages/patches/bdb-5.3-atomics-on-gcc-9.patch \
%D%/packages/patches/bind-re-add-attr-constructor-priority.patch \
%D%/packages/patches/brightnessctl-elogind-support.patch \ %D%/packages/patches/brightnessctl-elogind-support.patch \
%D%/packages/patches/bsd-games-2.17-64bit.patch \ %D%/packages/patches/bsd-games-2.17-64bit.patch \
%D%/packages/patches/bsd-games-add-configure-config.patch \ %D%/packages/patches/bsd-games-add-configure-config.patch \
@ -1051,7 +1064,6 @@ dist_patch_DATA = \
%D%/packages/patches/converseen-hide-non-free-pointers.patch \ %D%/packages/patches/converseen-hide-non-free-pointers.patch \
%D%/packages/patches/cool-retro-term-wctype.patch \ %D%/packages/patches/cool-retro-term-wctype.patch \
%D%/packages/patches/coreutils-gnulib-tests.patch \ %D%/packages/patches/coreutils-gnulib-tests.patch \
%D%/packages/patches/coq-fix-envvars.patch \
%D%/packages/patches/cppcheck-disable-char-signedness-test.patch \ %D%/packages/patches/cppcheck-disable-char-signedness-test.patch \
%D%/packages/patches/cpuinfo-system-libraries.patch \ %D%/packages/patches/cpuinfo-system-libraries.patch \
%D%/packages/patches/cpulimit-with-glib-2.32.patch \ %D%/packages/patches/cpulimit-with-glib-2.32.patch \
@ -1134,7 +1146,6 @@ dist_patch_DATA = \
%D%/packages/patches/emacs-wordnut-require-adaptive-wrap.patch \ %D%/packages/patches/emacs-wordnut-require-adaptive-wrap.patch \
%D%/packages/patches/emacs-xelb-ignore-length-element.patch \ %D%/packages/patches/emacs-xelb-ignore-length-element.patch \
%D%/packages/patches/emacs-yasnippet-fix-empty-snippet-next.patch \ %D%/packages/patches/emacs-yasnippet-fix-empty-snippet-next.patch \
%D%/packages/patches/emacs-yasnippet-fix-tests.patch \
%D%/packages/patches/enblend-enfuse-reproducible.patch \ %D%/packages/patches/enblend-enfuse-reproducible.patch \
%D%/packages/patches/enjarify-setup-py.patch \ %D%/packages/patches/enjarify-setup-py.patch \
%D%/packages/patches/enlightenment-fix-setuid-path.patch \ %D%/packages/patches/enlightenment-fix-setuid-path.patch \
@ -1301,6 +1312,7 @@ dist_patch_DATA = \
%D%/packages/patches/ghostscript-no-header-id.patch \ %D%/packages/patches/ghostscript-no-header-id.patch \
%D%/packages/patches/ghostscript-no-header-uuid.patch \ %D%/packages/patches/ghostscript-no-header-uuid.patch \
%D%/packages/patches/ghostscript-no-header-creationdate.patch \ %D%/packages/patches/ghostscript-no-header-creationdate.patch \
%D%/packages/patches/git-filter-repo-generate-doc.patch \
%D%/packages/patches/gitg-fix-positional-argument.patch \ %D%/packages/patches/gitg-fix-positional-argument.patch \
%D%/packages/patches/gklib-suitesparse.patch \ %D%/packages/patches/gklib-suitesparse.patch \
%D%/packages/patches/glib-appinfo-watch.patch \ %D%/packages/patches/glib-appinfo-watch.patch \
@ -1399,7 +1411,6 @@ dist_patch_DATA = \
%D%/packages/patches/guile-fibers-libevent-timeout.patch \ %D%/packages/patches/guile-fibers-libevent-timeout.patch \
%D%/packages/patches/guile-fix-invalid-unicode-handling.patch \ %D%/packages/patches/guile-fix-invalid-unicode-handling.patch \
%D%/packages/patches/guile-gdbm-ffi-support-gdbm-1.14.patch \ %D%/packages/patches/guile-gdbm-ffi-support-gdbm-1.14.patch \
%D%/packages/patches/guile-git-adjust-for-libgit2-1.2.0.patch \
%D%/packages/patches/guile-hurd-posix-spawn.patch \ %D%/packages/patches/guile-hurd-posix-spawn.patch \
%D%/packages/patches/guile-present-coding.patch \ %D%/packages/patches/guile-present-coding.patch \
%D%/packages/patches/guile-rsvg-pkgconfig.patch \ %D%/packages/patches/guile-rsvg-pkgconfig.patch \
@ -1505,8 +1516,10 @@ dist_patch_DATA = \
%D%/packages/patches/julia-Use-MPFR-4.2.patch \ %D%/packages/patches/julia-Use-MPFR-4.2.patch \
%D%/packages/patches/libftdi-fix-paths-when-FTDIPP-set.patch \ %D%/packages/patches/libftdi-fix-paths-when-FTDIPP-set.patch \
%D%/packages/patches/libgeotiff-fix-tests-with-proj-9.1.1.patch \ %D%/packages/patches/libgeotiff-fix-tests-with-proj-9.1.1.patch \
%D%/packages/patches/libgeotiff-fix-tests-with-proj-9.3.0.patch \
%D%/packages/patches/libgeotiff-fix-tests-with-proj-9.3.1.patch \
%D%/packages/patches/libgeotiff-fix-tests-on-i386.patch \
%D%/packages/patches/libobjc2-unbundle-robin-map.patch \ %D%/packages/patches/libobjc2-unbundle-robin-map.patch \
%D%/packages/patches/librime-fix-build-with-gcc10.patch \
%D%/packages/patches/libvirt-add-install-prefix.patch \ %D%/packages/patches/libvirt-add-install-prefix.patch \
%D%/packages/patches/libziparchive-add-includes.patch \ %D%/packages/patches/libziparchive-add-includes.patch \
%D%/packages/patches/lightdm-arguments-ordering.patch \ %D%/packages/patches/lightdm-arguments-ordering.patch \
@ -1646,6 +1659,7 @@ dist_patch_DATA = \
%D%/packages/patches/lua-liblua-so.patch \ %D%/packages/patches/lua-liblua-so.patch \
%D%/packages/patches/lua-5.4-pkgconfig.patch \ %D%/packages/patches/lua-5.4-pkgconfig.patch \
%D%/packages/patches/lua-5.4-liblua-so.patch \ %D%/packages/patches/lua-5.4-liblua-so.patch \
%D%/packages/patches/lugaru-fix-sound.patch \
%D%/packages/patches/luit-posix.patch \ %D%/packages/patches/luit-posix.patch \
%D%/packages/patches/mactelnet-remove-init.patch \ %D%/packages/patches/mactelnet-remove-init.patch \
%D%/packages/patches/mailutils-variable-lookup.patch \ %D%/packages/patches/mailutils-variable-lookup.patch \
@ -1715,7 +1729,6 @@ dist_patch_DATA = \
%D%/packages/patches/network-manager-meson.patch \ %D%/packages/patches/network-manager-meson.patch \
%D%/packages/patches/nginx-socket-cloexec.patch \ %D%/packages/patches/nginx-socket-cloexec.patch \
%D%/packages/patches/nnpack-system-libraries.patch \ %D%/packages/patches/nnpack-system-libraries.patch \
%D%/packages/patches/notmuch-emacs-test-output.patch \
%D%/packages/patches/nsis-env-passthru.patch \ %D%/packages/patches/nsis-env-passthru.patch \
%D%/packages/patches/nss-getcwd-nonnull.patch \ %D%/packages/patches/nss-getcwd-nonnull.patch \
%D%/packages/patches/nss-increase-test-timeout.patch \ %D%/packages/patches/nss-increase-test-timeout.patch \
@ -1725,10 +1738,6 @@ dist_patch_DATA = \
%D%/packages/patches/nvi-db4.patch \ %D%/packages/patches/nvi-db4.patch \
%D%/packages/patches/nyacc-binary-literals.patch \ %D%/packages/patches/nyacc-binary-literals.patch \
%D%/packages/patches/obs-modules-location.patch \ %D%/packages/patches/obs-modules-location.patch \
%D%/packages/patches/ocaml-dose3-add-unix-dependency.patch \
%D%/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch \
%D%/packages/patches/ocaml-dose3-dont-make-printconf.patch \
%D%/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch \
%D%/packages/patches/ocaml-multiple-definitions.patch \ %D%/packages/patches/ocaml-multiple-definitions.patch \
%D%/packages/patches/ocaml-4.07-dynamically-allocate-signal-stack.patch \ %D%/packages/patches/ocaml-4.07-dynamically-allocate-signal-stack.patch \
%D%/packages/patches/ocaml-4.09-dynamically-allocate-signal-stack.patch \ %D%/packages/patches/ocaml-4.09-dynamically-allocate-signal-stack.patch \
@ -1805,7 +1814,6 @@ dist_patch_DATA = \
%D%/packages/patches/python-sip-include-dirs.patch \ %D%/packages/patches/python-sip-include-dirs.patch \
%D%/packages/patches/python-sgmllib3k-assertions.patch \ %D%/packages/patches/python-sgmllib3k-assertions.patch \
%D%/packages/patches/python-sphinx-prompt-docutils-0.19.patch \ %D%/packages/patches/python-sphinx-prompt-docutils-0.19.patch \
%D%/packages/patches/python-telingo-fix-comparison.patch \
%D%/packages/patches/python-typeguard-python3.10.patch \ %D%/packages/patches/python-typeguard-python3.10.patch \
%D%/packages/patches/python-uqbar-python3.10.patch \ %D%/packages/patches/python-uqbar-python3.10.patch \
%D%/packages/patches/python-wxwidgets-type-errors.patch \ %D%/packages/patches/python-wxwidgets-type-errors.patch \
@ -1914,7 +1922,6 @@ dist_patch_DATA = \
%D%/packages/patches/python-piexif-fix-tests-with-pillow-7.2.patch \ %D%/packages/patches/python-piexif-fix-tests-with-pillow-7.2.patch \
%D%/packages/patches/python-pillow-CVE-2022-45199.patch \ %D%/packages/patches/python-pillow-CVE-2022-45199.patch \
%D%/packages/patches/python-pyfakefs-remove-bad-test.patch \ %D%/packages/patches/python-pyfakefs-remove-bad-test.patch \
%D%/packages/patches/python-flint-includes.patch \
%D%/packages/patches/python-libxml2-utf8.patch \ %D%/packages/patches/python-libxml2-utf8.patch \
%D%/packages/patches/python-memcached-syntax-warnings.patch \ %D%/packages/patches/python-memcached-syntax-warnings.patch \
%D%/packages/patches/python-mox3-python3.6-compat.patch \ %D%/packages/patches/python-mox3-python3.6-compat.patch \
@ -1961,7 +1968,6 @@ dist_patch_DATA = \
%D%/packages/patches/qtwayland-cleanup-callbacks.patch \ %D%/packages/patches/qtwayland-cleanup-callbacks.patch \
%D%/packages/patches/ragel-char-signedness.patch \ %D%/packages/patches/ragel-char-signedness.patch \
%D%/packages/patches/randomjungle-disable-static-build.patch \ %D%/packages/patches/randomjungle-disable-static-build.patch \
%D%/packages/patches/range-v3-build-with-gcc10.patch \
%D%/packages/patches/raptor2-heap-overflow.patch \ %D%/packages/patches/raptor2-heap-overflow.patch \
%D%/packages/patches/ratpoints-sturm_and_rp_private.patch \ %D%/packages/patches/ratpoints-sturm_and_rp_private.patch \
%D%/packages/patches/ratpoison-shell.patch \ %D%/packages/patches/ratpoison-shell.patch \
@ -1971,6 +1977,8 @@ dist_patch_DATA = \
%D%/packages/patches/renpy-use-system-fribidi.patch \ %D%/packages/patches/renpy-use-system-fribidi.patch \
%D%/packages/patches/reposurgeon-add-missing-docbook-files.patch \ %D%/packages/patches/reposurgeon-add-missing-docbook-files.patch \
%D%/packages/patches/r-httpuv-1.6.6-unvendor-libuv.patch \ %D%/packages/patches/r-httpuv-1.6.6-unvendor-libuv.patch \
%D%/packages/patches/r-sapa-lapack.patch \
%D%/packages/patches/r-sgloptim.patch \
%D%/packages/patches/ri-li-modernize_cpp.patch \ %D%/packages/patches/ri-li-modernize_cpp.patch \
%D%/packages/patches/ripperx-missing-file.patch \ %D%/packages/patches/ripperx-missing-file.patch \
%D%/packages/patches/rpcbind-CVE-2017-8779.patch \ %D%/packages/patches/rpcbind-CVE-2017-8779.patch \
@ -1980,6 +1988,7 @@ dist_patch_DATA = \
%D%/packages/patches/racket-rktio-bin-sh.patch \ %D%/packages/patches/racket-rktio-bin-sh.patch \
%D%/packages/patches/racket-zuo-bin-sh.patch \ %D%/packages/patches/racket-zuo-bin-sh.patch \
%D%/packages/patches/remake-impure-dirs.patch \ %D%/packages/patches/remake-impure-dirs.patch \
%D%/packages/patches/restartd-update-robust.patch \
%D%/packages/patches/restic-0.9.6-fix-tests-for-go1.15.patch \ %D%/packages/patches/restic-0.9.6-fix-tests-for-go1.15.patch \
%D%/packages/patches/rng-tools-revert-build-randstat.patch \ %D%/packages/patches/rng-tools-revert-build-randstat.patch \
%D%/packages/patches/rocclr-5.6.0-enable-gfx800.patch \ %D%/packages/patches/rocclr-5.6.0-enable-gfx800.patch \
@ -1997,17 +2006,20 @@ dist_patch_DATA = \
%D%/packages/patches/rustc-1.54.0-src.patch \ %D%/packages/patches/rustc-1.54.0-src.patch \
%D%/packages/patches/rust-1.64-fix-riscv64-bootstrap.patch \ %D%/packages/patches/rust-1.64-fix-riscv64-bootstrap.patch \
%D%/packages/patches/rust-1.70-fix-rustix-build.patch \ %D%/packages/patches/rust-1.70-fix-rustix-build.patch \
%D%/packages/patches/rust-ring-0.16-missing-files.patch \ %D%/packages/patches/rust-cargo-edit-remove-ureq.patch \
%D%/packages/patches/rust-ring-0.16-test-files.patch \ %D%/packages/patches/rust-ring-0.17-ring-core.patch \
%D%/packages/patches/i3status-rust-enable-unstable-features.patch \
%D%/packages/patches/rust-ndarray-remove-blas-src-dep.patch \ %D%/packages/patches/rust-ndarray-remove-blas-src-dep.patch \
%D%/packages/patches/rust-ndarray-0.13-remove-blas-src.patch \ %D%/packages/patches/rust-ndarray-0.13-remove-blas-src.patch \
%D%/packages/patches/rust-ndarray-0.14-remove-blas-src.patch \ %D%/packages/patches/rust-ndarray-0.14-remove-blas-src.patch \
%D%/packages/patches/rust-nettle-disable-vendor.patch \ %D%/packages/patches/rust-nettle-disable-vendor.patch \
%D%/packages/patches/rust-rspec-1-remove-clippy.patch \
%D%/packages/patches/rust-trash-2-update-windows.patch \
%D%/packages/patches/rust-webbrowser-remove-unsupported-os.patch \ %D%/packages/patches/rust-webbrowser-remove-unsupported-os.patch \
%D%/packages/patches/rust-wl-clipboard-rs-newer-wl.patch \ %D%/packages/patches/rust-wl-clipboard-rs-newer-wl.patch \
%D%/packages/patches/rw-igraph-0.10.patch \ %D%/packages/patches/rw-igraph-0.10.patch \
%D%/packages/patches/rxvt-unicode-fix-cursor-position.patch \ %D%/packages/patches/rxvt-unicode-fix-cursor-position.patch \
%D%/packages/patches/s7-flint-3.patch \
%D%/packages/patches/sajson-for-gemmi-numbers-as-strings.patch \
%D%/packages/patches/sbc-fix-build-non-x86.patch \ %D%/packages/patches/sbc-fix-build-non-x86.patch \
%D%/packages/patches/sbcl-aserve-add-HTML-5-elements.patch \ %D%/packages/patches/sbcl-aserve-add-HTML-5-elements.patch \
%D%/packages/patches/sbcl-aserve-fix-rfe12668.patch \ %D%/packages/patches/sbcl-aserve-fix-rfe12668.patch \
@ -2043,7 +2055,6 @@ dist_patch_DATA = \
%D%/packages/patches/source-highlight-gcc-compat.patch \ %D%/packages/patches/source-highlight-gcc-compat.patch \
%D%/packages/patches/softhsm-fix-openssl3-tests.patch \ %D%/packages/patches/softhsm-fix-openssl3-tests.patch \
%D%/packages/patches/spectre-meltdown-checker-externalize-fwdb.patch \ %D%/packages/patches/spectre-meltdown-checker-externalize-fwdb.patch \
%D%/packages/patches/spdlog-fix-tests.patch \
%D%/packages/patches/sphinxbase-fix-doxygen.patch \ %D%/packages/patches/sphinxbase-fix-doxygen.patch \
%D%/packages/patches/sssd-system-directories.patch \ %D%/packages/patches/sssd-system-directories.patch \
%D%/packages/patches/steghide-fixes.patch \ %D%/packages/patches/steghide-fixes.patch \
@ -2171,6 +2182,7 @@ dist_patch_DATA = \
%D%/packages/patches/webrtc-audio-processing-big-endian.patch \ %D%/packages/patches/webrtc-audio-processing-big-endian.patch \
%D%/packages/patches/webrtc-for-telegram-desktop-unbundle-libsrtp.patch \ %D%/packages/patches/webrtc-for-telegram-desktop-unbundle-libsrtp.patch \
%D%/packages/patches/websocketpp-fix-for-cmake-3.15.patch \ %D%/packages/patches/websocketpp-fix-for-cmake-3.15.patch \
%D%/packages/patches/wlroots-hwdata-fallback.patch \
%D%/packages/patches/wmctrl-64-fix.patch \ %D%/packages/patches/wmctrl-64-fix.patch \
%D%/packages/patches/wmfire-update-for-new-gdk-versions.patch \ %D%/packages/patches/wmfire-update-for-new-gdk-versions.patch \
%D%/packages/patches/wordnet-CVE-2008-2149.patch \ %D%/packages/patches/wordnet-CVE-2008-2149.patch \

View file

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.org> ;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.org>
;;; Copyright © 2020-2023 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2020-2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2024 Ricardo <rekado@elephly.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -537,22 +538,24 @@ failed to switch systems while deploying '~a':~%~{~s ~}")
host host
(inferior-exception-arguments c)))) (inferior-exception-arguments c))))
os)) os))
(with-roll-back #t (parameterize ((%current-system system)
(mbegin %store-monad (%current-target-system #f))
(upgrade-shepherd-services (eval/error-handling c (with-roll-back #t
(warning (G_ "\ (mbegin %store-monad
(upgrade-shepherd-services (eval/error-handling c
(warning (G_ "\
an error occurred while upgrading services on '~a':~%~{~s ~}~%") an error occurred while upgrading services on '~a':~%~{~s ~}~%")
host host
(inferior-exception-arguments (inferior-exception-arguments
c))) c)))
os) os)
(install-bootloader (eval/error-handling c (install-bootloader (eval/error-handling c
(raise (formatted-message (raise (formatted-message
(G_ "\ (G_ "\
failed to install bootloader on '~a':~%~{~s ~}~%") failed to install bootloader on '~a':~%~{~s ~}~%")
host host
(inferior-exception-arguments c)))) (inferior-exception-arguments c))))
bootloader-configuration bootcfg)))))))) bootloader-configuration bootcfg)))))))))
;;; ;;;

View file

@ -62,6 +62,8 @@
;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu> ;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu>
;;; Copyright © 2023 Tobias Kortkamp <tobias.kortkamp@gmail.com> ;;; Copyright © 2023 Tobias Kortkamp <tobias.kortkamp@gmail.com>
;;; Copyright © 2023 Jaeme Sifat <jaeme@runbox.com> ;;; Copyright © 2023 Jaeme Sifat <jaeme@runbox.com>
;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2023 Tomás Ortín Fernández <tomasortin@mailbox.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -112,6 +114,7 @@
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages crates-graphics) #:use-module (gnu packages crates-graphics)
#:use-module (gnu packages crates-io) #:use-module (gnu packages crates-io)
#:use-module (gnu packages crates-windows)
#:use-module (gnu packages crypto) #:use-module (gnu packages crypto)
#:use-module (gnu packages cryptsetup) #:use-module (gnu packages cryptsetup)
#:use-module (gnu packages curl) #:use-module (gnu packages curl)
@ -130,6 +133,8 @@
#:use-module (gnu packages gnome) #:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg) #:use-module (gnu packages gnupg)
#:use-module (gnu packages golang) #:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-compression)
#:use-module (gnu packages groff) #:use-module (gnu packages groff)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages guile) #:use-module (gnu packages guile)
@ -149,6 +154,7 @@
#:use-module (gnu packages mcrypt) #:use-module (gnu packages mcrypt)
#:use-module (gnu packages mpi) #:use-module (gnu packages mpi)
#:use-module (gnu packages ncurses) #:use-module (gnu packages ncurses)
#:use-module (gnu packages nettle)
#:use-module (gnu packages networking) #:use-module (gnu packages networking)
#:use-module (gnu packages openldap) #:use-module (gnu packages openldap)
#:use-module (gnu packages package-management) #:use-module (gnu packages package-management)
@ -4907,6 +4913,33 @@ It can mount all local file systems supported by @command{mount}, as well as
LUKS volumes encrypted with the user's log-in password.") LUKS volumes encrypted with the user's log-in password.")
(license (list license:gpl2+ license:lgpl2.1+)))) (license (list license:gpl2+ license:lgpl2.1+))))
(define-public pam-uaccess
(let ((commit "54fbf043c63cc500b4850b0b4a12ea14078f2b53")
(revision "0"))
(package
(name "pam-uaccess")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~kennylevinsen/pam_uaccess")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"08068cw4nvcanym8b5dyccnnb3qc3f09pbvi6fcfiz227yx73npc"))))
(build-system meson-build-system)
(native-inputs (list pkg-config))
(inputs (list acl eudev linux-pam))
(home-page "https://git.sr.ht/~kennylevinsen/pam_uaccess")
(synopsis
"PAM module that grants access to devices tagged @code{uaccess} in udev")
(description
"@code{pam_uaccess} is a PAM module that grants access to devices tagged
@code{uaccess} in udev for the duration of the users' session, replacing
elogind's uaccess feature.")
(license license:expat))))
(define-public jc (define-public jc
(package (package
(name "jc") (name "jc")
@ -5814,6 +5847,57 @@ up services to use only two factor, or public/private authentication
mechanisms if you really want to protect services.") mechanisms if you really want to protect services.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public restartd
(let* ((commit "7044125ac55056f2663536f7137170edf92ebd75")
;; Version is 0.2.4 in the version file in the repo
;; but not in github tags.
;; It is released as 0.2.3-1.1 for other distributions.
;; Probably because of the lack of activity upstream.
(revision "1"))
(package
(name "restartd")
(version (git-version "0.2.3" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ajraymond/restartd")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1m1np00b4zvvwx63gzysbi38i5vj1jsjvh2s0p9czl6dzyz582z0"))
(patches (search-patches "restartd-update-robust.patch"))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ; no tests
#:make-flags
#~(list (string-append "CC=" #$(cc-for-target)))
#:phases
#~(modify-phases %standard-phases
(delete 'configure)
(replace 'install
(lambda _
(install-file "restartd.conf" (string-append #$output "/etc"))
(install-file "restartd" (string-append #$output "/sbin"))
(install-file "restartd.8"
(string-append #$output "/share/man/man8"))
(mkdir-p (string-append #$output "/share/man/fr/man8"))
(copy-file
"restartd.fr.8"
(string-append #$output "/share/man/fr/man8/restartd.8")))))))
(home-page "https://launchpad.net/debian/+source/restartd")
(synopsis "Daemon for restarting processes")
(description "This package provides a daemon for checking running and
not running processes. It reads the @file{/proc} directory every @var{n}
seconds and does a POSIX regexp on the process names. The daemon runs a
user-provided script when it detects a program in the running processes, or an
alternate script if it doesn't detect the program. The daemon can only be
called by the root user, but can use @command{sudo -u user} in the process
called if needed.")
(license license:gpl2+))))
(define-public rex (define-public rex
(package (package
(name "rex") (name "rex")
@ -6038,3 +6122,34 @@ breadth-first rather than depth-first. It is otherwise compatible with many
versions of @command{find}, including POSIX, GNU, and *BSD find.") versions of @command{find}, including POSIX, GNU, and *BSD find.")
(home-page "https://tavianator.com/projects/bfs.html") (home-page "https://tavianator.com/projects/bfs.html")
(license license:bsd-0))) (license license:bsd-0)))
(define-public rdfind
(package
(name "rdfind")
(version "1.6.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://rdfind.pauldreik.se/" name "-" version
".tar.gz"))
(sha256
(base32 "0y9j1w3nbgjks0k4kgm6qq92yrwgv66n212ncmlmhsl8y676wh3s"))))
(build-system gnu-build-system)
(native-inputs (list which))
(inputs (list nettle))
(arguments
(list
#:phases #~(modify-phases %standard-phases
(add-before 'check 'patch-tests
(lambda _
(display (which "echo"))
(substitute* "testcases/common_funcs.sh"
(("/bin/echo")
(which "echo"))))))))
(home-page "https://rdfind.pauldreik.se")
(synopsis "Find duplicate files")
(description
"Rdfind is a command line tool that finds duplicate files based on
their content instead of their file names. It is useful for compressing
backup directories or just finding duplicate files.")
(license license:gpl2+)))

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2022 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2022, 2023, 2024 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013, 2015, 2017, 2018, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2015, 2017, 2018, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016-2023 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2016-2023 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2014, 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2018 Mark H Weaver <mhw@netris.org>
@ -133,25 +133,26 @@ greatest common divisor operations.")
(define-public cm (define-public cm
(package (package
(name "cm") (name "cm")
(version "0.4.2") (version "0.4.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"http://www.multiprecision.org/downloads/cm-" "https://www.multiprecision.org/downloads/cm-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1c6m00wiw3rs5f0lq6c80rdr3dzklsvh69l8w3s7bj2r6yha6qbw")))) "01dha0hl0daappjiydpk4ngl9nxkxli6a48jp6d7v85yjjykac5j"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(propagated-inputs (propagated-inputs
(list mpfrcx zlib)) ; Header files included from cm_common.h. (list mpfrcx zlib)) ; Header files included from lib/cm.h.
(inputs (inputs
(list pari-gp)) (list flint pari-gp))
(synopsis "CM constructions for elliptic curves") (synopsis "CM constructions for elliptic curves")
(description (description
"The CM software implements the construction of ring class fields of "The CM software implements the construction of ring class fields of
imaginary quadratic number fields and of elliptic curves with complex imaginary quadratic number fields and of elliptic curves with complex
multiplication via floating point approximations. It consists of libraries multiplication via floating point approximations, and the elliptic curve
primality proving algorithm (ECPP). It consists of libraries
that can be called from within a C program and of executable command that can be called from within a C program and of executable command
line applications.") line applications.")
(license license:gpl3+) (license license:gpl3+)
@ -295,6 +296,34 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
(license license:gpl2) (license license:gpl2)
(home-page "https://pari.math.u-bordeaux.fr/"))) (home-page "https://pari.math.u-bordeaux.fr/")))
(define-public paritwine
(package
(name "paritwine")
(version "0.2.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://www.multiprecision.org/downloads/" name
"-" version
".tar.gz"))
(sha256
(base32
"15m5jxmhx5zivk1k9wxpmzs8kqva3kvgxizdrkrmmp1qycn85n23"))))
(build-system gnu-build-system)
(propagated-inputs (list pari-gp
gmp
mpfr
mpc
cmh
flint)) ; referenced in src/paritwine.h
(synopsis "Glue library between PARI/GP and other mathematics libraries")
(description
"PariTwine is a glue library between the system for computer algebra
and number theory PARI/GP and a number of other mathematics libraries,
currently GMP, GNU MPFR, GNU MPC, FLINT and CMH.")
(license license:gpl2+)
(home-page "https://www.multiprecision.org/paritwine/index.html")))
(define-public cmh (define-public cmh
(package (package
(name "cmh") (name "cmh")
@ -417,41 +446,20 @@ or text interfaces) or as a C++ library.")
(define-public flint (define-public flint
(package (package
(name "flint") (name "flint")
(version "2.9.0") (version "3.0.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://flintlib.org/flint-" version ".tar.gz")) (uri (string-append "https://flintlib.org/flint-" version ".tar.gz"))
(sha256 (sha256
(base32 "0sp79ixaawjzna79afrlwlx9hg55jxil03f1wq435j9k23ar1h1g")))) (base32 "1d4lawfvmjd4n7rp4z9xkwwjjbrjhkmxnxw1xf0ki1isa001lcbv"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
(list ntl)) (list ntl))
(propagated-inputs (propagated-inputs
(list gmp mpfr)) ; header files from both are included by flint/arith.h (list gmp mpfr)) ; header files from both are included by flint/arith.h
(arguments (arguments
`(#:parallel-tests? #f ; seems to be necessary on arm `(#:parallel-tests? #f)) ; seems to be necessary on arm
#:phases
(modify-phases %standard-phases
(add-before 'configure 'newer-c++
(lambda _
(substitute* "configure"
(("-ansi") ""))
#t))
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(gmp (assoc-ref inputs "gmp"))
(mpfr (assoc-ref inputs "mpfr"))
(ntl (assoc-ref inputs "ntl")))
;; Do not pass "--enable-fast-install", which makes the
;; homebrew configure process fail.
(invoke "./configure"
(string-append "--prefix=" out)
(string-append "--with-gmp=" gmp)
(string-append "--with-mpfr=" mpfr)
(string-append "--with-ntl=" ntl))
#t))))))
(synopsis "Fast library for number theory") (synopsis "Fast library for number theory")
(description (description
"FLINT is a C library for number theory. It supports arithmetic "FLINT is a C library for number theory. It supports arithmetic
@ -470,52 +478,12 @@ fast arithmetic.")
'((release-monitoring-url . "http://flintlib.org/downloads.html"))))) '((release-monitoring-url . "http://flintlib.org/downloads.html")))))
(define-public arb (define-public arb
(package (deprecated-package "arb" flint))
(name "arb")
(version "2.23.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/fredrik-johansson/arb")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1m9vskyf857gbm0cbh3z8c8m6cqkqa765wb9hqmsv7yzfmklzpvn"))))
(build-system gnu-build-system)
(propagated-inputs
(list flint)) ; flint.h is included by arf.h
(inputs
(list gmp mpfr))
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(flint (assoc-ref inputs "flint"))
(gmp (assoc-ref inputs "gmp"))
(mpfr (assoc-ref inputs "mpfr")))
;; Do not pass "--enable-fast-install", which makes the
;; homebrew configure process fail.
(invoke "./configure"
(string-append "--prefix=" out)
(string-append "--with-flint=" flint)
(string-append "--with-gmp=" gmp)
(string-append "--with-mpfr=" mpfr))))))))
(home-page "https://arblib.org")
(synopsis "Arbitrary precision floating-point ball arithmetic")
(description
"Arb is a C library for arbitrary-precision floating-point ball
arithmetic. It supports efficient high-precision computation with
polynomials, power series, matrices and special functions over the
real and complex numbers, with automatic, rigorous error control.")
(license license:lgpl2.1+)))
(define-public python-flint (define-public python-flint
(package (package
(name "python-flint") (name "python-flint")
(version "0.3.0") (version "0.5.0")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -524,15 +492,14 @@ real and complex numbers, with automatic, rigorous error control.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1v0anazbj1cfi68nl2j6dbd31kgkc1563xmr0zk5xk3xj78569pw")) "10370kqik6q6vdqrqv3gbznsyaxbgqb3rbrff4alpw0sqr5s07c7"))))
(patches (search-patches "python-flint-includes.patch"))))
(build-system python-build-system) (build-system python-build-system)
(native-inputs (native-inputs
(list python-cython)) (list python-cython-3))
(propagated-inputs (propagated-inputs
(list python-numpy)) (list python-numpy))
(inputs (inputs
(list arb flint)) (list flint))
(synopsis "Python module wrapping ARB and FLINT") (synopsis "Python module wrapping ARB and FLINT")
(description (description
"Python-flint is a Python extension module wrapping FLINT "Python-flint is a Python extension module wrapping FLINT
@ -592,12 +559,12 @@ matrices, and polynomials over the integers and over finite fields.")
(define-public singular (define-public singular
(package (package
(name "singular") (name "singular")
(version "4.2.1") (version "4.3.2p10")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (uri
(string-append "http://www.mathematik.uni-kl.de/ftp/pub/Math/" (string-append "https://www.singular.uni-kl.de/ftp/pub/Math/"
"Singular/SOURCES/" "Singular/SOURCES/"
(string-join (string-join
(string-split (string-split
@ -607,7 +574,7 @@ matrices, and polynomials over the integers and over finite fields.")
#\.) "-") #\.) "-")
"/singular-" version ".tar.gz")) "/singular-" version ".tar.gz"))
(sha256 (base32 (sha256 (base32
"13gy1gdng8zijwlr1fn5sixw53z0zf9czzlg0vh1dcc59zw6v998")))) "1a2j2pkp73rb1xdd5623gkk1snwd85yimssnz86y0m79zvyckhi8"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
(list doxygen graphviz perl)) (list doxygen graphviz perl))

View file

@ -36,6 +36,7 @@
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix build-system android-ndk) #:use-module (guix build-system android-ndk)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system emacs)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system go) #:use-module (guix build-system go)
#:use-module (guix build-system python) #:use-module (guix build-system python)
@ -1224,6 +1225,36 @@ connected devices via ADB.")
(home-page "https://github.com/mvdan/fdroidcl") (home-page "https://github.com/mvdan/fdroidcl")
(license license:bsd-3))) (license license:bsd-3)))
(define-public emacs-fdroid
(package
(name "emacs-fdroid")
(version "0.1.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/migalmoreno/fdroid.el")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1gv4kfir12bbi17cm5hpx197m8dbw1xwqp0z6qb3vc0fdnyis35j"))))
(build-system emacs-build-system)
(arguments
(list
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'patch-file-name
(lambda* (#:key inputs #:allow-other-keys)
(emacs-substitute-variables "fdroid.el"
("fdroid-program"
(search-input-file inputs "/bin/fdroidcl"))))))))
(inputs (list fdroidcl))
(home-page "https://github.com/migalmoreno/fdroid.el")
(synopsis "Manage F-Droid packages from Emacs")
(description "This package is an Emacs interface to F-Droid. Its purpose
is to aid in the management of F-Droid packages for an Android device or an
emulator inside the comfort of Emacs.")
(license license:gpl3+)))
(define-public enjarify (define-public enjarify
(package (package
(name "enjarify") (name "enjarify")
@ -1277,7 +1308,7 @@ Java bytecode, which simplifies the analysis of Android applications.")
(define-public android-file-transfer (define-public android-file-transfer
(package (package
(name "android-file-transfer") (name "android-file-transfer")
(version "4.2") (version "4.3")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -1287,7 +1318,7 @@ Java bytecode, which simplifies the analysis of Android applications.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"125rq8ji83nw6chfw43i0h9c38hjqh1qjibb0gnf9wrigar9zc8b")))) "1ianph8ivj0fxg1l7llid7gv4pbfb5j23b33j9gan6x7scr13q2h"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
(list #:tests? #f)) ;there are no tests (list #:tests? #f)) ;there are no tests

View file

@ -45,14 +45,14 @@
(define-public clamav (define-public clamav
(package (package
(name "clamav") (name "clamav")
(version "0.103.8") (version "0.103.11")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://www.clamav.net/downloads/production/" (uri (string-append "https://www.clamav.net/downloads/production/"
"clamav-" version ".tar.gz")) "clamav-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0gwcikzfdswrdh5vhh3x4lx8w92476fmb7im7phnv4r7x5pdljbg")) "04by1g3p6awhi3j1y6zpwzmasdnvjgi6lwm34l2gadlwgkdfpmv1"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin

File diff suppressed because it is too large Load diff

View file

@ -1424,6 +1424,35 @@ performances. The plugins include a cellular automaton synthesizer, an
envelope follower, distortion effects, tape effects and more.") envelope follower, distortion effects, tape effects and more.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public omins-lv2
(let ((commit "058f341053067b69a84d4081107fda5058290ff9")
(revision "1"))
(package
(name "omins-lv2")
;; No release despite being perfectly usable. 0.0.0 seems to be the only
;; version the author ever specified:
(version (git-version "0.0.0" revision commit))
(source
(origin (method git-fetch)
(uri
(git-reference
(url "https://git.drobilla.net/cgit.cgi/omins.lv2.git/")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"01hnx4hhbz3ap3bw15s42q4q1mw1mhdjwygq4550wvjfg6k4ga8w"))))
(build-system waf-build-system)
(arguments (list #:tests? #false)) ;There are no tests.
(inputs (list lv2))
(native-inputs (list pkg-config))
(home-page "https://git.drobilla.net/cgit.cgi/omins.lv2.git/")
(synopsis "LV2 audio plugins for modular synthesis")
(description
"Omins-lv2 is a small collection of LV2 audio plugins for modular
synthesis.")
(license license:gpl2+))))
(define-public snapcast (define-public snapcast
(package (package
(name "snapcast") (name "snapcast")
@ -6311,7 +6340,7 @@ and DSD streams.")
(define-public qpwgraph (define-public qpwgraph
(package (package
(name "qpwgraph") (name "qpwgraph")
(version "0.6.0") (version "0.6.2")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -6320,7 +6349,7 @@ and DSD streams.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"17jl347rwagdyx6pgnp83l1ffhlyfl0s4jf7ii2i1j3s1m9sz7y0")))) "0185hxbwqxhjiyym0s7bmrm50f3p4bnvx92qqmgvg3zd7r1x8m8s"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
(list #:tests? #f)) ; no tests (list #:tests? #f)) ; no tests

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -37,7 +37,27 @@ def path_to_saves(gamedir, save_directory=None):
if not save_directory: if not save_directory:
return gamedir + "/saves" return gamedir + "/saves"
return os.path.join(os.path.expanduser("~/.renpy"), save_directory) prefix = os.environ.get("RENPY_PATH_TO_SAVES",
os.path.expanduser("~/.renpy"))
return os.path.join(prefix, save_directory)
def path_to_logdir(basedir):
return basedir
def predefined_searchpath(commondir):
import renpy
# The default gamedir, in private.
searchpath = [ renpy.config.gamedir ]
if env_searchpath := os.environ.get("RENPY_SEARCHPATH"):
searchpath.extend(env_searchpath.split("::"))
if commondir and os.path.isdir(commondir):
searchpath.append(commondir)
return searchpath
def main(): def main():
try: try:

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016, 2017, 2019, 2020, 2021, 2024 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
@ -18,6 +18,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages axoloti) (define-module (gnu packages axoloti)
#:use-module (guix gexp)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
@ -218,8 +219,9 @@ runtime.")
(name "axoloti-patcher") (name "axoloti-patcher")
(version (package-version axoloti-runtime)) (version (package-version axoloti-runtime))
(arguments (arguments
`(#:tests? #f ; no check target (list
#:modules ((guix build gnu-build-system) #:tests? #f ; no check target
#:modules '((guix build gnu-build-system)
((guix build ant-build-system) #:prefix ant:) ((guix build ant-build-system) #:prefix ant:)
(guix build utils) (guix build utils)
(srfi srfi-1) (srfi srfi-1)
@ -229,113 +231,109 @@ runtime.")
(sxml simple) (sxml simple)
(sxml xpath) (sxml xpath)
(sxml transform)) (sxml transform))
#:imported-modules ((guix build ant-build-system) #:imported-modules `((guix build ant-build-system)
,@%gnu-build-system-modules) ,@%gnu-build-system-modules)
#:phases #:phases
(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'unpack 'make-git-checkout-writable (delete 'configure)
(lambda _ (replace 'build
(for-each make-file-writable (find-files ".")) (lambda* (#:key inputs #:allow-other-keys)
#t)) (setenv "JAVA_HOME" (assoc-ref inputs "icedtea"))
(delete 'configure) ;; We want to use our own jar files instead of the pre-built
(replace 'build ;; stuff in lib. So we replace the zipfileset tags in the
(lambda* (#:key inputs #:allow-other-keys) ;; build.xml with new ones that reference our jars.
(setenv "JAVA_HOME" (assoc-ref inputs "icedtea")) (let* ((build.xml (with-input-from-file "build.xml"
;; We want to use our own jar files instead of the pre-built (lambda _
;; stuff in lib. So we replace the zipfileset tags in the (xml->sxml #:trim-whitespace? #t))))
;; build.xml with new ones that reference our jars. (jars (append-map (match-lambda
(let* ((build.xml (with-input-from-file "build.xml" (((? (cut string-prefix? "java-" <>)
(lambda _ label) . directory)
(xml->sxml #:trim-whitespace? #t)))) (find-files directory "\\.jar$"))
(jars (append-map (match-lambda (_ '()))
(((? (cut string-prefix? "java-" <>) inputs))
label) . directory) (classpath (string-join jars ":"))
(find-files directory "\\.jar$")) (fileset (map (lambda (jar)
(_ '())) `(zipfileset (@ (excludes "META-INF/*.SF")
inputs)) (src ,jar))))
(classpath (string-join jars ":")) jars)))
(fileset (map (lambda (jar) (call-with-output-file "build.xml"
`(zipfileset (@ (excludes "META-INF/*.SF") (lambda (port)
(src ,jar)))) (sxml->xml
jars))) (pre-post-order
(call-with-output-file "build.xml" build.xml
(lambda (port) `( ;; Remove all zipfileset tags from the "jar" tree and
(sxml->xml ;; inject our own tags.
(pre-post-order (jar . ,(lambda (tag . kids)
build.xml `(jar ,@(append-map
`(;; Remove all zipfileset tags from the "jar" tree and (filter (lambda (e)
;; inject our own tags. (not (eq? 'zipfileset (car e)))))
(jar . ,(lambda (tag . kids) kids)
`(jar ,@(append-map ,@fileset)))
(filter (lambda (e) ;; Skip the "bundle" target (and the "-post-jar" target
(not (eq? 'zipfileset (car e))))) ;; that depends on it), because we don't need it and it
kids) ;; confuses sxml->xml.
,@fileset))) (target . ,(lambda (tag . kids)
;; Skip the "bundle" target (and the "-post-jar" target (let ((name ((sxpath '(name *text*))
;; that depends on it), because we don't need it and it (car kids))))
;; confuses sxml->xml. (if (or (member "bundle" name)
(target . ,(lambda (tag . kids) (member "-post-jar" name))
(let ((name ((sxpath '(name *text*)) '() ; skip
(car kids)))) `(,tag ,@kids)))))
(if (or (member "bundle" name) (*default* . ,(lambda (tag . kids) `(,tag ,@kids)))
(member "-post-jar" name)) (*text* . ,(lambda (_ txt)
'() ; skip (match txt
`(,tag ,@kids))))) ;; Remove timestamp.
(*default* . ,(lambda (tag . kids) `(,tag ,@kids))) ("${TODAY}" "(unknown)")
(*text* . ,(lambda (_ txt) (_ txt))))))
(match txt port)))
;; Remove timestamp.
("${TODAY}" "(unknown)")
(_ txt))))))
port)))
;; Build it! ;; Build it!
(invoke "ant" (invoke "ant"
(string-append "-Djavac.classpath=" classpath) (string-append "-Djavac.classpath=" classpath)
"-Dbuild.runtime=true" "-Dbuild.runtime=true"
"-Dbuild.time=01/01/1970 00:00:00" "-Dbuild.time=01/01/1970 00:00:00"
"-Djavac.source=1.7" "-Djavac.source=1.7"
"-Djavac.target=1.7" "-Djavac.target=1.7"
(string-append "-Dtag.short.version=" (string-append "-Dtag.short.version="
,version))))) #$version)))))
(replace 'install (replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let ((share (string-append #$output "/share/axoloti/")))
(share (string-append out "/share/axoloti/"))) (install-file "dist/Axoloti.jar" share)
(install-file "dist/Axoloti.jar" share)
;; We do this to ensure that this package retains references to ;; We do this to ensure that this package retains references to
;; other Java packages' jar files. ;; other Java packages' jar files.
(install-file "build.xml" share) (install-file "build.xml" share)
;; Create a launcher script ;; Create a launcher script
(mkdir (string-append out "/bin")) (mkdir (string-append #$output "/bin"))
(let ((target (string-append out "/bin/Axoloti"))) (let ((target (string-append #$output "/bin/Axoloti")))
(with-output-to-file target (with-output-to-file target
(lambda () (lambda ()
(let* ((dir (string-append (assoc-ref outputs "out") (let* ((dir (string-append #$output "/share/axoloti"))
"/share/axoloti")) (runtime (search-input-directory inputs
(runtime (search-input-directory inputs "share/axoloti"))
"share/axoloti")) (toolchain (assoc-ref inputs "cross-toolchain"))
(toolchain (assoc-ref inputs "cross-toolchain")) (includes (string-append
(includes (string-append toolchain
toolchain "/arm-none-eabi/include/:"
"/arm-none-eabi/include/c++:" toolchain
toolchain "/arm-none-eabi/include/c++:"
"/arm-none-eabi/include/c++/arm-none-eabi/armv7e-m"))) toolchain
(display "/arm-none-eabi/include/c++/arm-none-eabi/armv7e-m")))
(string-append "#!" (which "sh") "\n" (display
"export CROSS_CPATH=" includes "\n" (string-append "#!" (which "sh") "\n"
"export CROSS_CPLUS_INCLUDE_PATH=" includes "\n" "export CROSS_CPATH=" includes "\n"
"export CROSS_LIBRARY_PATH=" "export CROSS_CPLUS_INCLUDE_PATH=" includes "\n"
toolchain "/arm-none-eabi/lib" "\n" "export CROSS_LIBRARY_PATH="
(which "java") toolchain "/arm-none-eabi/lib" "\n"
" -Daxoloti_release=" runtime (which "java")
" -Daxoloti_runtime=" runtime " -Daxoloti_release=" runtime
" -jar " dir "/Axoloti.jar"))))) " -Daxoloti_runtime=" runtime
(chmod target #o555))))) " -jar " dir "/Axoloti.jar")))))
(add-after 'install 'strip-jar-timestamps (chmod target #o555)))))
(assoc-ref ant:%standard-phases 'strip-jar-timestamps))))) (add-after 'install 'strip-jar-timestamps
(assoc-ref ant:%standard-phases 'strip-jar-timestamps)))))
(inputs (inputs
`(("icedtea" ,icedtea "jdk") `(("icedtea" ,icedtea "jdk")
("cross-toolchain" ,(make-arm-none-eabi-nano-toolchain-4.9)) ("cross-toolchain" ,(make-arm-none-eabi-nano-toolchain-4.9))

View file

@ -71,7 +71,10 @@
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages gnupg) #:use-module (gnu packages gnupg)
#:use-module (gnu packages golang) #:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-crypto)
#:use-module (gnu packages golang-web) #:use-module (gnu packages golang-web)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages gperf) #:use-module (gnu packages gperf)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages guile) #:use-module (gnu packages guile)
@ -1270,27 +1273,28 @@ backup.")
(define-public disarchive (define-public disarchive
(package (package
(name "disarchive") (name "disarchive")
(version "0.5.0") (version "0.6.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://files.ngyro.com/disarchive/" (uri (string-append "https://files.ngyro.com/disarchive/"
"disarchive-" version ".tar.gz")) "disarchive-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"16sjplkn9nr7zhfrqll7l1m2b2j4hg8k29p6bqjap9fkj6zpn2q2")))) "1s4lyhhh1zsaxgn11hy2b1kdvnvpipii68wba0hwr471rd43m08k"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
(list autoconf (list autoconf
automake automake
pkg-config pkg-config
guile-3.0 ;for cross-compilation guile-3.0 ;for cross-compilation
guile-bzip2
guile-gcrypt guile-gcrypt
guile-lzma guile-lzma
guile-quickcheck)) guile-quickcheck))
(inputs (inputs
(list guile-3.0 zlib)) (list guile-3.0 zlib))
(propagated-inputs (propagated-inputs
(list guile-gcrypt guile-lzma)) (list guile-bzip2 guile-gcrypt guile-lzma))
(home-page "https://ngyro.com/software/disarchive.html") (home-page "https://ngyro.com/software/disarchive.html")
(synopsis "Software archive disassembler") (synopsis "Software archive disassembler")
(description "Disarchive can disassemble software archives into data (description "Disarchive can disassemble software archives into data
@ -1337,7 +1341,7 @@ compression parameters used by Gzip.")
(invoke "pytest"))))))) (invoke "pytest")))))))
(inputs (inputs
(list borg python-colorama python-jsonschema python-requests (list borg python-colorama python-jsonschema python-requests
python-ruamel.yaml)) python-ruamel.yaml-0.16))
(native-inputs (native-inputs
(list python-flexmock python-pytest python-pytest-cov)) (list python-flexmock python-pytest python-pytest-cov))
(home-page "https://torsion.org/borgmatic/") (home-page "https://torsion.org/borgmatic/")

View file

@ -1551,8 +1551,8 @@ command.")
(define-public tzdata (define-public tzdata
(package (package
(name "tzdata") (name "tzdata")
;; This package should be kept in sync with python-pytz in (gnu packages ;; This package should be kept in sync with python-pytz and python-tzdata
;; time). ;; in (gnu packages time).
(version "2022a") (version "2022a")
(source (origin (source (origin
(method url-fetch) (method url-fetch)

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -529,7 +529,7 @@ desktops.")
(define-public qbittorrent (define-public qbittorrent
(package (package
(name "qbittorrent") (name "qbittorrent")
(version "4.6.2") (version "4.6.3")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -538,7 +538,7 @@ desktops.")
(commit (string-append "release-" version)))) (commit (string-append "release-" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1wps17iv4gj7y751fibvcxk51v09wyniv6xm2yx429dj7z8rfmzs")))) (base32 "01d393v0v4c9rp909l3ddif984pp1z6sym74yc0kgxqq2kplj5g1"))))
(build-system qt-build-system) (build-system qt-build-system)
(arguments (arguments
(list #:configure-flags #~(list "-DTESTING=ON") (list #:configure-flags #~(list "-DTESTING=ON")
@ -547,7 +547,7 @@ desktops.")
(list qttools-5)) (list qttools-5))
(inputs (inputs
(list boost (list boost
libtorrent-rasterbar-1.2 libtorrent-rasterbar
openssl openssl
python-wrapper python-wrapper
qtsvg-5 qtsvg-5

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2023 Artyom V. Poptsov <poptsov.artyom@gmail.com> ;;; Copyright © 2023, 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2023 Adam Faiz <adam.faiz@disroot.org> ;;; Copyright © 2023 Adam Faiz <adam.faiz@disroot.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
@ -19,30 +19,30 @@
(define-module (gnu packages books) (define-module (gnu packages books)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix utils) #:use-module (guix build-system gnu)
#:use-module (guix gexp)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix build-system gnu) #:use-module (guix utils)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages bash) #:use-module (gnu packages bash)
#:use-module (gnu packages music) #:use-module (gnu packages fonts)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages inkscape) #:use-module (gnu packages inkscape)
#:use-module (gnu packages music)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages python-xyz) #:use-module (gnu packages python-xyz)
#:use-module (gnu packages tex) #:use-module (gnu packages tex)
#:use-module (gnu packages texlive) #:use-module (gnu packages texlive)
#:use-module (gnu packages version-control) #:use-module (gnu packages version-control))
#:use-module (gnu packages fonts)
#:use-module (gnu packages fontutils))
(define-public book-sparc (define-public book-sparc
(package (package
(name "book-sparc") (name "book-sparc")
(version "1.1.0") (version "2.0.0")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -50,7 +50,7 @@
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(sha256 (sha256
(base32 (base32
"0k1miyrnh5362qy50jzp5j3ww0c8hr7wk3y5kg6xlqgk9f8msvag")) "0bn3a3m0kcjybyaz1a7pj8n48jh1cg4szwi9px3zjhhm5818wi7z"))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
@ -81,6 +81,7 @@
texlive-bibtex texlive-bibtex
texlive-bibtexperllibs texlive-bibtexperllibs
texlive-bigfoot texlive-bigfoot
texlive-chngcntr
texlive-circuitikz texlive-circuitikz
texlive-collection-langcyrillic texlive-collection-langcyrillic
texlive-fontspec texlive-fontspec

View file

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020, 2021 Marius Bakke <marius@gnu.org> ;;; Copyright © 2020, 2021 Marius Bakke <marius@gnu.org>
;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr> ;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2023 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2023, 2024 Clément Lassieur <clement@lassieur.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -58,8 +58,8 @@ supported content to the Kodi media center.")
;; Arbitrary commit of branch master, ;; Arbitrary commit of branch master,
;; Update when updating uBlockOrigin. ;; Update when updating uBlockOrigin.
(let* ((name "ublock-main-assets") (let* ((name "ublock-main-assets")
(commit "76bd7cb53036a36f7e7df5ee9173f588ba8aa966") (commit "b15998fae22b2b9593794b6b46647385b9c101d4")
(revision "1") (revision "2")
(version (git-version "0" revision commit))) (version (git-version "0" revision commit)))
(origin (origin
(method git-fetch) (method git-fetch)
@ -68,14 +68,14 @@ supported content to the Kodi media center.")
(commit commit))) (commit commit)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1kdzvflr1yxykyva5vsjqr0p2ik1200xbhxwpl3cx2jsiv8l95sk"))))) (base32 "1jnj3qhsqd7k28f6l2cibkpipnf7y7j97fsrwwfz4zqd8p69c3fx")))))
(define ublock-prod-assets (define ublock-prod-assets
;; Arbitrary commit of branch gh-pages, ;; Arbitrary commit of branch gh-pages,
;; Update when updating uBlockOrigin. ;; Update when updating uBlockOrigin.
(let* ((name "ublock-prod-assets") (let* ((name "ublock-prod-assets")
(commit "a379a168fc149ffbd6d10cd0700d4ab4801e57f2") (commit "60fa7b4b33d5d257d9d0f1ee8db65c1e663f2d31")
(revision "1") (revision "2")
(version (git-version "0" revision commit))) (version (git-version "0" revision commit)))
(origin (origin
(method git-fetch) (method git-fetch)
@ -84,12 +84,12 @@ supported content to the Kodi media center.")
(commit commit))) (commit commit)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0syf3kbhvsbn5xka5knpclxby2kp92my1w7ixvf5fs9n08ylcip1"))))) (base32 "092llpcv24xn8p3h73r0q582vwxia9rh9ss6xxbra2xmy70hg24k")))))
(define ublock-origin (define ublock-origin
(package (package
(name "ublock-origin") (name "ublock-origin")
(version "1.54.0") (version "1.56.0")
(home-page "https://github.com/gorhill/uBlock") (home-page "https://github.com/gorhill/uBlock")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
@ -99,7 +99,7 @@ supported content to the Kodi media center.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1yacqpf9z8lprwsj194bhlp2ba9ywzbagd6lwxj3h6g405s7zp2k")))) "150n3g42wx8bp1dgmf360gd87g8pk6zzgkyd8k698mj6r5anfwpa"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs '("xpi" "firefox" "chromium")) (outputs '("xpi" "firefox" "chromium"))
(properties '((addon-id . "uBlock0@raymondhill.net"))) (properties '((addon-id . "uBlock0@raymondhill.net")))

View file

@ -20,7 +20,7 @@
;;; Copyright © 2022 Antero Mejr <antero@mailbox.org> ;;; Copyright © 2022 Antero Mejr <antero@mailbox.org>
;;; Copyright © 2023 zamfofex <zamfofex@twdb.moe> ;;; Copyright © 2023 zamfofex <zamfofex@twdb.moe>
;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com> ;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
;;; Copyright © 2023 David Elsing <david.elsing@posteo.net> ;;; Copyright © 2023, 2024 David Elsing <david.elsing@posteo.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -1349,7 +1349,7 @@ performance concurrent systems developed in C99+.")
(define-public tinydir (define-public tinydir
(package (package
(name "tinydir") (name "tinydir")
(version "1.2.5") (version "1.2.6")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -1358,7 +1358,7 @@ performance concurrent systems developed in C99+.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1nprgdfx4i8wzc1idw6chan4fjfa75b5ll8kghdc0q2278pny259")) "143n6yabznxk032gv5g2k8glf0kzicarg9cx0714zsbfmzj8lr07"))
(patches (search-patches "tinydir-fix-cbehave-test.patch")) (patches (search-patches "tinydir-fix-cbehave-test.patch"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet '(delete-file-recursively "tests/cbehave")))) (snippet '(delete-file-recursively "tests/cbehave"))))
@ -1390,7 +1390,7 @@ directory contents.")
(define-public libdispatch (define-public libdispatch
(package (package
(name "libdispatch") (name "libdispatch")
(version "5.7") (version "5.9.2")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -1400,7 +1400,7 @@ directory contents.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0skg1azbhbg7y0ql2a5sx6lmfip8l1rajqm95zzf9xv45n4dg9nn")))) "02k90asz0yxrcmy67mmqqc68n8f16jf445l0n7jryb7nk30bgmm6"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
(list #:phases (list #:phases

View file

@ -2,7 +2,7 @@
;;; Copyright © 2015 David Thompson <davet@gnu.org> ;;; Copyright © 2015 David Thompson <davet@gnu.org>
;;; Copyright © 2015, 2016, 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2015, 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2016, 2017, 2020, 2022, 2023 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017, 2020, 2022-2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Troy Sankey <sankeytms@gmail.com> ;;; Copyright © 2016 Troy Sankey <sankeytms@gmail.com>
;;; Copyright © 2016, 2021 Stefan Reichoer <stefan@xsteve.at> ;;; Copyright © 2016, 2021 Stefan Reichoer <stefan@xsteve.at>
;;; Copyright © 2018, 2019, 2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
@ -292,7 +292,11 @@ proper handling of holidays.")
version "/" name "-" version ".tar.bz2")) version "/" name "-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"0qkpq412p78znw8gckwcx3l0wcss9s0dgw1pvjb1ih2pxf6hm4rw")))) "0qkpq412p78znw8gckwcx3l0wcss9s0dgw1pvjb1ih2pxf6hm4rw"))
(snippet
#~(begin (use-modules (guix build utils))
(substitute* "libhdate.pc.in"
(("prefix=/usr") "prefix=@prefix@"))))))
(build-system gnu-build-system) (build-system gnu-build-system)
(home-page "http://libhdate.sourceforge.net/") (home-page "http://libhdate.sourceforge.net/")
(synopsis "Library to use Hebrew dates") (synopsis "Library to use Hebrew dates")

View file

@ -48,6 +48,7 @@
;;; Copyright © 2023 Reza Housseini <reza@housseini.me> ;;; Copyright © 2023 Reza Housseini <reza@housseini.me>
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space> ;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
;;; Copyright © 2023 Troy Figiel <troy@troyfigiel.com> ;;; Copyright © 2023 Troy Figiel <troy@troyfigiel.com>
;;; Copyright © 2024 Giacomo Leidi <goodoldpaul@autistici.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -77,6 +78,7 @@
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages gnome) #:use-module (gnu packages gnome)
#:use-module (gnu packages golang) #:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages guile) #:use-module (gnu packages guile)
#:use-module (gnu packages guile-xyz) #:use-module (gnu packages guile-xyz)
@ -898,94 +900,6 @@ prevent common NGINX misconfigurations. It provides the @command{gixy}
command.") command.")
(license license:mpl2.0)))) (license license:mpl2.0))))
(define-public go-github.com-smartystreets-gunit
(package
(name "go-github.com-smartystreets-gunit")
(version "1.0.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/smartystreets/gunit")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"00m4zg0kdj49mnpmf9klb44ba71p966xsk6zknrzqgfc8119f35z"))))
(build-system go-build-system)
(arguments
'(;; TODO: This package depends on go-github.com-smartystreets-assertions
;; for running the tests, but go-github.com-smartystreets-assertions
;; depends on this package, so break this loop by not running the tests
;; for this package.
#:tests? #f
#:import-path "github.com/smartystreets/gunit"))
(synopsis "Testing tool for Go, in the style of xUnit")
(description
"@code{gunit} allows the test author to use a struct as the scope for a
group of related test cases, in the style of xUnit fixtures. This makes
extraction of setup/teardown behavior (as well as invoking the system under
test) much simpler.")
(home-page "https://github.com/smartystreets/gunit")
(license license:expat)))
(define-public go-github.com-smartystreets-assertions
(package
(name "go-github.com-smartystreets-assertions")
(version "1.13.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/smartystreets/assertions")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0flf3fb6fsw3bk1viva0fzrzw87djaj1mqvrx2gzg1ssn7xzfrzr"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/smartystreets/assertions"
#:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key inputs #:allow-other-keys #:rest args)
(unless
;; The tests fail when run with gccgo.
(false-if-exception (search-input-file inputs "/bin/gccgo"))
(apply (assoc-ref %standard-phases 'check) args)))))))
(native-inputs
(list go-github.com-smartystreets-gunit))
(synopsis "Assertions for testing with Go")
(description
"The @code{assertions} package provides convenient assertion functions
for writing tests in Go.")
(home-page "https://github.com/smartystreets/assertions")
(license license:expat)))
(define-public go-github.com-smartystreets-goconvey
(package
(name "go-github.com-smartystreets-goconvey")
(version "1.6.3")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/smartystreets/goconvey")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1ph18rkl3ns3fgin5i4j54w5a69grrmf3apcsmnpdn1wlrbs3dxh"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/smartystreets/goconvey"))
(propagated-inputs
(list go-github.com-jtolds-gls go-github.com-smartystreets-assertions))
(synopsis "Go testing tool with both a web and terminal user interface")
(description
"GoConvey is a testing tool for Go. It integrates with go test, can show
test coverage and has a web user interface that will refresh automatically.")
(home-page "https://github.com/smartystreets/goconvey")
(license license:expat)))
(define-public googletest (define-public googletest
(package (package
(name "googletest") (name "googletest")
@ -1028,7 +942,7 @@ generation.")
(define-public googlebenchmark (define-public googlebenchmark
(package (package
(name "googlebenchmark") (name "googlebenchmark")
(version "1.8.2") (version "1.8.3")
(home-page "https://github.com/google/benchmark") (home-page "https://github.com/google/benchmark")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
@ -1037,7 +951,7 @@ generation.")
(file-name (git-file-name "google-benchmark" version)) (file-name (git-file-name "google-benchmark" version))
(sha256 (sha256
(base32 (base32
"1p72bw7xcd88d8268fmmzji59408f552fbiv37jmsixml5dmq9wv")))) "1hf8xrdd9k57kw3mpdi68a78fd96vzdqv3179v2yy5dxx336ffw3"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
'(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON" '(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON"
@ -1052,6 +966,29 @@ generation.")
similar to unit tests.") similar to unit tests.")
(license license:asl2.0))) (license license:asl2.0)))
(define-public greatest
(package
(name "greatest")
(version "1.5.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/silentbicycle/greatest")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"11rajkb5m7mlzi3i3v0i27k6rrjw3x8a7bl6fkc29igzpwfbxndy"))))
(build-system copy-build-system)
(arguments (list #:install-plan
#~'(("greatest.h" "include/"))))
(home-page "https://github.com/silentbicycle/greatest")
(synopsis "Single-header test system")
(description "Greatest is a single-header test system for C, including
macros for defining tests, grouping them into suites, and providing a test
runner. It is quite unopinionated with most of its features being optional.")
(license license:isc)))
(define-public cpputest (define-public cpputest
(package (package
(name "cpputest") (name "cpputest")
@ -1227,14 +1164,14 @@ available via the @code{unittest.mock} module.")
(define-public python-nose2 (define-public python-nose2
(package (package
(name "python-nose2") (name "python-nose2")
(version "0.11.0") (version "0.14.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "nose2" version)) (uri (pypi-uri "nose2" version))
(sha256 (sha256
(base32 (base32
"1scxwvwbgfdj41acma41xzdhcfdwjj9irj6sfifdbyf9dryqs83d")))) "1936fkrxg672bhp9i32ivna7jbydl9dpbhyn5f3059xrl1qdfa2w"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
(list #:phases (list #:phases
@ -1245,10 +1182,6 @@ available via the @code{unittest.mock} module.")
;; Tests require nose2 itself. ;; Tests require nose2 itself.
(setenv "PYTHONPATH" (getcwd)) (setenv "PYTHONPATH" (getcwd))
(invoke (string-append #$output "/bin/nose2") "-v"))))))) (invoke (string-append #$output "/bin/nose2") "-v")))))))
(native-inputs
(list python-coverage))
(propagated-inputs
(list python-six))
(home-page "https://github.com/nose-devs/nose2") (home-page "https://github.com/nose-devs/nose2")
(synopsis "Next generation of nicer testing for Python") (synopsis "Next generation of nicer testing for Python")
(description (description
@ -3194,6 +3127,36 @@ retried.")
allowing you to declaratively define \"match\" rules.") allowing you to declaratively define \"match\" rules.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public theft
(package
(name "theft")
(version "0.4.5")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/silentbicycle/theft")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1n2mkawfl2bpd4pwy3mdzxwlqjjvb5bdrr2x2gldlyqdwbk7qjhd"))
(snippet #~(begin
(delete-file "vendor/greatest.h")))))
(build-system gnu-build-system)
(arguments (list #:make-flags #~(list "VENDOR="
(string-append "CC=" #$(cc-for-target))
(string-append "PREFIX=" #$output))
#:test-target "test"
#:phases
#~(modify-phases %standard-phases
(delete 'bootstrap)
(delete 'configure))))
(native-inputs (list greatest))
(home-page "https://github.com/silentbicycle/theft")
(synopsis "Property-based testing for C")
(description "Theft is a library for property-based testing.")
(license license:isc)))
(define-public unittest-cpp (define-public unittest-cpp
(package (package
(name "unittest-cpp") (name "unittest-cpp")
@ -3594,6 +3557,29 @@ tables by saving expected data in a data directory (courtesy of pytest-datadir)
that can be used to verify that future runs produce the same data.") that can be used to verify that future runs produce the same data.")
(license license:expat))) (license license:expat)))
(define-public python-pytest-tornado5
(package
(name "python-pytest-tornado5")
(version "2.0.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "pytest-tornado5" version))
(sha256
(base32
"0qb62jw2w0xr6y942yp0qxiy755bismjfpnxaxjjm05gy2pymr8d"))))
(build-system pyproject-build-system)
(arguments
;; Tests require pytest < 6
(list #:tests? #f))
(propagated-inputs (list python-pytest python-tornado))
(home-page "https://github.com/vidartf/pytest-tornado")
(synopsis
"Fixtures and markers to simplify testing of Tornado applications")
(description
"This package provides a @code{py.test} plugin supplying fixtures and
markers to simplify testing of asynchronous tornado applications.")
(license license:asl2.0)))
(define-public guile-proba (define-public guile-proba
(package (package
(name "guile-proba") (name "guile-proba")

View file

@ -6,7 +6,7 @@
;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> ;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2022, 2023 David Elsing <david.elsing@posteo.net> ;;; Copyright © 2022, 2023, 2024 David Elsing <david.elsing@posteo.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -589,7 +589,7 @@ your colleagues, or to generate pre-rendered animations.")
(define-public gemmi (define-public gemmi
(package (package
(name "gemmi") (name "gemmi")
(version "0.5.7") (version "0.6.4")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -598,7 +598,7 @@ your colleagues, or to generate pre-rendered animations.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"00km5q726bslrw7xbfwb3f3mrsk19qbimfnl3hvr4wi1y3z8i18a")) "0wciqqswc4p4v4kglfv36gnvyyimqn4lnywdzd0pgrjn443i860y"))
(patches (patches
(search-patches "gemmi-fix-sajson-types.patch" (search-patches "gemmi-fix-sajson-types.patch"
"gemmi-fix-pegtl-usage.patch")) "gemmi-fix-pegtl-usage.patch"))
@ -625,7 +625,7 @@ your colleagues, or to generate pre-rendered animations.")
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'unpack 'patch-includes (add-after 'unpack 'patch-includes
(lambda _ (lambda _
(substitute* (list "include/gemmi/sprintf.hpp" (substitute* (list "src/sprintf.cpp"
"include/gemmi/dirwalk.hpp" "include/gemmi/dirwalk.hpp"
"include/gemmi/cif.hpp" "include/gemmi/cif.hpp"
"include/gemmi/json.hpp" "include/gemmi/json.hpp"
@ -708,7 +708,12 @@ It can be used for working with
#~(list "--enable-check" #~(list "--enable-check"
"--enable-parser-generator" "--enable-parser-generator"
"CXXFLAGS=-std=c++17" "CXXFLAGS=-std=c++17"
"--enable-doxygen") "--enable-doxygen"
;; Some tests rely on replacing malloc with a wrapper which
;; fails in a controlled way, but this does not work if the call
;; is replaced. This was fixed upstream, remove once there is a
;; new release.
"CFLAGS=-fno-builtin-malloc")
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'unpack 'remove-libc++-linking (add-after 'unpack 'remove-libc++-linking
@ -722,7 +727,7 @@ It can be used for working with
(("libfreesasa\\.a") "libfreesasa.la") (("libfreesasa\\.a") "libfreesasa.la")
(("freesasa_LDADD \\+= libfreesasa\\.la" prev) (("freesasa_LDADD \\+= libfreesasa\\.la" prev)
(string-append prev "\nlibfreesasa_la_LIBADD" (string-append prev "\nlibfreesasa_la_LIBADD"
" = -ljson-c ${libxml2_LIBS}\n")) " = -ljson-c -lgemmi_cpp ${libxml2_LIBS}\n"))
(("_a_SOURCES") "_la_SOURCES")) (("_a_SOURCES") "_la_SOURCES"))
(substitute* "configure.ac" (substitute* "configure.ac"
(("AC_PROG_INSTALL" inst) (("AC_PROG_INSTALL" inst)
@ -765,7 +770,7 @@ of the algorithms, the calculations give identical results.")
(define-public maeparser (define-public maeparser
(package (package
(name "maeparser") (name "maeparser")
(version "1.3.0") (version "1.3.1")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -774,7 +779,7 @@ of the algorithms, the calculations give identical results.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1yv4y5hn49fhylziigsg922bb244lb57p69r7vg9q899zd3l5b7l")))) "0mr5glg4br04ql5grby8yqni9fqq1l1cc75wyc159a1b9lwr7q7r"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(inputs (list boost zlib)) (inputs (list boost zlib))
(home-page "https://github.com/schrodinger/maeparser") (home-page "https://github.com/schrodinger/maeparser")
@ -785,7 +790,7 @@ of the algorithms, the calculations give identical results.")
(define-public coordgenlibs (define-public coordgenlibs
(package (package
(name "coordgenlibs") (name "coordgenlibs")
(version "3.0.1") (version "3.0.2")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -794,7 +799,7 @@ of the algorithms, the calculations give identical results.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0d09x3v38i9y184bml020bq7xizdrdwng38qmdxlplzfhqkjdidv")))) "1wjaxwaihjy9xm5ys23f5abl50zcar1h9pww5ajdkgygsqy0bavi"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
(list (list
@ -812,7 +817,7 @@ emphasis on quality rather than speed.")
(define-public yaehmop (define-public yaehmop
(package (package
(name "yaehmop") (name "yaehmop")
(version "2022.09.1") (version "2023.03.1")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -821,7 +826,7 @@ emphasis on quality rather than speed.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1x0d75m1hgdb411fiv7c5bwq1n4y0swrll0gigh8v5c73kjxrja0")) "18xnxqn8i7vswy3iffapfh9q2iimpnd23ps45hn4xxbs6dqgzprb"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -917,90 +922,67 @@ calculations and analyzing the results.")
(define-public avalon-toolkit (define-public avalon-toolkit
(package (package
(name "avalon-toolkit") (name "avalon-toolkit")
(version "1.2.0") (version "2.0.5a")
(source (source (origin
(origin (method git-fetch)
(method url-fetch) (uri (git-reference
(uri (string-append (url "https://github.com/rohdebe1/ava-formake")
"mirror://sourceforge/avalontoolkit/" (commit (string-append "AvalonToolkit_" version))))
"AvalonToolkit_" (substring version 0 3) "/AvalonToolkit_" (file-name (git-file-name name version))
version ".source.tar")) (sha256
(sha256 (base32
(base32 "1mfg40y5xc17sm59zdfc5sk22n9zm5zk0z1aw47chvl6hp465szk"))
"0rnnyy6axs2da7aa4q6l30ldavbk49v6l22llj1adn74h1i67bpv")) (patches
(modules '((guix build utils) (ice-9 ftw))) (search-patches "avalon-toolkit-rdkit-fixes.patch"))
(snippet (modules '((guix build utils) (ice-9 ftw)))
#~(begin (snippet
(delete-file-recursively "../SourceDistribution/java"))))) #~(begin
(delete-file-recursively "src/main/java")
(delete-file-recursively "src/test/target")))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list (list
;; There are no intended tests ;; There is only one test, which is missing a file
#:tests? #f #:tests? #f
#:phases #:phases
#~(let ((programs '("canonizer" "matchtest" "sketch" "smi2mol" "struchk"))) #~(modify-phases %standard-phases
(modify-phases %standard-phases (delete 'configure)
(add-after 'unpack 'chdir (replace 'build
(lambda _ (chdir "common"))) (lambda* (#:key parallel-build? #:allow-other-keys)
(delete 'configure) (mkdir "build")
(add-before 'build 'dont-free-static-memory (mkdir-p "target/executables")
(lambda _ (mkdir-p "target/libraries")
(substitute* "reaccsio.c" (invoke "make" "programs" "-j"
(("MyFree\\(.*tempdir\\)" m) (if parallel-build?
(string-append "/* freeing memory from getenv is bad */" (number->string (parallel-job-count))
"// " m))))) "1"))))
;; The makefile has incorrect compiler flags and is missing some (replace 'install
;; object files, so we build it ourselves. (lambda _
(replace 'build ;; Executables
(lambda _ (let ((programs '("canonizer" "matchtest" "smi2mol" "struchk")))
(for-each
(lambda (part)
(format #t "Compiling ~a.c ~~> ~a.o~%" part part)
(invoke #$(cc-for-target) "-c" "-fPIC" "-O2"
(string-append part ".c")
"-o" (string-append part ".o")))
(list "aacheck" "casutils" "denormal" "depictutil"
"didepict" "fixcharges" "forio" "geometry"
"graph" "hashcode" "layout" "local" "pattern"
"perceive" "reaccsio" "rtutils" "set" "shortcut"
"sketch" "ssmatch" "stereo" "symbol_lists"
"symboltable" "utilities"))
(display "Building libavalontoolkit.so\n")
(apply invoke "gcc" "-fPIC" "-shared" "-lm"
"-o" "libavalontoolkit.so" "canonizer.c" "smi2mol.c"
"struchk.c" "patclean.c" (find-files "." "\\.o$"))
;; patclean is not built here as there is an undeclared
;; variable in main().
(for-each (for-each
(lambda (program) (lambda (program)
(display (string-append "Building " program "\n")) (install-file (string-append "target/executables/" program)
(invoke "gcc" "-L." "-lavalontoolkit" "-lm" "-O2" (string-append #$output "/bin")))
(string-append "-Wl,-rpath=" #$output "/lib") programs))
"-DMAIN" (string-append program ".c") "-o" program)) (for-each
programs))) (lambda (name)
(replace 'install (symlink (string-append #$output "/bin/smi2mol")
(lambda _ (string-append #$output "/bin/" name)))
;; Executables '("mol2smi" "rdf2smi" "mol2tbl" "mol2sma" "smi2rdf"))
(for-each ;; Library
(lambda (program) (install-file "target/libraries/libavalon_tools.a"
(install-file program (string-append #$output "/bin"))) (string-append #$output "/lib"))
programs) (install-file "target/libraries/libavalon4rdkit.a"
(for-each (string-append #$output "/lib"))
(lambda (name) (for-each
(symlink (string-append #$output "/bin/smi2mol") (lambda (file)
(string-append #$output "/bin/" name))) (install-file file (string-append #$output
'("mol2smi" "rdf2smi" "mol2tbl" "mol2sma" "smi2rdf")) "/include/avalontoolkit")))
;; Library (find-files "src/main/C/include" "\\.h$"))
(install-file "libavalontoolkit.so" (install-file "license.txt"
(string-append #$output "/lib")) (string-append #$output "/share/doc/"
(for-each #$name "-" #$version "/")))))))
(lambda (file)
(install-file file (string-append #$output
"/include/avalontoolkit")))
(find-files "." "\\.h$"))
(install-file "../license.txt"
(string-append #$output "/share/doc/"
#$name "-" #$version "/"))))))))
(home-page "https://sourceforge.net/projects/avalontoolkit/") (home-page "https://sourceforge.net/projects/avalontoolkit/")
(synopsis "Tools for SMILES and MOL files and for structure fingerprinting") (synopsis "Tools for SMILES and MOL files and for structure fingerprinting")
(description "This package contains a library and programs for (description "This package contains a library and programs for
@ -1091,7 +1073,7 @@ other ring topology descriptions.")
(define-public rdkit (define-public rdkit
(package (package
(name "rdkit") (name "rdkit")
(version "2022.03.5") (version "2023.09.4")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -1102,7 +1084,7 @@ other ring topology descriptions.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"19idgilabh04cbr1qj6zgrgsfjm248mmfz6fsr0smrd68d0xnml9")) "1lgcgijlzzwpfxndsdlx13npdfk7hcii11zg25cvpmzhbpn6vyn8"))
(patches (patches
(search-patches "rdkit-unbundle-external-dependencies.patch")) (search-patches "rdkit-unbundle-external-dependencies.patch"))
(modules '((guix build utils))) (modules '((guix build utils)))
@ -1201,7 +1183,10 @@ other ring topology descriptions.")
"substructLibraryTest" "pyFeatures" "substructLibraryTest" "pyFeatures"
"pythonTestDirML" "pythonTestDirChem" "pythonTestDirML" "pythonTestDirChem"
;; Catching Python exception fails ;; Catching Python exception fails
"pyRanker") "|") "pyRanker"
;; Flaky test depending on floating point rounding
"testConrec"
) "|")
")"))))))))) ")")))))))))
(inputs (inputs
(list avalon-toolkit (list avalon-toolkit
@ -1218,7 +1203,7 @@ other ring topology descriptions.")
(native-inputs (native-inputs
(list bison (list bison
boost boost
catch2 catch2-3
eigen eigen
flex flex
freesasa freesasa
@ -1232,4 +1217,8 @@ other ring topology descriptions.")
(description "RDKit is a C++ and Python library for cheminformatics, which (description "RDKit is a C++ and Python library for cheminformatics, which
includes (among other things) the analysis and modification of molecules in 2D includes (among other things) the analysis and modification of molecules in 2D
and 3D and descriptor generation for machine learning.") and 3D and descriptor generation for machine learning.")
;; For 32 bit systems, there is a bug in Boost.Python:
;; https://github.com/boostorg/python/issues/312. Additionally, several
;; other test fail.
(supported-systems %64bit-supported-systems)
(license license:bsd-3))) (license license:bsd-3)))

View file

@ -5,7 +5,7 @@
;;; Copyright © 2017, 2020, 2021 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017, 2020, 2021 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2022 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2022, 2024 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2023 David Pflug <david@pflug.io> ;;; Copyright © 2023 David Pflug <david@pflug.io>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
@ -209,14 +209,15 @@ intended as a replacement for Hydra.")
(use-modules (ice-9 popen)) (use-modules (ice-9 popen))
(mkdir-p "../build/js") (mkdir-p "../build/js")
(for-each (lambda (name) (invoke "tar" "-xf" (assoc-ref inputs "chart.js.tgz")
(let* ((file "--strip-components" "2"
(assoc-ref inputs (string-append name ".js"))) "package/dist/chart.js")
(port (for-each (lambda (file minified-file)
(let* ((port
(open-pipe* OPEN_READ "uglifyjs" file)) (open-pipe* OPEN_READ "uglifyjs" file))
(destination (destination
(string-append (string-append
"../build/js/" name ".min.js"))) "../build/js/" minified-file)))
(call-with-output-file destination (call-with-output-file destination
(lambda (output-port) (lambda (output-port)
@ -226,9 +227,12 @@ intended as a replacement for Hydra.")
(unless (zero? exit) (unless (zero? exit)
(error "uglifyjs failed" exit))))) (error "uglifyjs failed" exit)))))
'("vue" (list (assoc-ref inputs "vue.js")
"vue-router" (assoc-ref inputs "vue-router.js")
"Chart")) "chart.js")
(list "vue.min.js"
"vue-router.min.js"
"Chart.min.js"))
;; ansi_up.js isn't minified ;; ansi_up.js isn't minified
(copy-file (assoc-ref inputs "ansi_up.js") (copy-file (assoc-ref inputs "ansi_up.js")
@ -260,13 +264,13 @@ intended as a replacement for Hydra.")
(sha256 (sha256
(base32 (base32
"1dx8wn38ds8d01kkih26fx1yrisg3kpz61qynjr4zil03ap0hrlr")))) "1dx8wn38ds8d01kkih26fx1yrisg3kpz61qynjr4zil03ap0hrlr"))))
("Chart.js" ("chart.js.tgz"
,(origin (method url-fetch) ,(origin (method url-fetch)
(uri (string-append "https://github.com/chartjs/Chart.js/" (uri (string-append "https://github.com/chartjs/Chart.js/"
"releases/download/v2.7.2/Chart.js")) "releases/download/v3.9.1/chart.js-3.9.1.tgz"))
(sha256 (sha256
(base32 (base32
"05m3gk6hqjx92j20drnk7q075qpjraywqaf25lnglmsgsgpiqsr7")))))) "1ikjgspaknqlhpjad17563yph4pvrh8dkzjdx58pl23gg58hf7hi"))))))
(synopsis "Lightweight continuous integration service") (synopsis "Lightweight continuous integration service")
(description (description
"Laminar is a lightweight and modular continuous integration service. It "Laminar is a lightweight and modular continuous integration service. It

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2023 Rodion Goritskov <rodion.goritskov@gmail.com> ;;; Copyright © 2023, 2024 Rodion Goritskov <rodion.goritskov@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -30,7 +30,7 @@
(define-public clifm (define-public clifm
(package (package
(name "clifm") (name "clifm")
(version "1.15") (version "1.17")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -39,7 +39,7 @@
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1r9pxlyn8jg0wmzbmbc71l42098lz5k32k6yid09yz6d0gaax7g1")))) (base32 "00f5x0352dsf8f9ixkcwma7wr5pg78maavmd950nni38m647clm6"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:make-flags (list (string-append "CC=" `(#:make-flags (list (string-append "CC="
@ -53,8 +53,8 @@
(inputs (list readline acl libcap)) (inputs (list readline acl libcap))
(home-page "https://github.com/leo-arch/clifm") (home-page "https://github.com/leo-arch/clifm")
(synopsis "Command-line file manager") (synopsis "Command-line file manager")
(description "Clifm a shell-like, text-based terminal file manager that (description "Clifm is a shell-like, text-based terminal file manager
sits on the command line. that sits on the command line.
It is built with command line principles in mind: instead of navigating It is built with command line principles in mind: instead of navigating
through a big menu of files, it lets you type, exactly as you do in your through a big menu of files, it lets you type, exactly as you do in your

View file

@ -203,14 +203,14 @@ designs.")
(define-public clojure-tools (define-public clojure-tools
(package (package
(name "clojure-tools") (name "clojure-tools")
(version "1.11.1.1165") (version "1.11.1.1200")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://download.clojure.org/install/clojure-tools-" (uri (string-append "https://download.clojure.org/install/clojure-tools-"
version version
".tar.gz")) ".tar.gz"))
(sha256 (base32 "1lg97waqfcgzr3dz5426fbc4kqcsavpbqil2iyjm1dw3zrfa8ysi")) (sha256 (base32 "075naxfiddi6jqr6rqiywwy91r188n5m8yfqcxddmds2vm5rrpnv"))
;; Remove AOT compiled JAR. The other JAR only contains uncompiled ;; Remove AOT compiled JAR. The other JAR only contains uncompiled
;; Clojure source code. ;; Clojure source code.
(snippet (snippet

View file

@ -4,7 +4,7 @@
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net> ;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2018, 2020, 2021 Marius Bakke <marius@gnu.org> ;;; Copyright © 2017, 2018, 2020, 2021 Marius Bakke <marius@gnu.org>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
@ -380,6 +380,8 @@ and workspaces that can be used in the compiler environment of your choice.")
(string-append "-DCMAKE_DOC_DIR=share/doc/cmake-" (string-append "-DCMAKE_DOC_DIR=share/doc/cmake-"
#$(version-major+minor (package-version #$(version-major+minor (package-version
cmake-minimal))) cmake-minimal)))
(string-append "-DCMake_INSTALL_VIMFILES_DIR=" #$output
"/share/vim/vimfiles/pack/guix/start/cmake")
"-DCMAKE_INFO_DIR=share/info" "-DCMAKE_INFO_DIR=share/info"
"-DCMAKE_MAN_DIR=share/man") "-DCMAKE_MAN_DIR=share/man")
#$flags)) #$flags))

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017, 2018, 2021-2023 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017, 2018, 2021-2024 Efraim Flashner <efraim@flashner.co.il>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -23,7 +23,9 @@
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module (gnu packages bison)
#:use-module (gnu packages dbm) #:use-module (gnu packages dbm)
#:use-module (gnu packages flex)
#:use-module (gnu packages multiprecision) #:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses) #:use-module (gnu packages ncurses)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
@ -42,7 +44,17 @@
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1qifkkrmscc5csri1l4rm9pbik74c3pc5za1rzx7jizddks8md1v")))) "1qifkkrmscc5csri1l4rm9pbik74c3pc5za1rzx7jizddks8md1v"))
(snippet
#~(begin (use-modules (guix build utils))
;; Remove some files generated by bison and flex.
(for-each delete-file
'("cobc/parser.c"
"cobc/parser.h"
"cobc/ppparse.c"
"cobc/ppparse.h"
"cobc/pplex.c"
"cobc/scanner.c"))))))
(arguments (arguments
(list (list
#:configure-flags #:configure-flags
@ -62,7 +74,9 @@
(lambda _ (setenv "TERM" "xterm-256color")))) (lambda _ (setenv "TERM" "xterm-256color"))))
#:test-target "checkall")) #:test-target "checkall"))
(native-inputs (native-inputs
`(("perl" ,perl) `(("bison" ,bison)
("flex" ,flex)
("perl" ,perl)
("newcob" ,(origin ("newcob" ,(origin
(method url-fetch) (method url-fetch)
(uri "https://www.itl.nist.gov/div897/ctg/suites/newcob.val.Z") (uri "https://www.itl.nist.gov/div897/ctg/suites/newcob.val.Z")

View file

@ -2,7 +2,7 @@
;;; Copyright © 2013, 2015, 2018, 2020, 2021, 2023 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2015, 2018, 2020, 2021, 2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015, 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017, 2019-2023 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017, 2019-2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 Andy Wingo <wingo@igalia.com> ;;; Copyright © 2017 Andy Wingo <wingo@igalia.com>
@ -436,7 +436,7 @@ features that are not supported by the standard @code{stdio} implementation.")
(define-public universal-ctags (define-public universal-ctags
(package (package
(name "universal-ctags") (name "universal-ctags")
(version "6.0.20231001.0") (version "6.1.20240218.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -446,7 +446,7 @@ features that are not supported by the standard @code{stdio} implementation.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0qik6rsai254prydfx8k2bq7wpim3a272jiw1y37r734k4s9xbrb")) "09cjlj7mq3s98x9zsg4slq86h1myixjxxqfnc0kglf2hnr9nrkf5"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin

View file

@ -998,14 +998,14 @@ byte-for-byte identical output.")
(define-public pigz (define-public pigz
(package (package
(name "pigz") (name "pigz")
(version "2.7") (version "2.8")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://zlib.net/pigz/" (uri (string-append "http://zlib.net/pigz/"
name "-" version ".tar.gz")) name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"01y7n7lafp6maqnp4jrmasawnv67najh1bd7gjrmv3d08h1ydjdl")))) "1l0g2zaz05pl3pijsjd8lqxqj122di88rggpr5cvw3hz1r7jp1zb"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list #:make-flags (list #:make-flags

View file

@ -4,7 +4,7 @@
;;; Copyright © 2019 Alexandru-Sergiu Marton <brown121407@member.fsf.org> ;;; Copyright © 2019 Alexandru-Sergiu Marton <brown121407@member.fsf.org>
;;; Copyright © 2019 Brett Gilio <brettg@gnu.org> ;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com> ;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
;;; Copyright © 2023 John Kehayias <john.kehayias@protonmail.com> ;;; Copyright © 2023, 2024 John Kehayias <john.kehayias@protonmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -113,7 +113,7 @@ performance).
(define-public picom (define-public picom
(package (package
(name "picom") (name "picom")
(version "10.2") (version "11.2")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -122,23 +122,25 @@ performance).
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(sha256 (sha256
(base32 (base32
"1vd4nhvfykwdhpyhb0jmcj333zxhm6dyikafd76fa4z4fhjrrs0b")) "0swmpw6lj0aiwypdfkzsy38jwsm9wfcn7i5klrqfn2klrwinv27f"))
(file-name (string-append "picom-" version)))) (file-name (string-append "picom-" version))))
(build-system meson-build-system) (build-system meson-build-system)
(inputs (inputs
(list dbus (list dbus
libconfig libconfig
libepoxy
libev
libx11 libx11
libxext libxext
libev libxdg-basedir
mesa mesa
xprop pcre2
xcb-util-renderutil
xcb-util-image
pixman pixman
uthash uthash
libxdg-basedir xcb-util
pcre)) xcb-util-renderutil
xcb-util-image
xprop))
(native-inputs (native-inputs
(list asciidoc pkg-config xorgproto)) (list asciidoc pkg-config xorgproto))
(arguments (arguments

View file

@ -21,7 +21,9 @@
#:use-module (guix build-system go) #:use-module (guix build-system go)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (gnu packages golang) #:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-web) #:use-module (gnu packages golang-web)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages version-control) #:use-module (gnu packages version-control)
#:use-module (gnu packages textutils) #:use-module (gnu packages textutils)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
@ -31,9 +33,7 @@
(define-public chezmoi (define-public chezmoi
(package (package
(name "chezmoi") (name "chezmoi")
;; XXX: Make sure 7f238faa61e46d79b54d4d0ea8f0b5fc27db84b2 applied before (version "1.8.10")
;; version update, which should fix @code{password-store} integration.
(version "1.8.1")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -42,47 +42,78 @@
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1b8y0wq3myhvjdnwl0i4x85iil7i7kmsjajvbw1a47afm83jkbaw")))) "0ildvlq7v8vnw74y4fgnv3hpq49bpl6zh1wmakfh46crwg7ffmjb"))))
(build-system go-build-system) (build-system go-build-system)
(arguments (arguments
`(#:import-path "github.com/twpayne/chezmoi" `(#:import-path "github.com/twpayne/chezmoi"
;; We don't need to install the source code for end-user applications. #:install-source? #f
#:install-source? #f)) #:phases
(modify-phases %standard-phases
;; Remove test script which expect additional user's programs available
;; in the PATH. The testdata directory is removed in the latest version
;; (2.46.1) of the program.
(add-after 'unpack 'remove-failing-test-scripts
(lambda* (#:key import-path #:allow-other-keys)
(for-each (lambda (f)
(delete-file (string-append "src/" import-path "/testdata/scripts/" f)))
'("bitwarden.txt"
"cd.txt"
"cd_unix.txt"
"completion.txt"
"diff.txt"
"edit.txt"
"editconfig.txt"
"git.txt"
"gopass.txt"
"keepassxc.txt"
"lastpass.txt"
"onepassword.txt"
"pass.txt"
"runscriptdir_unix.txt"
"script_unix.txt"
"secretgeneric.txt"
"secretgopass.txt"
"secretkeepassxc.txt"
"secretlastpass.txt"
"secretonepassword.txt"
"secretpass.txt")))))))
(native-inputs (native-inputs
(list go-github-com-masterminds-sprig (list go-etcd-io-bbolt
go-github-com-masterminds-goutils
go-github-com-masterminds-semver
go-github-com-google-uuid
go-github-com-huandu-xstrings
go-github-com-imdario-mergo
go-github-com-mitchellh-reflectwalk
go-github-com-mitchellh-copystructure
go-github-com-bmatcuk-doublestar
go-github-com-charmbracelet-glamour
go-github-com-alecthomas-chroma go-github-com-alecthomas-chroma
go-github-com-aymerick-douceur
go-github-com-bmatcuk-doublestar-v2
go-github-com-charmbracelet-glamour
go-github-com-chris-ramon-douceur
go-github-com-coreos-go-semver go-github-com-coreos-go-semver
go-github-com-danwakefield-fnmatch go-github-com-danwakefield-fnmatch
go-github-com-dlclark-regexp2 go-github-com-dlclark-regexp2
go-github-go-git go-github-com-godbus-dbus
go-github-com-google-go-github go-github-com-google-go-github-v33
go-github-com-google-go-querystring go-github-com-google-go-querystring
go-github-com-google-renameio
go-github-com-microcosm-cc-bluemonday
go-github-com-aymerick-douceur
go-github-com-chris-ramon-douceur
go-github-com-gorilla-css
go-github-com-muesli-reflow-ansi
go-github-com-muesli-reflow-wordwrap
go-github-com-muesli-reflow-indent
go-github-com-muesli-reflow-padding
go-github-com-muesli-termenv
go-github-com-google-goterm go-github-com-google-goterm
go-github-com-google-renameio
go-github-com-google-uuid
go-github-com-gorilla-css
go-github-com-huandu-xstrings
go-github-com-imdario-mergo
go-github-com-lucasb-eyer-go-colorful go-github-com-lucasb-eyer-go-colorful
go-github-com-masterminds-goutils
go-github-com-masterminds-semver
go-github-com-masterminds-sprig
go-github-com-mattn-go-isatty go-github-com-mattn-go-isatty
go-github-com-mattn-go-runewidth go-github-com-mattn-go-runewidth
go-github-com-microcosm-cc-bluemonday
go-github-com-mitchellh-copystructure
go-github-com-mitchellh-reflectwalk
go-github-com-muesli-reflow-ansi
go-github-com-muesli-reflow-indent
go-github-com-muesli-reflow-padding
go-github-com-muesli-reflow-wordwrap
go-github-com-muesli-termenv
go-github-com-olekukonko-tablewriter go-github-com-olekukonko-tablewriter
go-github-com-pelletier-go-toml go-github-com-pelletier-go-toml
go-github-com-pkg-diff go-github-com-pkg-diff
go-github-com-rogpeppe-go-internal
go-github-com-sergi-go-diff go-github-com-sergi-go-diff
go-github-com-spf13-cobra go-github-com-spf13-cobra
go-github-com-spf13-viper go-github-com-spf13-viper
@ -92,12 +123,11 @@
go-github-com-twpayne-go-xdg go-github-com-twpayne-go-xdg
go-github-com-yuin-goldmark go-github-com-yuin-goldmark
go-github-com-zalando-go-keyring go-github-com-zalando-go-keyring
go-github-com-godbus-dbus go-github-go-git
go-etcd-io-bbolt
go-golang-org-x-crypto go-golang-org-x-crypto
go-golang-org-x-net go-golang-org-x-net
go-golang-org-x-oauth2 go-golang-org-x-oauth2
go-github-com-rogpeppe-go-internal go-golang-org-x-term
go-gopkg-in-errgo-fmt-errors)) go-gopkg-in-errgo-fmt-errors))
(home-page "https://www.chezmoi.io/") (home-page "https://www.chezmoi.io/")
(synopsis "Personal configuration files manager") (synopsis "Personal configuration files manager")

View file

@ -5,6 +5,7 @@
;;; Copyright © 2022 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2022 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2023 Zongyuan Li <zongyuan.li@c0x0o.me> ;;; Copyright © 2023 Zongyuan Li <zongyuan.li@c0x0o.me>
;;; Copyright © 2023 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2023 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2024 Tomas Volf <~@wolfsden.cz>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -53,62 +54,50 @@
#:use-module (gnu packages wget)) #:use-module (gnu packages wget))
(define-public crun (define-public crun
(let ((commit "c381048530aa750495cf502ddb7181f2ded5b400")) (package
(package (name "crun")
(name "crun") (version "1.14.1")
(version "1.4.5") (source
(source (origin
(origin (method url-fetch)
(method git-fetch) (uri (string-append
(uri (git-reference "https://github.com/containers/crun/releases/download/"
(url "https://github.com/containers/crun") version
(commit commit) "/crun-" version ".tar.gz"))
(recursive? #t))) (sha256
(sha256 (base32
(base32 "0x2xmr5sv9ivvcv5fl5jjk4kq9b3n97s5hsqiqfwl4rz8qcz4xk1")) "02lplc2asyllb58mvy7l8b9gsk7fxs95g928xk28yzmf592ay33x"))))
(file-name (git-file-name name version)))) (build-system gnu-build-system)
(build-system gnu-build-system) (arguments
(arguments `(#:configure-flags '("--disable-systemd")
`(#:configure-flags '("--disable-systemd") #:tests? #f ; XXX: needs /sys/fs/cgroup mounted
#:tests? #f ; XXX: needs /sys/fs/cgroup mounted #:phases
#:phases (modify-phases %standard-phases
(modify-phases %standard-phases (add-after 'unpack 'fix-tests
(add-after 'unpack 'do-not-depend-on-git (lambda _
(lambda _ (substitute* (find-files "tests" "\\.(c|py)")
(substitute* "autogen.sh" (("/bin/true") (which "true"))
(("^git submodule update.*") (("/bin/false") (which "false"))
"")) ; relies on sd_notify which requires systemd?
(with-output-to-file "git-version.h" (("\"sd-notify\" : test_sd_notify,") "")
(lambda () (("\"sd-notify-file\" : test_sd_notify_file,") "")))))))
(display (string-append (inputs
"/* autogenerated. */\n#ifndef GIT_VERSION\n# define GIT_VERSION \"" (list libcap
,commit libseccomp
"\"\n#endif\n")))))) yajl))
(add-after 'unpack 'fix-tests (native-inputs
(lambda _ (list automake
(substitute* (find-files "tests" "\\.(c|py)") autoconf
(("/bin/true") (which "true")) git
(("/bin/false") (which "false")) libtool
; relies on sd_notify which requires systemd? pkg-config
(("\"sd-notify\" : test_sd_notify,") "") python-3))
(("\"sd-notify-file\" : test_sd_notify_file,") ""))))))) (home-page "https://github.com/containers/crun")
(inputs (synopsis "Open Container Initiative (OCI) Container runtime")
(list libcap (description
libseccomp "crun is a fast and low-memory footprint Open Container Initiative (OCI)
yajl))
(native-inputs
(list automake
autoconf
git
libtool
pkg-config
python-3))
(home-page "https://github.com/containers/crun")
(synopsis "Open Container Initiative (OCI) Container runtime")
(description
"crun is a fast and low-memory footprint Open Container Initiative (OCI)
Container Runtime fully written in C.") Container Runtime fully written in C.")
(license license:gpl2+)))) (license license:gpl2+)))
(define-public conmon (define-public conmon
(package (package
@ -221,7 +210,7 @@ containers or various tools.")
(define-public slirp4netns (define-public slirp4netns
(package (package
(name "slirp4netns") (name "slirp4netns")
(version "1.2.0") (version "1.2.3")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -229,7 +218,7 @@ containers or various tools.")
(url "https://github.com/rootless-containers/slirp4netns") (url "https://github.com/rootless-containers/slirp4netns")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(sha256 (sha256
(base32 "1rlzwp5fx1x3q179j9s2jp02imjag5pgj333z110nrvi7azl22l8")) (base32 "0czvdsdv821fz4jd9rgrlkdhhjna6frawr8klvx3k2cfh444fbii"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments

View file

@ -31,6 +31,7 @@
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages bison) #:use-module (gnu packages bison)
#:use-module (gnu packages boost) #:use-module (gnu packages boost)
#:use-module (gnu packages compression)
#:use-module (gnu packages emacs) #:use-module (gnu packages emacs)
#:use-module (gnu packages flex) #:use-module (gnu packages flex)
#:use-module (gnu packages gawk) #:use-module (gnu packages gawk)
@ -51,10 +52,10 @@
#:use-module (guix utils) #:use-module (guix utils)
#:use-module ((srfi srfi-1) #:hide (zip))) #:use-module ((srfi srfi-1) #:hide (zip)))
(define-public coq-core (define-public coq
(package (package
(name "coq-core") (name "coq")
(version "8.16.1") (version "8.17.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -64,28 +65,35 @@
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0ljpqhh5lfsim29fcfp2xfcvm3j84pf1mb0gnpdr8vcqqw7mqwpf")) "0gg6hizq0i08lk741b579cbswhy6qvkh6inc3d3i5a2af98psq63"))))
(patches (search-patches "coq-fix-envvars.patch"))))
(native-search-paths (native-search-paths
(list (search-path-specification (list (search-path-specification
(variable "COQPATH") (variable "COQPATH")
(files (list "lib/ocaml/site-lib/coq/user-contrib" (files (list "lib/coq/user-contrib")))))
"lib/coq/user-contrib")))
(search-path-specification
(variable "COQLIBPATH")
(files (list "lib/ocaml/site-lib/coq")))
(search-path-specification
(variable "COQCORELIB")
(files (list "lib/ocaml/site-lib/coq-core"))
(separator #f))))
(build-system dune-build-system) (build-system dune-build-system)
(arguments
(list
#:package "coq-core,coq-stdlib,coq"
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'configure
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(coqlib (string-append out "/lib/ocaml/site-lib/coq/")))
(invoke "./configure" "-prefix" out
"-libdir" coqlib))))
(add-before 'build 'make-dunestrap
(lambda _ (invoke "make" "dunestrap")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(libdir (string-append out "/lib/ocaml/site-lib")))
(invoke "dune" "install" "--prefix" out
"--libdir" libdir "coq" "coq-core" "coq-stdlib")))))))
(inputs (inputs
(list gmp ocaml-zarith)) (list gmp ocaml-zarith))
(native-inputs (native-inputs
(list ocaml-ounit2 which)) (list ocaml-ounit2 which))
(arguments
`(#:package "coq-core"
#:test-target "."))
(properties '((upstream-name . "coq"))) ; also for inherited packages (properties '((upstream-name . "coq"))) ; also for inherited packages
(home-page "https://coq.inria.fr") (home-page "https://coq.inria.fr")
(synopsis "Proof assistant for higher-order logic") (synopsis "Proof assistant for higher-order logic")
@ -97,39 +105,6 @@ It is developed using Objective Caml and Camlp5.")
;; Some of the documentation is distributed under opl1.0+. ;; Some of the documentation is distributed under opl1.0+.
(license (list license:lgpl2.1 license:opl1.0+)))) (license (list license:lgpl2.1 license:opl1.0+))))
(define-public coq-stdlib
(package
(inherit coq-core)
(name "coq-stdlib")
(arguments
`(#:package "coq-stdlib"
#:test-target "."
#:phases
(modify-phases %standard-phases
(add-before 'build 'fix-dune
(lambda _
(substitute* "user-contrib/Ltac2/dune"
(("coq-core.plugins.ltac2")
(string-join
(map (lambda (plugin) (string-append "coq-core.plugins." plugin))
'("ltac2" "number_string_notation" "tauto" "cc"
"firstorder"))
" "))))))))
(inputs
(list coq-core gmp ocaml-zarith))
(native-inputs '())))
(define-public coq
(package
(inherit coq-core)
(name "coq")
(arguments
`(#:package "coq"
#:test-target "."))
(propagated-inputs
(list coq-core coq-stdlib))
(native-inputs '())))
(define-public coq-ide-server (define-public coq-ide-server
(package (package
(inherit coq) (inherit coq)
@ -148,7 +123,7 @@ It is developed using Objective Caml and Camlp5.")
`(#:tests? #f `(#:tests? #f
#:package "coqide")) #:package "coqide"))
(propagated-inputs (propagated-inputs
(list coq coq-ide-server)) (list coq coq-ide-server zlib))
(inputs (inputs
(list lablgtk3 ocaml-lablgtk3-sourceview3)))) (list lablgtk3 ocaml-lablgtk3-sourceview3))))
@ -242,7 +217,7 @@ provers.")
(define-public coq-flocq (define-public coq-flocq
(package (package
(name "coq-flocq") (name "coq-flocq")
(version "4.1.0") (version "4.1.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -252,7 +227,7 @@ provers.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1yscj1120wch6myakaia03j11qji416v78ylx842d23hrbaqwmw5")))) "01x38w58j95ba9679vpb5wv4bvfnrapd5dzjqlyz8k7i8a9sfqn0"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
(list autoconf automake ocaml which coq)) (list autoconf automake ocaml which coq))
@ -315,7 +290,7 @@ inside Coq.")
(define-public coq-gappa (define-public coq-gappa
(package (package
(name "coq-gappa") (name "coq-gappa")
(version "1.5.2") (version "1.5.3")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -325,7 +300,7 @@ inside Coq.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0l65ah81yj9vabgkwqh47c02qvscvl8nl60gqn1qrs47dx1pi80q")))) "1dzkb2sfglhik2ymw8p65khl163xxjsaqji9agnnkvlk5r6589v6"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
(list autoconf (list autoconf
@ -375,7 +350,7 @@ assistant.")
(define-public coq-mathcomp (define-public coq-mathcomp
(package (package
(name "coq-mathcomp") (name "coq-mathcomp")
(version "1.15.0") (version "1.17.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -384,7 +359,7 @@ assistant.")
(commit (string-append "mathcomp-" version)))) (commit (string-append "mathcomp-" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "158zl36zbvi5qx2nqbfnrg00jpgp6hjr5hmls7d8d0421ar6b67i")))) (base32 "06i6kw5p2024n6h9mf8bvwn54il1a4z2h4qrgc8y0iq8hkvx4fnd"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
(list ocaml which coq)) (list ocaml which coq))
@ -412,7 +387,7 @@ part of the distribution.")
(define-public coq-coquelicot (define-public coq-coquelicot
(package (package
(name "coq-coquelicot") (name "coq-coquelicot")
(version "3.2.0") (version "3.4.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -422,7 +397,7 @@ part of the distribution.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"146s5y2xsc7wb43m1pq1n4p14hw99gqbzx0ic3a4naxq16v7cv4w")))) "1f6zim6hnm6zrij964vas6rfbxh5p147qsxxmmbxm7gyb85hhy45"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
(list autoconf automake ocaml which coq)) (list autoconf automake ocaml which coq))
@ -495,7 +470,7 @@ provides BigN, BigZ, BigQ that used to be part of Coq standard library.")
(define-public coq-interval (define-public coq-interval
(package (package
(name "coq-interval") (name "coq-interval")
(version "4.5.2") (version "4.8.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -505,7 +480,7 @@ provides BigN, BigZ, BigQ that used to be part of Coq standard library.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"138vgb0bq6wkygrhkahjgb9spwpzc6x6kkycj2qnf5naxx1z412w")))) "0m3icx77p99ld9qfl3xjq62q572pyi4m77i1kc3whvipvg7834rh"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
(list autoconf automake ocaml which coq)) (list autoconf automake ocaml which coq))
@ -542,35 +517,31 @@ Coq proof assistant.")
(license license:cecill-c))) (license license:cecill-c)))
(define-public coq-autosubst (define-public coq-autosubst
;; Latest commit on that branch, where work on supporting coq 8.6 and (package
;; more recent versions of coq happen. (name "coq-autosubst")
(let ((branch "coq86-devel") (version "1.8")
(commit "fa6ef30664511ffa659cbcf3c962715cbee03572")) (source (origin
(package (method git-fetch)
(name "coq-autosubst") (uri (git-reference
(version (git-version "1" branch commit)) (url "https://github.com/coq-community/autosubst")
(source (origin (commit (string-append "v" version))))
(method git-fetch) (file-name (git-file-name name version))
(uri (git-reference (sha256
(url "git://github.com/uds-psl/autosubst") (base32 "0qk72r6cqxwhqqkl2kmryhw365w3l2016qii1q1sk3md7zq46jcz"))))
(commit commit))) (build-system gnu-build-system)
(file-name (git-file-name name version)) (arguments
(sha256 `(#:tests? #f
(base32 "1cl0bp96bk6lplbl7n5c703vd3gvbs5mvf2qrf8q333kkqd7jqq4"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f
#:make-flags (list (string-append "COQLIBINSTALL=" #:make-flags (list (string-append "COQLIBINSTALL="
(assoc-ref %outputs "out") (assoc-ref %outputs "out")
"/lib/coq/user-contrib")) "/lib/coq/user-contrib"))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(delete 'configure)))) (delete 'configure))))
(native-inputs (native-inputs
(list coq)) (list coq))
(home-page "https://www.ps.uni-saarland.de/autosubst/") (home-page "https://www.ps.uni-saarland.de/autosubst/")
(synopsis "Coq library for parallel de Bruijn substitutions") (synopsis "Coq library for parallel de Bruijn substitutions")
(description "Formalizing syntactic theories with variable binders is (description "Formalizing syntactic theories with variable binders is
not easy. Autosubst is a library for the Coq proof assistant to not easy. Autosubst is a library for the Coq proof assistant to
automate this process. Given an inductive definition of syntactic objects in automate this process. Given an inductive definition of syntactic objects in
de Bruijn representation augmented with binding annotations, Autosubst de Bruijn representation augmented with binding annotations, Autosubst
@ -581,21 +552,21 @@ usage of substitution lemmas unnecessary. The tactic is based on our current
work on a decision procedure for the equational theory of an extension of the work on a decision procedure for the equational theory of an extension of the
sigma-calculus by Abadi et al. The library is completely written in Coq and sigma-calculus by Abadi et al. The library is completely written in Coq and
uses Ltac to synthesize the substitution operation.") uses Ltac to synthesize the substitution operation.")
(license license:bsd-3)))) (license license:bsd-3)))
(define-public coq-equations (define-public coq-equations
(package (package
(name "coq-equations") (name "coq-equations")
(version "1.3") (version "1.3-8.17")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/mattam82/Coq-Equations") (url "https://github.com/mattam82/Coq-Equations")
(commit (string-append "v" version "-8.16")))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"08f756vgdd1wklkarg0b93j4n5mhkqm5ixxrhyb23dcv2dwhc8yg")))) "0g68h4c1ijpphixvl9wkd7sibds38v4236dpvvh194j5ii42vnn8"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
(list ocaml coq camlp5)) (list ocaml coq camlp5))
@ -673,7 +644,7 @@ also provided in Coq, without associated proofs.")
(define-public coq-stdpp (define-public coq-stdpp
(package (package
(name "coq-stdpp") (name "coq-stdpp")
(version "1.7.0") (version "1.8.0")
(synopsis "Alternative Coq standard library std++") (synopsis "Alternative Coq standard library std++")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
@ -683,7 +654,7 @@ also provided in Coq, without associated proofs.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0447wbzm23f9rl8byqf6vglasfn6c1wy6cxrrwagqjwsh3i5lx8y")))) "0xawh3xkh76yhs689zw52k55cbzga2gyzl4g1a3pgg6yy420chjn"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
(list coq)) (list coq))
@ -747,7 +718,7 @@ for goals involving set operations.
"/lib/coq/user-contrib")) "/lib/coq/user-contrib"))
#:phases (modify-phases %standard-phases #:phases (modify-phases %standard-phases
(delete 'configure)))) (delete 'configure))))
(inputs (list coq coq-stdlib coq-mathcomp which)) (inputs (list coq coq coq-mathcomp which))
(synopsis "Finite sets and finite types for coq-mathcomp") (synopsis "Finite sets and finite types for coq-mathcomp")
(description (description
"This library is an extension of coq-mathcomp which supports finite sets "This library is an extension of coq-mathcomp which supports finite sets
@ -778,7 +749,7 @@ subsume notations for finite sets.")
;; by the packaged project in the future. ;; by the packaged project in the future.
#:tests? #f #:tests? #f
#:make-flags ,#~(list (string-append "COQBIN=" #:make-flags ,#~(list (string-append "COQBIN="
#$(this-package-input "coq-core") #$(this-package-input "coq")
"/bin/") "/bin/")
(string-append "COQMF_COQLIB=" (string-append "COQMF_COQLIB="
(assoc-ref %outputs "out") (assoc-ref %outputs "out")
@ -788,7 +759,7 @@ subsume notations for finite sets.")
"/lib/coq/user-contrib")) "/lib/coq/user-contrib"))
#:phases (modify-phases %standard-phases #:phases (modify-phases %standard-phases
(delete 'configure)))) (delete 'configure))))
(propagated-inputs (list coq coq-core coq-mathcomp which)) (propagated-inputs (list coq coq-mathcomp which))
(home-page "https://math-comp.github.io/") (home-page "https://math-comp.github.io/")
(synopsis "Small library to do epsilon - N reasoning") (synopsis "Small library to do epsilon - N reasoning")
(description (description

View file

@ -8,7 +8,7 @@
;;; Copyright © 2019 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl> ;;; Copyright © 2019 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
;;; Copyright © 2020, 2021 Nicolò Balzarotti <nicolo@nixo.xyz> ;;; Copyright © 2020, 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
;;; Copyright © 2020 Roel Janssen <roel@gnu.org> ;;; Copyright © 2020 Roel Janssen <roel@gnu.org>
;;; Copyright © 2020, 2021, 2023 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2020, 2021, 2023, 2024 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2020, 2021, 2022 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2020, 2021, 2022 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020, 2022 Marius Bakke <marius@gnu.org> ;;; Copyright © 2020, 2022 Marius Bakke <marius@gnu.org>
@ -25,11 +25,11 @@
;;; Copyright © 2021 jgart <jgart@dismail.de> ;;; Copyright © 2021 jgart <jgart@dismail.de>
;;; Copyright © 2021 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2021 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2021 Disseminate Dissent <disseminatedissent@protonmail.com> ;;; Copyright © 2021 Disseminate Dissent <disseminatedissent@protonmail.com>
;;; Copyright © 2022, 2023 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2022-2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2022 muradm <mail@muradm.net> ;;; Copyright © 2022 muradm <mail@muradm.net>
;;; Copyright © 2022 Attila Lendvai <attila@lendvai.name> ;;; Copyright © 2022 Attila Lendvai <attila@lendvai.name>
;;; Copyright © 2022 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2022 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2022, 2023 David Elsing <david.elsing@posteo.net> ;;; Copyright © 2022, 2023, 2024 David Elsing <david.elsing@posteo.net>
;;; Copyright © 2022, 2023 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2022, 2023 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2022, 2023, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2022, 2023, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 Antero Mejr <antero@mailbox.org> ;;; Copyright © 2022 Antero Mejr <antero@mailbox.org>
@ -187,45 +187,39 @@ development effort.")
(define-public range-v3 (define-public range-v3
(package (package
(name "range-v3") (name "range-v3")
(version "0.11.0") (version "0.12.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
(uri (uri (git-reference
(git-reference (url "https://github.com/ericniebler/range-v3.git")
(url "https://github.com/ericniebler/range-v3.git") (commit version)))
(commit version))) (file-name (git-file-name name version))
(file-name
(git-file-name name version))
(patches (search-patches "range-v3-build-with-gcc10.patch"))
(sha256 (sha256
(base32 "18230bg4rq9pmm5f8f65j444jpq56rld4fhmpham8q3vr1c1bdjh")))) (base32 "0r85s5rmp5ixmik2y5y4w760pa38j1sg9hbr1fss2flibzvrf53d"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
(list (list
#:configure-flags #:configure-flags #~(list "-DRANGES_NATIVE=OFF")))
#~(list "-DRANGES_NATIVE=OFF"))) (native-inputs (list doxygen perl))
(native-inputs (inputs (list boost))
(list doxygen gcc-9 perl))
(inputs
(list boost))
(synopsis "Range library for C++14/17/20") (synopsis "Range library for C++14/17/20")
(description "Range-v3 is an extension of the Standard Template Library that (description
"Range-v3 is an extension of the Standard Template Library that
makes its iterators and algorithms more powerful by making them composable. makes its iterators and algorithms more powerful by making them composable.
Unlike other range-like solutions which, seek to do away with iterators, in Unlike other range-like solutions which, seek to do away with iterators, in
range-v3 ranges are an abstraction layer on top of iterators.") range-v3 ranges are an abstraction layer on top of iterators.")
(home-page "https://github.com/ericniebler/range-v3/") (home-page "https://github.com/ericniebler/range-v3/")
(license (license (list
(list ;; Elements of Programming
;; Elements of Programming (license:x11-style "file:///LICENSE.txt")
(license:x11-style "file:///LICENSE.txt") ;; SGI STL
;; SGI STL license:sgifreeb2.0
license:sgifreeb2.0 ;; LibC++ (dual-licensed)
;;; LibC++ (dual-licensed) license:expat
license:expat license:ncsa
license:ncsa ;; Others
;; Others license:boost1.0))))
license:boost1.0))))
(define-public robin-hood-hashing (define-public robin-hood-hashing
(package (package
@ -285,16 +279,18 @@ use by the C++ Core Guidelines maintained by the Standard C++ Foundation.")
(name "c2ffi") (name "c2ffi")
;; As per the c2ffi README: the first three elements are encoding the ;; As per the c2ffi README: the first three elements are encoding the
;; required Clang/LLVM version, and the last one is the c2ffi revision. ;; required Clang/LLVM version, and the last one is the c2ffi revision.
(version "12.0.0.0") (version "16.0.0.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/rpav/c2ffi") (url "https://github.com/rpav/c2ffi")
(commit (string-append "v" version)))) ;; Upstream is not tagging releases consistently.
;; (commit (string-append "v" version))
(commit "097cbe61ca02dc79ea60859aa056975131a9d985")))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1qq8dfismd20d9kfxpfvwz07v9mfvd0y7p5r3c92mk2pm4xnmzfy")) (base32 "1mqhw4838chl495gaj9z0731ahkmqb4f3wlc1qalk82fdsaniyd5"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(substitute* "CMakeLists.txt" '(substitute* "CMakeLists.txt"
@ -315,9 +311,9 @@ LLVMOption LLVMBitReader LLVMProfileData")))))
(when tests? (when tests?
(invoke "./bin/c2ffi" "--help"))))))) (invoke "./bin/c2ffi" "--help")))))))
(native-inputs (native-inputs
(list clang-12)) ; CMakeLists.txt invokes `clang -print-resource-dir` (list clang-16)) ; CMakeLists.txt invokes `clang -print-resource-dir`
(inputs (inputs
(list clang-12)) ; Compiled with gcc, but links against libclang-cpp.so (list clang-16)) ; Compiled with gcc, but links against libclang-cpp.so
(home-page "https://github.com/rpav/c2ffi") (home-page "https://github.com/rpav/c2ffi")
(synopsis "Clang-based FFI wrapper generator") (synopsis "Clang-based FFI wrapper generator")
(description (description
@ -519,7 +515,17 @@ operating on batches.")
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:configure-flags (list "-DHWY_SYSTEM_GTEST=on" `(#:configure-flags (list "-DHWY_SYSTEM_GTEST=on"
"-DBUILD_SHARED_LIBS=ON"))) "-DBUILD_SHARED_LIBS=ON")
,@(if (string-prefix? "i686-linux" (or (%current-system)
(%current-target-system)))
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'really-skip-precision-tests
(lambda _
(substitute* "hwy/contrib/math/math_test.cc"
(("Skipping math_test due to GCC issue with excess precision.*" m)
(string-append m "return;\n")))))))
'())))
(native-inputs (native-inputs
(list googletest)) (list googletest))
(home-page "https://github.com/google/highway") (home-page "https://github.com/google/highway")
@ -1061,10 +1067,9 @@ and make @code{cpplint} usable in wider contexts.")
(base32 "09xnf8hmld1fk8j33zwlz1qcxnjdx1ncbg62csic9va4m1wc2v1d")))) (base32 "09xnf8hmld1fk8j33zwlz1qcxnjdx1ncbg62csic9va4m1wc2v1d"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
;; No tests. (list #:tests? #f ; No tests.
`(#:tests? #f #:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON"
;; Build the shared library instead of a static one. "-DREPROC++=ON")))
#:configure-flags `("-DBUILD_SHARED_LIBS=1")))
(native-inputs (native-inputs
(list pkg-config)) (list pkg-config))
(synopsis "Process IO library") (synopsis "Process IO library")
@ -1628,7 +1633,7 @@ provides a number of utilities to make coding with expected cleaner.")
(define-public immer (define-public immer
(package (package
(name "immer") (name "immer")
(version "0.8.0") (version "0.8.1")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -1636,19 +1641,12 @@ provides a number of utilities to make coding with expected cleaner.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "11km3l5h3rgsbj8yfyzk3fnx9na55l6zs2sxpx922yvlvs2blh27")) (base32 "03qkr42h0g6rivj3kq207gzgnv7hq88y69q16l2vg1lbvjcgca2g"))))
(modules '((guix build utils)))
(snippet #~(begin
(delete-file "tools/include/doctest.h")
(delete-file "tools/include/catch.hpp")
(substitute* (find-files "test" "\\.[cih]pp")
(("<catch.hpp>") "<catch2/catch.hpp>")
(("<doctest.h>") "<doctest/doctest.h>"))
(substitute* (find-files "test/oss-fuzz" "\\.cpp")
;; someone used the wrong header :)
(("<fmt/printf.h>") "<fmt/ostream.h>"))))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (list #:test-target "check")) (arguments (list #:test-target "check"
;; -Werror appears to report false positives.
;; See <https://github.com/arximboldi/immer/issues/223>.
#:configure-flags #~(list "-DDISABLE_WERROR=ON")))
(inputs (list boost libgc c-rrb)) (inputs (list boost libgc c-rrb))
(native-inputs (list catch2 doctest fmt pkg-config)) (native-inputs (list catch2 doctest fmt pkg-config))
(home-page "https://sinusoid.es/immer") (home-page "https://sinusoid.es/immer")
@ -2455,7 +2453,7 @@ CRC32C algorithm, which is specified in RFC 3720, section 12.1.")
(define-public fast-float (define-public fast-float
(package (package
(name "fast-float") (name "fast-float")
(version "3.5.1") (version "6.0.0")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -2464,7 +2462,7 @@ CRC32C algorithm, which is specified in RFC 3720, section 12.1.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0z3rxxd0pwvw70dbnv63rm67biw829vdqf50y16isxm6g3sbrz8g")))) "1xf4gbllha760cr0ri53zsja46dypj45lj070ijb5f78xavfd8f8"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
(list (list
@ -2480,9 +2478,7 @@ CRC32C algorithm, which is specified in RFC 3720, section 12.1.")
(("if\\(NOT supplemental_test_files_POPULATED.*") (("if\\(NOT supplemental_test_files_POPULATED.*")
(string-append (string-append
"set(supplemental_test_files_BINARY_DIR " "set(supplemental_test_files_BINARY_DIR "
(search-input-directory (or native-inputs inputs) #$fast-float-test-files ")\nif(0)\n"))))))))
"data")
")\nif(0)\n"))))))))
(native-inputs (list doctest fast-float-test-files)) (native-inputs (list doctest fast-float-test-files))
(home-page "https://github.com/fastfloat/fast_float") (home-page "https://github.com/fastfloat/fast_float")
(synopsis "Floating point number parser for C++") (synopsis "Floating point number parser for C++")
@ -2708,6 +2704,37 @@ addition and subtraction for all combinations of signed and unsigned 32-bit and
64-bit integers.") 64-bit integers.")
(license license:expat))) (license license:expat)))
(define-public wide-integer
(let ((commit "22b8428746248e682d5276f8e8b7fb52af73ea47")
(revision "1314")) ; commit count
(package
(name "wide-integer")
(version (git-version "0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ckormanyos/wide-integer")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0bhjnbdcphv5kddddh8kpwjpjix23m12vmfsz0r6wjc5d27md33z"))
(modules '((guix build utils)))
(snippet #~(substitute* "CMakeLists.txt"
(("WideIntegerTargets") "wide-integer-targets")
(("WideIntegerConfig") "wide-integer-config")
(("WideInteger") "wide-integer")))))
(build-system cmake-build-system)
(native-inputs (list boost))
(home-page "https://github.com/ckormanyos/wide-integer")
(synopsis "C++ template for arbitrary-precision integers")
(description "This package implements a generic template for extended
width signed and unsigned integral types. Up to 63 limbs of any built-in
integer type are supported, and can be used to build powers of two like
int128_t, uint256_t, but also somewhat esoteric types such as int24_t,
uint80_t, or uint1536_t. The provided types can be used in much the same
way as basic integer types.")
(license license:boost1.0))))
(define-public wdl (define-public wdl
;; No tag is available. ;; No tag is available.
(let ((commit "da86a62d11e46e4ecd8b16f9775cb5188340a0e2") (let ((commit "da86a62d11e46e4ecd8b16f9775cb5188340a0e2")

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

1714
gnu/packages/crates-tls.scm Normal file

File diff suppressed because it is too large Load diff

4163
gnu/packages/crates-vcs.scm Normal file

File diff suppressed because it is too large Load diff

5654
gnu/packages/crates-web.scm Normal file

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -745,7 +745,9 @@ returned."
"Returns PACKAGE that contains a cross-compilation tool chain for TARGET "Returns PACKAGE that contains a cross-compilation tool chain for TARGET
with XBINUTILS, XGCC and LIBC (if exists for TARGET)." with XBINUTILS, XGCC and LIBC (if exists for TARGET)."
(package (package
(name (string-append (package-name xgcc) "-toolchain")) ;; Using PACKAGE-NAME of XGCC is avoided here as there are platforms that
;; still need a toolchain but don't have a libc (e.g. or1k-elf).
(name (string-append "gcc-cross-" target "-toolchain"))
(version (package-version xgcc)) (version (package-version xgcc))
(source #f) (source #f)
(build-system trivial-build-system) (build-system trivial-build-system)

View file

@ -38,5 +38,8 @@
(define-public gcc-cross-i686-w64-mingw32-toolchain (define-public gcc-cross-i686-w64-mingw32-toolchain
(cross-gcc-toolchain "i686-w64-mingw32")) (cross-gcc-toolchain "i686-w64-mingw32"))
(define-public gcc-cross-or1k-elf-toolchain
(cross-gcc-toolchain "or1k-elf"))
(define-public gcc-cross-x86_64-w64-mingw32-toolchain (define-public gcc-cross-x86_64-w64-mingw32-toolchain
(cross-gcc-toolchain "x86_64-w64-mingw32")) (cross-gcc-toolchain "x86_64-w64-mingw32"))

View file

@ -53,6 +53,7 @@
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages cpp) #:use-module (gnu packages cpp)
#:use-module (gnu packages crates-crypto)
#:use-module (gnu packages crates-io) #:use-module (gnu packages crates-io)
#:use-module (gnu packages cryptsetup) #:use-module (gnu packages cryptsetup)
#:use-module (gnu packages curl) #:use-module (gnu packages curl)
@ -60,6 +61,7 @@
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
#:use-module (gnu packages gnupg) #:use-module (gnu packages gnupg)
#:use-module (gnu packages golang) #:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages graphviz) #:use-module (gnu packages graphviz)
#:use-module (gnu packages image) #:use-module (gnu packages image)
#:use-module (gnu packages kerberos) #:use-module (gnu packages kerberos)

View file

@ -49,6 +49,7 @@
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages golang) #:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages guile) #:use-module (gnu packages guile)
#:use-module (gnu packages kerberos) #:use-module (gnu packages kerberos)
#:use-module (gnu packages logging) #:use-module (gnu packages logging)
@ -421,7 +422,7 @@ sugar and output formatting inspired from @code{httpie}.")
(define-public trurl (define-public trurl
(package (package
(name "trurl") (name "trurl")
(version "0.8") (version "0.9")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -430,7 +431,7 @@ sugar and output formatting inspired from @code{httpie}.")
(commit (string-append name "-" version)))) (commit (string-append name "-" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "19zdpjp01n7s7zgixq3irqfnx66dmqf8zyp0dlb6y7ga673lqwi8")))) (base32 "10gsl0fdpybfcffmgf3qww7cpw3ifczl601042a2mqmwwrlx5zj7"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(list (list

View file

@ -46,7 +46,7 @@
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com> ;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2021 Greg Hogan <code@greghogan.com> ;;; Copyright © 2021, 2024 Greg Hogan <code@greghogan.com>
;;; Copyright © 2021 David Larsson <david.larsson@selfhosted.xyz> ;;; Copyright © 2021 David Larsson <david.larsson@selfhosted.xyz>
;;; Copyright © 2021 Pjotr Prins <pjotr.guix@thebird.nl> ;;; Copyright © 2021 Pjotr Prins <pjotr.guix@thebird.nl>
;;; Copyright © 2021 Bonface Munyoki Kilyungi <me@bonfacemunyoki.com> ;;; Copyright © 2021 Bonface Munyoki Kilyungi <me@bonfacemunyoki.com>
@ -107,6 +107,7 @@
#:use-module (gnu packages gnome) #:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg) #:use-module (gnu packages gnupg)
#:use-module (gnu packages golang) #:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check) #:use-module (gnu packages golang-check)
#:use-module (gnu packages golang-web) #:use-module (gnu packages golang-web)
#:use-module (gnu packages gperf) #:use-module (gnu packages gperf)
@ -189,6 +190,39 @@
#:use-module (srfi srfi-26) #:use-module (srfi srfi-26)
#:use-module (ice-9 match)) #:use-module (ice-9 match))
(define-public duckdb
(package
(name "duckdb")
(version "0.9.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/duckdb/duckdb")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0dbsxyiz7c8sxflbfj87qv0b2s69zk802vsk5h00ra8w8fcbqlj0"))
(modules '((guix build utils)))
(snippet
#~(begin
;; There is no git checkout from which to read the version tag.
(substitute* "CMakeLists.txt"
(("set\\(DUCKDB_VERSION \"[^\"]*\"")
(string-append "set(DUCKDB_VERSION \"v" #$version "-dev0\"")))))))
(build-system cmake-build-system)
(home-page "https://duckdb.org")
(synopsis "In-process SQL OLAP database management system")
(description "CLI and C/C++ source libraries for DuckDB, a relational
(table-oriented) @acronym{DBMS, Database Management System} that supports
@acronym{SQL, Structured Query Language}, contains a columnar-vectorized query
execution engine, and provides transactional @acronym{ACID, Atomicity
Consistency Isolation and Durability} guarantees via bulk-optimized
@acronym{MVCC, Multi-Version Concurrency Control}. Data can be stored in
persistent, single-file databases with support for secondary indexes.")
(license license:expat)))
(define-public ephemeralpg (define-public ephemeralpg
(package (package
(name "ephemeralpg") (name "ephemeralpg")
@ -1446,6 +1480,56 @@ PostgreSQL extension, providing automatic partitioning across time and space
(partitioning key), as well as full SQL support.") (partitioning key), as well as full SQL support.")
(license license:asl2.0))) (license license:asl2.0)))
(define-public pgvector
(package
(name "pgvector")
(version "0.6.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/pgvector/pgvector")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"19zcjrlmyj7gfbn8prh014yq50iy4dg97pirsm7idxsr829vwyc5"))))
(build-system gnu-build-system)
(arguments
(list
;; Do not use -march=native
#:make-flags
'(list "OPTFLAGS=")
#:phases
#~(modify-phases %standard-phases
(delete 'configure)
(replace 'install
(lambda _
(let ((extension (string-append #$output "/share/extension"))
(lib (string-append #$output "/lib"))
(headers (string-append #$output "/include/server/extension/vector")))
(for-each mkdir-p (list extension lib headers))
(install-file "vector.so" lib)
(chmod (string-append lib "/vector.so") #o755)
(install-file "vector.control" extension)
(for-each (lambda (file)
(install-file file extension))
(find-files "sql" "\\.sql$"))
(install-file "src/vector.h" headers)))))))
(inputs (list postgresql))
(home-page "https://github.com/pgvector/pgvector")
(synopsis "Vector similarity search for Postgres")
(description
"This package provides a vector similarity search extension for Postgres.
Store your vectors with the rest of your data. It supports:
@itemize
@item exact and approximate nearest neighbor search;
@item L2 distance, inner product, and cosine distance;
@item any language with a Postgres client.
@end itemize
")
(license (license:x11-style "file://COPYRIGHT"))))
(define-public pgloader (define-public pgloader
(package (package
(name "pgloader") (name "pgloader")
@ -3348,6 +3432,10 @@ etc., and an SQL engine for performing simple SQL queries.")
(arguments (arguments
'(#:tests? #f ; Tests try to use a running mongodb server. '(#:tests? #f ; Tests try to use a running mongodb server.
#:import-path "gopkg.in/mgo.v2")) #:import-path "gopkg.in/mgo.v2"))
(propagated-inputs
(list go-gopkg.in-tomb.v2))
(inputs
(list cyrus-sasl))
(native-inputs (native-inputs
(list go-gopkg-in-check-v1)) (list go-gopkg-in-check-v1))
(home-page "https://gopkg.in/mgo.v2") (home-page "https://gopkg.in/mgo.v2")
@ -3792,7 +3880,7 @@ PickleShare.")
(define-public python-apsw (define-public python-apsw
(package (package
(name "python-apsw") (name "python-apsw")
(version "3.42.0.1") (version "3.45.1.0")
;; The compressed release has fetching functionality disabled. ;; The compressed release has fetching functionality disabled.
(source (source
(origin (origin
@ -3802,11 +3890,11 @@ PickleShare.")
version "/apsw-" version ".zip")) version "/apsw-" version ".zip"))
(sha256 (sha256
(base32 (base32
"0dr7zymn45x2793cilr709rnwn9g1c4n4vzln57y2lhj7420ykic")))) "1vfrzb414pbh5k0cgcqkp039jvla2galapn4a551zgh8xi70bnrp"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(native-inputs (native-inputs
(list python-cython unzip)) (list unzip))
(inputs (list sqlite-next)) ;SQLite 3.42 required. (inputs (list sqlite-next)) ;SQLite 3.45.1 required.
(arguments (arguments
(list (list
#:phases #:phases
@ -4423,7 +4511,7 @@ the SQL language using a syntax that reflects the resulting query.")
(define-public apache-arrow (define-public apache-arrow
(package (package
(name "apache-arrow") (name "apache-arrow")
(version "14.0.0") (version "14.0.2")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -4433,7 +4521,7 @@ the SQL language using a syntax that reflects the resulting query.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"08x01jcibmx03g9p0sjikp3dyynw6is6gyn0m3cy1gwkpkwk2ad2")))) "1idw58vs8r6g6xy2qkhccgc79hwx4r5rr4bhd6ilxx56fwq9hkn2"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
(list (list

View file

@ -2,6 +2,7 @@
;;; Copyright © 2018, 2020-2024 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018, 2020-2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Marius Bakke <marius@gnu.org> ;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
;;; Copyright © 2023 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -24,6 +25,7 @@
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system trivial) #:use-module (guix build-system trivial)
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
@ -146,6 +148,29 @@ contains the archive keys used for that.")
;; "The keys in the keyrings don't fall under any copyright." ;; "The keys in the keyrings don't fall under any copyright."
(license license:public-domain))) (license license:public-domain)))
(define-public trisquel-keyring
(package
(name "trisquel-keyring")
(version "2022.10.19")
(source (origin
(method url-fetch)
(uri (string-append
"http://archive.trisquel.info/trisquel/"
"pool/main/t/trisquel-keyring/trisquel-keyring_"
version ".tar.gz"))
(sha256
(base32
"1qkqm3wb945i2izm47xni21hi3ad807bvl106r2mnwdxnjs4ij08"))))
(build-system copy-build-system)
(arguments
'(#:install-plan '(("keyrings/trisquel-archive-keyring.gpg"
"share/keyrings/"))))
(home-page "http://archive.trisquel.info/trisquel/pool/main/t/trisquel-keyring")
(synopsis "GnuPG archive keys of the Trisquel archive")
(description "The Trisquel distribution signs its packages. This package
contains the archive keys used for that.")
(license license:gpl2+))) ;; see debian/copyright
(define-public ubuntu-keyring (define-public ubuntu-keyring
(package (package
(name "ubuntu-keyring") (name "ubuntu-keyring")
@ -208,6 +233,7 @@ contains the archive keys used for that.")
(add-after 'unpack 'patch-source (add-after 'unpack 'patch-source
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda* (#:key inputs outputs #:allow-other-keys)
(let ((debian #$(this-package-input "debian-archive-keyring")) (let ((debian #$(this-package-input "debian-archive-keyring"))
(trisquel #$(this-package-input "trisquel-keyring"))
(ubuntu #$(this-package-input "ubuntu-keyring"))) (ubuntu #$(this-package-input "ubuntu-keyring")))
(substitute* "Makefile" (substitute* "Makefile"
(("/usr") "")) (("/usr") ""))
@ -220,6 +246,11 @@ contains the archive keys used for that.")
(("/usr") debian)) (("/usr") debian))
(substitute* "scripts/gutsy" (substitute* "scripts/gutsy"
(("/usr") ubuntu)) (("/usr") ubuntu))
(substitute* "scripts/robur"
(("/usr/share/keyrings/trisquel-archive-keyring.gpg")
(string-append
trisquel
"/share/keyrings/trisquel-archive-keyring.gpg")))
(substitute* "debootstrap" (substitute* "debootstrap"
(("=/usr") (string-append "=" #$output)) (("=/usr") (string-append "=" #$output))
(("/usr/bin/dpkg") (search-input-file inputs "/bin/dpkg"))) (("/usr/bin/dpkg") (search-input-file inputs "/bin/dpkg")))
@ -227,6 +258,8 @@ contains the archive keys used for that.")
(substitute* (find-files "scripts") (substitute* (find-files "scripts")
(("keyring.*(debian-archive-keyring.gpg)"_ keyring) (("keyring.*(debian-archive-keyring.gpg)"_ keyring)
(string-append "keyring " debian "/share/keyrings/" keyring)) (string-append "keyring " debian "/share/keyrings/" keyring))
(("keyring.*(trisquel-archive-keyring.gpg)" _ keyring)
(string-append "keyring " trisquel "/share/keyrings/" keyring))
(("keyring.*(ubuntu-archive-keyring.gpg)" _ keyring) (("keyring.*(ubuntu-archive-keyring.gpg)" _ keyring)
(string-append "keyring " ubuntu "/share/keyrings/" keyring))) (string-append "keyring " ubuntu "/share/keyrings/" keyring)))
;; Ensure PATH works both in guix and within the debian chroot ;; Ensure PATH works both in guix and within the debian chroot
@ -251,11 +284,14 @@ contains the archive keys used for that.")
#:tests? #f)) ; no tests #:tests? #f)) ; no tests
(inputs (inputs
(list debian-archive-keyring (list debian-archive-keyring
trisquel-keyring
ubuntu-keyring ubuntu-keyring
bash-minimal bash-minimal
dpkg dpkg
tzdata tzdata
;; Needed by dpkg-deb in extract_dpkg_deb_data for at least
;; Trisquel 11 (aramo).
zstd
;; Called at run-time from various places, needs to be in PATH. ;; Called at run-time from various places, needs to be in PATH.
gnupg gnupg
wget)) wget))

View file

@ -50,6 +50,7 @@
#:use-module (gnu packages code) #:use-module (gnu packages code)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages flex) #:use-module (gnu packages flex)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gdb) #:use-module (gnu packages gdb)
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
@ -59,6 +60,7 @@
#:use-module (gnu packages libusb) #:use-module (gnu packages libusb)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages llvm) #:use-module (gnu packages llvm)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses) #:use-module (gnu packages ncurses)
#:use-module (gnu packages ninja) #:use-module (gnu packages ninja)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
@ -459,6 +461,59 @@ server and embedded PowerPC, and S390 guests.")
;; Several tests fail on MIPS. ;; Several tests fail on MIPS.
(supported-systems (delete "mips64el-linux" %supported-systems)))))) (supported-systems (delete "mips64el-linux" %supported-systems))))))
(define-public aflplusplus
(package
(inherit american-fuzzy-lop)
(name "aflplusplus")
(version "4.09c")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/AFLplusplus/AFLplusplus")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"12bplpd8cifla6m9l130fd22ggzkhd1w5s1aifw1idpy3njhj129"))))
(arguments
(substitute-keyword-arguments (package-arguments american-fuzzy-lop)
((#:make-flags _ ''())
#~(list (string-append "PREFIX=" #$output)
(string-append "DOC_PATH=" #$output "/share/doc/"
#$(package-name this-package) "-"
#$(package-version this-package))
(string-append "CC=" #$(cc-for-target))))
((#:phases phases '%standard-phases)
#~(modify-phases #$phases
;; For GCC plugins.
(add-after 'unpack 'patch-gcc-path
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/afl-cc.c"
(("alt_cc = \"gcc\";")
(format #f "alt_cc = \"~a\";"
(search-input-file inputs "bin/gcc")))
(("alt_cxx = \"g\\+\\+\";")
(format #f "alt_cxx = \"~a\";"
(search-input-file inputs "bin/g++"))))))))))
;; According to the Dockerfile, GCC 12 is producing compile errors for some
;; targets, so explicitly use GCC 11 here.
(inputs (list gcc-11 gmp python qemu))
(native-inputs (list gcc-11))
(home-page "https://aflplus.plus/")
(description
"AFLplusplus is a security-oriented fuzzer that employs a novel type of
compile-time instrumentation and genetic algorithms to automatically discover
clean, interesting test cases that trigger new internal states in the targeted
binary. This substantially improves the functional coverage for the fuzzed
code. The compact synthesized corpora produced by the tool are also useful for
seeding other, more labor- or resource-intensive testing regimes down the road.
It is a fork of American Fuzzy Lop fuzzer and features:
@itemize
@item A more recent qemu version.
@item More algorithms like collision-free coverage, enhanced laf-intel &
redqueen, AFLfast++ power schedules, MOpt mutators, unicorn_mode, etc.
@end itemize")))
(define-public stress-make (define-public stress-make
(let ((commit "97815bed8060de33952475b3498767c91f59ffd9") (let ((commit "97815bed8060de33952475b3498767c91f59ffd9")
(revision "2")) ;No official source distribution (revision "2")) ;No official source distribution

View file

@ -74,7 +74,7 @@
(define-public diffoscope (define-public diffoscope
(package (package
(name "diffoscope") (name "diffoscope")
(version "253") (version "258")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -83,7 +83,7 @@
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1nvq0lv246rah0ryb2qd20yf3gfy0iwfi3335rg9c3gpz0ha4wnb")))) (base32 "1wppshi18lyrgxxi8j06ij0qi31zdgqwjj6bycsyvipkc1cj6xhp"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
(list (list
@ -305,7 +305,7 @@ them in detail for later analysis.")
(define-public trydiffoscope (define-public trydiffoscope
(package (package
(name "trydiffoscope") (name "trydiffoscope")
(version "67.0.1") (version "67.0.6")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -315,7 +315,7 @@ them in detail for later analysis.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"03b66cjii7l2yiwffj6ym6mycd5drx7prfp4j2550281pias6mjh")))) "0jzxgqraf727fvjcc9bgwz8zymjiix07x54xzqpvm52cv681nd9j"))))
(arguments (arguments
`(#:phases `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases

View file

@ -69,6 +69,7 @@
#:use-module (gnu packages gnome) #:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg) #:use-module (gnu packages gnupg)
#:use-module (gnu packages golang) #:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages graphics) #:use-module (gnu packages graphics)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages guile) #:use-module (gnu packages guile)

View file

@ -5,8 +5,8 @@
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017, 2019, 2022 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2019, 2022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Guy Fleury Iteriteka <gfleury@disroot.org> ;;; Copyright © 2020 Guy Fleury Iteriteka <gfleury@disroot.org>
;;; Copyright © 2021-2023 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2021-2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2021, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 ( <paren@disroot.org> ;;; Copyright © 2022 ( <paren@disroot.org>
;;; Copyright © 2022 Esther Flashner <esther@flashner.co.il> ;;; Copyright © 2022 Esther Flashner <esther@flashner.co.il>
;;; ;;;
@ -136,8 +136,7 @@ to a minimal test case.")
(string-append "my $gdc_dir = \"" (string-append "my $gdc_dir = \""
(dirname (search-input-file inputs "/bin/gdc")) (dirname (search-input-file inputs "/bin/gdc"))
"\";\n")))))))) "\";\n"))))))))
(inputs (inputs (list gdc perl))
(list gdc-11 perl))
(home-page "https://github.com/D-Programming-GDC/gdmd") (home-page "https://github.com/D-Programming-GDC/gdmd")
(synopsis "DMD-like wrapper for GDC") (synopsis "DMD-like wrapper for GDC")
(description "This package provides a DMD-like wrapper for the (description "This package provides a DMD-like wrapper for the
@ -192,8 +191,8 @@ to a minimal test case.")
("libedit" ,libedit) ("libedit" ,libedit)
("zlib" ,zlib))) ("zlib" ,zlib)))
(native-inputs (native-inputs
`(("lld-wrapper" ,(make-lld-wrapper lld-14 #:lld-as-ld? #t)) `(("lld-wrapper" ,(make-lld-wrapper lld-15 #:lld-as-ld? #t))
("llvm" ,llvm-14) ("llvm" ,llvm-15)
("ldc" ,gdmd) ("ldc" ,gdmd)
("ninja" ,ninja) ("ninja" ,ninja)
("python-wrapper" ,python-wrapper) ("python-wrapper" ,python-wrapper)
@ -356,9 +355,177 @@ integration tests...\n")
(append (delete "llvm" (append (delete "llvm"
(alist-replace "ldc" (list ldc-bootstrap) (alist-replace "ldc" (list ldc-bootstrap)
(package-native-inputs ldc-bootstrap))) (package-native-inputs ldc-bootstrap)))
`(("clang" ,clang-14) ;propagates llvm and clang-runtime `(("clang" ,clang-15) ;propagates llvm and clang-runtime
("python-lit" ,python-lit)))))) ("python-lit" ,python-lit))))))
;;; Bootstrap version of phobos that is built with GDC, using GDC's standard
;;; library.
(define dmd-bootstrap
(package
;; This package is purposefully named just "dmd" and not "dmd-bootstrap",
;; as the final dmd package rewrites references from this one to itself,
;; and their names must have the same length to avoid corrupting the
;; binary.
(name "dmd")
(version "2.106.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dlang/dmd")
(commit (string-append "v" version))))
(file-name (git-file-name "dmd" version))
(sha256
(base32
"1bq4jws1vns2jjzfz7biyngrx9y5pvvgklymhrvb5kvbzky1ldmy"))))
(build-system gnu-build-system)
(arguments
(list
#:disallowed-references (list (gexp-input (canonical-package gcc)
"lib"))
;; Disable tests, as gdmd cannot cope with some arguments used such as
;; '-conf'.
#:tests? #f
#:test-target "test"
#:make-flags
#~(list (string-append "CC=" #$(cc-for-target))
;; XXX: Proceed despite conflicts from symbols provided by both
;; the source built and GDC.
"DFLAGS=-L--allow-multiple-definition"
"ENABLE_RELEASE=1"
(string-append "HOST_CXX=" #$(cxx-for-target))
"HOST_DMD=gdmd"
(string-append "INSTALL_DIR=" #$output)
;; Do not build the shared libphobos2.so library, to avoid
;; retaining a reference to gcc:lib.
"SHARED=0"
(string-append "SYSCONFDIR=" #$output "/etc")
"VERBOSE=1"
"-f" "posix.mak")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'copy-phobos-source-and-chdir
;; Start with building phobos, which in turns will automatically
;; build druntime and dmd. A minimal dmd command is still
;; required to do so, which is why we need dmd-bootstrap-0.
(lambda _
(symlink "." "dmd") ;to please the build system expected layout
(copy-recursively
#$(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dlang/phobos")
(commit (string-append "v" version))))
(file-name (git-file-name "phobos" version))
(sha256
(base32
"1yw7nb5d78cx9m7sfibv7rfc7wj3w0dw9mfk3d269qpfpnwzs4n9")))
"phobos")
(chdir "phobos")))
(add-after 'copy-phobos-source-and-chdir 'adjust-phobos-install-dirs
(lambda _
(substitute* "posix.mak"
;; Install to lib directory, not to e.g. 'linux/lib64'.
(("\\$\\(INSTALL_DIR)/\\$\\(OS)/\\$\\(lib_dir)")
(string-append #$output "/lib"))
;; Do not install license file, already done by the gnu build
;; system.
((".*\\$\\(INSTALL_DIR)/phobos-LICENSE.txt.*") ""))))
(delete 'configure)
(add-after 'install 'install-druntime
(lambda args
(chdir "../druntime")
(apply (assoc-ref %standard-phases 'install) args)
(chdir "..")))
(add-after 'install-druntime 'install-includes
(lambda _
;; Normalize the include files prefix to include/dmd.
(let ((include-dir (string-append #$output "/include/dmd")))
(mkdir-p include-dir)
(rename-file (string-append #$output "/src/phobos")
(string-append include-dir))
(copy-recursively "druntime/import" include-dir))
(delete-file-recursively (string-append #$output "/src"))))
(add-after 'install-druntime 'install-dmd
(assoc-ref %standard-phases 'install))
(add-after 'install-license-files 'refine-install-layout
(lambda _
(let* ((docdir (string-append #$output "/share/doc/"
(strip-store-file-name #$output)))
;; The dmd binary gets installed to
;; e.g. /linux/bin64/dmd.
(dmd (car (find-files #$output "^dmd$")))
(dmd.conf (car (find-files #$output "^dmd.conf$")))
(os-dir (dirname (dirname dmd))))
;; Move samples from root to the doc directory.
(rename-file (string-append #$output "/samples")
(string-append docdir "/samples"))
;; Remove duplicate license file.
(delete-file (string-append #$output
"/dmd-boostlicense.txt"))
;; Move dmd binary and dmd.conf.
(install-file dmd (string-append #$output "/bin"))
(install-file dmd.conf (string-append #$output "/etc"))
(delete-file-recursively os-dir))))
(add-after 'refine-install-layout 'patch-dmd.conf
(lambda* (#:key outputs #:allow-other-keys)
(substitute* (search-input-file outputs "etc/dmd.conf")
(("lib(32|64)")
"lib")
(("\\.\\./src/(phobos|druntime/import)")
"include/dmd")))))))
(native-inputs (list gdmd which))
(home-page "https://github.com/dlang/dmd")
(synopsis "Reference D Programming Language compiler")
(description "@acronym{DMD, Digital Mars D compiler} is the reference
compiler for the D programming language.")
;; As reported by upstream:
;; https://wiki.dlang.org/Compilers#Comparison
(supported-systems '("i686-linux" "x86_64-linux"))
(license license:boost1.0)))
;;; Second bootstrap of DMD, built using dmd-bootstrap, with its shared
;;; libraries preserved.
(define-public dmd
(package
(inherit dmd-bootstrap)
(arguments
(substitute-keyword-arguments
(strip-keyword-arguments
'(#:tests?) ;reinstate tests
(package-arguments dmd-bootstrap))
((#:disallowed-references _ ''())
(list dmd-bootstrap))
((#:modules _ ''())
'((guix build gnu-build-system)
(guix build utils)
(srfi srfi-1))) ;for fold
((#:make-flags flags ''())
#~(fold delete #$flags '("DFLAGS=-L--allow-multiple-definition"
"HOST_DMD=gdmd"
"SHARED=0")))
((#:phases phases '%standard-phases)
#~(modify-phases #$phases
(add-after 'patch-dmd.conf 'rewrite-references-to-bootstrap
;; DMD keeps references to include files used to build a
;; binary. Rewrite those of dmd-bootstrap to itself, to reduce
;; its closure size.
(lambda* (#:key native-inputs inputs outputs
#:allow-other-keys)
(let ((dmd (search-input-file outputs "bin/dmd"))
(dmd-bootstrap (dirname
(dirname
(search-input-file
(or native-inputs inputs)
"bin/dmd")))))
;; XXX: Use sed, as replace-store-references wouldn't
;; replace the references, while substitute* throws an
;; error.
(invoke "sed" "-i"
(format #f "s,~a,~a,g" dmd-bootstrap #$output)
dmd))))))))
(native-inputs (modify-inputs (package-native-inputs dmd-bootstrap)
(replace "gdmd" dmd-bootstrap)))))
(define-public dub (define-public dub
(package (package
(name "dub") (name "dub")
@ -453,3 +620,35 @@ needed.")
(synopsis "D binding and OO wrapper of GTK+") (synopsis "D binding and OO wrapper of GTK+")
(description "This package provides bindings to GTK+ for D.") (description "This package provides bindings to GTK+ for D.")
(license license:lgpl2.1))) (license license:lgpl2.1)))
(define-public d-demangler
(package
(name "d-demangler")
(version "0.0.2")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/lievenhey/d_demangler")
(commit (string-append "version-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"13lbbxlaa1mffjs57xchl1g6kyr5lxi0z5x7snyvym0knslxwx2g"))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ;no test suite
#:make-flags #~(list (string-append "CC=" #$(cc-for-target))
"d_demangle")
#:phases #~(modify-phases %standard-phases
(delete 'configure)
(replace 'install
(lambda _
(install-file "libd_demangle.so"
(string-append #$output "/lib")))))))
(native-inputs (list dmd))
(home-page "https://github.com/lievenhey/d_demangler")
(synopsis "Utility to demangle D symbols")
(description "@command{d_demangle} is a small utility that can be used to
demangle D symbols. A shared library is also provided.")
(license license:gpl3+)))

View file

@ -21,6 +21,7 @@
;;; Copyright © 2021 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2021 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu> ;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu>
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space> ;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
;;; Copyright © 2024 John Kehayias <john.kehayias@protonmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -293,7 +294,7 @@ prompt the user with the option to go with insecure DNS only.")
(define-public dnsmasq (define-public dnsmasq
(package (package
(name "dnsmasq") (name "dnsmasq")
(version "2.89") (version "2.90")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -301,7 +302,7 @@ prompt the user with the option to go with insecure DNS only.")
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"02dnxfnman38armn3sw56w80f9wb2vgm3qgm15crs2yg8q1j7g82")))) "1r09l537vi867hlpv6vl7nvqhscvq1kf04m896bfrgrpv2dk0l4f"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
(list pkg-config)) (list pkg-config))
@ -336,23 +337,23 @@ and BOOTP/TFTP for network booting of diskless machines.")
;; When updating, check whether isc-dhcp's bundled copy should be as well. ;; When updating, check whether isc-dhcp's bundled copy should be as well.
;; The BIND release notes are available here: ;; The BIND release notes are available here:
;; https://www.isc.org/bind/ ;; https://www.isc.org/bind/
(version "9.16.38") (version "9.19.21")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://ftp.isc.org/isc/bind9/" version (uri (string-append "https://ftp.isc.org/isc/bind9/" version
"/bind-" version ".tar.xz")) "/bind-" version ".tar.xz"))
(sha256 (sha256
(base32 "03y52iyc2g63lkk9x2vaizpr0jv27g1z6mcxnjw8m8l4kaflrx4d")) (base32 "133f1aq8acaz9z03cl0gcrj4pq0hqm6c3sm4hz67d37phndsjs1b"))))
(patches
(search-patches "bind-re-add-attr-constructor-priority.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs `("out" "utils")) (outputs `("out" "utils"))
(inputs (inputs
;; It would be nice to add GeoIP and gssapi once there are packages. ;; It would be nice to add GeoIP and gssapi once there are packages.
(list libcap (list libcap
liburcu
libuv libuv
libxml2 libxml2
`(,nghttp2 "lib")
openssl openssl
p11-kit p11-kit
python python
@ -635,14 +636,14 @@ BIND and djbdns---whilst using relatively little memory.")
(define-public unbound (define-public unbound
(package (package
(name "unbound") (name "unbound")
(version "1.17.1") (version "1.19.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://www.unbound.net/downloads/unbound-" (uri (string-append "https://www.unbound.net/downloads/unbound-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 "1x55f5aqlzynpy24ryf1rsmdy8m8iyi19n7k03k889g1rk78ah7f")))) (base32 "1ad34jxprygjp7g84q1bgmvcc114f2mgyhfwk9rs0inq7mpmf7dw"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs '("out" "python")) (outputs '("out" "python"))
(native-inputs (native-inputs
@ -844,7 +845,7 @@ Extensions} (DNSSEC).")
(define-public knot (define-public knot
(package (package
(name "knot") (name "knot")
(version "3.3.2") (version "3.3.4")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -853,7 +854,7 @@ Extensions} (DNSSEC).")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "17zdpk6wf0cf90dp4cls35si8ywjsqjrmgssw2gmb1y0zfyp19vq")) (base32 "0w7drq0pj94d43qn9wmzxab34mjhxj9x84rixbswc270ywh6d9pr"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -983,14 +984,14 @@ synthesis, and on-the-fly re-configuration.")
(define-public knot-resolver (define-public knot-resolver
(package (package
(name "knot-resolver") (name "knot-resolver")
(version "5.5.3") (version "5.7.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://secure.nic.cz/files/knot-resolver/" (uri (string-append "https://secure.nic.cz/files/knot-resolver/"
"knot-resolver-" version ".tar.xz")) "knot-resolver-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0bgdbx66dsfik3sdqi4g2imddalqc1p41n444xk7s8vxig35g3x3")))) "18n3jh17d22xmzpg8syw2dm85vv7jchdc4hzk5x78lqxqqav856s"))))
(build-system meson-build-system) (build-system meson-build-system)
(outputs '("out" "doc")) (outputs '("out" "doc"))
(arguments (arguments

View file

@ -42,6 +42,7 @@
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages golang) #:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages networking) #:use-module (gnu packages networking)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)

View file

@ -47,7 +47,9 @@
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages gnome) #:use-module (gnu packages gnome)
#:use-module (gnu packages golang) #:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check) #:use-module (gnu packages golang-check)
#:use-module (gnu packages golang-xyz)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages gstreamer) #:use-module (gnu packages gstreamer)
#:use-module (gnu packages image) #:use-module (gnu packages image)
@ -1161,3 +1163,37 @@ mentored learning for programming languages.")
(description "Mazo is a learning application that helps you memorize (description "Mazo is a learning application that helps you memorize
simple concepts using multimedia flash cards and spaced reviews.") simple concepts using multimedia flash cards and spaced reviews.")
(license license:public-domain))) (license license:public-domain)))
(define-public tagainijisho
(package
(name "tagainijisho")
(version "1.2.2")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/Gnurou/tagainijisho/releases/download/"
version
"/tagainijisho-" version ".tar.gz"))
(sha256
(base32
"00whfcnpn42asxmafcfbcmpwfwyv40qaqdk28psa1vp0lainmyhh"))))
(build-system qt-build-system)
(arguments
(list #:tests? #f)) ;no test target
(native-inputs
(list qttools-5))
(synopsis "Japanese dictionary and learning assistant")
(description
"Tagaini Jisho is a Japanese dictionary and kanji lookup tool. It aims
at becoming your Japanese study assistant. It allows you to quickly search
for entries and mark those that you wish to study, along with tags and
personal notes. It also let you train entries you are studying and follows
your progression in remembering them. Finally, it makes it easy to review
entries you did not remember by listing them on screen or printing them on
a small booklet.
Tagaini Jisho also features complete stroke order animations for more than
6000 kanji.")
(home-page "https://www.tagaini.net")
(license license:gpl3+)))

View file

@ -7,6 +7,8 @@
;;; Copyright © 2018 Nikita <nikita@n0.is> ;;; Copyright © 2018 Nikita <nikita@n0.is>
;;; Copyright © 2021 Oskar Köök <oskar@maatriks.ee> ;;; Copyright © 2021 Oskar Köök <oskar@maatriks.ee>
;;; Copyright © 2021 Cees de Groot <cg@evrl.com> ;;; Copyright © 2021 Cees de Groot <cg@evrl.com>
;;; Copyright © 2024 Andrew Tropin <andrew@trop.in>
;;; Copyright © 2024 Ivan Sokolov <ivan-p-sokolov@ya.ru>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -101,12 +103,26 @@
(add-after 'install 'wrap-programs (add-after 'install 'wrap-programs
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
(programs '("elixir" "elixirc" "iex" "mix"))) (programs '("elixir" "elixirc" "iex")))
;; mix can be sourced as an elixir script by other elixir
;; program, for example `iex -S mix`, so we should not wrap
;; mix into shell script.
(substitute* (string-append out "/bin/mix")
(("Mix.start\\(\\)")
(format #f "\
~~w[GUIX_ELIXIR_LIBS ERL_LIBS]
|> Enum.map(&System.get_env/1)
|> Enum.reject(&is_nil/1)
|> Enum.join(\":\")
|> case do \"\" -> :ok; erl_libs -> System.put_env(\"ERL_LIBS\", erl_libs) end
System.put_env(\"MIX_REBAR3\", System.get_env(\"MIX_REBAR3\", \"~a\"))
Mix.start()"
(search-input-file inputs "/bin/rebar3"))))
(for-each (lambda (program) (for-each (lambda (program)
(wrap-program (string-append out "/bin/" program) (wrap-program (string-append out "/bin/" program)
'("ERL_LIBS" prefix ("${GUIX_ELIXIR_LIBS}")))) '("ERL_LIBS" prefix ("${GUIX_ELIXIR_LIBS}"))))
programs))))))) programs)))))))
(inputs (list erlang git)) (inputs (list erlang rebar3 git))
(native-search-paths (native-search-paths
(list (search-path-specification (list (search-path-specification
(variable "GUIX_ELIXIR_LIBS") (variable "GUIX_ELIXIR_LIBS")

File diff suppressed because it is too large Load diff

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017, 2018, 2019, 2023 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016, 2017, 2018, 2019, 2023, 2024 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017 Theodoros Foradis <theodoros@foradis.org> ;;; Copyright © 2016, 2017 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2016 David Craven <david@craven.ch> ;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2017, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017, 2020 Efraim Flashner <efraim@flashner.co.il>
@ -983,14 +983,16 @@ code.")
"0w0dff3s7wv2d9m78a4jhckiik58q38wx6wpbba5hzbs4yxz35ck")))) "0w0dff3s7wv2d9m78a4jhckiik58q38wx6wpbba5hzbs4yxz35ck"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:tests? #f ; no tests (list
#:make-flags #:tests? #false ;no tests
(list "OS=linux" #:parallel-build? #false ;not supported
(string-append "TARGET=" (assoc-ref %outputs "out"))) #:make-flags
#:phases #~(list "OS=linux"
(modify-phases %standard-phases (string-append "TARGET=" #$output))
#:phases
'(modify-phases %standard-phases
(add-after 'unpack 'chdir (add-after 'unpack 'chdir
(lambda _ (chdir "loader") #t)) (lambda _ (chdir "loader")))
(delete 'configure)))) (delete 'configure))))
(native-inputs (native-inputs
(list openspin (make-propeller-toolchain))) (list openspin (make-propeller-toolchain)))
@ -1637,7 +1639,7 @@ PicoBlaze; and Zilog Z80 families, plus many of their variants.")
(define-public sdcc (define-public sdcc
(package (package
(name "sdcc") (name "sdcc")
(version "4.3.0") (version "4.4.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -1645,7 +1647,7 @@ PicoBlaze; and Zilog Z80 families, plus many of their variants.")
"/" version "/sdcc-src-" version ".tar.bz2")) "/" version "/sdcc-src-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1kckr20jqa4rp4qcw38lwagmw3yfm3z0xb4kygd0608847qc0vra")) "0xbaj3vx5cp3na1kmyhy4jvhcqwrg648scjbykgq0xmibqb1535f"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
#~(begin #~(begin

View file

@ -14,7 +14,7 @@
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2020 Christopher Howard <christopher@librehacker.com> ;;; Copyright © 2020 Christopher Howard <christopher@librehacker.com>
;;; Copyright © 2021 Felipe Balbi <balbi@kernel.org> ;;; Copyright © 2021 Felipe Balbi <balbi@kernel.org>
;;; Copyright © 2021 Felix Gruber <felgru@posteo.net> ;;; Copyright © 2021, 2024 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2023 c4droid <c4droid@foxmail.com> ;;; Copyright © 2023 c4droid <c4droid@foxmail.com>
@ -351,7 +351,7 @@ console.")
libxi libxi
libxrandr libxrandr
lzo lzo
mbedtls-apache mbedtls-lts
mesa mesa
miniupnpc miniupnpc
openal openal
@ -791,7 +791,7 @@ and Game Boy Color games.")
(define-public sameboy (define-public sameboy
(package (package
(name "sameboy") (name "sameboy")
(version "0.15.8") (version "0.16.2")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -800,7 +800,7 @@ and Game Boy Color games.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "11qz5lamwxgvlh4dc95xd4m8hrypjj3bvha51zg9l454hxlvw4j8")))) (base32 "1ckx5dm57h7ncvfqqqb2mdl5dcmhkardcn78zv965h6w1yxg0ii8"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
(list rgbds pkg-config)) (list rgbds pkg-config))
@ -1433,7 +1433,7 @@ as RetroArch.")
(define-public retroarch (define-public retroarch
(package (package
(name "retroarch") (name "retroarch")
(version "1.16.0.3") (version "1.17.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -1442,7 +1442,7 @@ as RetroArch.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1nvvd78hx1s73nif7g02pqms29b9v072mxnld0vmsh78236qngq5")))) (base32 "1mf511wh7kpj29vv7rgngamvmfs151n8j4dls7jbqasdj5hik3zi"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:tests? #f ; no tests `(#:tests? #f ; no tests
@ -1490,7 +1490,7 @@ as RetroArch.")
libxml2 libxml2
libxrandr libxrandr
libxv libxv
mbedtls-apache mbedtls-lts
mesa mesa
openal openal
openssl openssl

View file

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015-2023 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015-2023 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch> ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2016, 2018, 2020-2023 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2018, 2020-2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 David Thompson <davet@gnu.org> ;;; Copyright © 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2016-2019, 2021, 2023 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016-2019, 2021, 2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017, 2018 Theodoros Foradis <theodoros@foradis.org> ;;; Copyright © 2016, 2017, 2018 Theodoros Foradis <theodoros@foradis.org>
@ -1098,7 +1098,7 @@ Emacs).")
(define-public kicad (define-public kicad
(package (package
(name "kicad") (name "kicad")
(version "7.0.10") (version "7.0.11")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -1106,7 +1106,7 @@ Emacs).")
(commit version))) (commit version)))
(sha256 (sha256
(base32 (base32
"0rmlkgzgvpd70jzspyrrb2f618fimw52qrhpsp777flmpyh91wly")) "1qn7w6pb1n5gx73z1zqbv140chh4307y8764z7xkdvric9i48qj4"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
@ -1206,7 +1206,7 @@ electrical diagrams), gerbview (viewing Gerber files) and others.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0lc7d6hn8ya8m51kjnf59v41pbp03l5ncxir75s21pb92l26xgnv")))) "10iwp35xywdz15a83vialzfd46rjw6mlz174dxawm2rw4ws2n7j4"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:configure-flags (list "-DBUILD_FORMATS=html") `(#:configure-flags (list "-DBUILD_FORMATS=html")
@ -1240,7 +1240,7 @@ electrical diagrams), gerbview (viewing Gerber files) and others.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0nlgmxf9z1vf4g350dfkxql1dawgmw275wqxkgszsfxmhdfpmi9v")))) "057zmhf4h3p3p4y6jqxch9cj1wqf129k6kmvx2gshb9lgda0kjr8"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:tests? #f)) ; no tests exist `(#:tests? #f)) ; no tests exist
@ -1269,7 +1269,7 @@ libraries.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1az6fzh1lma71mj12bc4bblnmzjayrxhkb8w9rjvlhvvgv33cdmy")))) "1r9v8v41n0yrgwsqaksskmdgb9vyw1sb92xh81bwrv2ag3p5vdg7"))))
(synopsis "Official KiCad footprint libraries") (synopsis "Official KiCad footprint libraries")
(description "This package contains the official KiCad footprint libraries."))) (description "This package contains the official KiCad footprint libraries.")))
@ -1286,7 +1286,7 @@ libraries.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0xzyi4mgyifwc6dppdzh6jq294mkj0a71cwkqw2ymz1kfbksw626")))) "0lcy1av7ixg1f7arflk50jllpc1749sfvf3h62hkxsz97wkr97xj"))))
(synopsis "Official KiCad 3D model libraries") (synopsis "Official KiCad 3D model libraries")
(description "This package contains the official KiCad 3D model libraries."))) (description "This package contains the official KiCad 3D model libraries.")))
@ -2681,7 +2681,7 @@ measurement devices and test equipment via GPIB, RS232, Ethernet or USB.")
(define-public python-scikit-rf (define-public python-scikit-rf
(package (package
(name "python-scikit-rf") (name "python-scikit-rf")
(version "0.30.0") (version "0.31.0")
(source (origin (source (origin
(method git-fetch) ;PyPI misses some files required for tests (method git-fetch) ;PyPI misses some files required for tests
(uri (git-reference (uri (git-reference
@ -2689,7 +2689,7 @@ measurement devices and test equipment via GPIB, RS232, Ethernet or USB.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(sha256 (sha256
(base32 (base32
"1fbws80glrakd08xzhifna831yk0bd8b0cizhfcjkg4km2nyx65c")) "1cidv2373lwxy26kbzg4slaqvn2gpq67mvijgp0rydfx6mm6a89i"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(propagated-inputs (list python-matplotlib (propagated-inputs (list python-matplotlib
@ -3272,6 +3272,8 @@ program that can perform mesh processing tasks in batch mode, without a GUI.")
(guix build utils)) (guix build utils))
#:configure-flags #:configure-flags
#~(list "--disable-static" #~(list "--disable-static"
(string-append "--with-vimdir=" #$output
"/share/vim/vimfiles/pack/guix/start/poke")
(string-append "--with-lispdir=" (string-append "--with-lispdir="
(emacs:elpa-directory #$output))))) (emacs:elpa-directory #$output)))))
(home-page "https://www.gnu.org/software/poke/#documentation") (home-page "https://www.gnu.org/software/poke/#documentation")

View file

@ -12,7 +12,8 @@
;;; Copyright © 2021, 2023 Kaelyn Takata <kaelyn.alexi@protonmail.com> ;;; Copyright © 2021, 2023 Kaelyn Takata <kaelyn.alexi@protonmail.com>
;;; Copyright © 2022 Brian Cully <bjc@spork.org> ;;; Copyright © 2022 Brian Cully <bjc@spork.org>
;;; Copyright © 2023 Aaron Covrig <aaron.covrig.us@ieee.org> ;;; Copyright © 2023 Aaron Covrig <aaron.covrig.us@ieee.org>
;;; ;;; Copyright © 2024 Ahmad Draidi <a.r.draidi@redscript.org>
;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; GNU Guix is free software; you can redistribute it and/or modify it
@ -67,11 +68,14 @@
#:use-module (gnu packages flex) #:use-module (gnu packages flex)
#:use-module (gnu packages freedesktop) #:use-module (gnu packages freedesktop)
#:use-module (gnu packages gawk) #:use-module (gnu packages gawk)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages gnome) #:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg) #:use-module (gnu packages gnupg)
#:use-module (gnu packages golang) #:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages golang-check) #:use-module (gnu packages golang-check)
#:use-module (gnu packages golang-crypto)
#:use-module (gnu packages guile) #:use-module (gnu packages guile)
#:use-module (gnu packages jemalloc) #:use-module (gnu packages jemalloc)
#:use-module (gnu packages kerberos) #:use-module (gnu packages kerberos)
@ -81,6 +85,8 @@
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages maths) #:use-module (gnu packages maths)
#:use-module (gnu packages man) #:use-module (gnu packages man)
#:use-module (gnu packages m4)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages nfs) #:use-module (gnu packages nfs)
#:use-module (gnu packages onc-rpc) #:use-module (gnu packages onc-rpc)
#:use-module (gnu packages openldap) #:use-module (gnu packages openldap)
@ -105,6 +111,7 @@
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
#:use-module (gnu packages valgrind) #:use-module (gnu packages valgrind)
#:use-module (gnu packages version-control) #:use-module (gnu packages version-control)
#:use-module (gnu packages web)
#:use-module (gnu packages xml)) #:use-module (gnu packages xml))
(define-public autofs (define-public autofs
@ -581,98 +588,98 @@ from a mounted file system.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public bcachefs-tools (define-public bcachefs-tools
(let ((commit "1e358401ecdf1963e5799de19ab69111e82e5ebc") (package
(revision "0")) (name "bcachefs-tools")
(package (version "1.4.1")
(name "bcachefs-tools") (source
(version (git-version "1.2" revision commit)) (origin
(source (method git-fetch)
(origin (uri (git-reference
(method git-fetch) (url "https://evilpiepirate.org/git/bcachefs-tools.git")
(uri (git-reference (commit (string-append "v" version))))
(url "https://evilpiepirate.org/git/bcachefs-tools.git") (file-name (git-file-name name version))
(commit commit))) (sha256
(file-name (git-file-name name version)) (base32 "0axwbckqrw1v3v50nzhpkvpyjbjwy3rq5bv23db84x3xia497apq"))))
(sha256 (build-system gnu-build-system)
(base32 "0bflgqb3q9jikyyrv6hywv6m1fapzzn874hlhf86pn6abxrlf5fa")))) (arguments
(build-system gnu-build-system) (list #:make-flags
(arguments #~(list (string-append "VERSION=" #$version) ; v…-nogit otherwise
(list #:make-flags (string-append "PREFIX=" #$output)
#~(list (string-append "VERSION=" #$version) ; v…-nogit otherwise "INITRAMFS_DIR=$(PREFIX)/share/initramfs-tools"
(string-append "PREFIX=" #$output) "PKGCONFIG_UDEVRULESDIR=$(PREFIX)/lib/udev/rules.d"
"INITRAMFS_DIR=$(PREFIX)/share/initramfs-tools" (string-append "CC=" #$(cc-for-target))
(string-append "CC=" #$(cc-for-target)) (string-append "PKG_CONFIG=" #$(pkg-config-for-target))
(string-append "PKG_CONFIG=" #$(pkg-config-for-target)) ;; This will be less of an option in the future, as more
;; This will be less of an option in the future, as more ;; code gets rewritten in Rust.
;; code gets rewritten in Rust. "NO_RUST=better")
"NO_RUST=better") #:phases
#:phases #~(modify-phases %standard-phases
#~(modify-phases %standard-phases (delete 'configure) ; no configure script
(delete 'configure) ; no configure script (replace 'check
(replace 'check ;; The test suite is moribund upstream (never been useful),
;; The test suite is moribund upstream (never been useful), ;; but let's keep running it as a sanity check until then.
;; but let's keep running it as a sanity check until then. (lambda* (#:key tests? make-flags #:allow-other-keys)
(lambda* (#:key tests? make-flags #:allow-other-keys) (when tests?
(when tests? ;; We must manually build the test_helper first.
;; We must manually build the test_helper first. (apply invoke "make" "tests" make-flags)
(apply invoke "make" "tests" make-flags) (invoke (string-append
(invoke (string-append #$(this-package-native-input "python-pytest")
#$(this-package-native-input "python-pytest") "/bin/pytest") "-k"
"/bin/pytest") "-k" ;; These fail (invalid argument) on kernels
;; These fail (invalid argument) on kernels ;; with a previous bcachefs version.
;; with a previous bcachefs version. (string-append "not test_format and "
(string-append "not test_format and " "not test_fsck and "
"not test_fsck and " "not test_list and "
"not test_list and " "not test_list_inodes and "
"not test_list_inodes and " "not test_list_dirent")))))
"not test_list_dirent"))))) (add-after 'install 'promote-mount.bcachefs.sh
(add-after 'install 'promote-mount.bcachefs.sh ;; The (optional) mount.bcachefs requires rust:cargo.
;; The (optional) mount.bcachefs requires rust:cargo. ;; This shell alternative does the job well enough for now.
;; This shell alternative does the job well enough for now. (lambda* (#:key inputs #:allow-other-keys)
(lambda* (#:key inputs #:allow-other-keys) (define (whence file)
(define (whence file) (dirname (search-input-file inputs file)))
(dirname (search-input-file inputs file))) (let ((mount (string-append #$output
(let ((mount (string-append #$output "/sbin/mount.bcachefs")))
"/sbin/mount.bcachefs"))) (delete-file mount) ; symlink to bcachefs
(delete-file mount) ; symlink to bcachefs (copy-file "mount.bcachefs.sh" mount)
(copy-file "mount.bcachefs.sh" mount) ;; WRAP-SCRIPT causes bogus Insufficient arguments errors.
;; WRAP-SCRIPT causes bogus Insufficient arguments errors. (wrap-program mount
(wrap-program mount `("PATH" ":" prefix
`("PATH" ":" prefix ,(list (getcwd)
,(list (getcwd) (whence "bin/tail")
(whence "bin/tail") (whence "bin/awk")
(whence "bin/awk") (whence "bin/mount"))))))))))
(whence "bin/mount")))))))))) (native-inputs
(native-inputs (cons* pkg-config
(cons* pkg-config ;; For generating documentation with rst2man.
;; For generating documentation with rst2man. python
python python-docutils
python-docutils ;; For tests.
;; For tests. python-pytest
python-pytest (if (member (%current-system) (package-supported-systems valgrind))
(if (member (%current-system) (package-supported-systems valgrind)) (list valgrind)
(list valgrind) '())))
'()))) (inputs
(inputs (list eudev
(list eudev keyutils
keyutils libaio
libaio libscrypt
libscrypt libsodium
libsodium liburcu
liburcu `(,util-linux "lib")
`(,util-linux "lib") lz4
lz4 zlib
zlib `(,zstd "lib")
`(,zstd "lib")
;; Only for mount.bcachefs.sh. ;; Only for mount.bcachefs.sh.
coreutils-minimal bash-minimal
gawk coreutils-minimal
util-linux)) gawk
(home-page "https://bcachefs.org/") util-linux))
(synopsis "Tools to create and manage bcachefs file systems") (home-page "https://bcachefs.org/")
(description (synopsis "Tools to create and manage bcachefs file systems")
"The bcachefs-tools are command-line utilities for creating, checking, (description
"The bcachefs-tools are command-line utilities for creating, checking,
and otherwise managing bcachefs file systems. and otherwise managing bcachefs file systems.
Bcachefs is a @acronym{CoW, copy-on-write} file system supporting native Bcachefs is a @acronym{CoW, copy-on-write} file system supporting native
@ -682,7 +689,7 @@ multiple block devices for replication and/or performance, similar to RAID.
In addition, bcachefs provides all the functionality of bcache, a block-layer In addition, bcachefs provides all the functionality of bcache, a block-layer
caching system, and lets you assign different roles to each device based on its caching system, and lets you assign different roles to each device based on its
performance and other characteristics.") performance and other characteristics.")
(license license:gpl2+)))) (license license:gpl2+)))
(define-public bcachefs-tools/static (define-public bcachefs-tools/static
(package (package
@ -1218,6 +1225,70 @@ APFS.")
(home-page "https://github.com/sgan81/apfs-fuse") (home-page "https://github.com/sgan81/apfs-fuse")
(license license:gpl2+)))) (license license:gpl2+))))
(define-public snapper
(package
(name "snapper")
(version "0.10.7")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/openSUSE/snapper")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0nwmyzjwid1lf29dsr6w72dr781c81xyrjpk5y3scn4r55b5df0h"))
(modules '((guix build utils)))
(snippet
'(begin
(delete-file-recursively "dists")
(delete-file-recursively "zypp-plugin")
(substitute* '("configure.ac" "doc/Makefile.am")
((".*dists.*") "")
((".*zypp-plugin.*") ""))
(substitute* "Makefile.am"
(("zypp-plugin") ""))))))
(build-system gnu-build-system)
(arguments
(list #:phases #~(modify-phases %standard-phases
(add-after 'unpack 'relative-file-locations
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")))
(substitute* (list "scripts/Makefile.am"
"data/Makefile.am")
(("/usr/share")
(string-append out "/share"))
(("/usr/lib")
(string-append out "/lib"))
(("/etc/")
(string-append out "/etc/"))))
(substitute* "client/Makefile.am"
(("/usr/lib")
"@libdir@")))))))
(home-page "https://snapper.io")
(native-inputs
(list glibc-locales autoconf automake libtool pkg-config))
(inputs
(list btrfs-progs
e2fsprogs
`(,util-linux "lib")
linux-pam
dbus
libxml2
json-c
acl
boost
ncurses/tinfo
libxslt
docbook-xsl
gettext-minimal))
(synopsis "Manage Btrfs file system snapshots and allow roll-backs")
(description "This package provides Snapper, a tool that helps with
managing snapshots of Btrfs subvolumes and thin-provisioned LVM volumes. It
can create and compare snapshots, revert differences between them, and
supports automatic snapshots timelines.")
(license license:gpl2)))
(define-public xfstests (define-public xfstests
;; The last release (1.1.0) is from 2011. ;; The last release (1.1.0) is from 2011.
(let ((revision "3") (let ((revision "3")

View file

@ -36,6 +36,7 @@
;;; Copyright © 2023 Skylar Hill <stellarskylark@posteo.net> ;;; Copyright © 2023 Skylar Hill <stellarskylark@posteo.net>
;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com> ;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
;;; Copyright © 2023 Attila Lendvai <attila@lendvai.name> ;;; Copyright © 2023 Attila Lendvai <attila@lendvai.name>
;;; Copyright © 2024 Saku Laesvuori <saku@laesvuori.fi>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -1308,7 +1309,7 @@ agent.")
(define-public kitsas (define-public kitsas
(package (package
(name "kitsas") (name "kitsas")
(version "4.0.3") (version "5.4.1")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -1317,17 +1318,24 @@ agent.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0hrbsqqm6v2pmjq17s7i4akjgclz3d051mg02vcykq80xgxvbkgf")))) "16zkfpl5d9ia202fqg5vrhjqdw0g6wp044ih6n7nz2hbxj9y3m1z"))))
(build-system qt-build-system) (build-system qt-build-system)
(inputs (list qtbase-5 libzip poppler-qt5 qtsvg-5)) (inputs (list libzip qtsvg qtwebengine qt5compat))
(arguments (arguments
(list #:tests? #f ;XXX: some tests fail and others segfault (list #:tests? #f ; tests do not even build with Qt6 anymore
#:test-target "check" #:test-target "check"
#:qtbase qtbase ; use Qt6
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(replace 'configure (replace 'configure
(lambda* _ (lambda* _
(invoke "qmake" "kitsasproject.pro" "CONFIG+=release"))) (invoke "qmake" "kitsasproject.pro" "CONFIG+=release")))
;; The tests are not maintained and some don't even build
(add-before 'configure 'disable-broken-tests
(lambda _
(substitute* "kitsasproject.pro"
((" *(unittest|testit).*") "")
(("\\\\") ""))))
(replace 'install (replace 'install
(lambda* _ (lambda* _
(install-file "kitsas/kitsas" (install-file "kitsas/kitsas"
@ -2243,7 +2251,7 @@ and manipulation.")
(define-public xmrig (define-public xmrig
(package (package
(name "xmrig") (name "xmrig")
(version "6.20.0") (version "6.21.0")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -2251,7 +2259,7 @@ and manipulation.")
(url "https://github.com/xmrig/xmrig") (url "https://github.com/xmrig/xmrig")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (base32 "02clipcixn0g4sm3b5r1cxx56ddhjkm8sqnq40jy1zm66ad5zhkj")) (sha256 (base32 "1nmzgwd2r7ra7g4p0s5b77bgh099hf1kisbv4d946c9yiwbdzqgc"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
;; TODO: Try to use system libraries instead of bundled ones in ;; TODO: Try to use system libraries instead of bundled ones in

View file

@ -1197,81 +1197,51 @@ such as:
;; Adding debug symbols causes the size to exceed limits. ;; Adding debug symbols causes the size to exceed limits.
#~(delete "DEBUG=1" #$flags))))))) #~(delete "DEBUG=1" #$flags)))))))
(define (make-crust-package platform) (define make-crust-firmware
(package (mlambda (platform)
(name (string-append "crust-" (package
(string-replace-substring platform "_" "-"))) (name (string-append "crust-"
(version "0.5") (string-replace-substring platform "_" "-")
(source "-firmware"))
(origin (version "0.6")
(method git-fetch) (source
(uri (git-reference (origin
;; There are only GitHub generated release snapshots. (method git-fetch)
(url "https://github.com/crust-firmware/crust") (uri (git-reference
(commit (string-append "v" version)))) ;; There are only GitHub generated release snapshots.
(file-name (git-file-name "crust" version)) (url "https://github.com/crust-firmware/crust")
(sha256 (commit (string-append "v" version))))
(base32 (file-name (git-file-name "crust" version))
"0xgbbhifg3miwd3yp6jq9kp7nqgz5gzy00w95vba45j8jk5vjvvz")))) (sha256
(build-system gnu-build-system) (base32
(arguments "1blq6bi2rmg4qqwwr07pamv28b50mwcsybhpn9bws8vbzxa43afd"))))
(list (build-system gnu-build-system)
#:tests? #f ;no test suite (arguments
#:make-flags (list
(let ((triplet-without-vendor #:target "or1k-elf"
(and (%current-target-system) #:tests? #f ;no test suite
;; TODO: Is there a use case for allowing this? #:make-flags #~'("CROSS_COMPILE=or1k-elf-"
(not (target-avr?)) "V=1"
(match (string-split (nix-system->gnu-triplet "HOSTAR=ar"
(%current-target-system)) #\-) "HOSTCC=gcc"
((arch vendor os ..1) "LEX=flex")
(string-join `(,arch ,@os) "-")))))) #:phases
#~(list "CROSS_COMPILE=or1k-elf-" #~(modify-phases %standard-phases
"V=1" (delete 'configure)
#$@(if triplet-without-vendor (add-before 'build 'defconfig
;; We are cross-compiling the tools, intended to be (lambda* (#:key make-flags #:allow-other-keys)
;; executable for the target system. (let ((config-name (string-append #$platform "_defconfig")))
(list (string-append "HOSTAR=" triplet-without-vendor (apply invoke "make" (cons config-name make-flags)))))
"-ar") (replace 'install
(string-append "HOSTCC=" triplet-without-vendor (lambda _
"-gcc")) (for-each (lambda (file)
;; Not cross-compiling. (install-file file (string-append #$output
(list "HOSTAR=ar" "/libexec")))
"HOSTCC=gcc")) (find-files "." "(scp\\.bin|\\.config)$")))))))
"LEX=flex")) (native-inputs (list bison flex))
#:phases (home-page "https://github.com/crust-firmware/crust")
#~(modify-phases %standard-phases (synopsis "Firmware for Allwinner sunxi SoCs")
(add-after 'unpack 'do-not-build-tests (description "Crust improves battery life and thermal performance by
(lambda _
;; Attempting to build the tools test binary on a non-aarch64
;; architecture fails with: "No cache cleaning implementation
;; available for this architecture". Avoid building it (see:
;; https://github.com/crust-firmware/crust/issues/182).
(substitute* "tools/Makefile"
(("tools-y \\+= test") ""))))
(delete 'configure)
(add-before 'build 'defconfig
(lambda* (#:key make-flags #:allow-other-keys)
(let ((config-name (string-append #$platform "_defconfig")))
(apply invoke "make" (cons config-name make-flags)))))
(replace 'install
(lambda _
(for-each (lambda (file)
(install-file file (string-append #$output
"/libexec")))
(find-files "." "(scp\\.bin|\\.config)$"))
(install-file "build/tools/load"
(string-append #$output "/bin")))))))
;; The firmware is cross-compiled using a "bare bones" compiler (no libc).
;; Use our own tool chain for that.
(native-inputs
(list bison
(cross-gcc "or1k-elf")
(cross-binutils "or1k-elf")
flex))
(home-page "https://github.com/crust-firmware/crust")
(synopsis "System control processor firmware for Allwinner sunxi boards")
(description "Crust improves battery life and thermal performance by
implementing a deep sleep state. During deep sleep, the CPU cores, the DRAM implementing a deep sleep state. During deep sleep, the CPU cores, the DRAM
controller, and most onboard peripherals are powered down, reducing power controller, and most onboard peripherals are powered down, reducing power
consumption by 80% or more compared to an idle device. On boards without a consumption by 80% or more compared to an idle device. On boards without a
@ -1280,8 +1250,75 @@ device. For this to work, Crust runs outside the main CPU and DRAM, on a
dedicated always-on microprocessor called a System Control Processor (SCP). dedicated always-on microprocessor called a System Control Processor (SCP).
Crust is designed to run on a specific SCP implementation, Allwinner's Crust is designed to run on a specific SCP implementation, Allwinner's
AR100.") AR100.")
;; Most files are dual-licensed "BSD-3 OR GPL2", a few are GPL2 only. ;; Most files are dual-licensed "BSD-3 OR GPL2", a few are GPL2 only.
(license (list license:bsd-3 license:gpl2)))) (license (list license:bsd-3 license:gpl2)))))
(define make-crust-tools
(mlambda (platform firmware)
(package
(inherit firmware)
(name (string-append "crust-"
(string-replace-substring platform "_" "-")
"-tools"))
(arguments
(list #:make-flags
#~(list "V=1"
"LEX=flex"
(string-append "HOSTAR=" #$(ar-for-target))
(string-append "HOSTCC=" #$(cc-for-target)))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'do-not-build-tests
(lambda _
;; Attempting to build the tools test binary on a
;; non-aarch64 architecture fails with: "No cache
;; cleaning implementation available for this
;; architecture". Avoid building it (see:
;; https://github.com/crust-firmware/crust/issues/182).
(substitute* "tools/Makefile"
(("tools-y \\+= test") ""))))
(replace 'configure
(lambda* (#:key inputs native-inputs #:allow-other-keys)
(copy-file (search-input-file inputs "/libexec/.config")
".config")))
(replace 'build
(lambda* (#:key make-flags parallel-build?
#:allow-other-keys)
(apply invoke "make" "tools"
`(,@(if parallel-build?
`("-j"
,(number->string (parallel-job-count)))
'())
,@make-flags))))
(replace 'install
(lambda _
(install-file "build/tools/load"
(string-append #$output "/bin")))))))
(synopsis "Firmware for Allwinner sunxi SoCs (tools)")
(inputs (list firmware)))))
(define make-crust-package
(mlambda (platform)
(let* ((firmware (make-crust-firmware platform))
(tools (make-crust-tools platform firmware)))
(package
(inherit firmware)
(name (string-append "crust-"
(string-replace-substring platform "_" "-")))
(source #f)
(build-system trivial-build-system)
(arguments
(list #:modules '((guix build union))
#:builder
#~(begin
(use-modules (ice-9 match)
(guix build union))
(match %build-inputs
(((names . directory) ...)
(union-build #$output directory))))))
(native-inputs '())
(inputs (list firmware tools))))))
(define-public crust-pinebook (define-public crust-pinebook
(make-crust-package "pinebook")) (make-crust-package "pinebook"))

View file

@ -58,7 +58,8 @@
;;; Copyright © 2023 gemmaro <gemmaro.dev@gmail.com> ;;; Copyright © 2023 gemmaro <gemmaro.dev@gmail.com>
;;; Copyright © 2023 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> ;;; Copyright © 2023 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;; Copyright © 2023 chris <chris@bumblehead.com> ;;; Copyright © 2023 chris <chris@bumblehead.com>
;;; Copyright © 2023 Luis Felipe López Acevedo <sirgazil@zoho.com> ;;; Copyright © 2023, 2024 Luis Felipe López Acevedo <sirgazil@zoho.com>
;;; Copyright © 2024 Christina O'Donnell <cdo@mutix.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -216,7 +217,7 @@ in print. With attention to detail for high resolution rendering.")
(define-public font-intel-one-mono (define-public font-intel-one-mono
(package (package
(name "font-intel-one-mono") (name "font-intel-one-mono")
(version "1.2.1") (version "1.3.0")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -225,8 +226,26 @@ in print. With attention to detail for high resolution rendering.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1md57997nzkz75ambsahawzy1x71qvkp6f87zcqibksm66yvcjdc")))) "0w9isn8az1k3a3q4m2llwnryy79i5v30dx1hfaf90x0zkj98ky5h"))))
(outputs '("out" "ttf" "woff"))
(build-system font-build-system) (build-system font-build-system)
(arguments
(list #:phases
#~(modify-phases %standard-phases
(add-after 'install 'split-outputs
(lambda* (#:key outputs #:allow-other-keys)
(let ((out-fonts (string-append (assoc-ref outputs "out")
"/share/fonts"))
(ttf-fonts (string-append (assoc-ref outputs "ttf")
"/share/fonts"))
(woff-fonts (string-append (assoc-ref outputs "woff")
"/share/fonts")))
(mkdir-p ttf-fonts)
(mkdir-p woff-fonts)
(rename-file (string-append out-fonts "/truetype")
(string-append ttf-fonts "/truetype"))
(rename-file (string-append out-fonts "/web")
(string-append woff-fonts "/web"))))))))
(home-page "https://github.com/intel/intel-one-mono") (home-page "https://github.com/intel/intel-one-mono")
(synopsis "Expressive monospaced font family") (synopsis "Expressive monospaced font family")
(description (description
@ -587,6 +606,30 @@ The unified Libertinus family consists of:
@end enumerate\n") @end enumerate\n")
(license license:silofl1.1))) (license license:silofl1.1)))
(define-public font-libre-franklin
(let ((commit "bfc61d6e403771c2e90aa6e0bd54975633974fb2")
(revision "0"))
(package
(name "font-libre-franklin")
(version (git-version "1.015" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/impallari/Libre-Franklin")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"07rm9fkhm8ckxpaj0zixl4vgzmj6bj4xzbaqm5hngdjds1bjv1ls"))))
(build-system font-build-system)
(home-page "https://fonts.google.com/specimen/Libre+Franklin")
(synopsis "Font family based on Franklin Gothic")
(description
"The Libre Franklin font family is an open source interpretation and
expansion of Franklin Gothic, a classic font. It covers 105 Latin Languages.")
(license license:silofl1.1))))
(define-public font-terminus (define-public font-terminus
(package (package
(name "font-terminus") (name "font-terminus")
@ -1975,7 +2018,7 @@ weights and five widths in both Roman and Italic, plus variable fonts.")
(define-public font-sarasa-gothic (define-public font-sarasa-gothic
(package (package
(name "font-sarasa-gothic") (name "font-sarasa-gothic")
(version "1.0.3") (version "1.0.5")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -1983,7 +2026,7 @@ weights and five widths in both Roman and Italic, plus variable fonts.")
"/releases/download/v" version "/releases/download/v" version
"/Sarasa-TTC-" version ".7z")) "/Sarasa-TTC-" version ".7z"))
(sha256 (sha256
(base32 "1cgqf15fhg567s2bwjpal3xfcdnbgyy0iav5181zkn6b4k56dgl4")))) (base32 "0sfmqrjfzjy2zxd26kjrdbp59ahxj7p2qr1z5qy512j2cgl1gyiq"))))
(build-system font-build-system) (build-system font-build-system)
(arguments (arguments
`(#:phases (modify-phases %standard-phases `(#:phases (modify-phases %standard-phases
@ -2638,6 +2681,61 @@ It comes in seven weights and Roman, Italic and Oblique styles.")
(home-page "https://rubjo.github.io/victor-mono/") (home-page "https://rubjo.github.io/victor-mono/")
(license license:expat))) (license license:expat)))
(define-public font-dongle
(let ((commit "f7127c4d2450e1cad20254ec692591347e2fc260")
(revision "1"))
(package
(name "font-dongle")
(version (git-version "0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/yangheeryu/Dongle")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1gwrjv468bqfa3nxh01vprk7rp24cnhk3zlkrv5mzqcbcdf96nqp"))))
(build-system font-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'install 'build
(lambda _
(begin
(chdir "sources")
(invoke "unzip" "Dongle.zip")
(chdir "..")
(invoke "python3" "build.py")))))))
(native-inputs
(list python
python-glyphslib
python-fonttools
python-ufolib2
python-ufo2ft
zip))
(synopsis
"Rounded sans-serif typeface, supporting Hangeul and Latin glyphs")
(description
"Dongle(동글) is a rounded sans-serif typeface for display. It is a
modular Hangeul with the de-square frame, creating a playful and rhythmic
movement. The name, Dongle comes from a Korean onomatopoeia, meaning 'rounded
or curved shape (with adorable impression).
Dongle was originally designed as a 'Jamo (consonant and vowel in Hangeul)
typing module' for the author's student project. Later it revised into
syllabic module to be released to the public. As the character size varies
according to the syllable structure, Dongle typeface is much smaller compared
to other square frame Korean typefaces. Therefore, it is better to adjust the
font size visually to your liking, rather than relying on the point size of
the editing program.
It is designed especially for Hangeul typography, but it also includes Latin
alphabet as a part of KS X 1001. This typeface has a light, regular, and bold
weight.")
(home-page "https://github.com/yangheeryu/Dongle")
(license license:silofl1.1))))
(define-public font-meera-inimai (define-public font-meera-inimai
(package (package
(name "font-meera-inimai") (name "font-meera-inimai")
@ -3521,3 +3619,31 @@ for display purposes. It features four weights (light, medium, bold,
and black), a stylistic alternative, small caps, and many alternate and black), a stylistic alternative, small caps, and many alternate
glyphs.") glyphs.")
(license license:silofl1.1)))) (license license:silofl1.1))))
(define-public font-oswald
(let ((version "0")
(commit "6e65651c229e897dc55fb8d17097ee7f75b2769b")
(revision "0"))
(package
(name "font-oswald")
(version (git-version version revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/googlefonts/OswaldFont")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0m5c98crw6df6hbhxv4smh6ldzk5fx434fyri8xgnsjjcrkqxy0h"))))
(build-system font-build-system)
(home-page "https://github.com/googlefonts/OswaldFont")
(synopsis "Gothic typeface")
(description "Oswald is a reworking of the classic gothic typeface
style historically represented by designs such as 'Alternate Gothic'.
The characters of Oswald have been re-drawn and reformed to better fit
the pixel grid of standard digital screens. Oswald is designed to be
used freely across the internet by web browsers on desktop computers,
laptops and mobile devices.")
(license license:silofl1.1))))

View file

@ -19,6 +19,7 @@
;;; Copyright © 2023 John Kehayias <john.kehayias@protonmail.com> ;;; Copyright © 2023 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2023 pinoaffe <pinoaffe@gmail.com> ;;; Copyright © 2023 pinoaffe <pinoaffe@gmail.com>
;;; Copyright © 2024 Sören Tempel <soeren@soeren-tempel.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -73,6 +74,7 @@
#:use-module (gnu packages xml) #:use-module (gnu packages xml)
#:use-module (gnu packages xorg) #:use-module (gnu packages xorg)
#:use-module (gnu packages tex) #:use-module (gnu packages tex)
#:use-module (gnu packages textutils)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module (guix packages) #:use-module (guix packages)
@ -1911,6 +1913,7 @@ maintain the Noto Fonts project.")
(list check pkg-config scdoc)) (list check pkg-config scdoc))
(propagated-inputs (propagated-inputs
(list ;; Required by fcft.pc. (list ;; Required by fcft.pc.
utf8proc
fontconfig fontconfig
freetype freetype
harfbuzz harfbuzz

View file

@ -425,7 +425,7 @@ a hardware description and verification language.")
(define-public nvc (define-public nvc
(package (package
(name "nvc") (name "nvc")
(version "1.9.2") (version "1.11.3")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -434,7 +434,7 @@ a hardware description and verification language.")
(file-name (string-append name "-" version "-checkout")) (file-name (string-append name "-" version "-checkout"))
(sha256 (sha256
(base32 (base32
"0zifyn7fr4k73ga6iwvsbsl6gi5106vlv5mkmqs0svi0sqx847f4")))) "0rh6xwzr1drgwa04gx6w4r968yxlvfkvzg92950akf7wyxf331k7"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:out-of-source? #t `(#:out-of-source? #t
@ -457,7 +457,8 @@ a hardware description and verification language.")
(inputs (inputs
(list elfutils (list elfutils
llvm-9 llvm-9
libffi)) libffi
`(,zstd "lib")))
(synopsis "VHDL compiler and simulator") (synopsis "VHDL compiler and simulator")
(description "This package provides a VHDL compiler and simulator.") (description "This package provides a VHDL compiler and simulator.")
(home-page "https://www.nickg.me.uk/nvc/") (home-page "https://www.nickg.me.uk/nvc/")

View file

@ -5,7 +5,7 @@
;;; Copyright © 2015-2017, 2019, 2021-2022 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015-2017, 2019, 2021-2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2017, 2018, 2019, 2021, 2022, 2023 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2017, 2018, 2019, 2021, 2022, 2023 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com> ;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
;;; Copyright © 2016, 2017, 2019, 2021-2023 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017, 2019, 2021-2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2017 Nikita <nikita@n0.is> ;;; Copyright © 2017 Nikita <nikita@n0.is>
;;; Copyright © 2017, 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2017, 2018 Mark H Weaver <mhw@netris.org>
@ -3002,7 +3002,7 @@ for xdg-desktop-portal that is using Qt/KF5.")
(string-append (assoc-ref outputs "out") (string-append (assoc-ref outputs "out")
"/share/doc/" ,name))))))) "/share/doc/" ,name)))))))
(native-inputs (native-inputs
(list cmake pkg-config)) (list cmake-minimal pkg-config))
(inputs (list elogind (inputs (list elogind
bash-minimal bash-minimal
grim grim

View file

@ -6,7 +6,7 @@
;;; Copyright © 2015, 2016, 2017 David Thompson <davet@gnu.org> ;;; Copyright © 2015, 2016, 2017 David Thompson <davet@gnu.org>
;;; Copyright © 2016-2021, 2023 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016-2021, 2023 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017, 2020 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2016, 2017, 2020 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2016, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016, 2018, 2019, 2024 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017, 2018 Julian Graham <joolean@gmail.com> ;;; Copyright © 2016, 2017, 2018 Julian Graham <joolean@gmail.com>
;;; Copyright © 20172021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 20172021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com> ;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
@ -58,6 +58,7 @@
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system copy) #:use-module (guix build-system copy)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system python) #:use-module (guix build-system python)
#:use-module (guix build-system scons) #:use-module (guix build-system scons)
#:use-module (gnu packages) #:use-module (gnu packages)
@ -115,6 +116,7 @@
#:use-module (gnu packages sphinx) #:use-module (gnu packages sphinx)
#:use-module (gnu packages sqlite) #:use-module (gnu packages sqlite)
#:use-module (gnu packages stb) #:use-module (gnu packages stb)
#:use-module (gnu packages swig)
#:use-module (gnu packages texinfo) #:use-module (gnu packages texinfo)
#:use-module (gnu packages textutils) #:use-module (gnu packages textutils)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
@ -453,6 +455,40 @@ compiling NML files (along with their associated language, sound and graphic
files) into @file{.grf} and/or @file{.nfo} files.") files) into @file{.grf} and/or @file{.nfo} files.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public python-pybox2d
(package
(name "python-pybox2d")
(version "2.3.10")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/pybox2d/pybox2d")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0dha28yscr1lpyzy9ygqc01a8pyf7n9vavyxikqh469wr2zcacna"))))
(build-system pyproject-build-system)
(arguments
(list
;; It is not clear how to run the tests
#:tests? #false
#:phases
'(modify-phases %standard-phases
(add-before 'build 'build-ext
(lambda _
(invoke "python" "setup.py" "build_ext" "--inplace"))))))
(native-inputs (list swig))
(home-page "https://github.com/pybox2d/pybox2d")
(synopsis "2D game physics for Python")
(description
"Pybox2d is a 2D physics library for your games and simple simulations.
It's based on the Box2D library, written in C++. It supports several shape
types (circle, polygon, thin line segments), and quite a few joint
types (revolute, prismatic, wheel, etc.).")
(license license:zlib)))
(define-public python-sge (define-public python-sge
(package (package
(name "python-sge") (name "python-sge")
@ -1275,13 +1311,13 @@ interface (API).")
(define-public python-pygame (define-public python-pygame
(package (package
(name "python-pygame") (name "python-pygame")
(version "2.1.2") (version "2.5.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "pygame" version)) (uri (pypi-uri "pygame" version))
(sha256 (sha256
(base32 (base32
"0g6j79naab7583kymf1bgxc5l5c9h5laq887rmvh8vw8iyifrl6n")))) "0jn2n70hmgr33yc6xzdi33cs5w7jnmgi44smyxfarrrrsnsrxf61"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
(list (list
@ -1344,7 +1380,7 @@ and multimedia programs in the Python language.")
(define-public python-pygame-sdl2 (define-public python-pygame-sdl2
(let ((real-version "2.1.0") (let ((real-version "2.1.0")
(renpy-version "8.1.3")) (renpy-version "8.2.0"))
(package (package
(inherit python-pygame) (inherit python-pygame)
(name "python-pygame-sdl2") (name "python-pygame-sdl2")
@ -1354,7 +1390,7 @@ and multimedia programs in the Python language.")
(method url-fetch) (method url-fetch)
(uri (string-append "https://www.renpy.org/dl/" renpy-version (uri (string-append "https://www.renpy.org/dl/" renpy-version
"/pygame_sdl2-" version ".tar.gz")) "/pygame_sdl2-" version ".tar.gz"))
(sha256 (base32 "0qlprs9n3w254ilizqzvr6s01zx72gh7an0bgwxsq4hm22qypdws")) (sha256 (base32 "17mc39c7ha83kzv2wmq61a15mn6p8wh2y33ixhf5sb4bvyr48mhy"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -1395,7 +1431,7 @@ developed mainly for Ren'py.")
(define-public python-renpy (define-public python-renpy
(package (package
(name "python-renpy") (name "python-renpy")
(version "8.1.3") (version "8.2.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -1403,7 +1439,7 @@ developed mainly for Ren'py.")
"/renpy-" version "-source.tar.bz2")) "/renpy-" version "-source.tar.bz2"))
(sha256 (sha256
(base32 (base32
"1g6fz5dxp7yxhgv6q4brzf5hpfqq3l1g3dfv3fsiwwn6mj0b01z2")) "02v54qqjjigfqhdr50kzhkdvplk56bvprq65jl57kcs1qhvlf5s9"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
#~(begin #~(begin
@ -2038,7 +2074,7 @@ games.")
libxi libxi
libxinerama libxinerama
libxrandr libxrandr
mbedtls-apache mbedtls-lts
mesa mesa
opusfile opusfile
pcre2 pcre2
@ -2280,7 +2316,7 @@ scripted in a Python-like language.")
libxinerama libxinerama
libxkbcommon libxkbcommon
libxrandr libxrandr
mbedtls-apache mbedtls-lts
mesa mesa
openxr openxr
opusfile opusfile
@ -3228,7 +3264,7 @@ progresses the level, or you may regenerate tiles as the world changes.")
(define-public raylib (define-public raylib
(package (package
(name "raylib") (name "raylib")
(version "4.5.0") (version "5.0")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -3238,7 +3274,7 @@ progresses the level, or you may regenerate tiles as the world changes.")
;; TODO: Unbundle src/external ;; TODO: Unbundle src/external
(sha256 (sha256
(base32 (base32
"00y8fsa4g9fk93s3wihbxl929m84hw3fflr0h409s3i1kfmv7ajj")))) "0327licmylwlh5iyzw35pq7ci2d15rp3jms5i9p0vfg1rlv2sjw0"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
(list #:tests? #f ;no test (list #:tests? #f ;no test

View file

@ -37,7 +37,7 @@
;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net> ;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net>
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2019, 2020 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2019, 2020 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2019, 2020 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2019, 2020, 2024 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2019, 2020 Jesse Gibbons <jgibbons2357+guix@gmail.com> ;;; Copyright © 2019, 2020 Jesse Gibbons <jgibbons2357+guix@gmail.com>
@ -60,7 +60,7 @@
;;; Copyright © 2021 Olivier Rojon <o.rojon@posteo.net> ;;; Copyright © 2021 Olivier Rojon <o.rojon@posteo.net>
;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at> ;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2021, 2022 Greg Hogan <code@greghogan.com> ;;; Copyright © 2021, 2022 Greg Hogan <code@greghogan.com>
;;; Copyright © 2021 David Pflug <david@pflug.io> ;;; Copyright © 2021, 2024 David Pflug <david@pflug.io>
;;; Copyright © 2021, 2022 Felix Gruber <felgru@posteo.net> ;;; Copyright © 2021, 2022 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2021 Solene Rapenne <solene@perso.pw> ;;; Copyright © 2021 Solene Rapenne <solene@perso.pw>
;;; Copyright © 2021, 2022 Noisytoot <ron@noisytoot.org> ;;; Copyright © 2021, 2022 Noisytoot <ron@noisytoot.org>
@ -72,7 +72,7 @@
;;; Copyright © 2022 Roman Riabenko <roman@riabenko.com> ;;; Copyright © 2022 Roman Riabenko <roman@riabenko.com>
;;; Copyright © 2022, 2023 zamfofex <zamfofex@twdb.moe> ;;; Copyright © 2022, 2023 zamfofex <zamfofex@twdb.moe>
;;; Copyright © 2022 Gabriel Arazas <foo.dogsquared@gmail.com> ;;; Copyright © 2022 Gabriel Arazas <foo.dogsquared@gmail.com>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2022, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 Hendursaga <hendursaga@aol.com> ;;; Copyright © 2022 Hendursaga <hendursaga@aol.com>
;;; Copyright © 2022 Parnikkapore <poomklao@yahoo.com> ;;; Copyright © 2022 Parnikkapore <poomklao@yahoo.com>
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
@ -80,6 +80,7 @@
;;; Copyright © 2023 Ivana Drazovic <iv.dra@hotmail.com> ;;; Copyright © 2023 Ivana Drazovic <iv.dra@hotmail.com>
;;; Copyright © 2023, 2024 gemmaro <gemmaro.dev@gmail.com> ;;; Copyright © 2023, 2024 gemmaro <gemmaro.dev@gmail.com>
;;; Copyright © 2023 Wilko Meyer <w@wmeyer.eu> ;;; Copyright © 2023 Wilko Meyer <w@wmeyer.eu>
;;; Copyright © 2024 Vagrant Cascadian <vagrant@debian.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -149,6 +150,7 @@
#:use-module (gnu packages gnupg) #:use-module (gnu packages gnupg)
#:use-module (gnu packages gnuzilla) #:use-module (gnu packages gnuzilla)
#:use-module (gnu packages golang) #:use-module (gnu packages golang)
#:use-module (gnu packages golang-build)
#:use-module (gnu packages gperf) #:use-module (gnu packages gperf)
#:use-module (gnu packages graphics) #:use-module (gnu packages graphics)
#:use-module (gnu packages graphviz) #:use-module (gnu packages graphviz)
@ -6230,6 +6232,106 @@ application that locks the keyboard and mouse and instead displays bright
colors, pictures, and sounds.") colors, pictures, and sounds.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public moonlight-qt
(package
(name "moonlight-qt")
(version "5.0.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/moonlight-stream/moonlight-qt")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1g1y736vw36lmh2bjymsf4b4ypr76x9lqz7frzpj7sn0vb9y5315"))))
(build-system qt-build-system)
(arguments
(list
#:tests? #f ;no test suite
#:phases
#~(modify-phases %standard-phases
(replace 'configure
(lambda* _
(symlink (string-append
#$(this-package-input "sdl2-gamecontrollerdb")
"/share/sdl2/gamecontrollerdb.txt")
"app/SDL_GameControllerDB/gamecontrollerdb.txt")
;; Unbundle libraries.
(substitute* "moonlight-qt.pro"
((" moonlight-common-c.*\n") "")
((" qmdnsengine.*\n") "")
((" h264bitstream.*\n") "")
((" app \\\\") " app")
(("app.depends") "INCLUDEPATH +="))
(invoke "qmake" (string-append "PREFIX=" #$output)))))))
(native-inputs (list pkg-config qttools-5))
(inputs (list ffmpeg
h264bitstream
libva
libvdpau
moonlight-common
openssl
opus
qmdnsengine
qtbase-5
qtdeclarative-5
qtquickcontrols2-5
qtsvg-5
sdl2
sdl2-ttf
sdl2-gamecontrollerdb))
(synopsis "GameStream client")
(description
"Moonlight is an implementation of NVIDIA's GameStream, as used by the
NVIDIA Shield.")
(home-page "https://moonlight-stream.org")
(license license:gpl3+)))
(define-public moonlight-common
;; Used as submodule in https://github.com/moonlight-stream/moonlight
(let ((commit "5de4a5b85a28d8d639482a1a105c3a06eb67a2fd")
(revision "1"))
(package
(name "moonlight-common")
(version (git-version "5.0.1" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url
"https://github.com/moonlight-stream/moonlight-common-c")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"05jm0vhyb6pizd8yj89rp6ak7bf5j9w06rrmbxh8jccxwqjgll92"))))
(build-system cmake-build-system)
(arguments
(list #:tests? #f
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'use-system-enet-package
(lambda _
(substitute* "CMakeLists.txt"
(("add_subdirectory\\(enet\\)")
""))))
(replace 'install
(lambda* (#:key outputs source #:allow-other-keys)
(let* ((include (string-append #$output
"/include"))
(lib (string-append #$output "/lib")))
(mkdir-p include)
(mkdir-p lib)
(install-file (string-append source
"/src/Limelight.h") include)
(install-file "libmoonlight-common-c.so" lib)))))))
(native-inputs (list pkg-config))
(inputs (list enet-moonlight openssl qtbase-5))
(synopsis "GameStream protocol core implementation")
(description
"This package provides the GameStream core code for the protocol.")
(home-page "https://github.com/moonlight-stream/moonlight-common-c")
(license license:gpl3+))))
(define-public mrrescue (define-public mrrescue
(package (package
(name "mrrescue") (name "mrrescue")
@ -7099,27 +7201,26 @@ monsters in a quest to find the mystifyingly fabulous Orb of Zot.")
(version "1.2") (version "1.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://bitbucket.org/osslugaru/lugaru/downloads/" (uri (string-append "https://github.com/osslugaru/lugaru/releases"
"lugaru-" version ".tar.xz")) "/download/" version
"/lugaru-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32 "15zgcshy22q51rm72zi6y9z7qlgnz5iw3gczjdlir4bqmxy4gspk"))
"15zgcshy22q51rm72zi6y9z7qlgnz5iw3gczjdlir4bqmxy4gspk")))) (patches
(search-patches "lugaru-fix-sound.patch"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:configure-flags (list #:configure-flags #~(list "-DSYSTEM_INSTALL=ON")
(list "-DSYSTEM_INSTALL=ON") #:tests? #f)) ;no test suite
;; no test target (native-inputs (list pkg-config))
#:tests? #f))
(native-inputs
(list pkg-config))
(inputs (inputs
`(("sdl2" ,sdl2) (list glu
("glu" ,glu) libjpeg-turbo
("libjpeg" ,libjpeg-turbo) libpng
("libpng" ,libpng) libvorbis
("openal" ,openal) openal
("vorbis" ,libvorbis) sdl2
("zlib" ,zlib))) zlib))
(home-page "https://osslugaru.gitlab.io") (home-page "https://osslugaru.gitlab.io")
(synopsis "Cross-platform third-person action game") (synopsis "Cross-platform third-person action game")
(description "Lugaru is a third-person action game. The main character, (description "Lugaru is a third-person action game. The main character,
@ -7128,7 +7229,7 @@ In his quest to find those responsible for slaughtering his village, he uncovers
a far-reaching conspiracy involving the corrupt leaders of the rabbit republic a far-reaching conspiracy involving the corrupt leaders of the rabbit republic
and the starving wolves from a nearby den. Turner takes it upon himself to and the starving wolves from a nearby den. Turner takes it upon himself to
fight against their plot and save his fellow rabbits from slavery.") fight against their plot and save his fellow rabbits from slavery.")
(license (list license:gpl2+ ; code (license (list license:gpl2+ ; code
;; assets: ;; assets:
license:cc-by-sa3.0 license:cc-by-sa3.0
license:cc-by-sa4.0)))) license:cc-by-sa4.0))))
@ -7169,6 +7270,7 @@ fight against their plot and save his fellow rabbits from slavery.")
(synopsis "Data files for 0ad") (synopsis "Data files for 0ad")
(description "0ad-data provides the data files required by the game 0ad.") (description "0ad-data provides the data files required by the game 0ad.")
(home-page "https://play0ad.com") (home-page "https://play0ad.com")
(properties '((hidden? . #t)))
(license (list (license:fsdg-compatible (license (list (license:fsdg-compatible
"http://tavmjong.free.fr/FONTS/ArevCopyright.txt" "http://tavmjong.free.fr/FONTS/ArevCopyright.txt"
"Similar to the license of the Bitstream Vera fonts.") "Similar to the license of the Bitstream Vera fonts.")
@ -7996,26 +8098,49 @@ Strife, Chex Quest, and fan-created games like Harmony, Hacx and Freedoom.")
(define-public odamex (define-public odamex
(package (package
(name "odamex") (name "odamex")
(version "0.9.5") (version "10.4.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
"mirror://sourceforge/odamex/Odamex/" version "/" "mirror://sourceforge/odamex/Odamex/" version "/"
"odamex-src-" version ".tar.bz2")) "odamex-src-" version ".tar.xz"))
(sha256 (sha256
(base32 "1x0c9vnwn336inkfamh4na8xjyfjmzfxfn49j4snqymkypjqw6jq")))) (base32 "1isrmki18471yry48mmm7lxzp1kiqma9cc7fx38cvpm2mpgfyvzk"))
(modules '((guix build utils)))
(snippet
'(begin
;; XXX: Unbundle more, they are not replaced by the ones provided
;; in inputs: fltk, jsoncpp, miniupnp, protobuf.
;;
;; Remove some bundled libraries.
(with-directory-excursion "libraries"
(for-each delete-file-recursively
'("curl" "libpng" "portmidi" "zlib")))))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments `(#:tests? #f)) ; no tests (arguments
(list
#:tests? #f ; no tests
#:configure-flags
#~(list "-DBUILD_CLIENT=1"
"-DBUILD_MASTER=1"
"-DBUILD_SERVER=1"
"-DUSE_INTERNAL_LIBS=0"
"-DUSE_INTERNAL_MINIUPNP=0")))
(native-inputs (native-inputs
(list deutex)) (list deutex pkg-config))
(inputs (inputs
`(("sdl" ,sdl2) (list alsa-lib
("sdl-mixer" ,sdl2-mixer) curl
("zlib" ,zlib) fltk
("libpng" ,libpng) jsoncpp
("curl" ,curl) libpng
("alsa-lib" ,alsa-lib))) miniupnpc
portmidi
protobuf
sdl2
sdl2-mixer
zlib))
(home-page "https://odamex.net/") (home-page "https://odamex.net/")
(synopsis "Multiplayer Doom port") (synopsis "Multiplayer Doom port")
(description "Odamex is a modification of the Doom engine that (description "Odamex is a modification of the Doom engine that
@ -11223,7 +11348,7 @@ disassembly of the DOS version, extended with new features.")
(define-public fheroes2 (define-public fheroes2
(package (package
(name "fheroes2") (name "fheroes2")
(version "1.0.5") (version "1.0.11")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -11232,7 +11357,7 @@ disassembly of the DOS version, extended with new features.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0v7dxzb5cfjb55jydd8f61zzlvxq9mrgdy51hq19b06dmrx1dnc7")))) (base32 "1i1a4dynlb5kl55rmfmib2jha1b2igw5jyiiyla1fxgkbkjnbf27"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:tests? #f ; no tests `(#:tests? #f ; no tests
@ -11254,7 +11379,7 @@ play; it will look for them at @file{~/.local/share/fheroes2} folder.")
(define-public vcmi (define-public vcmi
(package (package
(name "vcmi") (name "vcmi")
(version "1.3.2") (version "1.4.2")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -11263,7 +11388,7 @@ play; it will look for them at @file{~/.local/share/fheroes2} folder.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1x1bzd89h0j4xci91d2v5aj5vgkx6vm12iml805wkia4hy1jp4ff")) "039d9dvb2i4y1fj6q5py34r17fwb5jqxkjcg7j57asjk4w9b7i8b"))
(patches (search-patches "vcmi-disable-privacy-breach.patch")))) (patches (search-patches "vcmi-disable-privacy-breach.patch"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments

View file

@ -192,13 +192,16 @@ where the OS part is overloaded to denote a specific ABI---into GCC
`(#:out-of-source? #t `(#:out-of-source? #t
#:configure-flags ,(let ((flags (configure-flags)) #:configure-flags ,(let ((flags (configure-flags))
(version (package-version this-package))) (version (package-version this-package)))
;; GCC 4.9 and 5.0 requires C++11 but GCC ;; GCC 11.3.0 defaults to C++17 which is partly
;; 11.3.0 defaults to C++17, which is partly ;; incompatible with some earlier versions.
;; incompatible. Force C++11. ;; Force an earlier C++ standard while building.
(if (or (version-prefix? "4.9" version) (cond
(version-prefix? "5" version)) ((version-prefix? "4.8" version)
`(cons "CXX=g++ -std=c++11" ,flags) `(cons "CXX=g++ -std=c++03" ,flags))
flags)) ((or (version-prefix? "4.9" version)
(version-prefix? "5" version))
`(cons "CXX=g++ -std=c++11" ,flags))
(else flags)))
#:make-flags #:make-flags
;; None of the flags below are needed when doing a Canadian cross. ;; None of the flags below are needed when doing a Canadian cross.
@ -419,6 +422,37 @@ Go. It also includes runtime support libraries for these languages.")
(("struct ucontext") "ucontext_t"))) (("struct ucontext") "ucontext_t")))
'("aarch64" "alpha" "bfin" "i386" "m68k" '("aarch64" "alpha" "bfin" "i386" "m68k"
"pa" "sh" "tilepro" "xtensa"))))) "pa" "sh" "tilepro" "xtensa")))))
(arguments
;; Since 'arguments' is a function of the package's version, define
;; 'parent' such that the 'arguments' thunk gets to see the right
;; version.
(let ((parent (package
(inherit gcc-4.7)
(version (package-version this-package)))))
(if (%current-target-system)
(package-arguments parent)
;; For native builds of some GCC versions the C++ include path needs to
;; be adjusted so it does not interfere with GCC's own build processes.
(substitute-keyword-arguments (package-arguments parent)
((#:modules modules %gnu-build-system-modules)
`((srfi srfi-1)
,@modules))
((#:phases phases)
`(modify-phases ,phases
(add-after 'set-paths 'adjust-CPLUS_INCLUDE_PATH
(lambda* (#:key inputs #:allow-other-keys)
(let ((libc (assoc-ref inputs "libc"))
(gcc (assoc-ref inputs "gcc")))
(setenv "CPLUS_INCLUDE_PATH"
(string-join (fold delete
(string-split (getenv "CPLUS_INCLUDE_PATH")
#\:)
(list (string-append libc "/include")
(string-append gcc "/include/c++")))
":"))
(format #t
"environment variable `CPLUS_INCLUDE_PATH' changed to ~a~%"
(getenv "CPLUS_INCLUDE_PATH")))))))))))
(supported-systems %supported-systems) (supported-systems %supported-systems)
(inputs (inputs
(modify-inputs (package-inputs gcc-4.7) (modify-inputs (package-inputs gcc-4.7)
@ -454,38 +488,7 @@ Go. It also includes runtime support libraries for these languages.")
"pa" "sh" "tilepro" "xtensa"))))) "pa" "sh" "tilepro" "xtensa")))))
;; Override inherited texinfo-5 with latest version. ;; Override inherited texinfo-5 with latest version.
(native-inputs (list perl ;for manpages (native-inputs (list perl ;for manpages
texinfo)) texinfo))))
(arguments
;; Since 'arguments' is a function of the package's version, define
;; 'parent' such that the 'arguments' thunk gets to see the right
;; version.
(let ((parent (package
(inherit gcc-4.8)
(version (package-version this-package)))))
(if (%current-target-system)
(package-arguments parent)
;; For native builds of GCC 4.9 and GCC 5, the C++ include path needs
;; to be adjusted so it does not interfere with GCC's own build processes.
(substitute-keyword-arguments (package-arguments parent)
((#:modules modules %gnu-build-system-modules)
`((srfi srfi-1)
,@modules))
((#:phases phases)
`(modify-phases ,phases
(add-after 'set-paths 'adjust-CPLUS_INCLUDE_PATH
(lambda* (#:key inputs #:allow-other-keys)
(let ((libc (assoc-ref inputs "libc"))
(gcc (assoc-ref inputs "gcc")))
(setenv "CPLUS_INCLUDE_PATH"
(string-join (fold delete
(string-split (getenv "CPLUS_INCLUDE_PATH")
#\:)
(list (string-append libc "/include")
(string-append gcc "/include/c++")))
":"))
(format #t
"environment variable `CPLUS_INCLUDE_PATH' changed to ~a~%"
(getenv "CPLUS_INCLUDE_PATH")))))))))))))
(define gcc-canadian-cross-objdump-snippet (define gcc-canadian-cross-objdump-snippet
;; Fix 'libcc1/configure' error when cross-compiling GCC. Without that, ;; Fix 'libcc1/configure' error when cross-compiling GCC. Without that,
@ -546,7 +549,7 @@ Go. It also includes runtime support libraries for these languages.")
"gcc-5.0-libvtv-runpath.patch")))) "gcc-5.0-libvtv-runpath.patch"))))
;; GCC 4.9 and 5 has a workaround that is not needed for GCC 6 and later. ;; GCC 4.9 and 5 has a workaround that is not needed for GCC 6 and later.
(arguments (package-arguments gcc-4.8)) (arguments (package-arguments gcc-4.7))
(inputs (inputs
`(("isl" ,isl) `(("isl" ,isl)
@ -1124,6 +1127,12 @@ as the 'native-search-paths' field."
(custom-gcc gcc-11 "gdc" '("d") (custom-gcc gcc-11 "gdc" '("d")
%generic-search-paths))) %generic-search-paths)))
;;; Alias tracking the latest GDC version.
(define-public gdc
(hidden-package
(custom-gcc gcc "gdc" '("d")
%generic-search-paths)))
(define-public (make-libgccjit gcc) (define-public (make-libgccjit gcc)
(package (package
(inherit gcc) (inherit gcc)

View file

@ -145,25 +145,25 @@ written in C, C++, Ada, Objective-C, Pascal and more.")
(properties `((hidden? . #t))) (properties `((hidden? . #t)))
(license gpl3+))) (license gpl3+)))
(define-public gdb-12 (define-public gdb-14
(package (package
(inherit gdb/pinned) (inherit gdb/pinned)
(version "12.1") (version "14.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnu/gdb/gdb-" (uri (string-append "mirror://gnu/gdb/gdb-"
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1vczsqcbh5y0gx7qrclpna0qzx26sk7lra6y8qzxam1biyzr65qf")))) "106v7rj72km56mb2ssjsyjfix3yn4f3wqr7lpzy52d0lfq9gavfn"))))
(properties '()))) (properties '())))
(define-public gdb (define-public gdb
;; The "default" version. ;; The "default" version.
gdb-12) gdb-14)
(define-public gdb-multiarch (define-public gdb-multiarch
(package/inherit gdb-12 (package/inherit gdb-14
(name "gdb-multiarch") (name "gdb-multiarch")
(arguments (arguments
`(#:configure-flags `(#:configure-flags
@ -172,17 +172,17 @@ written in C, C++, Ada, Objective-C, Pascal and more.")
"--enable-interwork" "--enable-interwork"
"--enable-languages=c,c++" "--enable-languages=c,c++"
"--disable-nls") "--disable-nls")
,@(package-arguments gdb-12))) ,@(package-arguments gdb-14)))
(synopsis "The GNU debugger (with all architectures enabled)"))) (synopsis "The GNU debugger (with all architectures enabled)")))
(define-public gdb-minimal (define-public gdb-minimal
(package/inherit gdb-12 (package/inherit gdb-14
(name "gdb-minimal") (name "gdb-minimal")
(inputs (fold alist-delete (package-inputs gdb) (inputs (fold alist-delete (package-inputs gdb)
'("libxml2" "ncurses" "python-wrapper" "source-highlight"))))) '("libxml2" "ncurses" "python-wrapper" "source-highlight")))))
(define-public avr-gdb (define-public avr-gdb
(package/inherit gdb-12 (package/inherit gdb-14
(name "avr-gdb") (name "avr-gdb")
(arguments (arguments
`(#:configure-flags `(#:configure-flags
@ -191,7 +191,7 @@ written in C, C++, Ada, Objective-C, Pascal and more.")
"--enable-languages=c,c++" "--enable-languages=c,c++"
"--with-system-readline" "--with-system-readline"
"--enable-source-highlight") "--enable-source-highlight")
,@(package-arguments gdb-12))) ,@(package-arguments gdb-14)))
(synopsis "The GNU Debugger for AVR") (synopsis "The GNU Debugger for AVR")
(description (description
"GDB is the GNU debugger. With it, you can monitor what a program is "GDB is the GNU debugger. With it, you can monitor what a program is

View file

@ -13,11 +13,12 @@
;;; Copyright © 2019, 2020 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2019, 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2020, 2022 Marius Bakke <marius@gnu.org> ;;; Copyright © 2020, 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020 Christopher Baines <mail@cbaines.net> ;;; Copyright © 2020 Christopher Baines <mail@cbaines.net>
;;; Copyright © 2020, 2021, 2022, 2023 Felix Gruber <felgru@posteo.net> ;;; Copyright © 20202024 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2021, 2023 Sharlatan Hellseher <sharlatanus@gmail.com> ;;; Copyright © 2021, 2023, 2024 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2021, 2023, 2024 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2021, 2023, 2024 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2021 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2021 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2021, 2022 Nikolay Korotkiy <sikmir@disroot.org> ;;; Copyright © 2021, 2022 Nikolay Korotkiy <sikmir@disroot.org>
;;; Copyright © 2022 Patrick Noll <patrick@patricknoll.com>
;;; Copyright © 2022 Roman Scherer <roman.scherer@burningswell.com> ;;; Copyright © 2022 Roman Scherer <roman.scherer@burningswell.com>
;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> ;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
@ -61,6 +62,7 @@
#:use-module (gnu packages audio) #:use-module (gnu packages audio)
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
#:use-module (gnu packages backup) #:use-module (gnu packages backup)
#:use-module (gnu packages base)
#:use-module (gnu packages bash) #:use-module (gnu packages bash)
#:use-module (gnu packages bison) #:use-module (gnu packages bison)
#:use-module (gnu packages boost) #:use-module (gnu packages boost)
@ -432,7 +434,7 @@ OpenStreetMap written in C using eXpat, Cairo and GLib.")
(define-public geos (define-public geos
(package (package
(name "geos") (name "geos")
(version "3.11.2") (version "3.12.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://download.osgeo.org/geos/geos-" (uri (string-append "http://download.osgeo.org/geos/geos-"
@ -440,7 +442,7 @@ OpenStreetMap written in C using eXpat, Cairo and GLib.")
".tar.bz2")) ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1k744nwfa5sj4amzsdjxgac83wh6xfb9xi7z5bka7ic1jik7gw5i")))) "00qdk9a4048pzfj2rhzkfw3lvm642znf6kr4x29i3d94494pxsnn"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments `(#:phases (arguments `(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
@ -448,7 +450,7 @@ OpenStreetMap written in C using eXpat, Cairo and GLib.")
'unpack 'patch-test-shebangs 'unpack 'patch-test-shebangs
(lambda _ (lambda _
(substitute* '("tests/xmltester/testrunner.sh" (substitute* '("tests/xmltester/testrunner.sh"
"tests/geostest/testrunner.sh") "tests/xmltester/safe_to_xml.sh")
(("/bin/sh") (which "sh")))))))) (("/bin/sh") (which "sh"))))))))
(inputs (inputs
(list glib)) (list glib))
@ -546,7 +548,11 @@ and driving.")
(method url-fetch) (method url-fetch)
(uri (string-append "http://download.osgeo.org/geotiff/libgeotiff/libgeotiff-" (uri (string-append "http://download.osgeo.org/geotiff/libgeotiff/libgeotiff-"
version ".tar.gz")) version ".tar.gz"))
(patches (search-patches "libgeotiff-fix-tests-with-proj-9.1.1.patch")) (patches
(search-patches "libgeotiff-fix-tests-with-proj-9.1.1.patch"
"libgeotiff-fix-tests-with-proj-9.3.0.patch"
"libgeotiff-fix-tests-with-proj-9.3.1.patch"
"libgeotiff-fix-tests-on-i386.patch"))
(sha256 (sha256
(base32 "1mjmgv48x51ppax5dnb6lq7z600czxll53bx6jbzqwd4m93i7aq5")) (base32 "1mjmgv48x51ppax5dnb6lq7z600czxll53bx6jbzqwd4m93i7aq5"))
(modules '((guix build utils))) (modules '((guix build utils)))
@ -738,7 +744,7 @@ fully fledged Spatial SQL capabilities.")
(define-public proj (define-public proj
(package (package
(name "proj") (name "proj")
(version "9.2.0") (version "9.3.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -746,7 +752,7 @@ fully fledged Spatial SQL capabilities.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"03nm1sgvh237my7ss6kayn6887cbnayvjxrrxsrfcakkmbsida6y")))) "1g0hkpiablvhsmw0kn5frwgdir3q7avc45p6lc1zhhhzkv5ikydh"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(native-inputs (list googletest pkg-config)) (native-inputs (list googletest pkg-config))
(propagated-inputs (list curl libtiff sqlite)) ;required by proj.pc (propagated-inputs (list curl libtiff sqlite)) ;required by proj.pc
@ -842,31 +848,36 @@ projections.")
(define-public python-pyproj (define-public python-pyproj
(package (package
(name "python-pyproj") (name "python-pyproj")
(version "3.5.0") (version "3.6.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "pyproj" version)) (uri (pypi-uri "pyproj" version))
(sha256 (sha256
(base32 (base32
"1xhvr0n5gb7v6x0wd7cqmc0zrky2fag7bq2shx6l2qqq3icx2ncq")))) "1gq1spm5zdq9k8kl9cb31b9m08ybyrdggfw3sjrqyz9b9iq7raj4"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:phases (list
(modify-phases %standard-phases #:phases
(add-after 'unpack 'set-proj-path #~(modify-phases %standard-phases
(lambda* (#:key inputs #:allow-other-keys) (add-after 'unpack 'set-proj-path
(let ((proj (assoc-ref inputs "proj"))) (lambda* (#:key #:allow-other-keys)
(setenv "PROJ_DIR" proj) (let ((proj #$(this-package-input "proj")))
(substitute* "pyproj/datadir.py" (setenv "PROJ_DIR" proj)
(("(internal_datadir = ).*$" all var) (substitute* "pyproj/datadir.py"
(string-append var "Path(\"" proj "/share/proj\")\n"))))))))) (("(internal_datadir = ).*$" all var)
(string-append var "Path(\"" proj
"/share/proj\")\n")))))))))
(inputs (inputs
(list proj)) (list proj))
(propagated-inputs (propagated-inputs
(list python-certifi)) (list python-certifi))
(native-inputs (native-inputs
(list python-cython python-numpy python-pandas python-pytest (list python-cython
python-numpy
python-pandas
python-pytest
python-xarray)) python-xarray))
(home-page "https://github.com/pyproj4/pyproj") (home-page "https://github.com/pyproj4/pyproj")
(synopsis (synopsis
@ -974,56 +985,106 @@ enables you to easily do operations in Python that would otherwise
require a spatial database such as PostGIS.") require a spatial database such as PostGIS.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public python-ogr2osm
(package
(name "python-ogr2osm")
(version "1.2.0")
(source
(origin
(method git-fetch) ; no tests data in PyPi package
(uri
(git-reference
(url "https://github.com/roelderickx/ogr2osm/")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0hwqnx3cdqxmniydpj1v31kglq1xjsx41d8p10c9j4hg8kb43j80"))))
(build-system pyproject-build-system)
(arguments
(list
;; There are tests in git checkout but non of the examples taken from
;; GitHub Actions worked for me. Disabling them to be checked later
;; <https://github.com/roelderickx/ogr2osm/blob/main/.github/workflows/test.yml>.
#:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
;; TODO: Fix provided tests.
;; (invoke "cram" "test/basic_usage.t")
;; (invoke "cram" "test/osm_output.t")
;; (invoke "cram" "test/pbf_output.t")
;; Run simple tests to ensure that the command is working.
(invoke "ogr2osm" "--help")
(invoke
"ogr2osm" "-f" "test/shapefiles/basic_geometries.kml")))))))
(inputs
(list gdal))
(native-inputs
(list coreutils
diffutils
libxml2
python-cram
which))
(propagated-inputs
(list python-lxml
python-protobuf))
(home-page "https://github.com/roelderickx/ogr2osm")
(synopsis "Convert ogr-readable files like shapefiles into OSM or PDF formats")
(description
"@code{ogr2osm} is a tool for converting ogr-readable files into
@acronym{OSM, OpenStreetMap} format. It supports reading from OGR files like
shapefiles or PostgresSQL database and converts data into @code{osm} or
@code{osm.pbf} formats. A translation file can be used to manipulate the data
during conversion.")
(license license:expat)))
(define-public python-osmnx (define-public python-osmnx
(package (package
(name "python-osmnx") (name "python-osmnx")
(version "1.1.2") (version "1.8.1")
(source (source
(origin (origin
; Fetch from github as the pypi package is missing the tests dir. ;; Fetch from github as the pypi package is missing the tests dir.
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/gboeing/osmnx") (url "https://github.com/gboeing/osmnx")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "1n8qjn184p5a2s3j6x6iyc1i7p3l3xnbqqxm6ajwgwv6j5fw1d5a")))) (base32 "0n238n07pp5jw9cg8nqw9qhpkw8plzb5imz1gxbliw2l1idqyjcl"))))
(build-system pyproject-build-system) (build-system pyproject-build-system)
(arguments (arguments
(list (list
#:test-flags #:test-flags '(list "-k"
'(list "-k" (string-append
(string-append ;; The following tests require network access.
;; The following tests require network access. "not test_stats"
"not test_geocode_to_gdf" " and not test_geocoder"
" and not test_stats" " and not test_osm_xml"
" and not test_osm_xml" " and not test_elevation"
" and not test_elevation" " and not test_routing"
" and not test_routing" " and not test_plots"
" and not test_plots" " and not test_find_nearest"
" and not test_find_nearest" " and not test_api_endpoints"
" and not test_api_endpoints" " and not test_graph_save_load"
" and not test_graph_save_load" " and not test_graph_from_functions"
" and not test_graph_from_functions" " and not test_features"))))
" and not test_geometries")))) (propagated-inputs (list python-folium
(propagated-inputs python-geopandas
(list python-folium python-matplotlib
python-geopandas python-networkx
python-matplotlib python-numpy
python-networkx python-pandas
python-numpy python-requests
python-pandas python-shapely))
python-pyproj (native-inputs (list python-hatchling python-pytest))
python-requests
python-rtree
python-shapely))
(native-inputs
(list python-numpy python-pytest))
(home-page "https://github.com/gboeing/osmnx") (home-page "https://github.com/gboeing/osmnx")
(synopsis (synopsis
"Retrieve, model, analyze, and visualize OpenStreetMap street networks") "Retrieve, model, analyze, and visualize OpenStreetMap street networks")
(description (description
"OSMnx is a Python library that lets you download geospatial data "OSMnx is a Python library that lets you download geospatial data
from OpenStreetMap and model, project, visualize, and analyze real-world from OpenStreetMap and model, project, visualize, and analyze real-world
street networks and any other geospatial geometries. You can download street networks and any other geospatial geometries. You can download
and model walkable, drivable, or bikeable urban networks with a single and model walkable, drivable, or bikeable urban networks with a single
@ -1262,7 +1323,7 @@ utilities for data translation and processing.")
(define-public python-pyshp (define-public python-pyshp
(package (package
(name "python-pyshp") (name "python-pyshp")
(version "2.1.3") (version "2.3.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -1271,16 +1332,13 @@ utilities for data translation and processing.")
(commit version))) (commit version)))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0jsraqzq82pw19wvx84x7w5cs8agr44a9b5y0jjw540wim4xa73r")))) (base32 "02pbr091p8v4kfv1p6p2aa4asgm9r74dc12r35lvgmhs9y163z69"))))
(build-system python-build-system) (build-system pyproject-build-system)
(arguments (arguments
`(#:phases (list
(modify-phases %standard-phases #:test-flags
(replace 'check ;; This test requires internet access.
(lambda* (#:key tests? #:allow-other-keys) '(list "--deselect" "test_shapefile.py::test_reader_url")))
(when tests?
;; This is the only test file.
(invoke "python" "-m" "pytest" "test_shapefile.py")))))))
(native-inputs (native-inputs
(list python-pytest python-pytest-runner)) (list python-pytest python-pytest-runner))
(home-page "https://github.com/GeospatialPython/pyshp") (home-page "https://github.com/GeospatialPython/pyshp")
@ -1619,7 +1677,7 @@ based on the Osmium library.")
(define-public osm2pgsql (define-public osm2pgsql
(package (package
(name "osm2pgsql") (name "osm2pgsql")
(version "1.9.2") (version "1.11.0")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -1628,7 +1686,7 @@ based on the Osmium library.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"198qcgl42pb8lk1bn41ncp8hc9gcg9k2p0ny42vak019w5l6jcj7")) "135vqahlcrhwa3b9hfgbiqkzbbsjd4i79fp41cd0rp4zarcpi47p"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
;; Remove bundled libraries. ;; Remove bundled libraries.
@ -1636,20 +1694,21 @@ based on the Osmium library.")
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
(list #:tests? #f ;tests fail because we need to setup a database (list #:tests? #f ;tests fail because we need to setup a database
#:configure-flags #~(list "-DUSE_PROJ_LIB=4" ;use API version 4 #:configure-flags #~(list "-DUSE_PROJ_LIB=6" ;use API version 6
"-DWITH_LUAJIT=ON" "-DWITH_LUAJIT=ON"
"-DEXTERNAL_LIBOSMIUM=ON" "-DEXTERNAL_LIBOSMIUM=ON"
"-DEXTERNAL_PROTOZERO=ON" "-DEXTERNAL_PROTOZERO=ON"
"-DEXTERNAL_FMT=ON"))) "-DEXTERNAL_FMT=ON")))
(inputs (list boost (inputs (list boost
bzip2 bzip2
cli11
expat expat
fmt-8 fmt-8
libosmium libosmium
luajit luajit
nlohmann-json nlohmann-json
postgresql postgresql
proj-7 proj
protozero protozero
zlib)) zlib))
(native-inputs (list pandoc python python-argparse-manpage)) (native-inputs (list pandoc python python-argparse-manpage))
@ -2508,19 +2567,19 @@ track your position right from your laptop.")
"-DLICENSING_PROVIDER:BOOL=OFF" "-DLICENSING_PROVIDER:BOOL=OFF"
"-DMapper_MANUAL_QTHELP:BOOL=OFF"))) "-DMapper_MANUAL_QTHELP:BOOL=OFF")))
(inputs (inputs
`(("clipper" ,clipper) (list clipper
("cups" ,cups) cups
("curl" ,curl) curl
("gdal" ,gdal) gdal
("proj" ,proj) proj
("qtbase" ,qtbase-5) qtbase-5
("qtimageformats" ,qtimageformats-5) qtimageformats-5
("qtlocation" ,qtlocation) qtlocation
("qtsensors" ,qtsensors) qtsensors
("zlib" ,zlib))) zlib))
(native-inputs (native-inputs
`(("doxygen" ,doxygen) (list doxygen
("qttools-5" ,qttools-5))) qttools-5))
(home-page "https://www.openorienteering.org/apps/mapper/") (home-page "https://www.openorienteering.org/apps/mapper/")
(synopsis "OpenOrienteering Mapper (OOM)") (synopsis "OpenOrienteering Mapper (OOM)")
(description (description
@ -2529,7 +2588,7 @@ orienteering sport.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public grass (define-public grass
(let* ((version "7.8.7") (let* ((version "7.8.8")
(majorminor (string-join (list-head (string-split version #\.) 2) "")) (majorminor (string-join (list-head (string-split version #\.) 2) ""))
(grassxx (string-append "grass" majorminor))) (grassxx (string-append "grass" majorminor)))
(package (package
@ -2541,7 +2600,7 @@ orienteering sport.")
(uri (string-append "https://grass.osgeo.org/" grassxx (uri (string-append "https://grass.osgeo.org/" grassxx
"/source/grass-" version ".tar.gz")) "/source/grass-" version ".tar.gz"))
(sha256 (sha256
(base32 "0sbz0ba9p963phvd0gmvfqq1fg4ixpipzcjbf20ys86qavjppzsg")))) (base32 "1gpfbppfajc8d6b9alw9fdzgaa83w26kl6fff1395bc9gal215ms"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("bzip2" ,bzip2) `(("bzip2" ,bzip2)
@ -2815,6 +2874,7 @@ growing set of geoscientific methods.")
"test_core_pointcloudlayerexporter" "test_core_pointcloudlayerexporter"
"test_core_projectstorage" "test_core_projectstorage"
"test_core_coordinatereferencesystem" "test_core_coordinatereferencesystem"
"test_core_overlayexpression"
"test_gui_queryresultwidget" "test_gui_queryresultwidget"
"test_provider_copcprovider" "test_provider_copcprovider"
"test_provider_eptprovider" "test_provider_eptprovider"
@ -2838,6 +2898,7 @@ growing set of geoscientific methods.")
"PyQgsOGRProviderGpkg" "PyQgsOGRProviderGpkg"
"PyQgsProcessExecutablePt1" "PyQgsProcessExecutablePt1"
"PyQgsProcessExecutablePt2" "PyQgsProcessExecutablePt2"
"PyQgsProjectionSelectionWidgets"
"PyQgsProviderConnectionGpkg" "PyQgsProviderConnectionGpkg"
"PyQgsProviderConnectionSpatialite" "PyQgsProviderConnectionSpatialite"
"PyQgsOGRProvider" "PyQgsOGRProvider"
@ -3046,6 +3107,30 @@ path loss.")
"This is a python implementation of the geodesic routines in GeographicLib.") "This is a python implementation of the geodesic routines in GeographicLib.")
(license license:expat))) (license license:expat)))
(define-public python-geoip2fast
(package
(name "python-geoip2fast")
(version "1.2.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "geoip2fast" version))
(sha256
(base32 "1cmdjlwjd4pg3qvsb8d4vghqj1im58npxb6dmrd5q90wjga4rfvm"))))
(build-system pyproject-build-system)
;; The tests are speed tests or development tests to compare results with
;; a different library.
(arguments (list #:tests? #false))
(home-page "https://github.com/rabuchaim/geoip2fast")
(synopsis
"Fast GeoIP2 country/city/asn lookup library")
(description
"@code{GeoIP2Fast} is a fast @code{GeoIP2} country/city/asn lookup
library that supports IPv4 and IPv6. A search takes less than 0.00003
seconds. It has its own data file updated twice a week with
Maxmind-Geolite2-CSV, supports IPv4/IPv6 and is pure Python.")
(license license:expat)))
(define-public python-geopy (define-public python-geopy
(package (package
(name "python-geopy") (name "python-geopy")
@ -3091,15 +3176,8 @@ using third-party geocoders and other data sources.")
(sha256 (sha256
(base32 (base32
"0inxyj5n4jzgg5xiadqx9sk83gdx5ff989l9s04smdzbd3b8c0c8")))) "0inxyj5n4jzgg5xiadqx9sk83gdx5ff989l9s04smdzbd3b8c0c8"))))
(build-system python-build-system) (build-system pyproject-build-system)
(native-inputs (list python-pytest python-numpy)) (native-inputs (list python-pytest python-numpy))
(arguments
(list #:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? inputs #:allow-other-keys)
(when tests?
(invoke "pytest")))))))
(home-page "https://github.com/mapado/haversine") (home-page "https://github.com/mapado/haversine")
(synopsis "Calculate the distance between 2 points on Earth") (synopsis "Calculate the distance between 2 points on Earth")
(description "This package provides functions to calculate the (description "This package provides functions to calculate the

View file

@ -19,6 +19,7 @@
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com> ;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2023 Kaelyn Takata <kaelyn.alexi@protonmail.com> ;;; Copyright © 2023 Kaelyn Takata <kaelyn.alexi@protonmail.com>
;;; Copyright © 2023, 2024 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2023, 2024 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2024 Liliana Marie Prikler <liliana.prikler@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -39,6 +40,7 @@
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
#:use-module (gnu packages bison) #:use-module (gnu packages bison)
#:use-module (gnu packages check)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages documentation) #:use-module (gnu packages documentation)
#:use-module (gnu packages elf) #:use-module (gnu packages elf)
@ -1217,3 +1219,84 @@ the glProgramViewportFlip before it was replaced with glProgramViewportInfo.")
"glmark2 is an OpenGL 2.0 and OpenGL ES 2.0 benchmark based on the "glmark2 is an OpenGL 2.0 and OpenGL ES 2.0 benchmark based on the
original glmark benchmark by Ben Smith.") original glmark benchmark by Ben Smith.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public waffle
(package
(name "waffle")
(version "1.8.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.freedesktop.org/mesa/waffle")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1mrw0arlrpm83cwaz7rnimkkjv3a134rcmi1h512y2g4yjzhnm8r"))
(modules '((ice-9 ftw)
(guix build utils)))
(snippet #~(with-directory-excursion "third_party"
(let ((keep '("." ".." "meson.build" "threads")))
(for-each (lambda (f)
(unless (member f keep)
(delete-file-recursively f)))
(scandir ".")))))))
(build-system meson-build-system)
(propagated-inputs (list mesa wayland))
(native-inputs (list cmocka pkg-config))
(home-page "https://waffle.freedesktop.org/")
(synopsis "Choose OpenGL API at runtime")
(description "Waffle is a library that allows one to defer selection of an
OpenGL API and a window system until runtime.")
(license license:bsd-2)))
(define-public piglit
(let ((revision "1")
(commit "814046fe6942eac660ee4a6cc5fcc54011a49945"))
(package
(name "piglit")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.freedesktop.org/mesa/piglit")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1bzaalcxskckfnwprw77sbbmfqi59by2j8imaq8ghnlzhlxv7mk7"))))
(build-system cmake-build-system)
(arguments
(list #:configure-flags #~(list "-DPIGLIT_SSE2=OFF")
;; Tests are not invoked through cmake. Instead, there are
;; pytest/tox-based tests for the framework, but they require
;; unpackaged plugins.
#:tests? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-source
(lambda* (#:key inputs #:allow-other-keys)
(substitute* (find-files "framework/" "\\.py$")
(("'wflinfo'")
(string-append "'"
(search-input-file inputs "/bin/wflinfo")
"'")))))
(add-after 'install 'wrap
(lambda* (#:key outputs #:allow-other-keys)
(wrap-script (string-append (assoc-ref outputs "out")
"/bin/piglit")
`("GUIX_PYTHONPATH" prefix
(,(getenv "GUIX_PYTHONPATH")))))))))
(inputs (list guile-3.0 ; for wrap-script
libxkbcommon
python python-lxml python-mako python-numpy
glslang vulkan-headers vulkan-loader
waffle))
(native-inputs (list pkg-config))
(home-page "https://piglit.freedesktop.org/")
(synopsis "Test OpenGL implementations")
(description "Piglit is a collection of automated tests for OpenGL and
OpenCL implementations.")
;; A mix of licenses for various tests
(license (list license:expat
license:bsd-3
license:gpl2+
license:gpl3+)))))

View file

@ -13,7 +13,7 @@
;;; Copyright © 2021, 2022 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2021, 2022 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2021 Songlin Jiang <hollowman@hollowman.ml> ;;; Copyright © 2021 Songlin Jiang <hollowman@hollowman.ml>
;;; Copyright © 2021, 2022 Justin Veilleux <terramorpha@cock.li> ;;; Copyright © 2021, 2022, 2024 Justin Veilleux <terramorpha@cock.li>
;;; Copyright © 2021 Attila Lendvai <attila@lendvai.name> ;;; Copyright © 2021 Attila Lendvai <attila@lendvai.name>
;;; Copyright © 2021 Charles Jackson <charles.b.jackson@protonmail.com> ;;; Copyright © 2021 Charles Jackson <charles.b.jackson@protonmail.com>
;;; Copyright © 2022 Eric Bavier <bavier@posteo.net> ;;; Copyright © 2022 Eric Bavier <bavier@posteo.net>
@ -1016,33 +1016,33 @@ It uses ES6 syntax and claims to be more actively maintained than others.")
(define-public gnome-shell-extension-paperwm (define-public gnome-shell-extension-paperwm
(package (package
(name "gnome-shell-extension-paperwm") (name "gnome-shell-extension-paperwm")
(version "36.0") (version "44.17.0")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
(url "https://github.com/paperwm/PaperWM") (url "https://github.com/paperwm/PaperWM")
(commit version))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"1ssnabwxrns36c61ppspjkr9i3qifv08pf2jpwl7cjv3pvyn4kly")) "1d91k9qih81wckqf6554kf8grv6q61rkk4g776g0ijpmf35ljdin"))
(snippet (snippet
'(begin (delete-file "schemas/gschemas.compiled"))))) '(begin (delete-file "schemas/gschemas.compiled")))))
(build-system copy-build-system) (build-system copy-build-system)
(arguments (arguments
'(#:install-plan (list
'(("." "share/gnome-shell/extensions/paperwm@hedning:matrix.org" #:install-plan
#:include-regexp ("\\.js(on)?$" "\\.css$" "\\.ui$" "\\.png$" #~'(("." "share/gnome-shell/extensions/paperwm@paperwm.github.com"
"\\.xml$" "\\.compiled$"))) #:include-regexp ("\\.js(on)?$" "\\.css$" "\\.ui$" "\\.png$"
#:phases "\\.xml$" "\\.compiled$" "\\.svg$")))
(modify-phases %standard-phases #:phases
(add-before 'install 'compile-schemas #~(modify-phases %standard-phases
(lambda _ (add-before 'install 'compile-schemas
(with-directory-excursion "schemas" (lambda _
(invoke "make")) (with-directory-excursion "schemas"
#t))))) (invoke "make")))))))
(native-inputs (native-inputs
`(("glib:bin" ,glib "bin"))) ; for glib-compile-schemas (list `(,glib "bin"))) ; for glib-compile-schemas
(home-page "https://github.com/paperwm/PaperWM") (home-page "https://github.com/paperwm/PaperWM")
(synopsis "Tiled scrollable window management for GNOME Shell") (synopsis "Tiled scrollable window management for GNOME Shell")
(description "PaperWM is an experimental GNOME Shell extension providing (description "PaperWM is an experimental GNOME Shell extension providing

View file

@ -8,7 +8,7 @@
;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org> ;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org>
;;; Copyright © 2015, 2017 Andy Wingo <wingo@igalia.com> ;;; Copyright © 2015, 2017 Andy Wingo <wingo@igalia.com>
;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com> ;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2023 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015-2020, 2023, 2024 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017, 2018, 2021 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015, 2016, 2017, 2018, 2021 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 David Thompson <davet@gnu.org> ;;; Copyright © 2015 David Thompson <davet@gnu.org>
;;; Copyright © 2015-2024 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015-2024 Efraim Flashner <efraim@flashner.co.il>
@ -238,6 +238,7 @@
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix platform)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (guix gexp) #:use-module (guix gexp)
#:use-module (ice-9 match) #:use-module (ice-9 match)
@ -3397,7 +3398,7 @@ compiles to GTKBuilder XML.")
python-pycairo python-pycairo
python-pygobject python-pygobject
python-lxml python-lxml
webkitgtk webkitgtk-for-gtk3
webkitgtk)) webkitgtk))
(native-inputs (native-inputs
(list `(,glib "bin") (list `(,glib "bin")
@ -3593,12 +3594,12 @@ for dealing with different structured file formats.")
;; In lieu of #:make-flags ;; In lieu of #:make-flags
(setenv "CC" #$(cc-for-target)) (setenv "CC" #$(cc-for-target))
(setenv "PKG_CONFIG" #$(pkg-config-for-target)) (setenv "PKG_CONFIG" #$(pkg-config-for-target))
(when #$(%current-target-system) #$@(if (%current-target-system)
(setenv "RUST_TARGET" #~((setenv "RUST_TARGET"
(string-replace #$(platform-rust-target
#$(%current-target-system) (lookup-platform-by-target
"-unknown-linux-gnu" (%current-target-system)))))
(string-index #$(%current-target-system) #\-)))) #~())
;; Something about the build environment resists building ;; Something about the build environment resists building
;; successfully with the '--locked' flag. ;; successfully with the '--locked' flag.
(substitute* '("Makefile.am" "Makefile.in") (substitute* '("Makefile.am" "Makefile.in")
@ -7911,7 +7912,17 @@ to display dialog boxes from the commandline and shell scripts.")
;; let's disable them as well. ;; let's disable them as well.
;; See <https://gitlab.gnome.org/GNOME/mutter/-/issues/2125> ;; See <https://gitlab.gnome.org/GNOME/mutter/-/issues/2125>
(substitute* "src/tests/clutter/conform/meson.build" (substitute* "src/tests/clutter/conform/meson.build"
(("'timeline.*',") "")))) (("'timeline.*',") ""))
;; On i686-linux this test fails with a dbus error. This seems
;; to be fine in later versions, so this workaround can probably
;; be removed soon.
#$@(if (string=? "i686-linux" (or (%current-target-system)
(%current-system)))
#~((substitute* "src/tests/wayland-unit-tests.c"
(("g_test_add_func \\(\"/wayland/toplevel/activation\",") "")
(("^ toplevel_activation\\);") "")))
#~())))
(replace 'check (replace 'check
(lambda* (#:key tests? test-options parallel-tests? (lambda* (#:key tests? test-options parallel-tests?
#:allow-other-keys) #:allow-other-keys)

View file

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2016, 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2016, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2024 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Chris Marusich <cmmarusich@gmail.com> ;;; Copyright © 2017 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2019, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
@ -66,14 +66,14 @@
;; directory. ;; directory.
(package (package
(name "gnucash") (name "gnucash")
(version "5.3") (version "5.5")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/gnucash/gnucash%20%28stable%29/" (uri (string-append "mirror://sourceforge/gnucash/gnucash%20%28stable%29/"
version "/gnucash-" version ".tar.bz2")) version "/gnucash-" version ".tar.bz2"))
(sha256 (sha256
(base32 "0npilq0spalpg1ma956j7vlbn0yc5f0z5imy4kbyksl5ql4cnn0l")))) (base32 "0fzds1yq298c3rvi07if1bfxff904jbzmsb27wr0ddwjp1xzdnml"))))
(outputs '("out" "doc" "debug" "python")) (outputs '("out" "doc" "debug" "python"))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
@ -214,13 +214,11 @@ installed as well as Yelp, the Gnome help browser.")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
;; The filename for version 5.3 is gnucash-docs-5.2.tar.gz, not
;; gnucash-docs-5.3.tar.gz.
(uri (string-append (uri (string-append
"mirror://sourceforge/gnucash/gnucash%20%28stable%29/" "mirror://sourceforge/gnucash/gnucash%20%28stable%29/"
version "/gnucash-docs-5.2" revision ".tar.gz")) version "/gnucash-docs-" version revision ".tar.gz"))
(sha256 (sha256
(base32 "16xlxwdgc0w4cg9kxg4w2f1y974cb16wq2c9icq5qrh3nj0nbsxr")))) (base32 "1ay8jzxrsb9qmbx0v12kqdjk6l3j7cafgxswa92yynihv5ahymlk"))))
(build-system cmake-build-system) (build-system cmake-build-system)
;; These are native-inputs because they are only required for building the ;; These are native-inputs because they are only required for building the
;; documentation. ;; documentation.

View file

@ -71,6 +71,7 @@
#:use-module (gnu packages swig) #:use-module (gnu packages swig)
#:use-module (gnu packages texinfo) #:use-module (gnu packages texinfo)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
#:use-module (gnu packages tor)
#:use-module (gnu packages web) #:use-module (gnu packages web)
#:use-module (gnu packages xorg) #:use-module (gnu packages xorg)
#:use-module (gnu packages xdisorg) #:use-module (gnu packages xdisorg)
@ -345,11 +346,33 @@ compatible to GNU Pth.")
zlib)) zlib))
(arguments (arguments
(list (list
#:configure-flags #~'(;; Otherwise, the test suite looks for the `gpg` #:configure-flags
;; executable in its installation directory in ;; Always use quasiquote on the next core-updates cycle.
;; /gnu/store before it has been installed. #~(#$(if (%current-target-system)
"--enable-gnupg-builddir-envvar" #~quasiquote
"--enable-all-tests") #~quote)
(#$@(if (%current-target-system)
#~(,(string-append
"--with-libgpg-error-prefix="
#$(this-package-input "libgpg-error"))
,(string-append
"--with-libgcrypt-prefix="
#$(this-package-input "libgcrypt"))
,(string-append
"--with-libassuan-prefix="
#$(this-package-input "libassuan"))
,(string-append
"--with-ksba-prefix="
#$(this-package-input "libksba"))
,(string-append
"--with-npth-prefix="
#$(this-package-input "npth")))
#~())
;; Otherwise, the test suite looks for the `gpg`
;; executable in its installation directory in
;; /gnu/store before it has been installed.
"--enable-gnupg-builddir-envvar"
"--enable-all-tests"))
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-before 'configure 'patch-paths (add-before 'configure 'patch-paths
@ -1129,7 +1152,7 @@ files, to verify signatures, and to manage the private and public keys.")
perl-try-tiny perl-try-tiny
perl-type-tiny perl-type-tiny
perl-types-path-tiny perl-types-path-tiny
(@ (gnu packages tor) torsocks))) ;avoid dependency loop torsocks))
(native-inputs (native-inputs
(list perl-file-which (list perl-file-which
perl-gnupg-interface perl-gnupg-interface

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