mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-07 07:26:13 -05:00
Merge branch 'master' into emacs-team
This commit is contained in:
commit
3d4fc910f7
312 changed files with 156029 additions and 142193 deletions
|
@ -140,6 +140,7 @@ MODULES = \
|
|||
guix/platforms/arm.scm \
|
||||
guix/platforms/avr.scm \
|
||||
guix/platforms/mips.scm \
|
||||
guix/platforms/or1k.scm \
|
||||
guix/platforms/powerpc.scm \
|
||||
guix/platforms/riscv.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-i686.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/python/sanity-check.py \
|
||||
gnu/packages/aux-files/python/sitecustomize.py \
|
||||
|
|
|
@ -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
|
||||
contributor is willing to take to help the project. It is expected from
|
||||
all contributors, and even more so from committers, to help build
|
||||
consensus and make decisions based on consensus. To learn what
|
||||
consensus decision making means and understand its finer details, you
|
||||
are encouraged to read
|
||||
consensus and make decisions based on consensus. By using consensus, we
|
||||
are committed to finding solutions that everyone can live with. It
|
||||
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}.
|
||||
|
||||
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
|
||||
committer to do so; applying, reading the source, building, linting and
|
||||
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
|
||||
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
|
||||
|
|
674
doc/guix.texi
674
doc/guix.texi
|
@ -22,7 +22,7 @@
|
|||
@set SUBSTITUTE-URLS https://@value{SUBSTITUTE-SERVER-1} https://@value{SUBSTITUTE-SERVER-2}
|
||||
|
||||
@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 Nikita Karetnikov@*
|
||||
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, 2020, 2021, 2022 Mathieu Othacehe@*
|
||||
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 humanitiesNerd@*
|
||||
Copyright @copyright{} 2017, 2021 Christine Lemmer-Webber@*
|
||||
|
@ -124,6 +124,7 @@ Copyright @copyright{} 2023 Thomas Ieong@*
|
|||
Copyright @copyright{} 2023 Saku Laesvuori@*
|
||||
Copyright @copyright{} 2023 Graham James Addis@*
|
||||
Copyright @copyright{} 2023 Tomas Volf@*
|
||||
Copyright @copyright{} 2024 Herman Rimm@*
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
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 installer script
|
||||
This section describes how to install Guix on an arbitrary system from a
|
||||
self-contained tarball providing binaries for Guix and for all its
|
||||
dependencies. This is often quicker than installing from source, which
|
||||
is described in the next sections. The only requirement is to have
|
||||
GNU@tie{}tar and Xz.
|
||||
This section describes how to install Guix from a self-contained tarball
|
||||
providing binaries for Guix and for all its dependencies. This is often
|
||||
quicker than installing from source, which is described in the next
|
||||
sections. Binary installation requires a system using a Hurd or Linux
|
||||
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.
|
||||
@quotation Note
|
||||
We recommend the use of this
|
||||
@uref{https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh,
|
||||
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
|
||||
@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
|
||||
@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},
|
||||
|
@ -9850,7 +9859,7 @@ MbedTLS package:
|
|||
(("generate_wrapper_header.*")
|
||||
(string-append
|
||||
"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.
|
||||
(find-files "src/wrappers/" "\\.jl$"))))
|
||||
@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
|
||||
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:
|
||||
|
||||
@table @code
|
||||
|
@ -14045,6 +14057,26 @@ URL, which makes you vulnerable to ``man-in-the-middle'' attacks.
|
|||
@itemx -o @var{file}
|
||||
Save the downloaded file to @var{file} instead of adding it to the
|
||||
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
|
||||
|
||||
@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:
|
||||
|
||||
@example
|
||||
guix import @var{importer} @var{options}@dots{}
|
||||
guix import [@var{global-options}@dots{}] @var{importer} @var{package} [@var{options}@dots{}]
|
||||
@end example
|
||||
|
||||
@var{importer} specifies the source from which to import package
|
||||
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.
|
||||
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.
|
||||
|
||||
The command command below imports metadata for the Cairo R package:
|
||||
The command below imports metadata for the Cairo R package:
|
||||
|
||||
@example
|
||||
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
|
||||
@code{texlive-scripts} package. The source code is downloaded from
|
||||
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}
|
||||
TeX package:
|
||||
The command below imports metadata for the @code{fontspec} TeX package:
|
||||
|
||||
@example
|
||||
guix import texlive fontspec
|
||||
|
@ -16721,6 +16762,20 @@ guix package}).
|
|||
This option can be repeated several times, in which case the manifests
|
||||
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}]
|
||||
@itemx -c [@var{count}]
|
||||
Report on substitute coverage for packages: list packages with at least
|
||||
|
@ -16903,6 +16958,7 @@ The available targets are:
|
|||
- i686-linux-gnu
|
||||
- i686-w64-mingw32
|
||||
- mips64el-linux-gnu
|
||||
- or1k-elf
|
||||
- powerpc-linux-gnu
|
||||
- powerpc64le-linux-gnu
|
||||
- riscv64-linux-gnu
|
||||
|
@ -20948,9 +21004,214 @@ networks.
|
|||
@item @code{disable-vpn?} (default: @code{#f})
|
||||
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 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
|
||||
@defvar wpa-supplicant-service-type
|
||||
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
|
||||
|
||||
@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
|
||||
configuration.
|
||||
|
||||
|
@ -25581,6 +25845,7 @@ sudo -u postgres -s /bin/sh
|
|||
createuser --interactive
|
||||
createdb $MY_USER_LOGIN # Replace appropriately.
|
||||
@end example
|
||||
@end defvar
|
||||
|
||||
@deftp {Data Type} postgresql-configuration
|
||||
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}.
|
||||
|
||||
@example
|
||||
prosodyctl --root cert import /etc/letsencrypt/live
|
||||
prosodyctl --root cert import /etc/certs
|
||||
@end example
|
||||
|
||||
The available configuration parameters follow. Each parameter
|
||||
|
@ -28354,10 +28619,11 @@ services:
|
|||
|
||||
@subsubheading Jami
|
||||
|
||||
@cindex jami, service
|
||||
|
||||
This section describes how to configure a Jami server that can be used
|
||||
to host video (or audio) conferences, among other uses. The following
|
||||
@defvar jami-service-type
|
||||
The service type for running Jami as a service. It takes a
|
||||
@code{jami-configuration} object as a value, documented below. This
|
||||
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
|
||||
be provisioned automatically:
|
||||
|
||||
|
@ -28485,6 +28751,7 @@ Account_username: f3345f2775ddfe07a4b0d95daea111d15fbc1199
|
|||
The remaining actions should be self-explanatory.
|
||||
|
||||
The complete set of available configuration options is detailed below.
|
||||
@end defvar
|
||||
|
||||
@c TODO: Ideally, the following fragments would be auto-generated at
|
||||
@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
|
||||
@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
|
||||
The service type for the Mumble server. An example configuration can
|
||||
look like this:
|
||||
|
@ -28591,8 +28864,8 @@ look like this:
|
|||
(welcome-text
|
||||
"Welcome to this Mumble server running on Guix!")
|
||||
(cert-required? #t) ;disallow text password logins
|
||||
(ssl-cert "/etc/letsencrypt/live/mumble.example.com/fullchain.pem")
|
||||
(ssl-key "/etc/letsencrypt/live/mumble.example.com/privkey.pem")))
|
||||
(ssl-cert "/etc/certs/mumble.example.com/fullchain.pem")
|
||||
(ssl-key "/etc/certs/mumble.example.com/privkey.pem")))
|
||||
@end lisp
|
||||
|
||||
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.
|
||||
|
||||
@lisp
|
||||
(ssl-cert "/etc/letsencrypt/live/example.com/fullchain.pem")
|
||||
(ssl-cert "/etc/certs/example.com/fullchain.pem")
|
||||
@end lisp
|
||||
@item @code{ssl-key} (default: @code{#f})
|
||||
Filepath to the ssl private key used for encrypted connections.
|
||||
@lisp
|
||||
(ssl-key "/etc/letsencrypt/live/example.com/privkey.pem")
|
||||
(ssl-key "/etc/certs/example.com/privkey.pem")
|
||||
@end lisp
|
||||
|
||||
@item @code{ssl-dh-params} (default: @code{#f})
|
||||
|
@ -31603,6 +31876,50 @@ Additional arguments to pass to the @command{varnishd} process.
|
|||
@end table
|
||||
@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
|
||||
@cindex Patchwork
|
||||
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:
|
||||
|
||||
@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
|
||||
(certbot-configuration
|
||||
(email "foo@@example.net")
|
||||
(certificates
|
||||
(list
|
||||
(certificate-configuration
|
||||
(domains '("example.net" "www.example.net"))
|
||||
(deploy-hook %certbot-deploy-hook))
|
||||
(domains '("example.net" "www.example.net")))
|
||||
(certificate-configuration
|
||||
(domains '("bar.example.net")))))))
|
||||
@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
|
||||
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 deftp
|
||||
|
||||
For each @code{certificate-configuration}, the certificate is saved to
|
||||
@code{/etc/letsencrypt/live/@var{name}/fullchain.pem} and the key is
|
||||
saved to @code{/etc/letsencrypt/live/@var{name}/privkey.pem}.
|
||||
@code{/etc/certs/@var{name}/fullchain.pem} and the key is
|
||||
saved to @code{/etc/certs/@var{name}/privkey.pem}.
|
||||
@node DNS Services
|
||||
@subsection DNS Services
|
||||
@cindex DNS (domain name system)
|
||||
|
@ -36081,6 +36396,142 @@ host. If empty, QEMU uses a default file name.
|
|||
@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}
|
||||
@subsubheading The Hurd in a Virtual Machine
|
||||
|
||||
|
@ -37126,9 +37577,9 @@ serve the default @file{/srv/git} over HTTPS might be:
|
|||
(listen '("443 ssl"))
|
||||
(server-name "git.my-host.org")
|
||||
(ssl-certificate
|
||||
"/etc/letsencrypt/live/git.my-host.org/fullchain.pem")
|
||||
"/etc/certs/git.my-host.org/fullchain.pem")
|
||||
(ssl-certificate-key
|
||||
"/etc/letsencrypt/live/git.my-host.org/privkey.pem")
|
||||
"/etc/certs/git.my-host.org/privkey.pem")
|
||||
(locations
|
||||
(list
|
||||
(git-http-nginx-location-configuration
|
||||
|
@ -38253,9 +38704,9 @@ footers.
|
|||
(nginx-server-block
|
||||
(nginx-server-configuration
|
||||
(ssl-certificate
|
||||
"/etc/letsencrypt/live/myweb.site/fullchain.pem")
|
||||
"/etc/certs/myweb.site/fullchain.pem")
|
||||
(ssl-certificate-key
|
||||
"/etc/letsencrypt/live/myweb.site/privkey.pem")
|
||||
"/etc/certs/myweb.site/privkey.pem")
|
||||
(listen '("443 ssl http2" "[::]:443 ssl http2"))
|
||||
(locations
|
||||
(list
|
||||
|
@ -40060,16 +40511,31 @@ After @command{guix system reconfigure} configure Nix for your user:
|
|||
|
||||
@itemize
|
||||
@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:
|
||||
@end itemize
|
||||
|
||||
@example
|
||||
$ ln -s "/nix/var/nix/profiles/per-user/$USER/profile" ~/.nix-profile
|
||||
$ source /run/current-system/profile/etc/profile.d/nix.sh
|
||||
@end example
|
||||
|
||||
@end itemize
|
||||
|
||||
@end defvar
|
||||
|
||||
@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
|
||||
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}
|
||||
@itemx @code{stop} (default: @code{#~(const #f)})
|
||||
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.
|
||||
|
||||
@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};
|
||||
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.
|
||||
@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
|
||||
The service is very similar to @code{home-files-service-type} (and
|
||||
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.
|
||||
@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
|
||||
@chapter Creating System Images
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
"build-system": "gnu",
|
||||
"arguments": {
|
||||
"tests?": false
|
||||
}
|
||||
},
|
||||
"home-page": "https://www.gnu.org/software/hello/",
|
||||
"synopsis": "Hello, GNU world: An example GNU package",
|
||||
"description": "GNU Hello prints a greeting.",
|
||||
|
@ -16,11 +16,11 @@
|
|||
{
|
||||
"name": "greeter",
|
||||
"version": "1.0",
|
||||
"source": "https://example.com/greeter-1.0.tar.gz",
|
||||
"source": "mirror://gnu/hello/hello-2.10.tar.gz",
|
||||
"build-system": "gnu",
|
||||
"arguments": {
|
||||
"test-target": "foo",
|
||||
"parallel-build?": false,
|
||||
"parallel-build?": false
|
||||
},
|
||||
"home-page": "https://example.com/",
|
||||
"synopsis": "Greeter using GNU Hello",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; 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.
|
||||
;;;
|
||||
|
@ -35,6 +35,8 @@ (define (tarball-origin? origin)
|
|||
(and (origin-hash origin)
|
||||
(or (string-suffix? ".tar.gz" file)
|
||||
(string-suffix? ".tgz" file)
|
||||
(string-suffix? ".tar.bz2" file)
|
||||
(string-suffix? ".tbz2" file)
|
||||
(string-suffix? ".tar.xz" file)
|
||||
(string-suffix? ".tar" file))))))
|
||||
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
[b4]
|
||||
attestation-check-dkim = off
|
||||
attestation-policy = off
|
||||
shazam-am-flags = --signoff --3way
|
||||
linkmask = https://yhetil.org/guix/%s
|
||||
linktrailermask = https://yhetil.org/guix/%s
|
||||
midmask = https://yhetil.org/guix/%s
|
||||
|
|
13
etc/news.scm
13
etc/news.scm
|
@ -19,6 +19,7 @@
|
|||
;; Copyright © 2021, 2023 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
||||
;; Copyright © 2022 Thiago Jung Bauermann <bauermann@kolabnow.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
|
||||
;; permitted in any medium without royalty provided the copyright notice and
|
||||
|
@ -27,6 +28,18 @@
|
|||
(channel-news
|
||||
(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")
|
||||
(title
|
||||
(de "Neue Option @samp{--max-layers=N} für den Befehl @command{guix pack}")
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
!#
|
||||
|
||||
;;; 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, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2022 Simon Tournier <zimon.toutoune@gmail.com>
|
||||
|
@ -176,6 +176,13 @@ (define-team r
|
|||
"guix/scripts/import/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
|
||||
(team 'telephony
|
||||
#:name "Telephony team"
|
||||
|
@ -299,10 +306,12 @@ (define-team ruby
|
|||
(define-team go
|
||||
(team 'go
|
||||
#:name "Go team"
|
||||
#:scope (list "gnu/packages/golang.scm"
|
||||
"gnu/packages/golang-check.scm"
|
||||
"guix/build/go-build-system.scm"
|
||||
#:scope (list "gnu/packages/configuration-management.scm"
|
||||
"gnu/packages/golang(-.+|)\\.scm$"
|
||||
"gnu/packages/syncthing.scm"
|
||||
"gnu/packages/terraform.scm"
|
||||
"guix/build-system/go.scm"
|
||||
"guix/build/go-build-system.scm"
|
||||
"guix/import/go.scm"
|
||||
"guix/scripts/import/go.scm"
|
||||
"tests/go.scm")))
|
||||
|
@ -495,7 +504,8 @@ (define-team mozilla
|
|||
and Thunderbird."
|
||||
#:scope (list "gnu/build/icecat-extension.scm"
|
||||
"gnu/packages/browser-extensions.scm"
|
||||
"gnu/packages/gnuzilla.scm")))
|
||||
"gnu/packages/gnuzilla.scm"
|
||||
"gnu/packages/tor-browsers.scm")))
|
||||
|
||||
(define-team racket
|
||||
(team 'racket
|
||||
|
@ -592,7 +602,7 @@ (define-member (person "Leo Famulari"
|
|||
|
||||
(define-member (person "Efraim Flashner"
|
||||
"efraim@flashner.co.il")
|
||||
embedded bootstrap julia rust science)
|
||||
embedded bootstrap julia rust)
|
||||
|
||||
(define-member (person "jgart"
|
||||
"jgart@dismail.de")
|
||||
|
@ -624,7 +634,7 @@ (define-member (person "Liliana Marie Prikler"
|
|||
|
||||
(define-member (person "Ricardo Wurmus"
|
||||
"rekado@elephly.net")
|
||||
r core mentors tex)
|
||||
core mentors r sugar tex)
|
||||
|
||||
(define-member (person "Christopher Baines"
|
||||
"guix@cbaines.net")
|
||||
|
@ -710,6 +720,10 @@ (define-member (person "Wilko Meyer"
|
|||
"w@wmeyer.eu")
|
||||
kernel)
|
||||
|
||||
(define-member (person "Mark H Weaver"
|
||||
"mhw@netris.org")
|
||||
mozilla)
|
||||
|
||||
|
||||
(define (find-team name)
|
||||
(or (hash-ref %teams (string->symbol name))
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
|
||||
;;; Copyright © 2020 Christine Lemmer-Webber <cwebber@dustycloud.org>
|
||||
;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
|
||||
;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -408,6 +409,7 @@ (define* (activate-current-system
|
|||
|
||||
(format #t "making '~a' the current system...~%" system)
|
||||
|
||||
(mkdir-p "/run")
|
||||
;; Atomically make SYSTEM current.
|
||||
(let ((new (string-append %current-system ".new")))
|
||||
(symlink system new)
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
;;; Copyright © 2019 David C. Trudgian <dave@trudgian.net>
|
||||
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2022 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -1021,8 +1022,8 @@ (define find-partition-by-luks-uuid
|
|||
|
||||
(define (canonicalize-device-spec spec)
|
||||
"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
|
||||
containing ':/')."
|
||||
<file-system-label>, the string 'none' or another string (typically a /dev
|
||||
file name or an nfs-root containing ':/')."
|
||||
(define max-trials
|
||||
;; Number of times we retry partition label resolution, 1 second per
|
||||
;; trial. Note: somebody reported a delay of 16 seconds (!) before their
|
||||
|
@ -1046,8 +1047,8 @@ (define (resolve find-partition spec fmt)
|
|||
|
||||
(match spec
|
||||
((? string?)
|
||||
(if (string-contains spec ":/")
|
||||
spec ; do not resolve NFS devices
|
||||
(if (or (string-contains spec ":/") (string=? spec "none"))
|
||||
spec ; do not resolve NFS / tmpfs devices
|
||||
;; Nothing to do, but wait until SPEC shows up.
|
||||
(resolve identity spec identity)))
|
||||
((? file-system-label?)
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
;;; Copyright © 2013-2020, 2022 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
|
||||
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -134,8 +135,6 @@ (define (directives store)
|
|||
(directory "/var/guix/gcroots")
|
||||
(directory "/var/empty") ; for no-login accounts
|
||||
(directory "/var/db") ; for dhclient, etc.
|
||||
(directory "/var/run")
|
||||
(directory "/run")
|
||||
(directory "/mnt")
|
||||
(directory "/var/guix/profiles/per-user/root" 0 0)
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; 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 © 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu>
|
||||
|
@ -223,29 +223,49 @@ (define* (wait-for-file file marionette
|
|||
(define* (wait-for-tcp-port port marionette
|
||||
#:key
|
||||
(timeout 20)
|
||||
(peek? #f)
|
||||
(address `(make-socket-address AF_INET
|
||||
INADDR_LOOPBACK
|
||||
,port)))
|
||||
"Wait for up to TIMEOUT seconds for PORT to accept connections in
|
||||
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
|
||||
;; forward ports to the host, connecting to the host never raises
|
||||
;; ECONNREFUSED.
|
||||
(match (marionette-eval
|
||||
`(let* ((address ,address)
|
||||
(sock (socket (sockaddr:fam address) SOCK_STREAM 0)))
|
||||
(let loop ((i 0))
|
||||
`(let* ((address ,address))
|
||||
(define (open-socket)
|
||||
(socket (sockaddr:fam address) SOCK_STREAM 0))
|
||||
|
||||
(let loop ((sock (open-socket))
|
||||
(i 0))
|
||||
(catch 'system-error
|
||||
(lambda ()
|
||||
(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)
|
||||
'success)
|
||||
(lambda args
|
||||
(if (< i ,timeout)
|
||||
(begin
|
||||
(sleep 1)
|
||||
(loop (+ 1 i)))
|
||||
(loop (if (port-closed? sock)
|
||||
(open-socket)
|
||||
sock)
|
||||
(+ 1 i)))
|
||||
(list 'failure address))))))
|
||||
marionette)
|
||||
('success #t)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; 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>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
|
@ -93,13 +93,28 @@ (define (wait-for-readable-fd port timeout)
|
|||
('readable #t)
|
||||
('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)
|
||||
(handshake-timeout 180))
|
||||
"Copy all files under SECRET-ROOT using TCP to secret-service listening at
|
||||
local PORT. If connect fails, sleep 1s and retry RETRY times; once connected,
|
||||
wait for at most HANDSHAKE-TIMEOUT seconds for handshake to complete. Return
|
||||
#f on failure."
|
||||
"Copy all files under SECRET-ROOT by connecting to secret-service listening
|
||||
at ADDRESS, an address as returned by 'make-socket-address'. If connection
|
||||
fails, sleep 1s and retry RETRY times; once connected, wait for at most
|
||||
HANDSHAKE-TIMEOUT seconds for handshake to complete. Return #f on failure."
|
||||
(define (file->file+size+mode file-name)
|
||||
(let ((stat (stat file-name))
|
||||
(target (substring file-name (string-length secret-root))))
|
||||
|
@ -118,9 +133,9 @@ (define (send-files sock)
|
|||
(dump-port input sock))))
|
||||
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))
|
||||
(addr (make-socket-address AF_INET INADDR_LOOPBACK port))
|
||||
(sleep (if (resolve-module '(fibers) #f)
|
||||
(module-ref (resolve-interface '(fibers)) 'sleep)
|
||||
sleep)))
|
||||
|
@ -129,7 +144,7 @@ (define (send-files sock)
|
|||
;; forward port inside the guest.
|
||||
(let loop ((retry retry))
|
||||
(catch 'system-error
|
||||
(cute connect sock addr)
|
||||
(cute connect sock address)
|
||||
(lambda (key . args)
|
||||
(when (zero? retry)
|
||||
(apply throw key args))
|
||||
|
@ -147,7 +162,8 @@ (define (send-files sock)
|
|||
(('secret-service-server ('version version ...))
|
||||
(log "sending files from ~s...~%" secret-root)
|
||||
(send-files sock)
|
||||
(log "done sending files to port ~a~%" port)
|
||||
(log "done sending files to ~a~%"
|
||||
(socket-address->string address))
|
||||
(close-port sock)
|
||||
secret-root)
|
||||
(x
|
||||
|
@ -155,7 +171,8 @@ (define (send-files sock)
|
|||
(close-port sock)
|
||||
#f))
|
||||
(begin ;timeout
|
||||
(log "timeout while sending files to ~a~%" port)
|
||||
(log "timeout while sending files to ~a~%"
|
||||
(socket-address->string address))
|
||||
(close-port sock)
|
||||
#f))))
|
||||
|
||||
|
@ -168,19 +185,20 @@ (define (delete-file* file)
|
|||
(unless (= ENOENT (system-error-errno args))
|
||||
(apply throw args)))))
|
||||
|
||||
(define (secret-service-receive-secrets port)
|
||||
"Listen to local PORT and wait for a secret service client to send secrets.
|
||||
Write them to the file system. Return the list of files installed on success,
|
||||
and #f otherwise."
|
||||
(define (secret-service-receive-secrets address)
|
||||
"Listen to ADDRESS, an address returned by 'make-socket-address', and wait
|
||||
for a secret service client to send secrets. Write them to the file system.
|
||||
Return the list of files installed on success, and #f otherwise."
|
||||
|
||||
(define (wait-for-client port)
|
||||
;; Wait for a TCP connection on PORT. Note: We cannot use the
|
||||
;; virtio-serial ports, which would be safer, because they are
|
||||
;; (presumably) unsupported on GNU/Hurd.
|
||||
(define (wait-for-client address)
|
||||
;; Wait for a connection on ADDRESS. Note: virtio-serial ports are safer
|
||||
;; than TCP connections but they are (presumably) unsupported on GNU/Hurd.
|
||||
(let ((sock (socket AF_INET (logior SOCK_CLOEXEC SOCK_STREAM) 0)))
|
||||
(bind sock AF_INET INADDR_ANY port)
|
||||
(bind sock address)
|
||||
(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 (accept sock)
|
||||
|
@ -244,7 +262,7 @@ (define (read-secrets port)
|
|||
(log "invalid secrets received~%")
|
||||
#f)))
|
||||
|
||||
(let* ((port (wait-for-client port))
|
||||
(let* ((port (wait-for-client address))
|
||||
(result (and=> port read-secrets)))
|
||||
(when port
|
||||
(close-port port))
|
||||
|
|
|
@ -191,6 +191,7 @@ (define (same? target)
|
|||
(define (pointless? target)
|
||||
;; Return #t if it makes no sense to cross-build to TARGET from SYSTEM.
|
||||
(or (string=? target "avr") ; Nothing for AVR at this time.
|
||||
(string=? target "or1k-elf") ;; Nothing for or1k-elf at this time.
|
||||
(match system
|
||||
((or "x86_64-linux" "i686-linux")
|
||||
(if (string-contains target "mingw")
|
||||
|
|
|
@ -37,6 +37,7 @@ (define-module (gnu home services)
|
|||
#:use-module (guix memoization)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-9)
|
||||
#:use-module (srfi srfi-34)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (ice-9 vlist)
|
||||
|
||||
|
|
117
gnu/home/services/dotfiles.scm
Normal file
117
gnu/home/services/dotfiles.scm
Normal 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.")))
|
|
@ -2,6 +2,7 @@
|
|||
;;; Copyright © 2021 Andrew Tropin <andrew@trop.in>
|
||||
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
|
||||
;;; Copyright © 2022 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2024 Nicolas Graves <ngraves@ngraves.fr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -157,6 +158,12 @@ (define (strip file)
|
|||
#t
|
||||
(G_ "Skipping ~a (not an empty directory)... done\n")
|
||||
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)
|
||||
((= ENOTDIR errno) #t)
|
||||
(else
|
||||
|
|
54
gnu/local.mk
54
gnu/local.mk
|
@ -1,6 +1,6 @@
|
|||
# GNU Guix --- Functional package management for GNU
|
||||
# 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 © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Mark H Weaver <mhw@netris.org>
|
||||
# Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
|
||||
|
@ -13,7 +13,7 @@
|
|||
# Copyright © 2016-2023 Efraim Flashner <efraim@flashner.co.il>
|
||||
# Copyright © 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
# Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
# Copyright © 2017, 2018, 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, 2018, 2019 Gábor Boskovits <boskovits@gmail.com>
|
||||
# Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
|
||||
|
@ -56,13 +56,14 @@
|
|||
# Copyright © 2022 Alex Griffin <a@ajgrf.com>
|
||||
# Copyright © 2022 ( <paren@disroot.org>
|
||||
# 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 Andy Tai <atai@atai.org>
|
||||
# Copyright © 2023 B. Wilson <elaexuotee@wilsonb.com>
|
||||
# Copyright © 2023 gemmaro <gemmaro.dev@gmail.com>
|
||||
# Copyright © 2023 Herman Rimm <herman@rimm.ee>
|
||||
# Copyright © 2023 Troy Figiel <troy@troyfigiel.com>
|
||||
# Copyright © 2024 David Elsing <david.elsing@posteo.net>
|
||||
#
|
||||
# This file is part of GNU Guix.
|
||||
#
|
||||
|
@ -96,6 +97,7 @@ GNU_SYSTEM_MODULES = \
|
|||
%D%/home/services.scm \
|
||||
%D%/home/services/desktop.scm \
|
||||
%D%/home/services/dict.scm \
|
||||
%D%/home/services/dotfiles.scm \
|
||||
%D%/home/services/symlink-manager.scm \
|
||||
%D%/home/services/fontutils.scm \
|
||||
%D%/home/services/gnupg.scm \
|
||||
|
@ -199,9 +201,15 @@ GNU_SYSTEM_MODULES = \
|
|||
%D%/packages/cpp.scm \
|
||||
%D%/packages/cppi.scm \
|
||||
%D%/packages/cran.scm \
|
||||
%D%/packages/crates-apple.scm \
|
||||
%D%/packages/crates-crypto.scm \
|
||||
%D%/packages/crates-io.scm \
|
||||
%D%/packages/crates-graphics.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-toolchain.scm \
|
||||
%D%/packages/crypto.scm \
|
||||
|
@ -306,8 +314,12 @@ GNU_SYSTEM_MODULES = \
|
|||
%D%/packages/gnu-pw-mgr.scm \
|
||||
%D%/packages/gobby.scm \
|
||||
%D%/packages/golang.scm \
|
||||
%D%/packages/golang-build.scm \
|
||||
%D%/packages/golang-check.scm \
|
||||
%D%/packages/golang-compression.scm \
|
||||
%D%/packages/golang-crypto.scm \
|
||||
%D%/packages/golang-web.scm \
|
||||
%D%/packages/golang-xyz.scm \
|
||||
%D%/packages/gperf.scm \
|
||||
%D%/packages/gpodder.scm \
|
||||
%D%/packages/gps.scm \
|
||||
|
@ -543,6 +555,7 @@ GNU_SYSTEM_MODULES = \
|
|||
%D%/packages/toys.scm \
|
||||
%D%/packages/tryton.scm \
|
||||
%D%/packages/qt.scm \
|
||||
%D%/packages/quantum.scm \
|
||||
%D%/packages/racket.scm \
|
||||
%D%/packages/radio.scm \
|
||||
%D%/packages/ragel.scm \
|
||||
|
@ -629,6 +642,7 @@ GNU_SYSTEM_MODULES = \
|
|||
%D%/packages/tls.scm \
|
||||
%D%/packages/tmux.scm \
|
||||
%D%/packages/toolkits.scm \
|
||||
%D%/packages/tor-browsers.scm \
|
||||
%D%/packages/tor.scm \
|
||||
%D%/packages/tree-sitter.scm \
|
||||
%D%/packages/tv.scm \
|
||||
|
@ -927,7 +941,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/apr-skip-getservbyname-test.patch \
|
||||
%D%/packages/patches/aria2-unbundle-wslay.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/aspell-CVE-2019-25051.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/automake-skip-amhello-tests.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/awesome-reproducible-png.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/bc-fix-cross-compilation.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/bsd-games-2.17-64bit.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/cool-retro-term-wctype.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/cpuinfo-system-libraries.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-xelb-ignore-length-element.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/enjarify-setup-py.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-uuid.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/gklib-suitesparse.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-fix-invalid-unicode-handling.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-present-coding.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/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.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/librime-fix-build-with-gcc10.patch \
|
||||
%D%/packages/patches/libvirt-add-install-prefix.patch \
|
||||
%D%/packages/patches/libziparchive-add-includes.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-5.4-pkgconfig.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/mactelnet-remove-init.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/nginx-socket-cloexec.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/nss-getcwd-nonnull.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/nyacc-binary-literals.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-4.07-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-sgmllib3k-assertions.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-uqbar-python3.10.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-pillow-CVE-2022-45199.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-memcached-syntax-warnings.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/ragel-char-signedness.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/ratpoints-sturm_and_rp_private.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/reposurgeon-add-missing-docbook-files.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/ripperx-missing-file.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-zuo-bin-sh.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/rng-tools-revert-build-randstat.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/rust-1.64-fix-riscv64-bootstrap.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-ring-0.16-test-files.patch \
|
||||
%D%/packages/patches/i3status-rust-enable-unstable-features.patch \
|
||||
%D%/packages/patches/rust-cargo-edit-remove-ureq.patch \
|
||||
%D%/packages/patches/rust-ring-0.17-ring-core.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.14-remove-blas-src.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-wl-clipboard-rs-newer-wl.patch \
|
||||
%D%/packages/patches/rw-igraph-0.10.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/sbcl-aserve-add-HTML-5-elements.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/softhsm-fix-openssl3-tests.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/sssd-system-directories.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-for-telegram-desktop-unbundle-libsrtp.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/wmfire-update-for-new-gdk-versions.patch \
|
||||
%D%/packages/patches/wordnet-CVE-2008-2149.patch \
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2019 Jakob L. Kreuze <zerodaysfordays@sdf.org>
|
||||
;;; Copyright © 2020-2023 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2024 Ricardo <rekado@elephly.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -537,22 +538,24 @@ (define-syntax-rule (eval/error-handling condition handler ...)
|
|||
host
|
||||
(inferior-exception-arguments c))))
|
||||
os))
|
||||
(with-roll-back #t
|
||||
(mbegin %store-monad
|
||||
(upgrade-shepherd-services (eval/error-handling c
|
||||
(warning (G_ "\
|
||||
(parameterize ((%current-system system)
|
||||
(%current-target-system #f))
|
||||
(with-roll-back #t
|
||||
(mbegin %store-monad
|
||||
(upgrade-shepherd-services (eval/error-handling c
|
||||
(warning (G_ "\
|
||||
an error occurred while upgrading services on '~a':~%~{~s ~}~%")
|
||||
host
|
||||
(inferior-exception-arguments
|
||||
c)))
|
||||
os)
|
||||
(install-bootloader (eval/error-handling c
|
||||
(raise (formatted-message
|
||||
(G_ "\
|
||||
host
|
||||
(inferior-exception-arguments
|
||||
c)))
|
||||
os)
|
||||
(install-bootloader (eval/error-handling c
|
||||
(raise (formatted-message
|
||||
(G_ "\
|
||||
failed to install bootloader on '~a':~%~{~s ~}~%")
|
||||
host
|
||||
(inferior-exception-arguments c))))
|
||||
bootloader-configuration bootcfg))))))))
|
||||
host
|
||||
(inferior-exception-arguments c))))
|
||||
bootloader-configuration bootcfg)))))))))
|
||||
|
||||
|
||||
;;;
|
||||
|
|
|
@ -62,6 +62,8 @@
|
|||
;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu>
|
||||
;;; Copyright © 2023 Tobias Kortkamp <tobias.kortkamp@gmail.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.
|
||||
;;;
|
||||
|
@ -112,6 +114,7 @@ (define-module (gnu packages admin)
|
|||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages crates-graphics)
|
||||
#:use-module (gnu packages crates-io)
|
||||
#:use-module (gnu packages crates-windows)
|
||||
#:use-module (gnu packages crypto)
|
||||
#:use-module (gnu packages cryptsetup)
|
||||
#:use-module (gnu packages curl)
|
||||
|
@ -130,6 +133,8 @@ (define-module (gnu packages admin)
|
|||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages gnupg)
|
||||
#: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 gtk)
|
||||
#:use-module (gnu packages guile)
|
||||
|
@ -149,6 +154,7 @@ (define-module (gnu packages admin)
|
|||
#:use-module (gnu packages mcrypt)
|
||||
#:use-module (gnu packages mpi)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages nettle)
|
||||
#:use-module (gnu packages networking)
|
||||
#:use-module (gnu packages openldap)
|
||||
#:use-module (gnu packages package-management)
|
||||
|
@ -4907,6 +4913,33 @@ (define-public pam-mount
|
|||
LUKS volumes encrypted with the user's log-in password.")
|
||||
(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
|
||||
(package
|
||||
(name "jc")
|
||||
|
@ -5814,6 +5847,57 @@ (define-public fail2ban
|
|||
mechanisms if you really want to protect services.")
|
||||
(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
|
||||
(package
|
||||
(name "rex")
|
||||
|
@ -6038,3 +6122,34 @@ (define-public bfs
|
|||
versions of @command{find}, including POSIX, GNU, and *BSD find.")
|
||||
(home-page "https://tavianator.com/projects/bfs.html")
|
||||
(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+)))
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; 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 © 2016-2023 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2014, 2018 Mark H Weaver <mhw@netris.org>
|
||||
|
@ -133,25 +133,26 @@ (define-public gf2x
|
|||
(define-public cm
|
||||
(package
|
||||
(name "cm")
|
||||
(version "0.4.2")
|
||||
(version "0.4.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://www.multiprecision.org/downloads/cm-"
|
||||
"https://www.multiprecision.org/downloads/cm-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1c6m00wiw3rs5f0lq6c80rdr3dzklsvh69l8w3s7bj2r6yha6qbw"))))
|
||||
"01dha0hl0daappjiydpk4ngl9nxkxli6a48jp6d7v85yjjykac5j"))))
|
||||
(build-system gnu-build-system)
|
||||
(propagated-inputs
|
||||
(list mpfrcx zlib)) ; Header files included from cm_common.h.
|
||||
(list mpfrcx zlib)) ; Header files included from lib/cm.h.
|
||||
(inputs
|
||||
(list pari-gp))
|
||||
(list flint pari-gp))
|
||||
(synopsis "CM constructions for elliptic curves")
|
||||
(description
|
||||
"The CM software implements the construction of ring class fields of
|
||||
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
|
||||
line applications.")
|
||||
(license license:gpl3+)
|
||||
|
@ -295,6 +296,34 @@ (define-public gp2c
|
|||
(license license:gpl2)
|
||||
(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
|
||||
(package
|
||||
(name "cmh")
|
||||
|
@ -417,41 +446,20 @@ (define-public giac
|
|||
(define-public flint
|
||||
(package
|
||||
(name "flint")
|
||||
(version "2.9.0")
|
||||
(version "3.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://flintlib.org/flint-" version ".tar.gz"))
|
||||
(uri (string-append "https://flintlib.org/flint-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0sp79ixaawjzna79afrlwlx9hg55jxil03f1wq435j9k23ar1h1g"))))
|
||||
(base32 "1d4lawfvmjd4n7rp4z9xkwwjjbrjhkmxnxw1xf0ki1isa001lcbv"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(list ntl))
|
||||
(propagated-inputs
|
||||
(list gmp mpfr)) ; header files from both are included by flint/arith.h
|
||||
(arguments
|
||||
`(#: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))))))
|
||||
`(#:parallel-tests? #f)) ; seems to be necessary on arm
|
||||
(synopsis "Fast library for number theory")
|
||||
(description
|
||||
"FLINT is a C library for number theory. It supports arithmetic
|
||||
|
@ -470,52 +478,12 @@ (define-public flint
|
|||
'((release-monitoring-url . "http://flintlib.org/downloads.html")))))
|
||||
|
||||
(define-public arb
|
||||
(package
|
||||
(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+)))
|
||||
(deprecated-package "arb" flint))
|
||||
|
||||
(define-public python-flint
|
||||
(package
|
||||
(name "python-flint")
|
||||
(version "0.3.0")
|
||||
(version "0.5.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -524,15 +492,14 @@ (define-public python-flint
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1v0anazbj1cfi68nl2j6dbd31kgkc1563xmr0zk5xk3xj78569pw"))
|
||||
(patches (search-patches "python-flint-includes.patch"))))
|
||||
"10370kqik6q6vdqrqv3gbznsyaxbgqb3rbrff4alpw0sqr5s07c7"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
(list python-cython))
|
||||
(list python-cython-3))
|
||||
(propagated-inputs
|
||||
(list python-numpy))
|
||||
(inputs
|
||||
(list arb flint))
|
||||
(list flint))
|
||||
(synopsis "Python module wrapping ARB and FLINT")
|
||||
(description
|
||||
"Python-flint is a Python extension module wrapping FLINT
|
||||
|
@ -592,12 +559,12 @@ (define-public ntl
|
|||
(define-public singular
|
||||
(package
|
||||
(name "singular")
|
||||
(version "4.2.1")
|
||||
(version "4.3.2p10")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(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/"
|
||||
(string-join
|
||||
(string-split
|
||||
|
@ -607,7 +574,7 @@ (define-public singular
|
|||
#\.) "-")
|
||||
"/singular-" version ".tar.gz"))
|
||||
(sha256 (base32
|
||||
"13gy1gdng8zijwlr1fn5sixw53z0zf9czzlg0vh1dcc59zw6v998"))))
|
||||
"1a2j2pkp73rb1xdd5623gkk1snwd85yimssnz86y0m79zvyckhi8"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list doxygen graphviz perl))
|
||||
|
|
|
@ -36,6 +36,7 @@ (define-module (gnu packages android)
|
|||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system android-ndk)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system emacs)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system go)
|
||||
#:use-module (guix build-system python)
|
||||
|
@ -1224,6 +1225,36 @@ (define-public fdroidcl
|
|||
(home-page "https://github.com/mvdan/fdroidcl")
|
||||
(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
|
||||
(package
|
||||
(name "enjarify")
|
||||
|
@ -1277,7 +1308,7 @@ (define-public enjarify
|
|||
(define-public android-file-transfer
|
||||
(package
|
||||
(name "android-file-transfer")
|
||||
(version "4.2")
|
||||
(version "4.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -1287,7 +1318,7 @@ (define-public android-file-transfer
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"125rq8ji83nw6chfw43i0h9c38hjqh1qjibb0gnf9wrigar9zc8b"))))
|
||||
"1ianph8ivj0fxg1l7llid7gv4pbfb5j23b33j9gan6x7scr13q2h"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f)) ;there are no tests
|
||||
|
|
|
@ -45,14 +45,14 @@ (define-module (gnu packages antivirus)
|
|||
(define-public clamav
|
||||
(package
|
||||
(name "clamav")
|
||||
(version "0.103.8")
|
||||
(version "0.103.11")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.clamav.net/downloads/production/"
|
||||
"clamav-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0gwcikzfdswrdh5vhh3x4lx8w92476fmb7im7phnv4r7x5pdljbg"))
|
||||
"04by1g3p6awhi3j1y6zpwzmasdnvjgi6lwm34l2gadlwgkdfpmv1"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1424,6 +1424,35 @@ (define-public infamous-plugins
|
|||
envelope follower, distortion effects, tape effects and more.")
|
||||
(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
|
||||
(package
|
||||
(name "snapcast")
|
||||
|
@ -6311,7 +6340,7 @@ (define-public odio-sacd
|
|||
(define-public qpwgraph
|
||||
(package
|
||||
(name "qpwgraph")
|
||||
(version "0.6.0")
|
||||
(version "0.6.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -6320,7 +6349,7 @@ (define-public qpwgraph
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"17jl347rwagdyx6pgnp83l1ffhlyfl0s4jf7ii2i1j3s1m9sz7y0"))))
|
||||
"0185hxbwqxhjiyym0s7bmrm50f3p4bnvx92qqmgvg3zd7r1x8m8s"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(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
|
@ -37,7 +37,27 @@ def path_to_saves(gamedir, save_directory=None):
|
|||
if not save_directory:
|
||||
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():
|
||||
try:
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; 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>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
|
@ -18,6 +18,7 @@
|
|||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages axoloti)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
|
@ -218,8 +219,9 @@ (define-public axoloti-patcher
|
|||
(name "axoloti-patcher")
|
||||
(version (package-version axoloti-runtime))
|
||||
(arguments
|
||||
`(#:tests? #f ; no check target
|
||||
#:modules ((guix build gnu-build-system)
|
||||
(list
|
||||
#:tests? #f ; no check target
|
||||
#:modules '((guix build gnu-build-system)
|
||||
((guix build ant-build-system) #:prefix ant:)
|
||||
(guix build utils)
|
||||
(srfi srfi-1)
|
||||
|
@ -229,113 +231,109 @@ (define-public axoloti-patcher
|
|||
(sxml simple)
|
||||
(sxml xpath)
|
||||
(sxml transform))
|
||||
#:imported-modules ((guix build ant-build-system)
|
||||
#:imported-modules `((guix build ant-build-system)
|
||||
,@%gnu-build-system-modules)
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'make-git-checkout-writable
|
||||
(lambda _
|
||||
(for-each make-file-writable (find-files "."))
|
||||
#t))
|
||||
(delete 'configure)
|
||||
(replace 'build
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(setenv "JAVA_HOME" (assoc-ref inputs "icedtea"))
|
||||
;; We want to use our own jar files instead of the pre-built
|
||||
;; stuff in lib. So we replace the zipfileset tags in the
|
||||
;; build.xml with new ones that reference our jars.
|
||||
(let* ((build.xml (with-input-from-file "build.xml"
|
||||
(lambda _
|
||||
(xml->sxml #:trim-whitespace? #t))))
|
||||
(jars (append-map (match-lambda
|
||||
(((? (cut string-prefix? "java-" <>)
|
||||
label) . directory)
|
||||
(find-files directory "\\.jar$"))
|
||||
(_ '()))
|
||||
inputs))
|
||||
(classpath (string-join jars ":"))
|
||||
(fileset (map (lambda (jar)
|
||||
`(zipfileset (@ (excludes "META-INF/*.SF")
|
||||
(src ,jar))))
|
||||
jars)))
|
||||
(call-with-output-file "build.xml"
|
||||
(lambda (port)
|
||||
(sxml->xml
|
||||
(pre-post-order
|
||||
build.xml
|
||||
`(;; Remove all zipfileset tags from the "jar" tree and
|
||||
;; inject our own tags.
|
||||
(jar . ,(lambda (tag . kids)
|
||||
`(jar ,@(append-map
|
||||
(filter (lambda (e)
|
||||
(not (eq? 'zipfileset (car e)))))
|
||||
kids)
|
||||
,@fileset)))
|
||||
;; Skip the "bundle" target (and the "-post-jar" target
|
||||
;; that depends on it), because we don't need it and it
|
||||
;; confuses sxml->xml.
|
||||
(target . ,(lambda (tag . kids)
|
||||
(let ((name ((sxpath '(name *text*))
|
||||
(car kids))))
|
||||
(if (or (member "bundle" name)
|
||||
(member "-post-jar" name))
|
||||
'() ; skip
|
||||
`(,tag ,@kids)))))
|
||||
(*default* . ,(lambda (tag . kids) `(,tag ,@kids)))
|
||||
(*text* . ,(lambda (_ txt)
|
||||
(match txt
|
||||
;; Remove timestamp.
|
||||
("${TODAY}" "(unknown)")
|
||||
(_ txt))))))
|
||||
port)))
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(replace 'build
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(setenv "JAVA_HOME" (assoc-ref inputs "icedtea"))
|
||||
;; We want to use our own jar files instead of the pre-built
|
||||
;; stuff in lib. So we replace the zipfileset tags in the
|
||||
;; build.xml with new ones that reference our jars.
|
||||
(let* ((build.xml (with-input-from-file "build.xml"
|
||||
(lambda _
|
||||
(xml->sxml #:trim-whitespace? #t))))
|
||||
(jars (append-map (match-lambda
|
||||
(((? (cut string-prefix? "java-" <>)
|
||||
label) . directory)
|
||||
(find-files directory "\\.jar$"))
|
||||
(_ '()))
|
||||
inputs))
|
||||
(classpath (string-join jars ":"))
|
||||
(fileset (map (lambda (jar)
|
||||
`(zipfileset (@ (excludes "META-INF/*.SF")
|
||||
(src ,jar))))
|
||||
jars)))
|
||||
(call-with-output-file "build.xml"
|
||||
(lambda (port)
|
||||
(sxml->xml
|
||||
(pre-post-order
|
||||
build.xml
|
||||
`( ;; Remove all zipfileset tags from the "jar" tree and
|
||||
;; inject our own tags.
|
||||
(jar . ,(lambda (tag . kids)
|
||||
`(jar ,@(append-map
|
||||
(filter (lambda (e)
|
||||
(not (eq? 'zipfileset (car e)))))
|
||||
kids)
|
||||
,@fileset)))
|
||||
;; Skip the "bundle" target (and the "-post-jar" target
|
||||
;; that depends on it), because we don't need it and it
|
||||
;; confuses sxml->xml.
|
||||
(target . ,(lambda (tag . kids)
|
||||
(let ((name ((sxpath '(name *text*))
|
||||
(car kids))))
|
||||
(if (or (member "bundle" name)
|
||||
(member "-post-jar" name))
|
||||
'() ; skip
|
||||
`(,tag ,@kids)))))
|
||||
(*default* . ,(lambda (tag . kids) `(,tag ,@kids)))
|
||||
(*text* . ,(lambda (_ txt)
|
||||
(match txt
|
||||
;; Remove timestamp.
|
||||
("${TODAY}" "(unknown)")
|
||||
(_ txt))))))
|
||||
port)))
|
||||
|
||||
;; Build it!
|
||||
(invoke "ant"
|
||||
(string-append "-Djavac.classpath=" classpath)
|
||||
"-Dbuild.runtime=true"
|
||||
"-Dbuild.time=01/01/1970 00:00:00"
|
||||
"-Djavac.source=1.7"
|
||||
"-Djavac.target=1.7"
|
||||
(string-append "-Dtag.short.version="
|
||||
,version)))))
|
||||
(replace 'install
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(share (string-append out "/share/axoloti/")))
|
||||
(install-file "dist/Axoloti.jar" share)
|
||||
;; Build it!
|
||||
(invoke "ant"
|
||||
(string-append "-Djavac.classpath=" classpath)
|
||||
"-Dbuild.runtime=true"
|
||||
"-Dbuild.time=01/01/1970 00:00:00"
|
||||
"-Djavac.source=1.7"
|
||||
"-Djavac.target=1.7"
|
||||
(string-append "-Dtag.short.version="
|
||||
#$version)))))
|
||||
(replace 'install
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((share (string-append #$output "/share/axoloti/")))
|
||||
(install-file "dist/Axoloti.jar" share)
|
||||
|
||||
;; We do this to ensure that this package retains references to
|
||||
;; other Java packages' jar files.
|
||||
(install-file "build.xml" share)
|
||||
;; We do this to ensure that this package retains references to
|
||||
;; other Java packages' jar files.
|
||||
(install-file "build.xml" share)
|
||||
|
||||
;; Create a launcher script
|
||||
(mkdir (string-append out "/bin"))
|
||||
(let ((target (string-append out "/bin/Axoloti")))
|
||||
(with-output-to-file target
|
||||
(lambda ()
|
||||
(let* ((dir (string-append (assoc-ref outputs "out")
|
||||
"/share/axoloti"))
|
||||
(runtime (search-input-directory inputs
|
||||
"share/axoloti"))
|
||||
(toolchain (assoc-ref inputs "cross-toolchain"))
|
||||
(includes (string-append
|
||||
toolchain
|
||||
"/arm-none-eabi/include/c++:"
|
||||
toolchain
|
||||
"/arm-none-eabi/include/c++/arm-none-eabi/armv7e-m")))
|
||||
(display
|
||||
(string-append "#!" (which "sh") "\n"
|
||||
"export CROSS_CPATH=" includes "\n"
|
||||
"export CROSS_CPLUS_INCLUDE_PATH=" includes "\n"
|
||||
"export CROSS_LIBRARY_PATH="
|
||||
toolchain "/arm-none-eabi/lib" "\n"
|
||||
(which "java")
|
||||
" -Daxoloti_release=" runtime
|
||||
" -Daxoloti_runtime=" runtime
|
||||
" -jar " dir "/Axoloti.jar")))))
|
||||
(chmod target #o555)))))
|
||||
(add-after 'install 'strip-jar-timestamps
|
||||
(assoc-ref ant:%standard-phases 'strip-jar-timestamps)))))
|
||||
;; Create a launcher script
|
||||
(mkdir (string-append #$output "/bin"))
|
||||
(let ((target (string-append #$output "/bin/Axoloti")))
|
||||
(with-output-to-file target
|
||||
(lambda ()
|
||||
(let* ((dir (string-append #$output "/share/axoloti"))
|
||||
(runtime (search-input-directory inputs
|
||||
"share/axoloti"))
|
||||
(toolchain (assoc-ref inputs "cross-toolchain"))
|
||||
(includes (string-append
|
||||
toolchain
|
||||
"/arm-none-eabi/include/:"
|
||||
toolchain
|
||||
"/arm-none-eabi/include/c++:"
|
||||
toolchain
|
||||
"/arm-none-eabi/include/c++/arm-none-eabi/armv7e-m")))
|
||||
(display
|
||||
(string-append "#!" (which "sh") "\n"
|
||||
"export CROSS_CPATH=" includes "\n"
|
||||
"export CROSS_CPLUS_INCLUDE_PATH=" includes "\n"
|
||||
"export CROSS_LIBRARY_PATH="
|
||||
toolchain "/arm-none-eabi/lib" "\n"
|
||||
(which "java")
|
||||
" -Daxoloti_release=" runtime
|
||||
" -Daxoloti_runtime=" runtime
|
||||
" -jar " dir "/Axoloti.jar")))))
|
||||
(chmod target #o555)))))
|
||||
(add-after 'install 'strip-jar-timestamps
|
||||
(assoc-ref ant:%standard-phases 'strip-jar-timestamps)))))
|
||||
(inputs
|
||||
`(("icedtea" ,icedtea "jdk")
|
||||
("cross-toolchain" ,(make-arm-none-eabi-nano-toolchain-4.9))
|
||||
|
|
|
@ -71,7 +71,10 @@ (define-module (gnu packages backup)
|
|||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnupg)
|
||||
#: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-xyz)
|
||||
#:use-module (gnu packages gperf)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages guile)
|
||||
|
@ -1270,27 +1273,28 @@ (define-public burp
|
|||
(define-public disarchive
|
||||
(package
|
||||
(name "disarchive")
|
||||
(version "0.5.0")
|
||||
(version "0.6.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://files.ngyro.com/disarchive/"
|
||||
"disarchive-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"16sjplkn9nr7zhfrqll7l1m2b2j4hg8k29p6bqjap9fkj6zpn2q2"))))
|
||||
"1s4lyhhh1zsaxgn11hy2b1kdvnvpipii68wba0hwr471rd43m08k"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list autoconf
|
||||
automake
|
||||
pkg-config
|
||||
guile-3.0 ;for cross-compilation
|
||||
guile-bzip2
|
||||
guile-gcrypt
|
||||
guile-lzma
|
||||
guile-quickcheck))
|
||||
(inputs
|
||||
(list guile-3.0 zlib))
|
||||
(propagated-inputs
|
||||
(list guile-gcrypt guile-lzma))
|
||||
(list guile-bzip2 guile-gcrypt guile-lzma))
|
||||
(home-page "https://ngyro.com/software/disarchive.html")
|
||||
(synopsis "Software archive disassembler")
|
||||
(description "Disarchive can disassemble software archives into data
|
||||
|
@ -1337,7 +1341,7 @@ (define-public borgmatic
|
|||
(invoke "pytest")))))))
|
||||
(inputs
|
||||
(list borg python-colorama python-jsonschema python-requests
|
||||
python-ruamel.yaml))
|
||||
python-ruamel.yaml-0.16))
|
||||
(native-inputs
|
||||
(list python-flexmock python-pytest python-pytest-cov))
|
||||
(home-page "https://torsion.org/borgmatic/")
|
||||
|
|
|
@ -1551,8 +1551,8 @@ (define* (libc-utf8-locales-for-target #:optional
|
|||
(define-public tzdata
|
||||
(package
|
||||
(name "tzdata")
|
||||
;; This package should be kept in sync with python-pytz in (gnu packages
|
||||
;; time).
|
||||
;; This package should be kept in sync with python-pytz and python-tzdata
|
||||
;; in (gnu packages time).
|
||||
(version "2022a")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -529,7 +529,7 @@ (define-public libtorrent-rasterbar-1.2
|
|||
(define-public qbittorrent
|
||||
(package
|
||||
(name "qbittorrent")
|
||||
(version "4.6.2")
|
||||
(version "4.6.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -538,7 +538,7 @@ (define-public qbittorrent
|
|||
(commit (string-append "release-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1wps17iv4gj7y751fibvcxk51v09wyniv6xm2yx429dj7z8rfmzs"))))
|
||||
(base32 "01d393v0v4c9rp909l3ddif984pp1z6sym74yc0kgxqq2kplj5g1"))))
|
||||
(build-system qt-build-system)
|
||||
(arguments
|
||||
(list #:configure-flags #~(list "-DTESTING=ON")
|
||||
|
@ -547,7 +547,7 @@ (define-public qbittorrent
|
|||
(list qttools-5))
|
||||
(inputs
|
||||
(list boost
|
||||
libtorrent-rasterbar-1.2
|
||||
libtorrent-rasterbar
|
||||
openssl
|
||||
python-wrapper
|
||||
qtsvg-5
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; 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>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
|
@ -19,30 +19,30 @@
|
|||
|
||||
(define-module (gnu packages books)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages base)
|
||||
#: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 music)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages tex)
|
||||
#:use-module (gnu packages texlive)
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages fonts)
|
||||
#:use-module (gnu packages fontutils))
|
||||
#:use-module (gnu packages version-control))
|
||||
|
||||
(define-public book-sparc
|
||||
(package
|
||||
(name "book-sparc")
|
||||
(version "1.1.0")
|
||||
(version "2.0.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -50,7 +50,7 @@ (define-public book-sparc
|
|||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32
|
||||
"0k1miyrnh5362qy50jzp5j3ww0c8hr7wk3y5kg6xlqgk9f8msvag"))
|
||||
"0bn3a3m0kcjybyaz1a7pj8n48jh1cg4szwi9px3zjhhm5818wi7z"))
|
||||
(file-name (git-file-name name version))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
|
@ -81,6 +81,7 @@ (define-public book-sparc
|
|||
texlive-bibtex
|
||||
texlive-bibtexperllibs
|
||||
texlive-bigfoot
|
||||
texlive-chngcntr
|
||||
texlive-circuitikz
|
||||
texlive-collection-langcyrillic
|
||||
texlive-fontspec
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2020, 2021 Marius Bakke <marius@gnu.org>
|
||||
;;; 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.
|
||||
;;;
|
||||
|
@ -58,8 +58,8 @@ (define ublock-main-assets
|
|||
;; Arbitrary commit of branch master,
|
||||
;; Update when updating uBlockOrigin.
|
||||
(let* ((name "ublock-main-assets")
|
||||
(commit "76bd7cb53036a36f7e7df5ee9173f588ba8aa966")
|
||||
(revision "1")
|
||||
(commit "b15998fae22b2b9593794b6b46647385b9c101d4")
|
||||
(revision "2")
|
||||
(version (git-version "0" revision commit)))
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -68,14 +68,14 @@ (define ublock-main-assets
|
|||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1kdzvflr1yxykyva5vsjqr0p2ik1200xbhxwpl3cx2jsiv8l95sk")))))
|
||||
(base32 "1jnj3qhsqd7k28f6l2cibkpipnf7y7j97fsrwwfz4zqd8p69c3fx")))))
|
||||
|
||||
(define ublock-prod-assets
|
||||
;; Arbitrary commit of branch gh-pages,
|
||||
;; Update when updating uBlockOrigin.
|
||||
(let* ((name "ublock-prod-assets")
|
||||
(commit "a379a168fc149ffbd6d10cd0700d4ab4801e57f2")
|
||||
(revision "1")
|
||||
(commit "60fa7b4b33d5d257d9d0f1ee8db65c1e663f2d31")
|
||||
(revision "2")
|
||||
(version (git-version "0" revision commit)))
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -84,12 +84,12 @@ (define ublock-prod-assets
|
|||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0syf3kbhvsbn5xka5knpclxby2kp92my1w7ixvf5fs9n08ylcip1")))))
|
||||
(base32 "092llpcv24xn8p3h73r0q582vwxia9rh9ss6xxbra2xmy70hg24k")))))
|
||||
|
||||
(define ublock-origin
|
||||
(package
|
||||
(name "ublock-origin")
|
||||
(version "1.54.0")
|
||||
(version "1.56.0")
|
||||
(home-page "https://github.com/gorhill/uBlock")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
|
@ -99,7 +99,7 @@ (define ublock-origin
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1yacqpf9z8lprwsj194bhlp2ba9ywzbagd6lwxj3h6g405s7zp2k"))))
|
||||
"150n3g42wx8bp1dgmf360gd87g8pk6zzgkyd8k698mj6r5anfwpa"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("xpi" "firefox" "chromium"))
|
||||
(properties '((addon-id . "uBlock0@raymondhill.net")))
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
;;; Copyright © 2022 Antero Mejr <antero@mailbox.org>
|
||||
;;; Copyright © 2023 zamfofex <zamfofex@twdb.moe>
|
||||
;;; 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.
|
||||
;;;
|
||||
|
@ -1349,7 +1349,7 @@ (define target-machine #$(and=> (%current-target-system)
|
|||
(define-public tinydir
|
||||
(package
|
||||
(name "tinydir")
|
||||
(version "1.2.5")
|
||||
(version "1.2.6")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -1358,7 +1358,7 @@ (define-public tinydir
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1nprgdfx4i8wzc1idw6chan4fjfa75b5ll8kghdc0q2278pny259"))
|
||||
"143n6yabznxk032gv5g2k8glf0kzicarg9cx0714zsbfmzj8lr07"))
|
||||
(patches (search-patches "tinydir-fix-cbehave-test.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet '(delete-file-recursively "tests/cbehave"))))
|
||||
|
@ -1390,7 +1390,7 @@ (define-public tinydir
|
|||
(define-public libdispatch
|
||||
(package
|
||||
(name "libdispatch")
|
||||
(version "5.7")
|
||||
(version "5.9.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -1400,7 +1400,7 @@ (define-public libdispatch
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0skg1azbhbg7y0ql2a5sx6lmfip8l1rajqm95zzf9xv45n4dg9nn"))))
|
||||
"02k90asz0yxrcmy67mmqqc68n8f16jf445l0n7jryb7nk30bgmm6"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list #:phases
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
;;; Copyright © 2015 David Thompson <davet@gnu.org>
|
||||
;;; Copyright © 2015, 2016, 2017 Leo Famulari <leo@famulari.name>
|
||||
;;; 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, 2021 Stefan Reichoer <stefan@xsteve.at>
|
||||
;;; Copyright © 2018, 2019, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
|
@ -292,7 +292,11 @@ (define-public libhdate
|
|||
version "/" name "-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0qkpq412p78znw8gckwcx3l0wcss9s0dgw1pvjb1ih2pxf6hm4rw"))))
|
||||
"0qkpq412p78znw8gckwcx3l0wcss9s0dgw1pvjb1ih2pxf6hm4rw"))
|
||||
(snippet
|
||||
#~(begin (use-modules (guix build utils))
|
||||
(substitute* "libhdate.pc.in"
|
||||
(("prefix=/usr") "prefix=@prefix@"))))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "http://libhdate.sourceforge.net/")
|
||||
(synopsis "Library to use Hebrew dates")
|
||||
|
|
|
@ -48,6 +48,7 @@
|
|||
;;; Copyright © 2023 Reza Housseini <reza@housseini.me>
|
||||
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
|
||||
;;; Copyright © 2023 Troy Figiel <troy@troyfigiel.com>
|
||||
;;; Copyright © 2024 Giacomo Leidi <goodoldpaul@autistici.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -77,6 +78,7 @@ (define-module (gnu packages check)
|
|||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages golang)
|
||||
#:use-module (gnu packages golang-build)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages guile-xyz)
|
||||
|
@ -898,94 +900,6 @@ (define-public python-gixy
|
|||
command.")
|
||||
(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
|
||||
(package
|
||||
(name "googletest")
|
||||
|
@ -1028,7 +942,7 @@ (define-public googletest-1.8
|
|||
(define-public googlebenchmark
|
||||
(package
|
||||
(name "googlebenchmark")
|
||||
(version "1.8.2")
|
||||
(version "1.8.3")
|
||||
(home-page "https://github.com/google/benchmark")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
|
@ -1037,7 +951,7 @@ (define-public googlebenchmark
|
|||
(file-name (git-file-name "google-benchmark" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1p72bw7xcd88d8268fmmzji59408f552fbiv37jmsixml5dmq9wv"))))
|
||||
"1hf8xrdd9k57kw3mpdi68a78fd96vzdqv3179v2yy5dxx336ffw3"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON"
|
||||
|
@ -1052,6 +966,29 @@ (define-public googlebenchmark
|
|||
similar to unit tests.")
|
||||
(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
|
||||
(package
|
||||
(name "cpputest")
|
||||
|
@ -1227,14 +1164,14 @@ (define-public python-nose
|
|||
(define-public python-nose2
|
||||
(package
|
||||
(name "python-nose2")
|
||||
(version "0.11.0")
|
||||
(version "0.14.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "nose2" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1scxwvwbgfdj41acma41xzdhcfdwjj9irj6sfifdbyf9dryqs83d"))))
|
||||
"1936fkrxg672bhp9i32ivna7jbydl9dpbhyn5f3059xrl1qdfa2w"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
(list #:phases
|
||||
|
@ -1245,10 +1182,6 @@ (define-public python-nose2
|
|||
;; Tests require nose2 itself.
|
||||
(setenv "PYTHONPATH" (getcwd))
|
||||
(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")
|
||||
(synopsis "Next generation of nicer testing for Python")
|
||||
(description
|
||||
|
@ -3194,6 +3127,36 @@ (define-public python-pyhamcrest
|
|||
allowing you to declaratively define \"match\" rules.")
|
||||
(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
|
||||
(package
|
||||
(name "unittest-cpp")
|
||||
|
@ -3594,6 +3557,29 @@ (define-public python-pytest-regressions
|
|||
that can be used to verify that future runs produce the same data.")
|
||||
(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
|
||||
(package
|
||||
(name "guile-proba")
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
|
||||
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
|
||||
;;; 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.
|
||||
;;;
|
||||
|
@ -589,7 +589,7 @@ (define-public python-pymol
|
|||
(define-public gemmi
|
||||
(package
|
||||
(name "gemmi")
|
||||
(version "0.5.7")
|
||||
(version "0.6.4")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -598,7 +598,7 @@ (define-public gemmi
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"00km5q726bslrw7xbfwb3f3mrsk19qbimfnl3hvr4wi1y3z8i18a"))
|
||||
"0wciqqswc4p4v4kglfv36gnvyyimqn4lnywdzd0pgrjn443i860y"))
|
||||
(patches
|
||||
(search-patches "gemmi-fix-sajson-types.patch"
|
||||
"gemmi-fix-pegtl-usage.patch"))
|
||||
|
@ -625,7 +625,7 @@ (define-public gemmi
|
|||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-includes
|
||||
(lambda _
|
||||
(substitute* (list "include/gemmi/sprintf.hpp"
|
||||
(substitute* (list "src/sprintf.cpp"
|
||||
"include/gemmi/dirwalk.hpp"
|
||||
"include/gemmi/cif.hpp"
|
||||
"include/gemmi/json.hpp"
|
||||
|
@ -708,7 +708,12 @@ (define-public freesasa
|
|||
#~(list "--enable-check"
|
||||
"--enable-parser-generator"
|
||||
"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
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'remove-libc++-linking
|
||||
|
@ -722,7 +727,7 @@ (define-public freesasa
|
|||
(("libfreesasa\\.a") "libfreesasa.la")
|
||||
(("freesasa_LDADD \\+= libfreesasa\\.la" prev)
|
||||
(string-append prev "\nlibfreesasa_la_LIBADD"
|
||||
" = -ljson-c ${libxml2_LIBS}\n"))
|
||||
" = -ljson-c -lgemmi_cpp ${libxml2_LIBS}\n"))
|
||||
(("_a_SOURCES") "_la_SOURCES"))
|
||||
(substitute* "configure.ac"
|
||||
(("AC_PROG_INSTALL" inst)
|
||||
|
@ -765,7 +770,7 @@ (define-public freesasa
|
|||
(define-public maeparser
|
||||
(package
|
||||
(name "maeparser")
|
||||
(version "1.3.0")
|
||||
(version "1.3.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -774,7 +779,7 @@ (define-public maeparser
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1yv4y5hn49fhylziigsg922bb244lb57p69r7vg9q899zd3l5b7l"))))
|
||||
"0mr5glg4br04ql5grby8yqni9fqq1l1cc75wyc159a1b9lwr7q7r"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs (list boost zlib))
|
||||
(home-page "https://github.com/schrodinger/maeparser")
|
||||
|
@ -785,7 +790,7 @@ (define-public maeparser
|
|||
(define-public coordgenlibs
|
||||
(package
|
||||
(name "coordgenlibs")
|
||||
(version "3.0.1")
|
||||
(version "3.0.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -794,7 +799,7 @@ (define-public coordgenlibs
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0d09x3v38i9y184bml020bq7xizdrdwng38qmdxlplzfhqkjdidv"))))
|
||||
"1wjaxwaihjy9xm5ys23f5abl50zcar1h9pww5ajdkgygsqy0bavi"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -812,7 +817,7 @@ (define-public coordgenlibs
|
|||
(define-public yaehmop
|
||||
(package
|
||||
(name "yaehmop")
|
||||
(version "2022.09.1")
|
||||
(version "2023.03.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -821,7 +826,7 @@ (define-public yaehmop
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1x0d75m1hgdb411fiv7c5bwq1n4y0swrll0gigh8v5c73kjxrja0"))
|
||||
"18xnxqn8i7vswy3iffapfh9q2iimpnd23ps45hn4xxbs6dqgzprb"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
@ -917,90 +922,67 @@ (define-public yaehmop
|
|||
(define-public avalon-toolkit
|
||||
(package
|
||||
(name "avalon-toolkit")
|
||||
(version "1.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://sourceforge/avalontoolkit/"
|
||||
"AvalonToolkit_" (substring version 0 3) "/AvalonToolkit_"
|
||||
version ".source.tar"))
|
||||
(sha256
|
||||
(base32
|
||||
"0rnnyy6axs2da7aa4q6l30ldavbk49v6l22llj1adn74h1i67bpv"))
|
||||
(modules '((guix build utils) (ice-9 ftw)))
|
||||
(snippet
|
||||
#~(begin
|
||||
(delete-file-recursively "../SourceDistribution/java")))))
|
||||
(version "2.0.5a")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/rohdebe1/ava-formake")
|
||||
(commit (string-append "AvalonToolkit_" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1mfg40y5xc17sm59zdfc5sk22n9zm5zk0z1aw47chvl6hp465szk"))
|
||||
(patches
|
||||
(search-patches "avalon-toolkit-rdkit-fixes.patch"))
|
||||
(modules '((guix build utils) (ice-9 ftw)))
|
||||
(snippet
|
||||
#~(begin
|
||||
(delete-file-recursively "src/main/java")
|
||||
(delete-file-recursively "src/test/target")))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; There are no intended tests
|
||||
;; There is only one test, which is missing a file
|
||||
#:tests? #f
|
||||
#:phases
|
||||
#~(let ((programs '("canonizer" "matchtest" "sketch" "smi2mol" "struchk")))
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'chdir
|
||||
(lambda _ (chdir "common")))
|
||||
(delete 'configure)
|
||||
(add-before 'build 'dont-free-static-memory
|
||||
(lambda _
|
||||
(substitute* "reaccsio.c"
|
||||
(("MyFree\\(.*tempdir\\)" m)
|
||||
(string-append "/* freeing memory from getenv is bad */"
|
||||
"// " m)))))
|
||||
;; The makefile has incorrect compiler flags and is missing some
|
||||
;; object files, so we build it ourselves.
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(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().
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(replace 'build
|
||||
(lambda* (#:key parallel-build? #:allow-other-keys)
|
||||
(mkdir "build")
|
||||
(mkdir-p "target/executables")
|
||||
(mkdir-p "target/libraries")
|
||||
(invoke "make" "programs" "-j"
|
||||
(if parallel-build?
|
||||
(number->string (parallel-job-count))
|
||||
"1"))))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
;; Executables
|
||||
(let ((programs '("canonizer" "matchtest" "smi2mol" "struchk")))
|
||||
(for-each
|
||||
(lambda (program)
|
||||
(display (string-append "Building " program "\n"))
|
||||
(invoke "gcc" "-L." "-lavalontoolkit" "-lm" "-O2"
|
||||
(string-append "-Wl,-rpath=" #$output "/lib")
|
||||
"-DMAIN" (string-append program ".c") "-o" program))
|
||||
programs)))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
;; Executables
|
||||
(for-each
|
||||
(lambda (program)
|
||||
(install-file program (string-append #$output "/bin")))
|
||||
programs)
|
||||
(for-each
|
||||
(lambda (name)
|
||||
(symlink (string-append #$output "/bin/smi2mol")
|
||||
(string-append #$output "/bin/" name)))
|
||||
'("mol2smi" "rdf2smi" "mol2tbl" "mol2sma" "smi2rdf"))
|
||||
;; Library
|
||||
(install-file "libavalontoolkit.so"
|
||||
(string-append #$output "/lib"))
|
||||
(for-each
|
||||
(lambda (file)
|
||||
(install-file file (string-append #$output
|
||||
"/include/avalontoolkit")))
|
||||
(find-files "." "\\.h$"))
|
||||
(install-file "../license.txt"
|
||||
(string-append #$output "/share/doc/"
|
||||
#$name "-" #$version "/"))))))))
|
||||
(install-file (string-append "target/executables/" program)
|
||||
(string-append #$output "/bin")))
|
||||
programs))
|
||||
(for-each
|
||||
(lambda (name)
|
||||
(symlink (string-append #$output "/bin/smi2mol")
|
||||
(string-append #$output "/bin/" name)))
|
||||
'("mol2smi" "rdf2smi" "mol2tbl" "mol2sma" "smi2rdf"))
|
||||
;; Library
|
||||
(install-file "target/libraries/libavalon_tools.a"
|
||||
(string-append #$output "/lib"))
|
||||
(install-file "target/libraries/libavalon4rdkit.a"
|
||||
(string-append #$output "/lib"))
|
||||
(for-each
|
||||
(lambda (file)
|
||||
(install-file file (string-append #$output
|
||||
"/include/avalontoolkit")))
|
||||
(find-files "src/main/C/include" "\\.h$"))
|
||||
(install-file "license.txt"
|
||||
(string-append #$output "/share/doc/"
|
||||
#$name "-" #$version "/")))))))
|
||||
(home-page "https://sourceforge.net/projects/avalontoolkit/")
|
||||
(synopsis "Tools for SMILES and MOL files and for structure fingerprinting")
|
||||
(description "This package contains a library and programs for
|
||||
|
@ -1091,7 +1073,7 @@ (define-public ringdecomposerlib
|
|||
(define-public rdkit
|
||||
(package
|
||||
(name "rdkit")
|
||||
(version "2022.03.5")
|
||||
(version "2023.09.4")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -1102,7 +1084,7 @@ (define-public rdkit
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"19idgilabh04cbr1qj6zgrgsfjm248mmfz6fsr0smrd68d0xnml9"))
|
||||
"1lgcgijlzzwpfxndsdlx13npdfk7hcii11zg25cvpmzhbpn6vyn8"))
|
||||
(patches
|
||||
(search-patches "rdkit-unbundle-external-dependencies.patch"))
|
||||
(modules '((guix build utils)))
|
||||
|
@ -1201,7 +1183,10 @@ (define-public rdkit
|
|||
"substructLibraryTest" "pyFeatures"
|
||||
"pythonTestDirML" "pythonTestDirChem"
|
||||
;; Catching Python exception fails
|
||||
"pyRanker") "|")
|
||||
"pyRanker"
|
||||
;; Flaky test depending on floating point rounding
|
||||
"testConrec"
|
||||
) "|")
|
||||
")")))))))))
|
||||
(inputs
|
||||
(list avalon-toolkit
|
||||
|
@ -1218,7 +1203,7 @@ (define-public rdkit
|
|||
(native-inputs
|
||||
(list bison
|
||||
boost
|
||||
catch2
|
||||
catch2-3
|
||||
eigen
|
||||
flex
|
||||
freesasa
|
||||
|
@ -1232,4 +1217,8 @@ (define-public rdkit
|
|||
(description "RDKit is a C++ and Python library for cheminformatics, which
|
||||
includes (among other things) the analysis and modification of molecules in 2D
|
||||
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)))
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
;;; Copyright © 2017, 2020, 2021 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2017, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; 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>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
|
@ -209,14 +209,15 @@ (define-public laminar
|
|||
(use-modules (ice-9 popen))
|
||||
|
||||
(mkdir-p "../build/js")
|
||||
(for-each (lambda (name)
|
||||
(let* ((file
|
||||
(assoc-ref inputs (string-append name ".js")))
|
||||
(port
|
||||
(invoke "tar" "-xf" (assoc-ref inputs "chart.js.tgz")
|
||||
"--strip-components" "2"
|
||||
"package/dist/chart.js")
|
||||
(for-each (lambda (file minified-file)
|
||||
(let* ((port
|
||||
(open-pipe* OPEN_READ "uglifyjs" file))
|
||||
(destination
|
||||
(string-append
|
||||
"../build/js/" name ".min.js")))
|
||||
"../build/js/" minified-file)))
|
||||
|
||||
(call-with-output-file destination
|
||||
(lambda (output-port)
|
||||
|
@ -226,9 +227,12 @@ (define-public laminar
|
|||
(unless (zero? exit)
|
||||
(error "uglifyjs failed" exit)))))
|
||||
|
||||
'("vue"
|
||||
"vue-router"
|
||||
"Chart"))
|
||||
(list (assoc-ref inputs "vue.js")
|
||||
(assoc-ref inputs "vue-router.js")
|
||||
"chart.js")
|
||||
(list "vue.min.js"
|
||||
"vue-router.min.js"
|
||||
"Chart.min.js"))
|
||||
|
||||
;; ansi_up.js isn't minified
|
||||
(copy-file (assoc-ref inputs "ansi_up.js")
|
||||
|
@ -260,13 +264,13 @@ (define-public laminar
|
|||
(sha256
|
||||
(base32
|
||||
"1dx8wn38ds8d01kkih26fx1yrisg3kpz61qynjr4zil03ap0hrlr"))))
|
||||
("Chart.js"
|
||||
("chart.js.tgz"
|
||||
,(origin (method url-fetch)
|
||||
(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
|
||||
(base32
|
||||
"05m3gk6hqjx92j20drnk7q075qpjraywqaf25lnglmsgsgpiqsr7"))))))
|
||||
"1ikjgspaknqlhpjad17563yph4pvrh8dkzjdx58pl23gg58hf7hi"))))))
|
||||
(synopsis "Lightweight continuous integration service")
|
||||
(description
|
||||
"Laminar is a lightweight and modular continuous integration service. It
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; 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.
|
||||
;;;
|
||||
|
@ -30,7 +30,7 @@ (define-module (gnu packages clifm)
|
|||
(define-public clifm
|
||||
(package
|
||||
(name "clifm")
|
||||
(version "1.15")
|
||||
(version "1.17")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -39,7 +39,7 @@ (define-public clifm
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1r9pxlyn8jg0wmzbmbc71l42098lz5k32k6yid09yz6d0gaax7g1"))))
|
||||
(base32 "00f5x0352dsf8f9ixkcwma7wr5pg78maavmd950nni38m647clm6"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags (list (string-append "CC="
|
||||
|
@ -53,8 +53,8 @@ (define-public clifm
|
|||
(inputs (list readline acl libcap))
|
||||
(home-page "https://github.com/leo-arch/clifm")
|
||||
(synopsis "Command-line file manager")
|
||||
(description "Clifm a shell-like, text-based terminal file manager that
|
||||
sits on the command line.
|
||||
(description "Clifm is a shell-like, text-based terminal file manager
|
||||
that sits on the command line.
|
||||
|
||||
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
|
||||
|
|
|
@ -203,14 +203,14 @@ (define (make-classpath libraries)
|
|||
(define-public clojure-tools
|
||||
(package
|
||||
(name "clojure-tools")
|
||||
(version "1.11.1.1165")
|
||||
(version "1.11.1.1200")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.clojure.org/install/clojure-tools-"
|
||||
version
|
||||
".tar.gz"))
|
||||
(sha256 (base32 "1lg97waqfcgzr3dz5426fbc4kqcsavpbqil2iyjm1dw3zrfa8ysi"))
|
||||
(sha256 (base32 "075naxfiddi6jqr6rqiywwy91r188n5m8yfqcxddmds2vm5rrpnv"))
|
||||
;; Remove AOT compiled JAR. The other JAR only contains uncompiled
|
||||
;; Clojure source code.
|
||||
(snippet
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
|
||||
;;; 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 © 2018 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
|
@ -380,6 +380,8 @@ (define-public cmake
|
|||
(string-append "-DCMAKE_DOC_DIR=share/doc/cmake-"
|
||||
#$(version-major+minor (package-version
|
||||
cmake-minimal)))
|
||||
(string-append "-DCMake_INSTALL_VIMFILES_DIR=" #$output
|
||||
"/share/vim/vimfiles/pack/guix/start/cmake")
|
||||
"-DCMAKE_INFO_DIR=share/info"
|
||||
"-DCMAKE_MAN_DIR=share/man")
|
||||
#$flags))
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; 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.
|
||||
;;;
|
||||
|
@ -23,7 +23,9 @@ (define-module (gnu packages cobol)
|
|||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages dbm)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages perl)
|
||||
|
@ -42,7 +44,17 @@ (define-public gnucobol
|
|||
version ".tar.xz"))
|
||||
(sha256
|
||||
(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
|
||||
(list
|
||||
#:configure-flags
|
||||
|
@ -62,7 +74,9 @@ (define-public gnucobol
|
|||
(lambda _ (setenv "TERM" "xterm-256color"))))
|
||||
#:test-target "checkall"))
|
||||
(native-inputs
|
||||
`(("perl" ,perl)
|
||||
`(("bison" ,bison)
|
||||
("flex" ,flex)
|
||||
("perl" ,perl)
|
||||
("newcob" ,(origin
|
||||
(method url-fetch)
|
||||
(uri "https://www.itl.nist.gov/div897/ctg/suites/newcob.val.Z")
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
;;; Copyright © 2013, 2015, 2018, 2020, 2021, 2023 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
|
||||
;;; 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 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2017 Andy Wingo <wingo@igalia.com>
|
||||
|
@ -436,7 +436,7 @@ (define-public trio
|
|||
(define-public universal-ctags
|
||||
(package
|
||||
(name "universal-ctags")
|
||||
(version "6.0.20231001.0")
|
||||
(version "6.1.20240218.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -446,7 +446,7 @@ (define-public universal-ctags
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0qik6rsai254prydfx8k2bq7wpim3a272jiw1y37r734k4s9xbrb"))
|
||||
"09cjlj7mq3s98x9zsg4slq86h1myixjxxqfnc0kglf2hnr9nrkf5"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
|
|
@ -998,14 +998,14 @@ (define-public squashfs-tools-ng
|
|||
(define-public pigz
|
||||
(package
|
||||
(name "pigz")
|
||||
(version "2.7")
|
||||
(version "2.8")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://zlib.net/pigz/"
|
||||
name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"01y7n7lafp6maqnp4jrmasawnv67najh1bd7gjrmv3d08h1ydjdl"))))
|
||||
"1l0g2zaz05pl3pijsjd8lqxqj122di88rggpr5cvw3hz1r7jp1zb"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:make-flags
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
;;; Copyright © 2019 Alexandru-Sergiu Marton <brown121407@member.fsf.org>
|
||||
;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
|
||||
;;; 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.
|
||||
;;;
|
||||
|
@ -113,7 +113,7 @@ (define-public compton
|
|||
(define-public picom
|
||||
(package
|
||||
(name "picom")
|
||||
(version "10.2")
|
||||
(version "11.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -122,23 +122,25 @@ (define-public picom
|
|||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32
|
||||
"1vd4nhvfykwdhpyhb0jmcj333zxhm6dyikafd76fa4z4fhjrrs0b"))
|
||||
"0swmpw6lj0aiwypdfkzsy38jwsm9wfcn7i5klrqfn2klrwinv27f"))
|
||||
(file-name (string-append "picom-" version))))
|
||||
(build-system meson-build-system)
|
||||
(inputs
|
||||
(list dbus
|
||||
libconfig
|
||||
libepoxy
|
||||
libev
|
||||
libx11
|
||||
libxext
|
||||
libev
|
||||
libxdg-basedir
|
||||
mesa
|
||||
xprop
|
||||
xcb-util-renderutil
|
||||
xcb-util-image
|
||||
pcre2
|
||||
pixman
|
||||
uthash
|
||||
libxdg-basedir
|
||||
pcre))
|
||||
xcb-util
|
||||
xcb-util-renderutil
|
||||
xcb-util-image
|
||||
xprop))
|
||||
(native-inputs
|
||||
(list asciidoc pkg-config xorgproto))
|
||||
(arguments
|
||||
|
|
|
@ -21,7 +21,9 @@ (define-module (gnu packages configuration-management)
|
|||
#:use-module (guix build-system go)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (gnu packages golang)
|
||||
#:use-module (gnu packages golang-build)
|
||||
#:use-module (gnu packages golang-web)
|
||||
#:use-module (gnu packages golang-xyz)
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages textutils)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
|
@ -31,9 +33,7 @@ (define-module (gnu packages configuration-management)
|
|||
(define-public chezmoi
|
||||
(package
|
||||
(name "chezmoi")
|
||||
;; XXX: Make sure 7f238faa61e46d79b54d4d0ea8f0b5fc27db84b2 applied before
|
||||
;; version update, which should fix @code{password-store} integration.
|
||||
(version "1.8.1")
|
||||
(version "1.8.10")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -42,47 +42,78 @@ (define-public chezmoi
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1b8y0wq3myhvjdnwl0i4x85iil7i7kmsjajvbw1a47afm83jkbaw"))))
|
||||
"0ildvlq7v8vnw74y4fgnv3hpq49bpl6zh1wmakfh46crwg7ffmjb"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#: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
|
||||
(list go-github-com-masterminds-sprig
|
||||
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
|
||||
(list go-etcd-io-bbolt
|
||||
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-danwakefield-fnmatch
|
||||
go-github-com-dlclark-regexp2
|
||||
go-github-go-git
|
||||
go-github-com-google-go-github
|
||||
go-github-com-godbus-dbus
|
||||
go-github-com-google-go-github-v33
|
||||
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-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-masterminds-goutils
|
||||
go-github-com-masterminds-semver
|
||||
go-github-com-masterminds-sprig
|
||||
go-github-com-mattn-go-isatty
|
||||
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-pelletier-go-toml
|
||||
go-github-com-pkg-diff
|
||||
go-github-com-rogpeppe-go-internal
|
||||
go-github-com-sergi-go-diff
|
||||
go-github-com-spf13-cobra
|
||||
go-github-com-spf13-viper
|
||||
|
@ -92,12 +123,11 @@ (define-public chezmoi
|
|||
go-github-com-twpayne-go-xdg
|
||||
go-github-com-yuin-goldmark
|
||||
go-github-com-zalando-go-keyring
|
||||
go-github-com-godbus-dbus
|
||||
go-etcd-io-bbolt
|
||||
go-github-go-git
|
||||
go-golang-org-x-crypto
|
||||
go-golang-org-x-net
|
||||
go-golang-org-x-oauth2
|
||||
go-github-com-rogpeppe-go-internal
|
||||
go-golang-org-x-term
|
||||
go-gopkg-in-errgo-fmt-errors))
|
||||
(home-page "https://www.chezmoi.io/")
|
||||
(synopsis "Personal configuration files manager")
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
;;; Copyright © 2022 Michael Rohleder <mike@rohleder.de>
|
||||
;;; Copyright © 2023 Zongyuan Li <zongyuan.li@c0x0o.me>
|
||||
;;; Copyright © 2023 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2024 Tomas Volf <~@wolfsden.cz>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -53,62 +54,50 @@ (define-module (gnu packages containers)
|
|||
#:use-module (gnu packages wget))
|
||||
|
||||
(define-public crun
|
||||
(let ((commit "c381048530aa750495cf502ddb7181f2ded5b400"))
|
||||
(package
|
||||
(name "crun")
|
||||
(version "1.4.5")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/containers/crun")
|
||||
(commit commit)
|
||||
(recursive? #t)))
|
||||
(sha256
|
||||
(base32 "0x2xmr5sv9ivvcv5fl5jjk4kq9b3n97s5hsqiqfwl4rz8qcz4xk1"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags '("--disable-systemd")
|
||||
#:tests? #f ; XXX: needs /sys/fs/cgroup mounted
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'do-not-depend-on-git
|
||||
(lambda _
|
||||
(substitute* "autogen.sh"
|
||||
(("^git submodule update.*")
|
||||
""))
|
||||
(with-output-to-file "git-version.h"
|
||||
(lambda ()
|
||||
(display (string-append
|
||||
"/* autogenerated. */\n#ifndef GIT_VERSION\n# define GIT_VERSION \""
|
||||
,commit
|
||||
"\"\n#endif\n"))))))
|
||||
(add-after 'unpack 'fix-tests
|
||||
(lambda _
|
||||
(substitute* (find-files "tests" "\\.(c|py)")
|
||||
(("/bin/true") (which "true"))
|
||||
(("/bin/false") (which "false"))
|
||||
; relies on sd_notify which requires systemd?
|
||||
(("\"sd-notify\" : test_sd_notify,") "")
|
||||
(("\"sd-notify-file\" : test_sd_notify_file,") "")))))))
|
||||
(inputs
|
||||
(list libcap
|
||||
libseccomp
|
||||
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)
|
||||
(package
|
||||
(name "crun")
|
||||
(version "1.14.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/containers/crun/releases/download/"
|
||||
version
|
||||
"/crun-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"02lplc2asyllb58mvy7l8b9gsk7fxs95g928xk28yzmf592ay33x"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags '("--disable-systemd")
|
||||
#:tests? #f ; XXX: needs /sys/fs/cgroup mounted
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-tests
|
||||
(lambda _
|
||||
(substitute* (find-files "tests" "\\.(c|py)")
|
||||
(("/bin/true") (which "true"))
|
||||
(("/bin/false") (which "false"))
|
||||
; relies on sd_notify which requires systemd?
|
||||
(("\"sd-notify\" : test_sd_notify,") "")
|
||||
(("\"sd-notify-file\" : test_sd_notify_file,") "")))))))
|
||||
(inputs
|
||||
(list libcap
|
||||
libseccomp
|
||||
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.")
|
||||
(license license:gpl2+))))
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public conmon
|
||||
(package
|
||||
|
@ -221,7 +210,7 @@ (define-public libslirp
|
|||
(define-public slirp4netns
|
||||
(package
|
||||
(name "slirp4netns")
|
||||
(version "1.2.0")
|
||||
(version "1.2.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -229,7 +218,7 @@ (define-public slirp4netns
|
|||
(url "https://github.com/rootless-containers/slirp4netns")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "1rlzwp5fx1x3q179j9s2jp02imjag5pgj333z110nrvi7azl22l8"))
|
||||
(base32 "0czvdsdv821fz4jd9rgrlkdhhjna6frawr8klvx3k2cfh444fbii"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
|
|
@ -31,6 +31,7 @@ (define-module (gnu packages coq)
|
|||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages emacs)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages gawk)
|
||||
|
@ -51,10 +52,10 @@ (define-module (gnu packages coq)
|
|||
#:use-module (guix utils)
|
||||
#:use-module ((srfi srfi-1) #:hide (zip)))
|
||||
|
||||
(define-public coq-core
|
||||
(define-public coq
|
||||
(package
|
||||
(name "coq-core")
|
||||
(version "8.16.1")
|
||||
(name "coq")
|
||||
(version "8.17.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -64,28 +65,35 @@ (define-public coq-core
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0ljpqhh5lfsim29fcfp2xfcvm3j84pf1mb0gnpdr8vcqqw7mqwpf"))
|
||||
(patches (search-patches "coq-fix-envvars.patch"))))
|
||||
"0gg6hizq0i08lk741b579cbswhy6qvkh6inc3d3i5a2af98psq63"))))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "COQPATH")
|
||||
(files (list "lib/ocaml/site-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))))
|
||||
(files (list "lib/coq/user-contrib")))))
|
||||
(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
|
||||
(list gmp ocaml-zarith))
|
||||
(native-inputs
|
||||
(list ocaml-ounit2 which))
|
||||
(arguments
|
||||
`(#:package "coq-core"
|
||||
#:test-target "."))
|
||||
(properties '((upstream-name . "coq"))) ; also for inherited packages
|
||||
(home-page "https://coq.inria.fr")
|
||||
(synopsis "Proof assistant for higher-order logic")
|
||||
|
@ -97,39 +105,6 @@ (define-public coq-core
|
|||
;; Some of the documentation is distributed under 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
|
||||
(package
|
||||
(inherit coq)
|
||||
|
@ -148,7 +123,7 @@ (define-public coq-ide
|
|||
`(#:tests? #f
|
||||
#:package "coqide"))
|
||||
(propagated-inputs
|
||||
(list coq coq-ide-server))
|
||||
(list coq coq-ide-server zlib))
|
||||
(inputs
|
||||
(list lablgtk3 ocaml-lablgtk3-sourceview3))))
|
||||
|
||||
|
@ -242,7 +217,7 @@ (define-public proof-general
|
|||
(define-public coq-flocq
|
||||
(package
|
||||
(name "coq-flocq")
|
||||
(version "4.1.0")
|
||||
(version "4.1.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -252,7 +227,7 @@ (define-public coq-flocq
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1yscj1120wch6myakaia03j11qji416v78ylx842d23hrbaqwmw5"))))
|
||||
"01x38w58j95ba9679vpb5wv4bvfnrapd5dzjqlyz8k7i8a9sfqn0"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list autoconf automake ocaml which coq))
|
||||
|
@ -315,7 +290,7 @@ (define-public coq-for-coqtail
|
|||
(define-public coq-gappa
|
||||
(package
|
||||
(name "coq-gappa")
|
||||
(version "1.5.2")
|
||||
(version "1.5.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -325,7 +300,7 @@ (define-public coq-gappa
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0l65ah81yj9vabgkwqh47c02qvscvl8nl60gqn1qrs47dx1pi80q"))))
|
||||
"1dzkb2sfglhik2ymw8p65khl163xxjsaqji9agnnkvlk5r6589v6"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list autoconf
|
||||
|
@ -375,7 +350,7 @@ (define-public coq-gappa
|
|||
(define-public coq-mathcomp
|
||||
(package
|
||||
(name "coq-mathcomp")
|
||||
(version "1.15.0")
|
||||
(version "1.17.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -384,7 +359,7 @@ (define-public coq-mathcomp
|
|||
(commit (string-append "mathcomp-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "158zl36zbvi5qx2nqbfnrg00jpgp6hjr5hmls7d8d0421ar6b67i"))))
|
||||
(base32 "06i6kw5p2024n6h9mf8bvwn54il1a4z2h4qrgc8y0iq8hkvx4fnd"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list ocaml which coq))
|
||||
|
@ -412,7 +387,7 @@ (define-public coq-mathcomp
|
|||
(define-public coq-coquelicot
|
||||
(package
|
||||
(name "coq-coquelicot")
|
||||
(version "3.2.0")
|
||||
(version "3.4.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -422,7 +397,7 @@ (define-public coq-coquelicot
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"146s5y2xsc7wb43m1pq1n4p14hw99gqbzx0ic3a4naxq16v7cv4w"))))
|
||||
"1f6zim6hnm6zrij964vas6rfbxh5p147qsxxmmbxm7gyb85hhy45"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list autoconf automake ocaml which coq))
|
||||
|
@ -495,7 +470,7 @@ (define-public coq-bignums
|
|||
(define-public coq-interval
|
||||
(package
|
||||
(name "coq-interval")
|
||||
(version "4.5.2")
|
||||
(version "4.8.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -505,7 +480,7 @@ (define-public coq-interval
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"138vgb0bq6wkygrhkahjgb9spwpzc6x6kkycj2qnf5naxx1z412w"))))
|
||||
"0m3icx77p99ld9qfl3xjq62q572pyi4m77i1kc3whvipvg7834rh"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list autoconf automake ocaml which coq))
|
||||
|
@ -542,35 +517,31 @@ (define-public coq-interval
|
|||
(license license:cecill-c)))
|
||||
|
||||
(define-public coq-autosubst
|
||||
;; Latest commit on that branch, where work on supporting coq 8.6 and
|
||||
;; more recent versions of coq happen.
|
||||
(let ((branch "coq86-devel")
|
||||
(commit "fa6ef30664511ffa659cbcf3c962715cbee03572"))
|
||||
(package
|
||||
(name "coq-autosubst")
|
||||
(version (git-version "1" branch commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "git://github.com/uds-psl/autosubst")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1cl0bp96bk6lplbl7n5c703vd3gvbs5mvf2qrf8q333kkqd7jqq4"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f
|
||||
(package
|
||||
(name "coq-autosubst")
|
||||
(version "1.8")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/coq-community/autosubst")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0qk72r6cqxwhqqkl2kmryhw365w3l2016qii1q1sk3md7zq46jcz"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f
|
||||
#:make-flags (list (string-append "COQLIBINSTALL="
|
||||
(assoc-ref %outputs "out")
|
||||
"/lib/coq/user-contrib"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure))))
|
||||
(native-inputs
|
||||
(list coq))
|
||||
(home-page "https://www.ps.uni-saarland.de/autosubst/")
|
||||
(synopsis "Coq library for parallel de Bruijn substitutions")
|
||||
(description "Formalizing syntactic theories with variable binders is
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure))))
|
||||
(native-inputs
|
||||
(list coq))
|
||||
(home-page "https://www.ps.uni-saarland.de/autosubst/")
|
||||
(synopsis "Coq library for parallel de Bruijn substitutions")
|
||||
(description "Formalizing syntactic theories with variable binders is
|
||||
not easy. Autosubst is a library for the Coq proof assistant to
|
||||
automate this process. Given an inductive definition of syntactic objects in
|
||||
de Bruijn representation augmented with binding annotations, Autosubst
|
||||
|
@ -581,21 +552,21 @@ (define-public coq-autosubst
|
|||
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
|
||||
uses Ltac to synthesize the substitution operation.")
|
||||
(license license:bsd-3))))
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public coq-equations
|
||||
(package
|
||||
(name "coq-equations")
|
||||
(version "1.3")
|
||||
(version "1.3-8.17")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(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))
|
||||
(sha256
|
||||
(base32
|
||||
"08f756vgdd1wklkarg0b93j4n5mhkqm5ixxrhyb23dcv2dwhc8yg"))))
|
||||
"0g68h4c1ijpphixvl9wkd7sibds38v4236dpvvh194j5ii42vnn8"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list ocaml coq camlp5))
|
||||
|
@ -673,7 +644,7 @@ (define-public coq-semantics
|
|||
(define-public coq-stdpp
|
||||
(package
|
||||
(name "coq-stdpp")
|
||||
(version "1.7.0")
|
||||
(version "1.8.0")
|
||||
(synopsis "Alternative Coq standard library std++")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
|
@ -683,7 +654,7 @@ (define-public coq-stdpp
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0447wbzm23f9rl8byqf6vglasfn6c1wy6cxrrwagqjwsh3i5lx8y"))))
|
||||
"0xawh3xkh76yhs689zw52k55cbzga2gyzl4g1a3pgg6yy420chjn"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(list coq))
|
||||
|
@ -747,7 +718,7 @@ (define-public coq-mathcomp-finmap
|
|||
"/lib/coq/user-contrib"))
|
||||
#:phases (modify-phases %standard-phases
|
||||
(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")
|
||||
(description
|
||||
"This library is an extension of coq-mathcomp which supports finite sets
|
||||
|
@ -778,7 +749,7 @@ (define-public coq-mathcomp-bigenough
|
|||
;; by the packaged project in the future.
|
||||
#:tests? #f
|
||||
#:make-flags ,#~(list (string-append "COQBIN="
|
||||
#$(this-package-input "coq-core")
|
||||
#$(this-package-input "coq")
|
||||
"/bin/")
|
||||
(string-append "COQMF_COQLIB="
|
||||
(assoc-ref %outputs "out")
|
||||
|
@ -788,7 +759,7 @@ (define-public coq-mathcomp-bigenough
|
|||
"/lib/coq/user-contrib"))
|
||||
#:phases (modify-phases %standard-phases
|
||||
(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/")
|
||||
(synopsis "Small library to do epsilon - N reasoning")
|
||||
(description
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
;;; Copyright © 2019 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
|
||||
;;; Copyright © 2020, 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
|
||||
;;; 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, 2021, 2022 Vinicius Monego <monego@posteo.net>
|
||||
;;; Copyright © 2020, 2022 Marius Bakke <marius@gnu.org>
|
||||
|
@ -25,11 +25,11 @@
|
|||
;;; Copyright © 2021 jgart <jgart@dismail.de>
|
||||
;;; Copyright © 2021 Julien Lepiller <julien@lepiller.eu>
|
||||
;;; 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 Attila Lendvai <attila@lendvai.name>
|
||||
;;; 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, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2022 Antero Mejr <antero@mailbox.org>
|
||||
|
@ -187,45 +187,39 @@ (define-public asmjit
|
|||
(define-public range-v3
|
||||
(package
|
||||
(name "range-v3")
|
||||
(version "0.11.0")
|
||||
(version "0.12.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri
|
||||
(git-reference
|
||||
(url "https://github.com/ericniebler/range-v3.git")
|
||||
(commit version)))
|
||||
(file-name
|
||||
(git-file-name name version))
|
||||
(patches (search-patches "range-v3-build-with-gcc10.patch"))
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ericniebler/range-v3.git")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "18230bg4rq9pmm5f8f65j444jpq56rld4fhmpham8q3vr1c1bdjh"))))
|
||||
(base32 "0r85s5rmp5ixmik2y5y4w760pa38j1sg9hbr1fss2flibzvrf53d"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(list "-DRANGES_NATIVE=OFF")))
|
||||
(native-inputs
|
||||
(list doxygen gcc-9 perl))
|
||||
(inputs
|
||||
(list boost))
|
||||
#:configure-flags #~(list "-DRANGES_NATIVE=OFF")))
|
||||
(native-inputs (list doxygen perl))
|
||||
(inputs (list boost))
|
||||
(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.
|
||||
Unlike other range-like solutions which, seek to do away with iterators, in
|
||||
range-v3 ranges are an abstraction layer on top of iterators.")
|
||||
(home-page "https://github.com/ericniebler/range-v3/")
|
||||
(license
|
||||
(list
|
||||
;; Elements of Programming
|
||||
(license:x11-style "file:///LICENSE.txt")
|
||||
;; SGI STL
|
||||
license:sgifreeb2.0
|
||||
;;; LibC++ (dual-licensed)
|
||||
license:expat
|
||||
license:ncsa
|
||||
;; Others
|
||||
license:boost1.0))))
|
||||
(license (list
|
||||
;; Elements of Programming
|
||||
(license:x11-style "file:///LICENSE.txt")
|
||||
;; SGI STL
|
||||
license:sgifreeb2.0
|
||||
;; LibC++ (dual-licensed)
|
||||
license:expat
|
||||
license:ncsa
|
||||
;; Others
|
||||
license:boost1.0))))
|
||||
|
||||
(define-public robin-hood-hashing
|
||||
(package
|
||||
|
@ -285,16 +279,18 @@ (define-public c2ffi
|
|||
(name "c2ffi")
|
||||
;; As per the c2ffi README: the first three elements are encoding the
|
||||
;; required Clang/LLVM version, and the last one is the c2ffi revision.
|
||||
(version "12.0.0.0")
|
||||
(version "16.0.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(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))
|
||||
(sha256
|
||||
(base32 "1qq8dfismd20d9kfxpfvwz07v9mfvd0y7p5r3c92mk2pm4xnmzfy"))
|
||||
(base32 "1mqhw4838chl495gaj9z0731ahkmqb4f3wlc1qalk82fdsaniyd5"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(substitute* "CMakeLists.txt"
|
||||
|
@ -315,9 +311,9 @@ (define-public c2ffi
|
|||
(when tests?
|
||||
(invoke "./bin/c2ffi" "--help")))))))
|
||||
(native-inputs
|
||||
(list clang-12)) ; CMakeLists.txt invokes `clang -print-resource-dir`
|
||||
(list clang-16)) ; CMakeLists.txt invokes `clang -print-resource-dir`
|
||||
(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")
|
||||
(synopsis "Clang-based FFI wrapper generator")
|
||||
(description
|
||||
|
@ -519,7 +515,17 @@ (define-public google-highway
|
|||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#: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
|
||||
(list googletest))
|
||||
(home-page "https://github.com/google/highway")
|
||||
|
@ -1061,10 +1067,9 @@ (define-public reproc
|
|||
(base32 "09xnf8hmld1fk8j33zwlz1qcxnjdx1ncbg62csic9va4m1wc2v1d"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
;; No tests.
|
||||
`(#:tests? #f
|
||||
;; Build the shared library instead of a static one.
|
||||
#:configure-flags `("-DBUILD_SHARED_LIBS=1")))
|
||||
(list #:tests? #f ; No tests.
|
||||
#:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON"
|
||||
"-DREPROC++=ON")))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(synopsis "Process IO library")
|
||||
|
@ -1628,7 +1633,7 @@ (define-public libexpected
|
|||
(define-public immer
|
||||
(package
|
||||
(name "immer")
|
||||
(version "0.8.0")
|
||||
(version "0.8.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -1636,19 +1641,12 @@ (define-public immer
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "11km3l5h3rgsbj8yfyzk3fnx9na55l6zs2sxpx922yvlvs2blh27"))
|
||||
(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>"))))))
|
||||
(base32 "03qkr42h0g6rivj3kq207gzgnv7hq88y69q16l2vg1lbvjcgca2g"))))
|
||||
(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))
|
||||
(native-inputs (list catch2 doctest fmt pkg-config))
|
||||
(home-page "https://sinusoid.es/immer")
|
||||
|
@ -2455,7 +2453,7 @@ (define fast-float-test-files
|
|||
(define-public fast-float
|
||||
(package
|
||||
(name "fast-float")
|
||||
(version "3.5.1")
|
||||
(version "6.0.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -2464,7 +2462,7 @@ (define-public fast-float
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0z3rxxd0pwvw70dbnv63rm67biw829vdqf50y16isxm6g3sbrz8g"))))
|
||||
"1xf4gbllha760cr0ri53zsja46dypj45lj070ijb5f78xavfd8f8"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -2480,9 +2478,7 @@ (define-public fast-float
|
|||
(("if\\(NOT supplemental_test_files_POPULATED.*")
|
||||
(string-append
|
||||
"set(supplemental_test_files_BINARY_DIR "
|
||||
(search-input-directory (or native-inputs inputs)
|
||||
"data")
|
||||
")\nif(0)\n"))))))))
|
||||
#$fast-float-test-files ")\nif(0)\n"))))))))
|
||||
(native-inputs (list doctest fast-float-test-files))
|
||||
(home-page "https://github.com/fastfloat/fast_float")
|
||||
(synopsis "Floating point number parser for C++")
|
||||
|
@ -2708,6 +2704,37 @@ (define-public safeint
|
|||
64-bit integers.")
|
||||
(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
|
||||
;; No tag is available.
|
||||
(let ((commit "da86a62d11e46e4ecd8b16f9775cb5188340a0e2")
|
||||
|
|
File diff suppressed because it is too large
Load diff
1469
gnu/packages/crates-apple.scm
Normal file
1469
gnu/packages/crates-apple.scm
Normal file
File diff suppressed because it is too large
Load diff
5859
gnu/packages/crates-crypto.scm
Normal file
5859
gnu/packages/crates-crypto.scm
Normal file
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
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
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
5654
gnu/packages/crates-web.scm
Normal file
File diff suppressed because it is too large
Load diff
2523
gnu/packages/crates-windows.scm
Normal file
2523
gnu/packages/crates-windows.scm
Normal file
File diff suppressed because it is too large
Load diff
|
@ -745,7 +745,9 @@ (define* (cross-gcc-toolchain/implementation target
|
|||
"Returns PACKAGE that contains a cross-compilation tool chain for TARGET
|
||||
with XBINUTILS, XGCC and LIBC (if exists for TARGET)."
|
||||
(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))
|
||||
(source #f)
|
||||
(build-system trivial-build-system)
|
||||
|
|
|
@ -38,5 +38,8 @@ (define-public gcc-cross-avr-toolchain
|
|||
(define-public gcc-cross-i686-w64-mingw32-toolchain
|
||||
(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
|
||||
(cross-gcc-toolchain "x86_64-w64-mingw32"))
|
||||
|
|
|
@ -53,6 +53,7 @@ (define-module (gnu packages crypto)
|
|||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages cpp)
|
||||
#:use-module (gnu packages crates-crypto)
|
||||
#:use-module (gnu packages crates-io)
|
||||
#:use-module (gnu packages cryptsetup)
|
||||
#:use-module (gnu packages curl)
|
||||
|
@ -60,6 +61,7 @@ (define-module (gnu packages crypto)
|
|||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages gnupg)
|
||||
#:use-module (gnu packages golang)
|
||||
#:use-module (gnu packages golang-build)
|
||||
#:use-module (gnu packages graphviz)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages kerberos)
|
||||
|
|
|
@ -49,6 +49,7 @@ (define-module (gnu packages curl)
|
|||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages golang)
|
||||
#:use-module (gnu packages golang-build)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages kerberos)
|
||||
#:use-module (gnu packages logging)
|
||||
|
@ -421,7 +422,7 @@ (define-public curlie
|
|||
(define-public trurl
|
||||
(package
|
||||
(name "trurl")
|
||||
(version "0.8")
|
||||
(version "0.9")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -430,7 +431,7 @@ (define-public trurl
|
|||
(commit (string-append name "-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "19zdpjp01n7s7zgixq3irqfnx66dmqf8zyp0dlb6y7ga673lqwi8"))))
|
||||
(base32 "10gsl0fdpybfcffmgf3qww7cpw3ifczl601042a2mqmwwrlx5zj7"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
|
|
@ -46,7 +46,7 @@
|
|||
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
|
||||
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@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 Pjotr Prins <pjotr.guix@thebird.nl>
|
||||
;;; Copyright © 2021 Bonface Munyoki Kilyungi <me@bonfacemunyoki.com>
|
||||
|
@ -107,6 +107,7 @@ (define-module (gnu packages databases)
|
|||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages gnupg)
|
||||
#:use-module (gnu packages golang)
|
||||
#:use-module (gnu packages golang-build)
|
||||
#:use-module (gnu packages golang-check)
|
||||
#:use-module (gnu packages golang-web)
|
||||
#:use-module (gnu packages gperf)
|
||||
|
@ -189,6 +190,39 @@ (define-module (gnu packages databases)
|
|||
#:use-module (srfi srfi-26)
|
||||
#: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
|
||||
(package
|
||||
(name "ephemeralpg")
|
||||
|
@ -1446,6 +1480,56 @@ (define-public timescaledb
|
|||
(partitioning key), as well as full SQL support.")
|
||||
(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
|
||||
(package
|
||||
(name "pgloader")
|
||||
|
@ -3348,6 +3432,10 @@ (define-public go-gopkg-in-mgo-v2
|
|||
(arguments
|
||||
'(#:tests? #f ; Tests try to use a running mongodb server.
|
||||
#:import-path "gopkg.in/mgo.v2"))
|
||||
(propagated-inputs
|
||||
(list go-gopkg.in-tomb.v2))
|
||||
(inputs
|
||||
(list cyrus-sasl))
|
||||
(native-inputs
|
||||
(list go-gopkg-in-check-v1))
|
||||
(home-page "https://gopkg.in/mgo.v2")
|
||||
|
@ -3792,7 +3880,7 @@ (define-public python-pickleshare
|
|||
(define-public python-apsw
|
||||
(package
|
||||
(name "python-apsw")
|
||||
(version "3.42.0.1")
|
||||
(version "3.45.1.0")
|
||||
;; The compressed release has fetching functionality disabled.
|
||||
(source
|
||||
(origin
|
||||
|
@ -3802,11 +3890,11 @@ (define-public python-apsw
|
|||
version "/apsw-" version ".zip"))
|
||||
(sha256
|
||||
(base32
|
||||
"0dr7zymn45x2793cilr709rnwn9g1c4n4vzln57y2lhj7420ykic"))))
|
||||
"1vfrzb414pbh5k0cgcqkp039jvla2galapn4a551zgh8xi70bnrp"))))
|
||||
(build-system pyproject-build-system)
|
||||
(native-inputs
|
||||
(list python-cython unzip))
|
||||
(inputs (list sqlite-next)) ;SQLite 3.42 required.
|
||||
(list unzip))
|
||||
(inputs (list sqlite-next)) ;SQLite 3.45.1 required.
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
|
@ -4423,7 +4511,7 @@ (define-public python-pypika
|
|||
(define-public apache-arrow
|
||||
(package
|
||||
(name "apache-arrow")
|
||||
(version "14.0.0")
|
||||
(version "14.0.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -4433,7 +4521,7 @@ (define-public apache-arrow
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"08x01jcibmx03g9p0sjikp3dyynw6is6gyn0m3cy1gwkpkwk2ad2"))))
|
||||
"1idw58vs8r6g6xy2qkhccgc79hwx4r5rr4bhd6ilxx56fwq9hkn2"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
;;; Copyright © 2018, 2020-2024 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2023 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -24,6 +25,7 @@ (define-module (gnu packages debian)
|
|||
#:use-module (guix git-download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (gnu packages autotools)
|
||||
|
@ -146,6 +148,29 @@ (define-public debian-ports-archive-keyring
|
|||
;; "The keys in the keyrings don't fall under any copyright."
|
||||
(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
|
||||
(package
|
||||
(name "ubuntu-keyring")
|
||||
|
@ -208,6 +233,7 @@ (define-public debootstrap
|
|||
(add-after 'unpack 'patch-source
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((debian #$(this-package-input "debian-archive-keyring"))
|
||||
(trisquel #$(this-package-input "trisquel-keyring"))
|
||||
(ubuntu #$(this-package-input "ubuntu-keyring")))
|
||||
(substitute* "Makefile"
|
||||
(("/usr") ""))
|
||||
|
@ -220,6 +246,11 @@ (define-public debootstrap
|
|||
(("/usr") debian))
|
||||
(substitute* "scripts/gutsy"
|
||||
(("/usr") ubuntu))
|
||||
(substitute* "scripts/robur"
|
||||
(("/usr/share/keyrings/trisquel-archive-keyring.gpg")
|
||||
(string-append
|
||||
trisquel
|
||||
"/share/keyrings/trisquel-archive-keyring.gpg")))
|
||||
(substitute* "debootstrap"
|
||||
(("=/usr") (string-append "=" #$output))
|
||||
(("/usr/bin/dpkg") (search-input-file inputs "/bin/dpkg")))
|
||||
|
@ -227,6 +258,8 @@ (define-public debootstrap
|
|||
(substitute* (find-files "scripts")
|
||||
(("keyring.*(debian-archive-keyring.gpg)"_ 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)
|
||||
(string-append "keyring " ubuntu "/share/keyrings/" keyring)))
|
||||
;; Ensure PATH works both in guix and within the debian chroot
|
||||
|
@ -251,11 +284,14 @@ (define-public debootstrap
|
|||
#:tests? #f)) ; no tests
|
||||
(inputs
|
||||
(list debian-archive-keyring
|
||||
trisquel-keyring
|
||||
ubuntu-keyring
|
||||
bash-minimal
|
||||
dpkg
|
||||
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.
|
||||
gnupg
|
||||
wget))
|
||||
|
|
|
@ -50,6 +50,7 @@ (define-module (gnu packages debug)
|
|||
#:use-module (gnu packages code)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages gdb)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gtk)
|
||||
|
@ -59,6 +60,7 @@ (define-module (gnu packages debug)
|
|||
#:use-module (gnu packages libusb)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages ninja)
|
||||
#:use-module (gnu packages perl)
|
||||
|
@ -459,6 +461,59 @@ (define-public qemu-for-american-fuzzy-lop
|
|||
;; Several tests fail on MIPS.
|
||||
(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
|
||||
(let ((commit "97815bed8060de33952475b3498767c91f59ffd9")
|
||||
(revision "2")) ;No official source distribution
|
||||
|
|
|
@ -74,7 +74,7 @@ (define-module (gnu packages diffoscope)
|
|||
(define-public diffoscope
|
||||
(package
|
||||
(name "diffoscope")
|
||||
(version "253")
|
||||
(version "258")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -83,7 +83,7 @@ (define-public diffoscope
|
|||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1nvq0lv246rah0ryb2qd20yf3gfy0iwfi3335rg9c3gpz0ha4wnb"))))
|
||||
(base32 "1wppshi18lyrgxxi8j06ij0qi31zdgqwjj6bycsyvipkc1cj6xhp"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -305,7 +305,7 @@ (define-public reprotest
|
|||
(define-public trydiffoscope
|
||||
(package
|
||||
(name "trydiffoscope")
|
||||
(version "67.0.1")
|
||||
(version "67.0.6")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -315,7 +315,7 @@ (define-public trydiffoscope
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"03b66cjii7l2yiwffj6ym6mycd5drx7prfp4j2550281pias6mjh"))))
|
||||
"0jzxgqraf727fvjcc9bgwz8zymjiix07x54xzqpvm52cv681nd9j"))))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
|
|
|
@ -69,6 +69,7 @@ (define-module (gnu packages disk)
|
|||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages gnupg)
|
||||
#:use-module (gnu packages golang)
|
||||
#:use-module (gnu packages golang-build)
|
||||
#:use-module (gnu packages graphics)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages guile)
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2017, 2019, 2022 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2020 Guy Fleury Iteriteka <gfleury@disroot.org>
|
||||
;;; Copyright © 2021-2023 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2021-2024 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2021, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2022 ( <paren@disroot.org>
|
||||
;;; Copyright © 2022 Esther Flashner <esther@flashner.co.il>
|
||||
;;;
|
||||
|
@ -136,8 +136,7 @@ (define-public gdmd
|
|||
(string-append "my $gdc_dir = \""
|
||||
(dirname (search-input-file inputs "/bin/gdc"))
|
||||
"\";\n"))))))))
|
||||
(inputs
|
||||
(list gdc-11 perl))
|
||||
(inputs (list gdc perl))
|
||||
(home-page "https://github.com/D-Programming-GDC/gdmd")
|
||||
(synopsis "DMD-like wrapper for GDC")
|
||||
(description "This package provides a DMD-like wrapper for the
|
||||
|
@ -192,8 +191,8 @@ (define ldc-bootstrap
|
|||
("libedit" ,libedit)
|
||||
("zlib" ,zlib)))
|
||||
(native-inputs
|
||||
`(("lld-wrapper" ,(make-lld-wrapper lld-14 #:lld-as-ld? #t))
|
||||
("llvm" ,llvm-14)
|
||||
`(("lld-wrapper" ,(make-lld-wrapper lld-15 #:lld-as-ld? #t))
|
||||
("llvm" ,llvm-15)
|
||||
("ldc" ,gdmd)
|
||||
("ninja" ,ninja)
|
||||
("python-wrapper" ,python-wrapper)
|
||||
|
@ -356,9 +355,177 @@ (define (gnu-triplet->clang-arch system)
|
|||
(append (delete "llvm"
|
||||
(alist-replace "ldc" (list 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))))))
|
||||
|
||||
;;; 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
|
||||
(package
|
||||
(name "dub")
|
||||
|
@ -453,3 +620,35 @@ (define-public gtkd
|
|||
(synopsis "D binding and OO wrapper of GTK+")
|
||||
(description "This package provides bindings to GTK+ for D.")
|
||||
(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+)))
|
||||
|
|
|
@ -21,6 +21,7 @@
|
|||
;;; Copyright © 2021 Zheng Junjie <873216071@qq.com>
|
||||
;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu>
|
||||
;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
|
||||
;;; Copyright © 2024 John Kehayias <john.kehayias@protonmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -293,7 +294,7 @@ (define-public dnssec-trigger
|
|||
(define-public dnsmasq
|
||||
(package
|
||||
(name "dnsmasq")
|
||||
(version "2.89")
|
||||
(version "2.90")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -301,7 +302,7 @@ (define-public dnsmasq
|
|||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"02dnxfnman38armn3sw56w80f9wb2vgm3qgm15crs2yg8q1j7g82"))))
|
||||
"1r09l537vi867hlpv6vl7nvqhscvq1kf04m896bfrgrpv2dk0l4f"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
|
@ -336,23 +337,23 @@ (define-public isc-bind
|
|||
;; When updating, check whether isc-dhcp's bundled copy should be as well.
|
||||
;; The BIND release notes are available here:
|
||||
;; https://www.isc.org/bind/
|
||||
(version "9.16.38")
|
||||
(version "9.19.21")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://ftp.isc.org/isc/bind9/" version
|
||||
"/bind-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "03y52iyc2g63lkk9x2vaizpr0jv27g1z6mcxnjw8m8l4kaflrx4d"))
|
||||
(patches
|
||||
(search-patches "bind-re-add-attr-constructor-priority.patch"))))
|
||||
(base32 "133f1aq8acaz9z03cl0gcrj4pq0hqm6c3sm4hz67d37phndsjs1b"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs `("out" "utils"))
|
||||
(inputs
|
||||
;; It would be nice to add GeoIP and gssapi once there are packages.
|
||||
(list libcap
|
||||
liburcu
|
||||
libuv
|
||||
libxml2
|
||||
`(,nghttp2 "lib")
|
||||
openssl
|
||||
p11-kit
|
||||
python
|
||||
|
@ -635,14 +636,14 @@ (define-public rbldnsd
|
|||
(define-public unbound
|
||||
(package
|
||||
(name "unbound")
|
||||
(version "1.17.1")
|
||||
(version "1.19.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.unbound.net/downloads/unbound-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1x55f5aqlzynpy24ryf1rsmdy8m8iyi19n7k03k889g1rk78ah7f"))))
|
||||
(base32 "1ad34jxprygjp7g84q1bgmvcc114f2mgyhfwk9rs0inq7mpmf7dw"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" "python"))
|
||||
(native-inputs
|
||||
|
@ -844,7 +845,7 @@ (define-public yadifa
|
|||
(define-public knot
|
||||
(package
|
||||
(name "knot")
|
||||
(version "3.3.2")
|
||||
(version "3.3.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -853,7 +854,7 @@ (define-public knot
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "17zdpk6wf0cf90dp4cls35si8ywjsqjrmgssw2gmb1y0zfyp19vq"))
|
||||
(base32 "0w7drq0pj94d43qn9wmzxab34mjhxj9x84rixbswc270ywh6d9pr"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
@ -983,14 +984,14 @@ (define (move source target file)
|
|||
(define-public knot-resolver
|
||||
(package
|
||||
(name "knot-resolver")
|
||||
(version "5.5.3")
|
||||
(version "5.7.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://secure.nic.cz/files/knot-resolver/"
|
||||
"knot-resolver-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0bgdbx66dsfik3sdqi4g2imddalqc1p41n444xk7s8vxig35g3x3"))))
|
||||
"18n3jh17d22xmzpg8syw2dm85vv7jchdc4hzk5x78lqxqqav856s"))))
|
||||
(build-system meson-build-system)
|
||||
(outputs '("out" "doc"))
|
||||
(arguments
|
||||
|
|
|
@ -42,6 +42,7 @@ (define-module (gnu packages docker)
|
|||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages golang)
|
||||
#:use-module (gnu packages golang-build)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages networking)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
|
|
|
@ -47,7 +47,9 @@ (define-module (gnu packages education)
|
|||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages golang)
|
||||
#:use-module (gnu packages golang-build)
|
||||
#:use-module (gnu packages golang-check)
|
||||
#:use-module (gnu packages golang-xyz)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages gstreamer)
|
||||
#:use-module (gnu packages image)
|
||||
|
@ -1161,3 +1163,37 @@ (define-public mazo
|
|||
(description "Mazo is a learning application that helps you memorize
|
||||
simple concepts using multimedia flash cards and spaced reviews.")
|
||||
(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+)))
|
||||
|
|
|
@ -7,6 +7,8 @@
|
|||
;;; Copyright © 2018 Nikita <nikita@n0.is>
|
||||
;;; Copyright © 2021 Oskar Köök <oskar@maatriks.ee>
|
||||
;;; 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.
|
||||
;;;
|
||||
|
@ -101,12 +103,26 @@ (define-public elixir
|
|||
(add-after 'install 'wrap-programs
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(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)
|
||||
(wrap-program (string-append out "/bin/" program)
|
||||
'("ERL_LIBS" prefix ("${GUIX_ELIXIR_LIBS}"))))
|
||||
programs)))))))
|
||||
(inputs (list erlang git))
|
||||
(inputs (list erlang rebar3 git))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "GUIX_ELIXIR_LIBS")
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,5 +1,5 @@
|
|||
;;; 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 David Craven <david@craven.ch>
|
||||
;;; Copyright © 2017, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
|
@ -983,14 +983,16 @@ (define-public propeller-load
|
|||
"0w0dff3s7wv2d9m78a4jhckiik58q38wx6wpbba5hzbs4yxz35ck"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no tests
|
||||
#:make-flags
|
||||
(list "OS=linux"
|
||||
(string-append "TARGET=" (assoc-ref %outputs "out")))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(list
|
||||
#:tests? #false ;no tests
|
||||
#:parallel-build? #false ;not supported
|
||||
#:make-flags
|
||||
#~(list "OS=linux"
|
||||
(string-append "TARGET=" #$output))
|
||||
#:phases
|
||||
'(modify-phases %standard-phases
|
||||
(add-after 'unpack 'chdir
|
||||
(lambda _ (chdir "loader") #t))
|
||||
(lambda _ (chdir "loader")))
|
||||
(delete 'configure))))
|
||||
(native-inputs
|
||||
(list openspin (make-propeller-toolchain)))
|
||||
|
@ -1637,7 +1639,7 @@ (define-public ucsim
|
|||
(define-public sdcc
|
||||
(package
|
||||
(name "sdcc")
|
||||
(version "4.3.0")
|
||||
(version "4.4.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -1645,7 +1647,7 @@ (define-public sdcc
|
|||
"/" version "/sdcc-src-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1kckr20jqa4rp4qcw38lwagmw3yfm3z0xb4kygd0608847qc0vra"))
|
||||
"0xbaj3vx5cp3na1kmyhy4jvhcqwrg648scjbykgq0xmibqb1535f"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(begin
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
|
||||
;;; Copyright © 2020 Christopher Howard <christopher@librehacker.com>
|
||||
;;; 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 Guillaume Le Vaillant <glv@posteo.net>
|
||||
;;; Copyright © 2023 c4droid <c4droid@foxmail.com>
|
||||
|
@ -351,7 +351,7 @@ (define-public dolphin-emu
|
|||
libxi
|
||||
libxrandr
|
||||
lzo
|
||||
mbedtls-apache
|
||||
mbedtls-lts
|
||||
mesa
|
||||
miniupnpc
|
||||
openal
|
||||
|
@ -791,7 +791,7 @@ (define-public mgba
|
|||
(define-public sameboy
|
||||
(package
|
||||
(name "sameboy")
|
||||
(version "0.15.8")
|
||||
(version "0.16.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -800,7 +800,7 @@ (define-public sameboy
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "11qz5lamwxgvlh4dc95xd4m8hrypjj3bvha51zg9l454hxlvw4j8"))))
|
||||
(base32 "1ckx5dm57h7ncvfqqqb2mdl5dcmhkardcn78zv965h6w1yxg0ii8"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list rgbds pkg-config))
|
||||
|
@ -1433,7 +1433,7 @@ (define-public libretro-lowresnx
|
|||
(define-public retroarch
|
||||
(package
|
||||
(name "retroarch")
|
||||
(version "1.16.0.3")
|
||||
(version "1.17.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -1442,7 +1442,7 @@ (define-public retroarch
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1nvvd78hx1s73nif7g02pqms29b9v072mxnld0vmsh78236qngq5"))))
|
||||
(base32 "1mf511wh7kpj29vv7rgngamvmfs151n8j4dls7jbqasdj5hik3zi"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no tests
|
||||
|
@ -1490,7 +1490,7 @@ (define-public retroarch
|
|||
libxml2
|
||||
libxrandr
|
||||
libxv
|
||||
mbedtls-apache
|
||||
mbedtls-lts
|
||||
mesa
|
||||
openal
|
||||
openssl
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2015-2023 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; 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-2019, 2021, 2023 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016, 2017, 2018 Theodoros Foradis <theodoros@foradis.org>
|
||||
|
@ -1098,7 +1098,7 @@ (define-public inspekt3d
|
|||
(define-public kicad
|
||||
(package
|
||||
(name "kicad")
|
||||
(version "7.0.10")
|
||||
(version "7.0.11")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -1106,7 +1106,7 @@ (define-public kicad
|
|||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"0rmlkgzgvpd70jzspyrrb2f618fimw52qrhpsp777flmpyh91wly"))
|
||||
"1qn7w6pb1n5gx73z1zqbv140chh4307y8764z7xkdvric9i48qj4"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
|
@ -1206,7 +1206,7 @@ (define-public kicad-doc
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0lc7d6hn8ya8m51kjnf59v41pbp03l5ncxir75s21pb92l26xgnv"))))
|
||||
"10iwp35xywdz15a83vialzfd46rjw6mlz174dxawm2rw4ws2n7j4"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags (list "-DBUILD_FORMATS=html")
|
||||
|
@ -1240,7 +1240,7 @@ (define-public kicad-symbols
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0nlgmxf9z1vf4g350dfkxql1dawgmw275wqxkgszsfxmhdfpmi9v"))))
|
||||
"057zmhf4h3p3p4y6jqxch9cj1wqf129k6kmvx2gshb9lgda0kjr8"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f)) ; no tests exist
|
||||
|
@ -1269,7 +1269,7 @@ (define-public kicad-footprints
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1az6fzh1lma71mj12bc4bblnmzjayrxhkb8w9rjvlhvvgv33cdmy"))))
|
||||
"1r9v8v41n0yrgwsqaksskmdgb9vyw1sb92xh81bwrv2ag3p5vdg7"))))
|
||||
(synopsis "Official KiCad footprint libraries")
|
||||
(description "This package contains the official KiCad footprint libraries.")))
|
||||
|
||||
|
@ -1286,7 +1286,7 @@ (define-public kicad-packages3d
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0xzyi4mgyifwc6dppdzh6jq294mkj0a71cwkqw2ymz1kfbksw626"))))
|
||||
"0lcy1av7ixg1f7arflk50jllpc1749sfvf3h62hkxsz97wkr97xj"))))
|
||||
(synopsis "Official KiCad 3D model libraries")
|
||||
(description "This package contains the official KiCad 3D model libraries.")))
|
||||
|
||||
|
@ -2681,7 +2681,7 @@ (define-public python-pyvisa
|
|||
(define-public python-scikit-rf
|
||||
(package
|
||||
(name "python-scikit-rf")
|
||||
(version "0.30.0")
|
||||
(version "0.31.0")
|
||||
(source (origin
|
||||
(method git-fetch) ;PyPI misses some files required for tests
|
||||
(uri (git-reference
|
||||
|
@ -2689,7 +2689,7 @@ (define-public python-scikit-rf
|
|||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32
|
||||
"1fbws80glrakd08xzhifna831yk0bd8b0cizhfcjkg4km2nyx65c"))
|
||||
"1cidv2373lwxy26kbzg4slaqvn2gpq67mvijgp0rydfx6mm6a89i"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system pyproject-build-system)
|
||||
(propagated-inputs (list python-matplotlib
|
||||
|
@ -3272,6 +3272,8 @@ (define-public poke
|
|||
(guix build utils))
|
||||
#:configure-flags
|
||||
#~(list "--disable-static"
|
||||
(string-append "--with-vimdir=" #$output
|
||||
"/share/vim/vimfiles/pack/guix/start/poke")
|
||||
(string-append "--with-lispdir="
|
||||
(emacs:elpa-directory #$output)))))
|
||||
(home-page "https://www.gnu.org/software/poke/#documentation")
|
||||
|
|
|
@ -12,7 +12,8 @@
|
|||
;;; Copyright © 2021, 2023 Kaelyn Takata <kaelyn.alexi@protonmail.com>
|
||||
;;; Copyright © 2022 Brian Cully <bjc@spork.org>
|
||||
;;; Copyright © 2023 Aaron Covrig <aaron.covrig.us@ieee.org>
|
||||
;;;
|
||||
;;; Copyright © 2024 Ahmad Draidi <a.r.draidi@redscript.org>
|
||||
;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
||||
|
@ -67,11 +68,14 @@ (define-module (gnu packages file-systems)
|
|||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages gawk)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages gnupg)
|
||||
#:use-module (gnu packages golang)
|
||||
#:use-module (gnu packages golang-build)
|
||||
#:use-module (gnu packages golang-check)
|
||||
#:use-module (gnu packages golang-crypto)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages jemalloc)
|
||||
#:use-module (gnu packages kerberos)
|
||||
|
@ -81,6 +85,8 @@ (define-module (gnu packages file-systems)
|
|||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages man)
|
||||
#:use-module (gnu packages m4)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages nfs)
|
||||
#:use-module (gnu packages onc-rpc)
|
||||
#:use-module (gnu packages openldap)
|
||||
|
@ -105,6 +111,7 @@ (define-module (gnu packages file-systems)
|
|||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages valgrind)
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages xml))
|
||||
|
||||
(define-public autofs
|
||||
|
@ -581,98 +588,98 @@ (define-public gphotofs
|
|||
(license license:gpl2+)))
|
||||
|
||||
(define-public bcachefs-tools
|
||||
(let ((commit "1e358401ecdf1963e5799de19ab69111e82e5ebc")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "bcachefs-tools")
|
||||
(version (git-version "1.2" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://evilpiepirate.org/git/bcachefs-tools.git")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0bflgqb3q9jikyyrv6hywv6m1fapzzn874hlhf86pn6abxrlf5fa"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:make-flags
|
||||
#~(list (string-append "VERSION=" #$version) ; ‘v…-nogit’ otherwise
|
||||
(string-append "PREFIX=" #$output)
|
||||
"INITRAMFS_DIR=$(PREFIX)/share/initramfs-tools"
|
||||
(string-append "CC=" #$(cc-for-target))
|
||||
(string-append "PKG_CONFIG=" #$(pkg-config-for-target))
|
||||
;; ‘This will be less of an option in the future, as more
|
||||
;; code gets rewritten in Rust.’
|
||||
"NO_RUST=better")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure) ; no configure script
|
||||
(replace 'check
|
||||
;; The test suite is moribund upstream (‘never been useful’),
|
||||
;; but let's keep running it as a sanity check until then.
|
||||
(lambda* (#:key tests? make-flags #:allow-other-keys)
|
||||
(when tests?
|
||||
;; We must manually build the test_helper first.
|
||||
(apply invoke "make" "tests" make-flags)
|
||||
(invoke (string-append
|
||||
#$(this-package-native-input "python-pytest")
|
||||
"/bin/pytest") "-k"
|
||||
;; These fail (‘invalid argument’) on kernels
|
||||
;; with a previous bcachefs version.
|
||||
(string-append "not test_format and "
|
||||
"not test_fsck and "
|
||||
"not test_list and "
|
||||
"not test_list_inodes and "
|
||||
"not test_list_dirent")))))
|
||||
(add-after 'install 'promote-mount.bcachefs.sh
|
||||
;; The (optional) ‘mount.bcachefs’ requires rust:cargo.
|
||||
;; This shell alternative does the job well enough for now.
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(define (whence file)
|
||||
(dirname (search-input-file inputs file)))
|
||||
(let ((mount (string-append #$output
|
||||
"/sbin/mount.bcachefs")))
|
||||
(delete-file mount) ; symlink to ‘bcachefs’
|
||||
(copy-file "mount.bcachefs.sh" mount)
|
||||
;; WRAP-SCRIPT causes bogus ‘Insufficient arguments’ errors.
|
||||
(wrap-program mount
|
||||
`("PATH" ":" prefix
|
||||
,(list (getcwd)
|
||||
(whence "bin/tail")
|
||||
(whence "bin/awk")
|
||||
(whence "bin/mount"))))))))))
|
||||
(native-inputs
|
||||
(cons* pkg-config
|
||||
;; For generating documentation with rst2man.
|
||||
python
|
||||
python-docutils
|
||||
;; For tests.
|
||||
python-pytest
|
||||
(if (member (%current-system) (package-supported-systems valgrind))
|
||||
(list valgrind)
|
||||
'())))
|
||||
(inputs
|
||||
(list eudev
|
||||
keyutils
|
||||
libaio
|
||||
libscrypt
|
||||
libsodium
|
||||
liburcu
|
||||
`(,util-linux "lib")
|
||||
lz4
|
||||
zlib
|
||||
`(,zstd "lib")
|
||||
(package
|
||||
(name "bcachefs-tools")
|
||||
(version "1.4.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://evilpiepirate.org/git/bcachefs-tools.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0axwbckqrw1v3v50nzhpkvpyjbjwy3rq5bv23db84x3xia497apq"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:make-flags
|
||||
#~(list (string-append "VERSION=" #$version) ; ‘v…-nogit’ otherwise
|
||||
(string-append "PREFIX=" #$output)
|
||||
"INITRAMFS_DIR=$(PREFIX)/share/initramfs-tools"
|
||||
"PKGCONFIG_UDEVRULESDIR=$(PREFIX)/lib/udev/rules.d"
|
||||
(string-append "CC=" #$(cc-for-target))
|
||||
(string-append "PKG_CONFIG=" #$(pkg-config-for-target))
|
||||
;; ‘This will be less of an option in the future, as more
|
||||
;; code gets rewritten in Rust.’
|
||||
"NO_RUST=better")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure) ; no configure script
|
||||
(replace 'check
|
||||
;; The test suite is moribund upstream (‘never been useful’),
|
||||
;; but let's keep running it as a sanity check until then.
|
||||
(lambda* (#:key tests? make-flags #:allow-other-keys)
|
||||
(when tests?
|
||||
;; We must manually build the test_helper first.
|
||||
(apply invoke "make" "tests" make-flags)
|
||||
(invoke (string-append
|
||||
#$(this-package-native-input "python-pytest")
|
||||
"/bin/pytest") "-k"
|
||||
;; These fail (‘invalid argument’) on kernels
|
||||
;; with a previous bcachefs version.
|
||||
(string-append "not test_format and "
|
||||
"not test_fsck and "
|
||||
"not test_list and "
|
||||
"not test_list_inodes and "
|
||||
"not test_list_dirent")))))
|
||||
(add-after 'install 'promote-mount.bcachefs.sh
|
||||
;; The (optional) ‘mount.bcachefs’ requires rust:cargo.
|
||||
;; This shell alternative does the job well enough for now.
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(define (whence file)
|
||||
(dirname (search-input-file inputs file)))
|
||||
(let ((mount (string-append #$output
|
||||
"/sbin/mount.bcachefs")))
|
||||
(delete-file mount) ; symlink to ‘bcachefs’
|
||||
(copy-file "mount.bcachefs.sh" mount)
|
||||
;; WRAP-SCRIPT causes bogus ‘Insufficient arguments’ errors.
|
||||
(wrap-program mount
|
||||
`("PATH" ":" prefix
|
||||
,(list (getcwd)
|
||||
(whence "bin/tail")
|
||||
(whence "bin/awk")
|
||||
(whence "bin/mount"))))))))))
|
||||
(native-inputs
|
||||
(cons* pkg-config
|
||||
;; For generating documentation with rst2man.
|
||||
python
|
||||
python-docutils
|
||||
;; For tests.
|
||||
python-pytest
|
||||
(if (member (%current-system) (package-supported-systems valgrind))
|
||||
(list valgrind)
|
||||
'())))
|
||||
(inputs
|
||||
(list eudev
|
||||
keyutils
|
||||
libaio
|
||||
libscrypt
|
||||
libsodium
|
||||
liburcu
|
||||
`(,util-linux "lib")
|
||||
lz4
|
||||
zlib
|
||||
`(,zstd "lib")
|
||||
|
||||
;; Only for mount.bcachefs.sh.
|
||||
coreutils-minimal
|
||||
gawk
|
||||
util-linux))
|
||||
(home-page "https://bcachefs.org/")
|
||||
(synopsis "Tools to create and manage bcachefs file systems")
|
||||
(description
|
||||
"The bcachefs-tools are command-line utilities for creating, checking,
|
||||
;; Only for mount.bcachefs.sh.
|
||||
bash-minimal
|
||||
coreutils-minimal
|
||||
gawk
|
||||
util-linux))
|
||||
(home-page "https://bcachefs.org/")
|
||||
(synopsis "Tools to create and manage bcachefs file systems")
|
||||
(description
|
||||
"The bcachefs-tools are command-line utilities for creating, checking,
|
||||
and otherwise managing bcachefs file systems.
|
||||
|
||||
Bcachefs is a @acronym{CoW, copy-on-write} file system supporting native
|
||||
|
@ -682,7 +689,7 @@ (define (whence file)
|
|||
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
|
||||
performance and other characteristics.")
|
||||
(license license:gpl2+))))
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public bcachefs-tools/static
|
||||
(package
|
||||
|
@ -1218,6 +1225,70 @@ (define-public apfs-fuse
|
|||
(home-page "https://github.com/sgan81/apfs-fuse")
|
||||
(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
|
||||
;; The last release (1.1.0) is from 2011.
|
||||
(let ((revision "3")
|
||||
|
|
|
@ -36,6 +36,7 @@
|
|||
;;; Copyright © 2023 Skylar Hill <stellarskylark@posteo.net>
|
||||
;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
|
||||
;;; Copyright © 2023 Attila Lendvai <attila@lendvai.name>
|
||||
;;; Copyright © 2024 Saku Laesvuori <saku@laesvuori.fi>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -1308,7 +1309,7 @@ (define-public keepkey-agent
|
|||
(define-public kitsas
|
||||
(package
|
||||
(name "kitsas")
|
||||
(version "4.0.3")
|
||||
(version "5.4.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -1317,17 +1318,24 @@ (define-public kitsas
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0hrbsqqm6v2pmjq17s7i4akjgclz3d051mg02vcykq80xgxvbkgf"))))
|
||||
"16zkfpl5d9ia202fqg5vrhjqdw0g6wp044ih6n7nz2hbxj9y3m1z"))))
|
||||
(build-system qt-build-system)
|
||||
(inputs (list qtbase-5 libzip poppler-qt5 qtsvg-5))
|
||||
(inputs (list libzip qtsvg qtwebengine qt5compat))
|
||||
(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"
|
||||
#:qtbase qtbase ; use Qt6
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda* _
|
||||
(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
|
||||
(lambda* _
|
||||
(install-file "kitsas/kitsas"
|
||||
|
@ -2243,7 +2251,7 @@ (define-public python-mt-940
|
|||
(define-public xmrig
|
||||
(package
|
||||
(name "xmrig")
|
||||
(version "6.20.0")
|
||||
(version "6.21.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -2251,7 +2259,7 @@ (define-public xmrig
|
|||
(url "https://github.com/xmrig/xmrig")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256 (base32 "02clipcixn0g4sm3b5r1cxx56ddhjkm8sqnq40jy1zm66ad5zhkj"))
|
||||
(sha256 (base32 "1nmzgwd2r7ra7g4p0s5b77bgh099hf1kisbv4d946c9yiwbdzqgc"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; TODO: Try to use system libraries instead of bundled ones in
|
||||
|
|
|
@ -1197,81 +1197,51 @@ (define-public arm-trusted-firmware-imx8mq
|
|||
;; Adding debug symbols causes the size to exceed limits.
|
||||
#~(delete "DEBUG=1" #$flags)))))))
|
||||
|
||||
(define (make-crust-package platform)
|
||||
(package
|
||||
(name (string-append "crust-"
|
||||
(string-replace-substring platform "_" "-")))
|
||||
(version "0.5")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
;; There are only GitHub generated release snapshots.
|
||||
(url "https://github.com/crust-firmware/crust")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name "crust" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0xgbbhifg3miwd3yp6jq9kp7nqgz5gzy00w95vba45j8jk5vjvvz"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;no test suite
|
||||
#:make-flags
|
||||
(let ((triplet-without-vendor
|
||||
(and (%current-target-system)
|
||||
;; TODO: Is there a use case for allowing this?
|
||||
(not (target-avr?))
|
||||
(match (string-split (nix-system->gnu-triplet
|
||||
(%current-target-system)) #\-)
|
||||
((arch vendor os ..1)
|
||||
(string-join `(,arch ,@os) "-"))))))
|
||||
#~(list "CROSS_COMPILE=or1k-elf-"
|
||||
"V=1"
|
||||
#$@(if triplet-without-vendor
|
||||
;; We are cross-compiling the tools, intended to be
|
||||
;; executable for the target system.
|
||||
(list (string-append "HOSTAR=" triplet-without-vendor
|
||||
"-ar")
|
||||
(string-append "HOSTCC=" triplet-without-vendor
|
||||
"-gcc"))
|
||||
;; Not cross-compiling.
|
||||
(list "HOSTAR=ar"
|
||||
"HOSTCC=gcc"))
|
||||
"LEX=flex"))
|
||||
#: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") ""))))
|
||||
(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
|
||||
(define make-crust-firmware
|
||||
(mlambda (platform)
|
||||
(package
|
||||
(name (string-append "crust-"
|
||||
(string-replace-substring platform "_" "-")
|
||||
"-firmware"))
|
||||
(version "0.6")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
;; There are only GitHub generated release snapshots.
|
||||
(url "https://github.com/crust-firmware/crust")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name "crust" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1blq6bi2rmg4qqwwr07pamv28b50mwcsybhpn9bws8vbzxa43afd"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:target "or1k-elf"
|
||||
#:tests? #f ;no test suite
|
||||
#:make-flags #~'("CROSS_COMPILE=or1k-elf-"
|
||||
"V=1"
|
||||
"HOSTAR=ar"
|
||||
"HOSTCC=gcc"
|
||||
"LEX=flex")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(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)$")))))))
|
||||
(native-inputs (list bison flex))
|
||||
(home-page "https://github.com/crust-firmware/crust")
|
||||
(synopsis "Firmware for Allwinner sunxi SoCs")
|
||||
(description "Crust improves battery life and thermal performance by
|
||||
implementing a deep sleep state. During deep sleep, the CPU cores, the DRAM
|
||||
controller, and most onboard peripherals are powered down, reducing power
|
||||
consumption by 80% or more compared to an idle device. On boards without a
|
||||
|
@ -1280,8 +1250,75 @@ (define (make-crust-package platform)
|
|||
dedicated always-on microprocessor called a System Control Processor (SCP).
|
||||
Crust is designed to run on a specific SCP implementation, Allwinner's
|
||||
AR100.")
|
||||
;; Most files are dual-licensed "BSD-3 OR GPL2", a few are GPL2 only.
|
||||
(license (list license:bsd-3 license:gpl2))))
|
||||
;; Most files are dual-licensed "BSD-3 OR GPL2", a few are GPL2 only.
|
||||
(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
|
||||
(make-crust-package "pinebook"))
|
||||
|
|
|
@ -58,7 +58,8 @@
|
|||
;;; Copyright © 2023 gemmaro <gemmaro.dev@gmail.com>
|
||||
;;; Copyright © 2023 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
||||
;;; Copyright © 2023 chris <chris@bumblehead.com>
|
||||
;;; Copyright © 2023 Luis Felipe López Acevedo <sirgazil@zoho.com>
|
||||
;;; 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.
|
||||
;;;
|
||||
|
@ -216,7 +217,7 @@ (define-public font-inconsolata
|
|||
(define-public font-intel-one-mono
|
||||
(package
|
||||
(name "font-intel-one-mono")
|
||||
(version "1.2.1")
|
||||
(version "1.3.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -225,8 +226,26 @@ (define-public font-intel-one-mono
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1md57997nzkz75ambsahawzy1x71qvkp6f87zcqibksm66yvcjdc"))))
|
||||
"0w9isn8az1k3a3q4m2llwnryy79i5v30dx1hfaf90x0zkj98ky5h"))))
|
||||
(outputs '("out" "ttf" "woff"))
|
||||
(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")
|
||||
(synopsis "Expressive monospaced font family")
|
||||
(description
|
||||
|
@ -587,6 +606,30 @@ (define-public font-libertinus
|
|||
@end enumerate\n")
|
||||
(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
|
||||
(package
|
||||
(name "font-terminus")
|
||||
|
@ -1975,7 +2018,7 @@ (define-public font-junicode
|
|||
(define-public font-sarasa-gothic
|
||||
(package
|
||||
(name "font-sarasa-gothic")
|
||||
(version "1.0.3")
|
||||
(version "1.0.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -1983,7 +2026,7 @@ (define-public font-sarasa-gothic
|
|||
"/releases/download/v" version
|
||||
"/Sarasa-TTC-" version ".7z"))
|
||||
(sha256
|
||||
(base32 "1cgqf15fhg567s2bwjpal3xfcdnbgyy0iav5181zkn6b4k56dgl4"))))
|
||||
(base32 "0sfmqrjfzjy2zxd26kjrdbp59ahxj7p2qr1z5qy512j2cgl1gyiq"))))
|
||||
(build-system font-build-system)
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
|
@ -2638,6 +2681,61 @@ (define-public font-victor-mono
|
|||
(home-page "https://rubjo.github.io/victor-mono/")
|
||||
(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
|
||||
(package
|
||||
(name "font-meera-inimai")
|
||||
|
@ -3521,3 +3619,31 @@ (define-public font-orbitron
|
|||
and black), a stylistic alternative, small caps, and many alternate
|
||||
glyphs.")
|
||||
(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))))
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
;;; Copyright © 2023 John Kehayias <john.kehayias@protonmail.com>
|
||||
;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2023 pinoaffe <pinoaffe@gmail.com>
|
||||
;;; Copyright © 2024 Sören Tempel <soeren@soeren-tempel.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -73,6 +74,7 @@ (define-module (gnu packages fontutils)
|
|||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages tex)
|
||||
#:use-module (gnu packages textutils)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
|
@ -1911,6 +1913,7 @@ (define-public fcft
|
|||
(list check pkg-config scdoc))
|
||||
(propagated-inputs
|
||||
(list ;; Required by fcft.pc.
|
||||
utf8proc
|
||||
fontconfig
|
||||
freetype
|
||||
harfbuzz
|
||||
|
|
|
@ -425,7 +425,7 @@ (define-public python-myhdl
|
|||
(define-public nvc
|
||||
(package
|
||||
(name "nvc")
|
||||
(version "1.9.2")
|
||||
(version "1.11.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -434,7 +434,7 @@ (define-public nvc
|
|||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0zifyn7fr4k73ga6iwvsbsl6gi5106vlv5mkmqs0svi0sqx847f4"))))
|
||||
"0rh6xwzr1drgwa04gx6w4r968yxlvfkvzg92950akf7wyxf331k7"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:out-of-source? #t
|
||||
|
@ -457,7 +457,8 @@ (define-public nvc
|
|||
(inputs
|
||||
(list elfutils
|
||||
llvm-9
|
||||
libffi))
|
||||
libffi
|
||||
`(,zstd "lib")))
|
||||
(synopsis "VHDL compiler and simulator")
|
||||
(description "This package provides a VHDL compiler and simulator.")
|
||||
(home-page "https://www.nickg.me.uk/nvc/")
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
;;; 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 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 © 2017 Nikita <nikita@n0.is>
|
||||
;;; Copyright © 2017, 2018 Mark H Weaver <mhw@netris.org>
|
||||
|
@ -3002,7 +3002,7 @@ (define-public xdg-desktop-portal-wlr
|
|||
(string-append (assoc-ref outputs "out")
|
||||
"/share/doc/" ,name)))))))
|
||||
(native-inputs
|
||||
(list cmake pkg-config))
|
||||
(list cmake-minimal pkg-config))
|
||||
(inputs (list elogind
|
||||
bash-minimal
|
||||
grim
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
;;; Copyright © 2015, 2016, 2017 David Thompson <davet@gnu.org>
|
||||
;;; Copyright © 2016-2021, 2023 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; 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 © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
|
||||
|
@ -58,6 +58,7 @@ (define-module (gnu packages game-development)
|
|||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system pyproject)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system scons)
|
||||
#:use-module (gnu packages)
|
||||
|
@ -115,6 +116,7 @@ (define-module (gnu packages game-development)
|
|||
#:use-module (gnu packages sphinx)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages stb)
|
||||
#:use-module (gnu packages swig)
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (gnu packages textutils)
|
||||
#:use-module (gnu packages tls)
|
||||
|
@ -453,6 +455,40 @@ (define-public nml
|
|||
files) into @file{.grf} and/or @file{.nfo} files.")
|
||||
(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
|
||||
(package
|
||||
(name "python-sge")
|
||||
|
@ -1275,13 +1311,13 @@ (define-public quesoglc
|
|||
(define-public python-pygame
|
||||
(package
|
||||
(name "python-pygame")
|
||||
(version "2.1.2")
|
||||
(version "2.5.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pygame" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0g6j79naab7583kymf1bgxc5l5c9h5laq887rmvh8vw8iyifrl6n"))))
|
||||
"0jn2n70hmgr33yc6xzdi33cs5w7jnmgi44smyxfarrrrsnsrxf61"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -1344,7 +1380,7 @@ (define-public python-pygame
|
|||
|
||||
(define-public python-pygame-sdl2
|
||||
(let ((real-version "2.1.0")
|
||||
(renpy-version "8.1.3"))
|
||||
(renpy-version "8.2.0"))
|
||||
(package
|
||||
(inherit python-pygame)
|
||||
(name "python-pygame-sdl2")
|
||||
|
@ -1354,7 +1390,7 @@ (define-public python-pygame-sdl2
|
|||
(method url-fetch)
|
||||
(uri (string-append "https://www.renpy.org/dl/" renpy-version
|
||||
"/pygame_sdl2-" version ".tar.gz"))
|
||||
(sha256 (base32 "0qlprs9n3w254ilizqzvr6s01zx72gh7an0bgwxsq4hm22qypdws"))
|
||||
(sha256 (base32 "17mc39c7ha83kzv2wmq61a15mn6p8wh2y33ixhf5sb4bvyr48mhy"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
@ -1395,7 +1431,7 @@ (define-public python-pygame-sdl2
|
|||
(define-public python-renpy
|
||||
(package
|
||||
(name "python-renpy")
|
||||
(version "8.1.3")
|
||||
(version "8.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -1403,7 +1439,7 @@ (define-public python-renpy
|
|||
"/renpy-" version "-source.tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1g6fz5dxp7yxhgv6q4brzf5hpfqq3l1g3dfv3fsiwwn6mj0b01z2"))
|
||||
"02v54qqjjigfqhdr50kzhkdvplk56bvprq65jl57kcs1qhvlf5s9"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(begin
|
||||
|
@ -2038,7 +2074,7 @@ (define-public godot-lts
|
|||
libxi
|
||||
libxinerama
|
||||
libxrandr
|
||||
mbedtls-apache
|
||||
mbedtls-lts
|
||||
mesa
|
||||
opusfile
|
||||
pcre2
|
||||
|
@ -2280,7 +2316,7 @@ (define-public godot
|
|||
libxinerama
|
||||
libxkbcommon
|
||||
libxrandr
|
||||
mbedtls-apache
|
||||
mbedtls-lts
|
||||
mesa
|
||||
openxr
|
||||
opusfile
|
||||
|
@ -3228,7 +3264,7 @@ (define-public recastnavigation
|
|||
(define-public raylib
|
||||
(package
|
||||
(name "raylib")
|
||||
(version "4.5.0")
|
||||
(version "5.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -3238,7 +3274,7 @@ (define-public raylib
|
|||
;; TODO: Unbundle src/external
|
||||
(sha256
|
||||
(base32
|
||||
"00y8fsa4g9fk93s3wihbxl929m84hw3fflr0h409s3i1kfmv7ajj"))))
|
||||
"0327licmylwlh5iyzw35pq7ci2d15rp3jms5i9p0vfg1rlv2sjw0"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f ;no test
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net>
|
||||
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
|
||||
;;; 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 Julien Lepiller <julien@lepiller.eu>
|
||||
;;; Copyright © 2019, 2020 Jesse Gibbons <jgibbons2357+guix@gmail.com>
|
||||
|
@ -60,7 +60,7 @@
|
|||
;;; Copyright © 2021 Olivier Rojon <o.rojon@posteo.net>
|
||||
;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at>
|
||||
;;; 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 Solene Rapenne <solene@perso.pw>
|
||||
;;; Copyright © 2021, 2022 Noisytoot <ron@noisytoot.org>
|
||||
|
@ -72,7 +72,7 @@
|
|||
;;; Copyright © 2022 Roman Riabenko <roman@riabenko.com>
|
||||
;;; Copyright © 2022, 2023 zamfofex <zamfofex@twdb.moe>
|
||||
;;; 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 Parnikkapore <poomklao@yahoo.com>
|
||||
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
|
||||
|
@ -80,6 +80,7 @@
|
|||
;;; Copyright © 2023 Ivana Drazovic <iv.dra@hotmail.com>
|
||||
;;; Copyright © 2023, 2024 gemmaro <gemmaro.dev@gmail.com>
|
||||
;;; Copyright © 2023 Wilko Meyer <w@wmeyer.eu>
|
||||
;;; Copyright © 2024 Vagrant Cascadian <vagrant@debian.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -149,6 +150,7 @@ (define-module (gnu packages games)
|
|||
#:use-module (gnu packages gnupg)
|
||||
#:use-module (gnu packages gnuzilla)
|
||||
#:use-module (gnu packages golang)
|
||||
#:use-module (gnu packages golang-build)
|
||||
#:use-module (gnu packages gperf)
|
||||
#:use-module (gnu packages graphics)
|
||||
#:use-module (gnu packages graphviz)
|
||||
|
@ -6230,6 +6232,106 @@ (define-public bambam
|
|||
colors, pictures, and sounds.")
|
||||
(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
|
||||
(package
|
||||
(name "mrrescue")
|
||||
|
@ -7099,27 +7201,26 @@ (define-public lugaru
|
|||
(version "1.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://bitbucket.org/osslugaru/lugaru/downloads/"
|
||||
"lugaru-" version ".tar.xz"))
|
||||
(uri (string-append "https://github.com/osslugaru/lugaru/releases"
|
||||
"/download/" version
|
||||
"/lugaru-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"15zgcshy22q51rm72zi6y9z7qlgnz5iw3gczjdlir4bqmxy4gspk"))))
|
||||
(base32 "15zgcshy22q51rm72zi6y9z7qlgnz5iw3gczjdlir4bqmxy4gspk"))
|
||||
(patches
|
||||
(search-patches "lugaru-fix-sound.patch"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list "-DSYSTEM_INSTALL=ON")
|
||||
;; no test target
|
||||
#:tests? #f))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(list #:configure-flags #~(list "-DSYSTEM_INSTALL=ON")
|
||||
#:tests? #f)) ;no test suite
|
||||
(native-inputs (list pkg-config))
|
||||
(inputs
|
||||
`(("sdl2" ,sdl2)
|
||||
("glu" ,glu)
|
||||
("libjpeg" ,libjpeg-turbo)
|
||||
("libpng" ,libpng)
|
||||
("openal" ,openal)
|
||||
("vorbis" ,libvorbis)
|
||||
("zlib" ,zlib)))
|
||||
(list glu
|
||||
libjpeg-turbo
|
||||
libpng
|
||||
libvorbis
|
||||
openal
|
||||
sdl2
|
||||
zlib))
|
||||
(home-page "https://osslugaru.gitlab.io")
|
||||
(synopsis "Cross-platform third-person action game")
|
||||
(description "Lugaru is a third-person action game. The main character,
|
||||
|
@ -7128,7 +7229,7 @@ (define-public lugaru
|
|||
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
|
||||
fight against their plot and save his fellow rabbits from slavery.")
|
||||
(license (list license:gpl2+ ; code
|
||||
(license (list license:gpl2+ ; code
|
||||
;; assets:
|
||||
license:cc-by-sa3.0
|
||||
license:cc-by-sa4.0))))
|
||||
|
@ -7169,6 +7270,7 @@ (define-public 0ad-data
|
|||
(synopsis "Data files for 0ad")
|
||||
(description "0ad-data provides the data files required by the game 0ad.")
|
||||
(home-page "https://play0ad.com")
|
||||
(properties '((hidden? . #t)))
|
||||
(license (list (license:fsdg-compatible
|
||||
"http://tavmjong.free.fr/FONTS/ArevCopyright.txt"
|
||||
"Similar to the license of the Bitstream Vera fonts.")
|
||||
|
@ -7996,26 +8098,49 @@ (define-public gzdoom
|
|||
(define-public odamex
|
||||
(package
|
||||
(name "odamex")
|
||||
(version "0.9.5")
|
||||
(version "10.4.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://sourceforge/odamex/Odamex/" version "/"
|
||||
"odamex-src-" version ".tar.bz2"))
|
||||
"odamex-src-" version ".tar.xz"))
|
||||
(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)
|
||||
(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
|
||||
(list deutex))
|
||||
(list deutex pkg-config))
|
||||
(inputs
|
||||
`(("sdl" ,sdl2)
|
||||
("sdl-mixer" ,sdl2-mixer)
|
||||
("zlib" ,zlib)
|
||||
("libpng" ,libpng)
|
||||
("curl" ,curl)
|
||||
("alsa-lib" ,alsa-lib)))
|
||||
(list alsa-lib
|
||||
curl
|
||||
fltk
|
||||
jsoncpp
|
||||
libpng
|
||||
miniupnpc
|
||||
portmidi
|
||||
protobuf
|
||||
sdl2
|
||||
sdl2-mixer
|
||||
zlib))
|
||||
(home-page "https://odamex.net/")
|
||||
(synopsis "Multiplayer Doom port")
|
||||
(description "Odamex is a modification of the Doom engine that
|
||||
|
@ -11223,7 +11348,7 @@ (define-public sdlpop
|
|||
(define-public fheroes2
|
||||
(package
|
||||
(name "fheroes2")
|
||||
(version "1.0.5")
|
||||
(version "1.0.11")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -11232,7 +11357,7 @@ (define-public fheroes2
|
|||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0v7dxzb5cfjb55jydd8f61zzlvxq9mrgdy51hq19b06dmrx1dnc7"))))
|
||||
(base32 "1i1a4dynlb5kl55rmfmib2jha1b2igw5jyiiyla1fxgkbkjnbf27"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no tests
|
||||
|
@ -11254,7 +11379,7 @@ (define-public fheroes2
|
|||
(define-public vcmi
|
||||
(package
|
||||
(name "vcmi")
|
||||
(version "1.3.2")
|
||||
(version "1.4.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -11263,7 +11388,7 @@ (define-public vcmi
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1x1bzd89h0j4xci91d2v5aj5vgkx6vm12iml805wkia4hy1jp4ff"))
|
||||
"039d9dvb2i4y1fj6q5py34r17fwb5jqxkjcg7j57asjk4w9b7i8b"))
|
||||
(patches (search-patches "vcmi-disable-privacy-breach.patch"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
|
|
|
@ -192,13 +192,16 @@ (define-public gcc-4.7
|
|||
`(#:out-of-source? #t
|
||||
#:configure-flags ,(let ((flags (configure-flags))
|
||||
(version (package-version this-package)))
|
||||
;; GCC 4.9 and 5.0 requires C++11 but GCC
|
||||
;; 11.3.0 defaults to C++17, which is partly
|
||||
;; incompatible. Force C++11.
|
||||
(if (or (version-prefix? "4.9" version)
|
||||
(version-prefix? "5" version))
|
||||
`(cons "CXX=g++ -std=c++11" ,flags)
|
||||
flags))
|
||||
;; GCC 11.3.0 defaults to C++17 which is partly
|
||||
;; incompatible with some earlier versions.
|
||||
;; Force an earlier C++ standard while building.
|
||||
(cond
|
||||
((version-prefix? "4.8" version)
|
||||
`(cons "CXX=g++ -std=c++03" ,flags))
|
||||
((or (version-prefix? "4.9" version)
|
||||
(version-prefix? "5" version))
|
||||
`(cons "CXX=g++ -std=c++11" ,flags))
|
||||
(else flags)))
|
||||
|
||||
#:make-flags
|
||||
;; None of the flags below are needed when doing a Canadian cross.
|
||||
|
@ -419,6 +422,37 @@ (define-public gcc-4.8
|
|||
(("struct ucontext") "ucontext_t")))
|
||||
'("aarch64" "alpha" "bfin" "i386" "m68k"
|
||||
"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)
|
||||
(inputs
|
||||
(modify-inputs (package-inputs gcc-4.7)
|
||||
|
@ -454,38 +488,7 @@ (define-public gcc-4.9
|
|||
"pa" "sh" "tilepro" "xtensa")))))
|
||||
;; Override inherited texinfo-5 with latest version.
|
||||
(native-inputs (list perl ;for manpages
|
||||
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")))))))))))))
|
||||
texinfo))))
|
||||
|
||||
(define gcc-canadian-cross-objdump-snippet
|
||||
;; Fix 'libcc1/configure' error when cross-compiling GCC. Without that,
|
||||
|
@ -546,7 +549,7 @@ (define-public gcc-6
|
|||
"gcc-5.0-libvtv-runpath.patch"))))
|
||||
|
||||
;; 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
|
||||
`(("isl" ,isl)
|
||||
|
@ -1124,6 +1127,12 @@ (define-public gdc-11
|
|||
(custom-gcc gcc-11 "gdc" '("d")
|
||||
%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)
|
||||
(package
|
||||
(inherit gcc)
|
||||
|
|
|
@ -145,25 +145,25 @@ (define-public gdb/pinned
|
|||
(properties `((hidden? . #t)))
|
||||
(license gpl3+)))
|
||||
|
||||
(define-public gdb-12
|
||||
(define-public gdb-14
|
||||
(package
|
||||
(inherit gdb/pinned)
|
||||
(version "12.1")
|
||||
(version "14.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/gdb/gdb-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1vczsqcbh5y0gx7qrclpna0qzx26sk7lra6y8qzxam1biyzr65qf"))))
|
||||
"106v7rj72km56mb2ssjsyjfix3yn4f3wqr7lpzy52d0lfq9gavfn"))))
|
||||
(properties '())))
|
||||
|
||||
(define-public gdb
|
||||
;; The "default" version.
|
||||
gdb-12)
|
||||
gdb-14)
|
||||
|
||||
(define-public gdb-multiarch
|
||||
(package/inherit gdb-12
|
||||
(package/inherit gdb-14
|
||||
(name "gdb-multiarch")
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
@ -172,17 +172,17 @@ (define-public gdb-multiarch
|
|||
"--enable-interwork"
|
||||
"--enable-languages=c,c++"
|
||||
"--disable-nls")
|
||||
,@(package-arguments gdb-12)))
|
||||
,@(package-arguments gdb-14)))
|
||||
(synopsis "The GNU debugger (with all architectures enabled)")))
|
||||
|
||||
(define-public gdb-minimal
|
||||
(package/inherit gdb-12
|
||||
(package/inherit gdb-14
|
||||
(name "gdb-minimal")
|
||||
(inputs (fold alist-delete (package-inputs gdb)
|
||||
'("libxml2" "ncurses" "python-wrapper" "source-highlight")))))
|
||||
|
||||
(define-public avr-gdb
|
||||
(package/inherit gdb-12
|
||||
(package/inherit gdb-14
|
||||
(name "avr-gdb")
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
@ -191,7 +191,7 @@ (define-public avr-gdb
|
|||
"--enable-languages=c,c++"
|
||||
"--with-system-readline"
|
||||
"--enable-source-highlight")
|
||||
,@(package-arguments gdb-12)))
|
||||
,@(package-arguments gdb-14)))
|
||||
(synopsis "The GNU Debugger for AVR")
|
||||
(description
|
||||
"GDB is the GNU debugger. With it, you can monitor what a program is
|
||||
|
|
|
@ -13,11 +13,12 @@
|
|||
;;; Copyright © 2019, 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
||||
;;; Copyright © 2020, 2022 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2020 Christopher Baines <mail@cbaines.net>
|
||||
;;; Copyright © 2020, 2021, 2022, 2023 Felix Gruber <felgru@posteo.net>
|
||||
;;; Copyright © 2021, 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
|
||||
;;; Copyright © 2020–2024 Felix Gruber <felgru@posteo.net>
|
||||
;;; Copyright © 2021, 2023, 2024 Sharlatan Hellseher <sharlatanus@gmail.com>
|
||||
;;; Copyright © 2021, 2023, 2024 Vinicius Monego <monego@posteo.net>
|
||||
;;; Copyright © 2021 Clément Lassieur <clement@lassieur.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, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
|
||||
|
@ -61,6 +62,7 @@ (define-module (gnu packages geo)
|
|||
#:use-module (gnu packages audio)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages backup)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages boost)
|
||||
|
@ -432,7 +434,7 @@ (define-public memphis
|
|||
(define-public geos
|
||||
(package
|
||||
(name "geos")
|
||||
(version "3.11.2")
|
||||
(version "3.12.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://download.osgeo.org/geos/geos-"
|
||||
|
@ -440,7 +442,7 @@ (define-public geos
|
|||
".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1k744nwfa5sj4amzsdjxgac83wh6xfb9xi7z5bka7ic1jik7gw5i"))))
|
||||
"00qdk9a4048pzfj2rhzkfw3lvm642znf6kr4x29i3d94494pxsnn"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments `(#:phases
|
||||
(modify-phases %standard-phases
|
||||
|
@ -448,7 +450,7 @@ (define-public geos
|
|||
'unpack 'patch-test-shebangs
|
||||
(lambda _
|
||||
(substitute* '("tests/xmltester/testrunner.sh"
|
||||
"tests/geostest/testrunner.sh")
|
||||
"tests/xmltester/safe_to_xml.sh")
|
||||
(("/bin/sh") (which "sh"))))))))
|
||||
(inputs
|
||||
(list glib))
|
||||
|
@ -546,7 +548,11 @@ (define-public libgeotiff
|
|||
(method url-fetch)
|
||||
(uri (string-append "http://download.osgeo.org/geotiff/libgeotiff/libgeotiff-"
|
||||
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
|
||||
(base32 "1mjmgv48x51ppax5dnb6lq7z600czxll53bx6jbzqwd4m93i7aq5"))
|
||||
(modules '((guix build utils)))
|
||||
|
@ -738,7 +744,7 @@ (define-public libspatialite
|
|||
(define-public proj
|
||||
(package
|
||||
(name "proj")
|
||||
(version "9.2.0")
|
||||
(version "9.3.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -746,7 +752,7 @@ (define-public proj
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"03nm1sgvh237my7ss6kayn6887cbnayvjxrrxsrfcakkmbsida6y"))))
|
||||
"1g0hkpiablvhsmw0kn5frwgdir3q7avc45p6lc1zhhhzkv5ikydh"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs (list googletest pkg-config))
|
||||
(propagated-inputs (list curl libtiff sqlite)) ;required by proj.pc
|
||||
|
@ -842,31 +848,36 @@ (define-public proj.4
|
|||
(define-public python-pyproj
|
||||
(package
|
||||
(name "python-pyproj")
|
||||
(version "3.5.0")
|
||||
(version "3.6.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pyproj" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1xhvr0n5gb7v6x0wd7cqmc0zrky2fag7bq2shx6l2qqq3icx2ncq"))))
|
||||
"1gq1spm5zdq9k8kl9cb31b9m08ybyrdggfw3sjrqyz9b9iq7raj4"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'set-proj-path
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((proj (assoc-ref inputs "proj")))
|
||||
(setenv "PROJ_DIR" proj)
|
||||
(substitute* "pyproj/datadir.py"
|
||||
(("(internal_datadir = ).*$" all var)
|
||||
(string-append var "Path(\"" proj "/share/proj\")\n")))))))))
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'set-proj-path
|
||||
(lambda* (#:key #:allow-other-keys)
|
||||
(let ((proj #$(this-package-input "proj")))
|
||||
(setenv "PROJ_DIR" proj)
|
||||
(substitute* "pyproj/datadir.py"
|
||||
(("(internal_datadir = ).*$" all var)
|
||||
(string-append var "Path(\"" proj
|
||||
"/share/proj\")\n")))))))))
|
||||
(inputs
|
||||
(list proj))
|
||||
(propagated-inputs
|
||||
(list python-certifi))
|
||||
(native-inputs
|
||||
(list python-cython python-numpy python-pandas python-pytest
|
||||
(list python-cython
|
||||
python-numpy
|
||||
python-pandas
|
||||
python-pytest
|
||||
python-xarray))
|
||||
(home-page "https://github.com/pyproj4/pyproj")
|
||||
(synopsis
|
||||
|
@ -974,56 +985,106 @@ (define-public python-geopandas
|
|||
require a spatial database such as PostGIS.")
|
||||
(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
|
||||
(package
|
||||
(name "python-osmnx")
|
||||
(version "1.1.2")
|
||||
(version "1.8.1")
|
||||
(source
|
||||
(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)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/gboeing/osmnx")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1n8qjn184p5a2s3j6x6iyc1i7p3l3xnbqqxm6ajwgwv6j5fw1d5a"))))
|
||||
(base32 "0n238n07pp5jw9cg8nqw9qhpkw8plzb5imz1gxbliw2l1idqyjcl"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-flags
|
||||
'(list "-k"
|
||||
(string-append
|
||||
;; The following tests require network access.
|
||||
"not test_geocode_to_gdf"
|
||||
" and not test_stats"
|
||||
" and not test_osm_xml"
|
||||
" and not test_elevation"
|
||||
" and not test_routing"
|
||||
" and not test_plots"
|
||||
" and not test_find_nearest"
|
||||
" and not test_api_endpoints"
|
||||
" and not test_graph_save_load"
|
||||
" and not test_graph_from_functions"
|
||||
" and not test_geometries"))))
|
||||
(propagated-inputs
|
||||
(list python-folium
|
||||
python-geopandas
|
||||
python-matplotlib
|
||||
python-networkx
|
||||
python-numpy
|
||||
python-pandas
|
||||
python-pyproj
|
||||
python-requests
|
||||
python-rtree
|
||||
python-shapely))
|
||||
(native-inputs
|
||||
(list python-numpy python-pytest))
|
||||
#:test-flags '(list "-k"
|
||||
(string-append
|
||||
;; The following tests require network access.
|
||||
"not test_stats"
|
||||
" and not test_geocoder"
|
||||
" and not test_osm_xml"
|
||||
" and not test_elevation"
|
||||
" and not test_routing"
|
||||
" and not test_plots"
|
||||
" and not test_find_nearest"
|
||||
" and not test_api_endpoints"
|
||||
" and not test_graph_save_load"
|
||||
" and not test_graph_from_functions"
|
||||
" and not test_features"))))
|
||||
(propagated-inputs (list python-folium
|
||||
python-geopandas
|
||||
python-matplotlib
|
||||
python-networkx
|
||||
python-numpy
|
||||
python-pandas
|
||||
python-requests
|
||||
python-shapely))
|
||||
(native-inputs (list python-hatchling python-pytest))
|
||||
(home-page "https://github.com/gboeing/osmnx")
|
||||
(synopsis
|
||||
"Retrieve, model, analyze, and visualize OpenStreetMap street networks")
|
||||
"Retrieve, model, analyze, and visualize OpenStreetMap street networks")
|
||||
(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
|
||||
street networks and any other geospatial geometries. You can download
|
||||
and model walkable, drivable, or bikeable urban networks with a single
|
||||
|
@ -1262,7 +1323,7 @@ (define-public gdal
|
|||
(define-public python-pyshp
|
||||
(package
|
||||
(name "python-pyshp")
|
||||
(version "2.1.3")
|
||||
(version "2.3.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -1271,16 +1332,13 @@ (define-public python-pyshp
|
|||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0jsraqzq82pw19wvx84x7w5cs8agr44a9b5y0jjw540wim4xa73r"))))
|
||||
(build-system python-build-system)
|
||||
(base32 "02pbr091p8v4kfv1p6p2aa4asgm9r74dc12r35lvgmhs9y163z69"))))
|
||||
(build-system pyproject-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
;; This is the only test file.
|
||||
(invoke "python" "-m" "pytest" "test_shapefile.py")))))))
|
||||
(list
|
||||
#:test-flags
|
||||
;; This test requires internet access.
|
||||
'(list "--deselect" "test_shapefile.py::test_reader_url")))
|
||||
(native-inputs
|
||||
(list python-pytest python-pytest-runner))
|
||||
(home-page "https://github.com/GeospatialPython/pyshp")
|
||||
|
@ -1619,7 +1677,7 @@ (define-public osmium-tool
|
|||
(define-public osm2pgsql
|
||||
(package
|
||||
(name "osm2pgsql")
|
||||
(version "1.9.2")
|
||||
(version "1.11.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -1628,7 +1686,7 @@ (define-public osm2pgsql
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"198qcgl42pb8lk1bn41ncp8hc9gcg9k2p0ny42vak019w5l6jcj7"))
|
||||
"135vqahlcrhwa3b9hfgbiqkzbbsjd4i79fp41cd0rp4zarcpi47p"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Remove bundled libraries.
|
||||
|
@ -1636,20 +1694,21 @@ (define-public osm2pgsql
|
|||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(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"
|
||||
"-DEXTERNAL_LIBOSMIUM=ON"
|
||||
"-DEXTERNAL_PROTOZERO=ON"
|
||||
"-DEXTERNAL_FMT=ON")))
|
||||
(inputs (list boost
|
||||
bzip2
|
||||
cli11
|
||||
expat
|
||||
fmt-8
|
||||
libosmium
|
||||
luajit
|
||||
nlohmann-json
|
||||
postgresql
|
||||
proj-7
|
||||
proj
|
||||
protozero
|
||||
zlib))
|
||||
(native-inputs (list pandoc python python-argparse-manpage))
|
||||
|
@ -2508,19 +2567,19 @@ (define-public openorienteering-mapper
|
|||
"-DLICENSING_PROVIDER:BOOL=OFF"
|
||||
"-DMapper_MANUAL_QTHELP:BOOL=OFF")))
|
||||
(inputs
|
||||
`(("clipper" ,clipper)
|
||||
("cups" ,cups)
|
||||
("curl" ,curl)
|
||||
("gdal" ,gdal)
|
||||
("proj" ,proj)
|
||||
("qtbase" ,qtbase-5)
|
||||
("qtimageformats" ,qtimageformats-5)
|
||||
("qtlocation" ,qtlocation)
|
||||
("qtsensors" ,qtsensors)
|
||||
("zlib" ,zlib)))
|
||||
(list clipper
|
||||
cups
|
||||
curl
|
||||
gdal
|
||||
proj
|
||||
qtbase-5
|
||||
qtimageformats-5
|
||||
qtlocation
|
||||
qtsensors
|
||||
zlib))
|
||||
(native-inputs
|
||||
`(("doxygen" ,doxygen)
|
||||
("qttools-5" ,qttools-5)))
|
||||
(list doxygen
|
||||
qttools-5))
|
||||
(home-page "https://www.openorienteering.org/apps/mapper/")
|
||||
(synopsis "OpenOrienteering Mapper (OOM)")
|
||||
(description
|
||||
|
@ -2529,7 +2588,7 @@ (define-public openorienteering-mapper
|
|||
(license license:gpl3+)))
|
||||
|
||||
(define-public grass
|
||||
(let* ((version "7.8.7")
|
||||
(let* ((version "7.8.8")
|
||||
(majorminor (string-join (list-head (string-split version #\.) 2) ""))
|
||||
(grassxx (string-append "grass" majorminor)))
|
||||
(package
|
||||
|
@ -2541,7 +2600,7 @@ (define-public grass
|
|||
(uri (string-append "https://grass.osgeo.org/" grassxx
|
||||
"/source/grass-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0sbz0ba9p963phvd0gmvfqq1fg4ixpipzcjbf20ys86qavjppzsg"))))
|
||||
(base32 "1gpfbppfajc8d6b9alw9fdzgaa83w26kl6fff1395bc9gal215ms"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("bzip2" ,bzip2)
|
||||
|
@ -2815,6 +2874,7 @@ (define-public qgis
|
|||
"test_core_pointcloudlayerexporter"
|
||||
"test_core_projectstorage"
|
||||
"test_core_coordinatereferencesystem"
|
||||
"test_core_overlayexpression"
|
||||
"test_gui_queryresultwidget"
|
||||
"test_provider_copcprovider"
|
||||
"test_provider_eptprovider"
|
||||
|
@ -2838,6 +2898,7 @@ (define-public qgis
|
|||
"PyQgsOGRProviderGpkg"
|
||||
"PyQgsProcessExecutablePt1"
|
||||
"PyQgsProcessExecutablePt2"
|
||||
"PyQgsProjectionSelectionWidgets"
|
||||
"PyQgsProviderConnectionGpkg"
|
||||
"PyQgsProviderConnectionSpatialite"
|
||||
"PyQgsOGRProvider"
|
||||
|
@ -3046,6 +3107,30 @@ (define-public python-geographiclib
|
|||
"This is a python implementation of the geodesic routines in GeographicLib.")
|
||||
(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
|
||||
(package
|
||||
(name "python-geopy")
|
||||
|
@ -3091,15 +3176,8 @@ (define-public python-haversine
|
|||
(sha256
|
||||
(base32
|
||||
"0inxyj5n4jzgg5xiadqx9sk83gdx5ff989l9s04smdzbd3b8c0c8"))))
|
||||
(build-system python-build-system)
|
||||
(build-system pyproject-build-system)
|
||||
(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")
|
||||
(synopsis "Calculate the distance between 2 points on Earth")
|
||||
(description "This package provides functions to calculate the
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
|
||||
;;; Copyright © 2023 Kaelyn Takata <kaelyn.alexi@protonmail.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.
|
||||
;;;
|
||||
|
@ -39,6 +40,7 @@ (define-module (gnu packages gl)
|
|||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages elf)
|
||||
|
@ -1217,3 +1219,84 @@ (define-public glmark2
|
|||
"glmark2 is an OpenGL 2.0 and OpenGL ES 2.0 benchmark based on the
|
||||
original glmark benchmark by Ben Smith.")
|
||||
(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+)))))
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
;;; Copyright © 2021, 2022 Vinicius Monego <monego@posteo.net>
|
||||
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
|
||||
;;; 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 Charles Jackson <charles.b.jackson@protonmail.com>
|
||||
;;; Copyright © 2022 Eric Bavier <bavier@posteo.net>
|
||||
|
@ -1016,33 +1016,33 @@ (define-public gnome-shell-extension-noannoyance
|
|||
(define-public gnome-shell-extension-paperwm
|
||||
(package
|
||||
(name "gnome-shell-extension-paperwm")
|
||||
(version "36.0")
|
||||
(version "44.17.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/paperwm/PaperWM")
|
||||
(commit version)))
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ssnabwxrns36c61ppspjkr9i3qifv08pf2jpwl7cjv3pvyn4kly"))
|
||||
"1d91k9qih81wckqf6554kf8grv6q61rkk4g776g0ijpmf35ljdin"))
|
||||
(snippet
|
||||
'(begin (delete-file "schemas/gschemas.compiled")))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
'(#:install-plan
|
||||
'(("." "share/gnome-shell/extensions/paperwm@hedning:matrix.org"
|
||||
#:include-regexp ("\\.js(on)?$" "\\.css$" "\\.ui$" "\\.png$"
|
||||
"\\.xml$" "\\.compiled$")))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'install 'compile-schemas
|
||||
(lambda _
|
||||
(with-directory-excursion "schemas"
|
||||
(invoke "make"))
|
||||
#t)))))
|
||||
(list
|
||||
#:install-plan
|
||||
#~'(("." "share/gnome-shell/extensions/paperwm@paperwm.github.com"
|
||||
#:include-regexp ("\\.js(on)?$" "\\.css$" "\\.ui$" "\\.png$"
|
||||
"\\.xml$" "\\.compiled$" "\\.svg$")))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'install 'compile-schemas
|
||||
(lambda _
|
||||
(with-directory-excursion "schemas"
|
||||
(invoke "make")))))))
|
||||
(native-inputs
|
||||
`(("glib:bin" ,glib "bin"))) ; for glib-compile-schemas
|
||||
(list `(,glib "bin"))) ; for glib-compile-schemas
|
||||
(home-page "https://github.com/paperwm/PaperWM")
|
||||
(synopsis "Tiled scrollable window management for GNOME Shell")
|
||||
(description "PaperWM is an experimental GNOME Shell extension providing
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org>
|
||||
;;; Copyright © 2015, 2017 Andy Wingo <wingo@igalia.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 David Thompson <davet@gnu.org>
|
||||
;;; Copyright © 2015-2024 Efraim Flashner <efraim@flashner.co.il>
|
||||
|
@ -238,6 +238,7 @@ (define-module (gnu packages gnome)
|
|||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix platform)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (ice-9 match)
|
||||
|
@ -3397,7 +3398,7 @@ (define-public cambalache
|
|||
python-pycairo
|
||||
python-pygobject
|
||||
python-lxml
|
||||
webkitgtk
|
||||
webkitgtk-for-gtk3
|
||||
webkitgtk))
|
||||
(native-inputs
|
||||
(list `(,glib "bin")
|
||||
|
@ -3593,12 +3594,12 @@ (define-public librsvg
|
|||
;; In lieu of #:make-flags
|
||||
(setenv "CC" #$(cc-for-target))
|
||||
(setenv "PKG_CONFIG" #$(pkg-config-for-target))
|
||||
(when #$(%current-target-system)
|
||||
(setenv "RUST_TARGET"
|
||||
(string-replace
|
||||
#$(%current-target-system)
|
||||
"-unknown-linux-gnu"
|
||||
(string-index #$(%current-target-system) #\-))))
|
||||
#$@(if (%current-target-system)
|
||||
#~((setenv "RUST_TARGET"
|
||||
#$(platform-rust-target
|
||||
(lookup-platform-by-target
|
||||
(%current-target-system)))))
|
||||
#~())
|
||||
;; Something about the build environment resists building
|
||||
;; successfully with the '--locked' flag.
|
||||
(substitute* '("Makefile.am" "Makefile.in")
|
||||
|
@ -7911,7 +7912,17 @@ (define-public mutter
|
|||
;; let's disable them as well.
|
||||
;; See <https://gitlab.gnome.org/GNOME/mutter/-/issues/2125>
|
||||
(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
|
||||
(lambda* (#:key tests? test-options parallel-tests?
|
||||
#:allow-other-keys)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2015, 2016, 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; 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, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
|
@ -66,14 +66,14 @@ (define-public gnucash
|
|||
;; directory.
|
||||
(package
|
||||
(name "gnucash")
|
||||
(version "5.3")
|
||||
(version "5.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/gnucash/gnucash%20%28stable%29/"
|
||||
version "/gnucash-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "0npilq0spalpg1ma956j7vlbn0yc5f0z5imy4kbyksl5ql4cnn0l"))))
|
||||
(base32 "0fzds1yq298c3rvi07if1bfxff904jbzmsb27wr0ddwjp1xzdnml"))))
|
||||
(outputs '("out" "doc" "debug" "python"))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
|
@ -214,13 +214,11 @@ (define gnucash-docs
|
|||
(source
|
||||
(origin
|
||||
(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
|
||||
"mirror://sourceforge/gnucash/gnucash%20%28stable%29/"
|
||||
version "/gnucash-docs-5.2" revision ".tar.gz"))
|
||||
version "/gnucash-docs-" version revision ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "16xlxwdgc0w4cg9kxg4w2f1y974cb16wq2c9icq5qrh3nj0nbsxr"))))
|
||||
(base32 "1ay8jzxrsb9qmbx0v12kqdjk6l3j7cafgxswa92yynihv5ahymlk"))))
|
||||
(build-system cmake-build-system)
|
||||
;; These are native-inputs because they are only required for building the
|
||||
;; documentation.
|
||||
|
|
|
@ -71,6 +71,7 @@ (define-module (gnu packages gnupg)
|
|||
#:use-module (gnu packages swig)
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages tor)
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
|
@ -345,11 +346,33 @@ (define-public gnupg
|
|||
zlib))
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags #~'(;; 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")
|
||||
#:configure-flags
|
||||
;; Always use quasiquote on the next core-updates cycle.
|
||||
#~(#$(if (%current-target-system)
|
||||
#~quasiquote
|
||||
#~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
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'configure 'patch-paths
|
||||
|
@ -1129,7 +1152,7 @@ (define-public parcimonie
|
|||
perl-try-tiny
|
||||
perl-type-tiny
|
||||
perl-types-path-tiny
|
||||
(@ (gnu packages tor) torsocks))) ;avoid dependency loop
|
||||
torsocks))
|
||||
(native-inputs
|
||||
(list perl-file-which
|
||||
perl-gnupg-interface
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue