Merge branch 'master' into staging
This commit is contained in:
commit
76b6bbdf23
309 changed files with 283341 additions and 206827 deletions
|
@ -60,8 +60,6 @@
|
|||
;; 'modify-inputs' and its keywords.
|
||||
(eval . (put 'modify-inputs 'scheme-indent-function 1))
|
||||
(eval . (put 'replace 'scheme-indent-function 1))
|
||||
(eval . (put 'prepend 'scheme-indent-function 2))
|
||||
(eval . (put 'append 'scheme-indent-function 2))
|
||||
|
||||
;; 'modify-phases' and its keywords.
|
||||
(eval . (put 'modify-phases 'scheme-indent-function 1))
|
||||
|
|
|
@ -379,6 +379,10 @@ AUX_FILES = \
|
|||
gnu/packages/aux-files/chromium/master-preferences.json \
|
||||
gnu/packages/aux-files/emacs/guix-emacs.el \
|
||||
gnu/packages/aux-files/guix.vim \
|
||||
gnu/packages/aux-files/linux-libre/5.16-arm.conf \
|
||||
gnu/packages/aux-files/linux-libre/5.16-arm64.conf \
|
||||
gnu/packages/aux-files/linux-libre/5.16-i686.conf \
|
||||
gnu/packages/aux-files/linux-libre/5.16-x86_64.conf \
|
||||
gnu/packages/aux-files/linux-libre/5.15-arm.conf \
|
||||
gnu/packages/aux-files/linux-libre/5.15-arm64.conf \
|
||||
gnu/packages/aux-files/linux-libre/5.15-i686.conf \
|
||||
|
|
|
@ -157,6 +157,18 @@ You are advised to run @command{make authenticate} after every
|
|||
changes to the repository.
|
||||
@end quotation
|
||||
|
||||
After updating the repository, @command{make} might fail with an error
|
||||
similar to the following example:
|
||||
|
||||
@example
|
||||
error: failed to load 'gnu/packages/dunst.scm':
|
||||
ice-9/eval.scm:293:34: In procedure abi-check: #<record-type <origin>>: record ABI mismatch; recompilation needed
|
||||
@end example
|
||||
|
||||
This means that one of the record types that Guix defines (in this
|
||||
example, the @code{origin} record) has changed, and all of guix needs
|
||||
to be recompiled to take that change into account. To do so, run
|
||||
@command{make clean-go} followed by @command{make}.
|
||||
|
||||
@node Running Guix Before It Is Installed
|
||||
@section Running Guix Before It Is Installed
|
||||
|
@ -231,6 +243,24 @@ local source tree; it simply updates the @file{~/.config/guix/current}
|
|||
symlink (@pxref{Invoking guix pull}). Run @command{git pull} instead if
|
||||
you want to upgrade your local source tree.
|
||||
|
||||
Sometimes, especially if you have recently updated your repository,
|
||||
running @command{./pre-inst-env} will print a message similar to the
|
||||
following example:
|
||||
|
||||
@example
|
||||
;;; note: source file /home/user/projects/guix/guix/progress.scm
|
||||
;;; newer than compiled /home/user/projects/guix/guix/progress.go
|
||||
@end example
|
||||
|
||||
This is only a note and you can safely ignore it. You can get rid of
|
||||
the message by running @command{make -j4}. Until you do, Guile will run
|
||||
slightly slower because it will interpret the code instead of using
|
||||
prepared Guile object (@file{.go}) files.
|
||||
|
||||
You can run @command{make} automatically as you work using
|
||||
@command{watchexec} from the @code{watchexec} package. For example,
|
||||
to build again each time you update a package file, you can run
|
||||
@samp{watchexec -w gnu/packages make -j4}.
|
||||
|
||||
@node The Perfect Setup
|
||||
@section The Perfect Setup
|
||||
|
@ -1386,9 +1416,14 @@ what your usertag means.
|
|||
@cindex commit access, for developers
|
||||
Everyone can contribute to Guix without having commit access
|
||||
(@pxref{Submitting Patches}). However, for frequent contributors,
|
||||
having write access to the repository can be convenient. 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.
|
||||
having write access to the repository can be convenient. As a rule of
|
||||
thumb, a contributor should have accumulated fifty (50) reviewed commits
|
||||
to be considered as a committer and have sustained their activity in the
|
||||
project for at least 6 months. This ensures enough interactions with
|
||||
the contributor, which is essential for mentoring and assessing whether
|
||||
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.
|
||||
|
||||
The following sections explain how to get commit access, how to be ready
|
||||
to push commits, and the policies and community expectations for commits
|
||||
|
|
555
doc/guix.texi
555
doc/guix.texi
|
@ -47,7 +47,7 @@ Copyright @copyright{} 2017, 2018 Carlo Zancanaro@*
|
|||
Copyright @copyright{} 2017 Thomas Danckaert@*
|
||||
Copyright @copyright{} 2017 humanitiesNerd@*
|
||||
Copyright @copyright{} 2017, 2021 Christine Lemmer-Webber@*
|
||||
Copyright @copyright{} 2017, 2018, 2019, 2020, 2021 Marius Bakke@*
|
||||
Copyright @copyright{} 2017, 2018, 2019, 2020, 2021, 2022 Marius Bakke@*
|
||||
Copyright @copyright{} 2017, 2019, 2020 Hartmut Goebel@*
|
||||
Copyright @copyright{} 2017, 2019, 2020, 2021 Maxim Cournoyer@*
|
||||
Copyright @copyright{} 2017–2022 Tobias Geerinckx-Rice@*
|
||||
|
@ -5824,6 +5824,12 @@ This is similar to the same-named option in @command{guix package}
|
|||
(@pxref{profile-manifest, @option{--manifest}}) and uses the same
|
||||
manifest files.
|
||||
|
||||
@item --profile=@var{profile}
|
||||
@itemx -p @var{profile}
|
||||
Create an environment containing the packages installed in @var{profile}.
|
||||
Use @command{guix package} (@pxref{Invoking guix package}) to create
|
||||
and manage profiles.
|
||||
|
||||
@item --pure
|
||||
Unset existing environment variables when building the new environment, except
|
||||
those specified with @option{--preserve} (see below). This has the effect of
|
||||
|
@ -6231,6 +6237,12 @@ interpreted as packages whose dependencies will be added to the
|
|||
environment, the default behavior. Packages appearing after are
|
||||
interpreted as packages that will be added to the environment directly.
|
||||
|
||||
@item --profile=@var{profile}
|
||||
@itemx -p @var{profile}
|
||||
Create an environment containing the packages installed in @var{profile}.
|
||||
Use @command{guix package} (@pxref{Invoking guix package}) to create
|
||||
and manage profiles.
|
||||
|
||||
@item --pure
|
||||
Unset existing environment variables when building the new environment, except
|
||||
those specified with @option{--preserve} (see below). This has the effect of
|
||||
|
@ -21382,7 +21394,7 @@ Data type representing the configuration for @code{pulseaudio-service}.
|
|||
@table @asis
|
||||
@item @code{client-conf} (default: @code{'()})
|
||||
List of settings to set in @file{client.conf}.
|
||||
Accepts a list of strings or a symbol-value pairs. A string will be
|
||||
Accepts a list of strings or symbol-value pairs. A string will be
|
||||
inserted as-is with a newline added. A pair will be formatted as
|
||||
``key = value'', again with a newline added.
|
||||
|
||||
|
@ -25495,9 +25507,10 @@ Specify the path of the base URL@. This can be useful if
|
|||
@end table
|
||||
@end deftp
|
||||
|
||||
@anchor{prometheus-node-exporter}
|
||||
@subsubheading Prometheus Node Exporter Service
|
||||
|
||||
@cindex prometheus-node-exporter
|
||||
|
||||
The Prometheus ``node exporter'' makes hardware and operating system statistics
|
||||
provided by the Linux kernel available for the Prometheus monitoring system.
|
||||
This service should be deployed on all physical nodes and virtual machines,
|
||||
|
@ -25536,320 +25549,229 @@ Extra options to pass to the Prometheus node exporter.
|
|||
|
||||
@subsubheading Zabbix server
|
||||
@cindex zabbix zabbix-server
|
||||
Zabbix provides monitoring metrics, among others network utilization, CPU load
|
||||
and disk space consumption:
|
||||
Zabbix is a high performance monitoring system that can collect data from a
|
||||
variety of sources and provide the results in a web-based interface. Alerting
|
||||
and reporting is built-in, as well as @dfn{templates} for common operating
|
||||
system metrics such as network utilization, CPU load, and disk space consumption.
|
||||
|
||||
@itemize
|
||||
@item High performance, high capacity (able to monitor hundreds of thousands of devices).
|
||||
@item Auto-discovery of servers and network devices and interfaces.
|
||||
@item Low-level discovery, allows to automatically start monitoring new items, file systems or network interfaces among others.
|
||||
@item Distributed monitoring with centralized web administration.
|
||||
@item Native high performance agents.
|
||||
@item SLA, and ITIL KPI metrics on reporting.
|
||||
@item High-level (business) view of monitored resources through user-defined visual console screens and dashboards.
|
||||
@item Remote command execution through Zabbix proxies.
|
||||
@end itemize
|
||||
This service provides the central Zabbix monitoring service; you also need
|
||||
@ref{zabbix-front-end,@code{zabbix-front-end-service-type}} to configure Zabbix
|
||||
and display results, and optionally @ref{zabbix-agent,
|
||||
@code{zabbix-agent-service-type}} on machines that should be monitored (other
|
||||
data sources are supported, such as @ref{prometheus-node-exporter,
|
||||
Prometheus Node Exporter}).
|
||||
|
||||
@defvar {Scheme variable} zabbix-server-service-type
|
||||
This is the service type for the Zabbix server service. Its value must be a
|
||||
@code{zabbix-server-configuration} record, shown below.
|
||||
@end defvar
|
||||
|
||||
@c %start of fragment
|
||||
|
||||
@deftp {Data Type} zabbix-server-configuration
|
||||
Available @code{zabbix-server-configuration} fields are:
|
||||
|
||||
@deftypevr {@code{zabbix-server-configuration} parameter} package zabbix-server
|
||||
@table @asis
|
||||
@item @code{zabbix-server} (default: @code{zabbix-server}) (type: file-like)
|
||||
The zabbix-server package.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{zabbix-server-configuration} parameter} string user
|
||||
@item @code{user} (default: @code{"zabbix"}) (type: string)
|
||||
User who will run the Zabbix server.
|
||||
|
||||
Defaults to @samp{"zabbix"}.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{zabbix-server-configuration} parameter} group group
|
||||
@item @code{group} (default: @code{"zabbix"}) (type: group)
|
||||
Group who will run the Zabbix server.
|
||||
|
||||
Defaults to @samp{"zabbix"}.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{zabbix-server-configuration} parameter} string db-host
|
||||
@item @code{db-host} (default: @code{"127.0.0.1"}) (type: string)
|
||||
Database host name.
|
||||
|
||||
Defaults to @samp{"127.0.0.1"}.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{zabbix-server-configuration} parameter} string db-name
|
||||
@item @code{db-name} (default: @code{"zabbix"}) (type: string)
|
||||
Database name.
|
||||
|
||||
Defaults to @samp{"zabbix"}.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{zabbix-server-configuration} parameter} string db-user
|
||||
@item @code{db-user} (default: @code{"zabbix"}) (type: string)
|
||||
Database user.
|
||||
|
||||
Defaults to @samp{"zabbix"}.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{zabbix-server-configuration} parameter} string db-password
|
||||
@item @code{db-password} (default: @code{""}) (type: string)
|
||||
Database password. Please, use @code{include-files} with
|
||||
@code{DBPassword=SECRET} inside a specified file instead.
|
||||
|
||||
Defaults to @samp{""}.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{zabbix-server-configuration} parameter} number db-port
|
||||
@item @code{db-port} (default: @code{5432}) (type: number)
|
||||
Database port.
|
||||
|
||||
Defaults to @samp{5432}.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{zabbix-server-configuration} parameter} string log-type
|
||||
@item @code{log-type} (default: @code{""}) (type: string)
|
||||
Specifies where log messages are written to:
|
||||
|
||||
@itemize @bullet
|
||||
@item
|
||||
@code{system} - syslog.
|
||||
|
||||
@item
|
||||
@code{file} - file specified with @code{log-file} parameter.
|
||||
@item @code{system} - syslog.
|
||||
|
||||
@item
|
||||
@code{console} - standard output.
|
||||
@item @code{file} - file specified with @code{log-file} parameter.
|
||||
|
||||
@item @code{console} - standard output.
|
||||
|
||||
@end itemize
|
||||
|
||||
Defaults to @samp{""}.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{zabbix-server-configuration} parameter} string log-file
|
||||
@item @code{log-file} (default: @code{"/var/log/zabbix/server.log"}) (type: string)
|
||||
Log file name for @code{log-type} @code{file} parameter.
|
||||
|
||||
Defaults to @samp{"/var/log/zabbix/server.log"}.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{zabbix-server-configuration} parameter} string pid-file
|
||||
@item @code{pid-file} (default: @code{"/var/run/zabbix/zabbix_server.pid"}) (type: string)
|
||||
Name of PID file.
|
||||
|
||||
Defaults to @samp{"/var/run/zabbix/zabbix_server.pid"}.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{zabbix-server-configuration} parameter} string ssl-ca-location
|
||||
@item @code{ssl-ca-location} (default: @code{"/etc/ssl/certs/ca-certificates.crt"}) (type: string)
|
||||
The location of certificate authority (CA) files for SSL server
|
||||
certificate verification.
|
||||
|
||||
Defaults to @samp{"/etc/ssl/certs/ca-certificates.crt"}.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{zabbix-server-configuration} parameter} string ssl-cert-location
|
||||
@item @code{ssl-cert-location} (default: @code{"/etc/ssl/certs"}) (type: string)
|
||||
Location of SSL client certificates.
|
||||
|
||||
Defaults to @samp{"/etc/ssl/certs"}.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{zabbix-server-configuration} parameter} string extra-options
|
||||
@item @code{extra-options} (default: @code{""}) (type: extra-options)
|
||||
Extra options will be appended to Zabbix server configuration file.
|
||||
|
||||
Defaults to @samp{""}.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{zabbix-server-configuration} parameter} include-files include-files
|
||||
@item @code{include-files} (default: @code{()}) (type: include-files)
|
||||
You may include individual files or all files in a directory in the
|
||||
configuration file.
|
||||
|
||||
Defaults to @samp{()}.
|
||||
@end table
|
||||
|
||||
@end deftp
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@c %end of fragment
|
||||
|
||||
@anchor{zabbix-agent}
|
||||
@subsubheading Zabbix agent
|
||||
@cindex zabbix zabbix-agent
|
||||
|
||||
Zabbix agent gathers information for Zabbix server.
|
||||
The Zabbix agent gathers information about the running system for the Zabbix
|
||||
monitoring server. It has a variety of built-in checks, and can be extended
|
||||
with custom
|
||||
@uref{https://www.zabbix.com/documentation/current/en/manual/config/items/userparameters,
|
||||
@dfn{user parameters}}.
|
||||
|
||||
@defvar {Scheme variable} zabbix-agent-service-type
|
||||
This is the service type for the Zabbix agent service. Its value must be a
|
||||
@code{zabbix-agent-configuration} record, shown below.
|
||||
@end defvar
|
||||
|
||||
@c %start of fragment
|
||||
|
||||
@deftp {Data Type} zabbix-agent-configuration
|
||||
Available @code{zabbix-agent-configuration} fields are:
|
||||
|
||||
@deftypevr {@code{zabbix-agent-configuration} parameter} package zabbix-agent
|
||||
@table @asis
|
||||
@item @code{zabbix-agent} (default: @code{zabbix-agentd}) (type: file-like)
|
||||
The zabbix-agent package.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{zabbix-agent-configuration} parameter} string user
|
||||
@item @code{user} (default: @code{"zabbix"}) (type: string)
|
||||
User who will run the Zabbix agent.
|
||||
|
||||
Defaults to @samp{"zabbix"}.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{zabbix-agent-configuration} parameter} group group
|
||||
@item @code{group} (default: @code{"zabbix"}) (type: group)
|
||||
Group who will run the Zabbix agent.
|
||||
|
||||
Defaults to @samp{"zabbix"}.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{zabbix-agent-configuration} parameter} string hostname
|
||||
@item @code{hostname} (default: @code{""}) (type: string)
|
||||
Unique, case sensitive hostname which is required for active checks and
|
||||
must match hostname as configured on the server.
|
||||
|
||||
Defaults to @samp{""}.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{zabbix-agent-configuration} parameter} string log-type
|
||||
@item @code{log-type} (default: @code{""}) (type: string)
|
||||
Specifies where log messages are written to:
|
||||
|
||||
@itemize @bullet
|
||||
@item
|
||||
@code{system} - syslog.
|
||||
|
||||
@item
|
||||
@code{file} - file specified with @code{log-file} parameter.
|
||||
@item @code{file} - file specified with
|
||||
@code{log-file} parameter.
|
||||
|
||||
@item
|
||||
@code{console} - standard output.
|
||||
@item @code{console} - standard output.
|
||||
|
||||
@end itemize
|
||||
|
||||
Defaults to @samp{""}.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{zabbix-agent-configuration} parameter} string log-file
|
||||
@item @code{log-file} (default: @code{"/var/log/zabbix/agent.log"}) (type: string)
|
||||
Log file name for @code{log-type} @code{file} parameter.
|
||||
|
||||
Defaults to @samp{"/var/log/zabbix/agent.log"}.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{zabbix-agent-configuration} parameter} string pid-file
|
||||
@item @code{pid-file} (default: @code{"/var/run/zabbix/zabbix_agent.pid"}) (type: string)
|
||||
Name of PID file.
|
||||
|
||||
Defaults to @samp{"/var/run/zabbix/zabbix_agent.pid"}.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{zabbix-agent-configuration} parameter} list server
|
||||
@item @code{server} (default: @code{("127.0.0.1")}) (type: list)
|
||||
List of IP addresses, optionally in CIDR notation, or hostnames of
|
||||
Zabbix servers and Zabbix proxies. Incoming connections will be
|
||||
accepted only from the hosts listed here.
|
||||
|
||||
Defaults to @samp{("127.0.0.1")}.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{zabbix-agent-configuration} parameter} list server-active
|
||||
@item @code{server-active} (default: @code{("127.0.0.1")}) (type: list)
|
||||
List of IP:port (or hostname:port) pairs of Zabbix servers and Zabbix
|
||||
proxies for active checks. If port is not specified, default port is
|
||||
used. If this parameter is not specified, active checks are disabled.
|
||||
|
||||
Defaults to @samp{("127.0.0.1")}.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{zabbix-agent-configuration} parameter} string extra-options
|
||||
@item @code{extra-options} (default: @code{""}) (type: extra-options)
|
||||
Extra options will be appended to Zabbix server configuration file.
|
||||
|
||||
Defaults to @samp{""}.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{zabbix-agent-configuration} parameter} include-files include-files
|
||||
@item @code{include-files} (default: @code{()}) (type: include-files)
|
||||
You may include individual files or all files in a directory in the
|
||||
configuration file.
|
||||
|
||||
Defaults to @samp{()}.
|
||||
@end table
|
||||
|
||||
@end deftp
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@c %end of fragment
|
||||
|
||||
@anchor{zabbix-front-end}
|
||||
@subsubheading Zabbix front-end
|
||||
@cindex zabbix zabbix-front-end
|
||||
|
||||
This service provides a WEB interface to Zabbix server.
|
||||
The Zabbix front-end provides a web interface to Zabbix. It does not need
|
||||
to run on the same machine as the Zabbix server. This service works by
|
||||
extending the @ref{PHP-FPM} and @ref{NGINX} services with the configuration
|
||||
necessary for loading the Zabbix user interface.
|
||||
|
||||
@defvar {Scheme variable} zabbix-front-end-service-type
|
||||
This is the service type for the Zabbix web frontend. Its value must be a
|
||||
@code{zabbix-front-end-configuration} record, shown below.
|
||||
@end defvar
|
||||
|
||||
@c %start of fragment
|
||||
|
||||
@deftp {Data Type} zabbix-front-end-configuration
|
||||
Available @code{zabbix-front-end-configuration} fields are:
|
||||
|
||||
@deftypevr {@code{zabbix-front-end-configuration} parameter} nginx-server-configuration-list nginx
|
||||
NGINX configuration.
|
||||
@table @asis
|
||||
@item @code{zabbix-server} (default: @code{zabbix-server}) (type: file-like)
|
||||
The Zabbix server package to use.
|
||||
|
||||
@end deftypevr
|
||||
@item @code{nginx} (default: @code{()}) (type: list)
|
||||
List of @ref{nginx-server-configuration,@code{nginx-server-configuration}}
|
||||
blocks for the Zabbix front-end. When empty, a default that listens on
|
||||
port 80 is used.
|
||||
|
||||
@deftypevr {@code{zabbix-front-end-configuration} parameter} string db-host
|
||||
@item @code{db-host} (default: @code{"localhost"}) (type: string)
|
||||
Database host name.
|
||||
|
||||
Defaults to @samp{"localhost"}.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{zabbix-front-end-configuration} parameter} number db-port
|
||||
@item @code{db-port} (default: @code{5432}) (type: number)
|
||||
Database port.
|
||||
|
||||
Defaults to @samp{5432}.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{zabbix-front-end-configuration} parameter} string db-name
|
||||
@item @code{db-name} (default: @code{"zabbix"}) (type: string)
|
||||
Database name.
|
||||
|
||||
Defaults to @samp{"zabbix"}.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{zabbix-front-end-configuration} parameter} string db-user
|
||||
@item @code{db-user} (default: @code{"zabbix"}) (type: string)
|
||||
Database user.
|
||||
|
||||
Defaults to @samp{"zabbix"}.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{zabbix-front-end-configuration} parameter} string db-password
|
||||
@item @code{db-password} (default: @code{""}) (type: string)
|
||||
Database password. Please, use @code{db-secret-file} instead.
|
||||
|
||||
Defaults to @samp{""}.
|
||||
@item @code{db-secret-file} (default: @code{""}) (type: string)
|
||||
Secret file which will be appended to @file{zabbix.conf.php} file. This
|
||||
file contains credentials for use by Zabbix front-end. You are expected
|
||||
to create it manually.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{zabbix-front-end-configuration} parameter} string db-secret-file
|
||||
Secret file containing the credentials for the Zabbix front-end. The value
|
||||
must be a local file name, not a G-expression. You are expected to create
|
||||
this file manually. Its contents will be copied into @file{zabbix.conf.php}
|
||||
as the value of @code{$DB['PASSWORD']}.
|
||||
|
||||
Defaults to @samp{""}.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{zabbix-front-end-configuration} parameter} string zabbix-host
|
||||
@item @code{zabbix-host} (default: @code{"localhost"}) (type: string)
|
||||
Zabbix server hostname.
|
||||
|
||||
Defaults to @samp{"localhost"}.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{zabbix-front-end-configuration} parameter} number zabbix-port
|
||||
@item @code{zabbix-port} (default: @code{10051}) (type: number)
|
||||
Zabbix server port.
|
||||
|
||||
Defaults to @samp{10051}.
|
||||
@end table
|
||||
|
||||
@end deftypevr
|
||||
@end deftp
|
||||
|
||||
|
||||
@c %end of fragment
|
||||
|
@ -26823,6 +26745,7 @@ valued G-expression.
|
|||
@end table
|
||||
@end deffn
|
||||
|
||||
@anchor{nginx-server-configuration}
|
||||
@deftp {Data Type} nginx-server-configuration
|
||||
Data type representing the configuration of an nginx server block.
|
||||
This type has the following parameters:
|
||||
|
@ -27273,6 +27196,8 @@ capability also has to be configured on the front-end as well.
|
|||
@end table
|
||||
@end deftp
|
||||
|
||||
@anchor{PHP-FPM}
|
||||
@subsubheading PHP-FPM
|
||||
@cindex php-fpm
|
||||
PHP-FPM (FastCGI Process Manager) is an alternative PHP FastCGI implementation
|
||||
with some additional features useful for sites of any size.
|
||||
|
@ -29911,6 +29836,34 @@ Defaults to @samp{"powersave"}.
|
|||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{tlp-configuration} parameter} maybe-non-negative-integer start-charge-thresh-bat0
|
||||
Percentage when battery 0 should begin charging. Only supported on some laptops.
|
||||
|
||||
Defaults to @samp{disabled}.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{tlp-configuration} parameter} maybe-non-negative-integer stop-charge-thresh-bat0
|
||||
Percentage when battery 0 should stop charging. Only supported on some laptops.
|
||||
|
||||
Defaults to @samp{disabled}.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{tlp-configuration} parameter} maybe-non-negative-integer start-charge-thresh-bat1
|
||||
Percentage when battery 1 should begin charging. Only supported on some laptops.
|
||||
|
||||
Defaults to @samp{disabled}.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{tlp-configuration} parameter} maybe-non-negative-integer stop-charge-thresh-bat1
|
||||
Percentage when battery 1 should stop charging. Only supported on some laptops.
|
||||
|
||||
Defaults to @samp{disabled}.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{tlp-configuration} parameter} string radeon-power-profile-on-ac
|
||||
Radeon graphics clock speed level. Alternatives are low, mid, high,
|
||||
auto, default.
|
||||
|
@ -33637,6 +33590,92 @@ Extra command line options for @code{guix-data-service-process-jobs}.
|
|||
@end table
|
||||
@end deftp
|
||||
|
||||
@subsubheading Nar Herder
|
||||
The @uref{https://git.cbaines.net/guix/nar-herder/about/,Nar Herder} is
|
||||
a utility for managing a collection of nars.
|
||||
|
||||
@defvar {Scheme Variable} nar-herder-type
|
||||
Service type for the Guix Data Service. Its value must be a
|
||||
@code{nar-herder-configuration} object. The service optionally
|
||||
extends the getmail service, as the guix-commits mailing list is used to
|
||||
find out about changes in the Guix git repository.
|
||||
@end defvar
|
||||
|
||||
@deftp {Data Type} nar-herder-configuration
|
||||
Data type representing the configuration of the Guix Data Service.
|
||||
|
||||
@table @asis
|
||||
@item @code{package} (default: @code{nar-herder})
|
||||
The Nar Herder package to use.
|
||||
|
||||
@item @code{user} (default: @code{"nar-herder"})
|
||||
The system user to run the service as.
|
||||
|
||||
@item @code{group} (default: @code{"nar-herder"})
|
||||
The system group to run the service as.
|
||||
|
||||
@item @code{port} (default: @code{8734})
|
||||
The port to bind the server to.
|
||||
|
||||
@item @code{host} (default: @code{"127.0.0.1"})
|
||||
The host to bind the server to.
|
||||
|
||||
@item @code{mirror} (default: @code{#f})
|
||||
Optional URL of the other Nar Herder instance which should be mirrored.
|
||||
This means that this Nar Herder instance will download it's database,
|
||||
and keep it up to date.
|
||||
|
||||
@item @code{database} (default: @code{"/var/lib/nar-herder/nar_herder.db"})
|
||||
Location for the database. If this Nar Herder instance is mirroring
|
||||
another, the database will be downloaded if it doesn't exist. If this
|
||||
Nar Herder instance isn't mirroring another, an empty database will be
|
||||
created.
|
||||
|
||||
@item @code{database-dump} (default: @code{"/var/lib/nar-herder/nar_herder_dump.db"})
|
||||
Location of the database dump. This is created and regularly updated by
|
||||
taking a copy of the database. This is the version of the database that
|
||||
is available to download.
|
||||
|
||||
@item @code{storage} (default: @code{#f})
|
||||
Optional location in which to store nars.
|
||||
|
||||
@item @code{storage-limit} (default: @code{"none"})
|
||||
Limit in bytes for the nars stored in the storage location. This can
|
||||
also be set to ``none'' so that there is no limit.
|
||||
|
||||
When the storage location exceeds this size, nars are removed according
|
||||
to the nar removal criteria.
|
||||
|
||||
@item @code{storage-nar-removal-criteria} (default: @code{'()})
|
||||
Criteria used to remove nars from the storage location. These are used
|
||||
in conjunction with the storage limit.
|
||||
|
||||
When the storage location exceeds the storage limit size, nars will be
|
||||
checked against the nar removal criteria and if any of the criteria
|
||||
match, they will be removed. This will continue until the storage
|
||||
location is below the storage limit size.
|
||||
|
||||
Each criteria is specified by a string, then an equals sign, then
|
||||
another string. Currently, only one criteria is supported, checking if a
|
||||
nar is stored on another Nar Herder instance.
|
||||
|
||||
@item @code{ttl} (default: @code{#f})
|
||||
Produce @code{Cache-Control} HTTP headers that advertise a time-to-live
|
||||
(TTL) of @var{ttl}. @var{ttl} must denote a duration: @code{5d} means 5
|
||||
days, @code{1m} means 1 month, and so on.
|
||||
|
||||
This allows the user's Guix to keep substitute information in cache for
|
||||
@var{ttl}.
|
||||
|
||||
@item @code{negative-ttl} (default: @code{#f})
|
||||
Similarly produce @code{Cache-Control} HTTP headers to advertise the
|
||||
time-to-live (TTL) of @emph{negative} lookups---missing store items, for
|
||||
which the HTTP 404 code is returned. By default, no negative TTL is
|
||||
advertised.
|
||||
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
@node Linux Services
|
||||
@subsection Linux Services
|
||||
|
||||
|
@ -35724,9 +35763,21 @@ bootloader boot menu:
|
|||
@table @code
|
||||
|
||||
@item describe
|
||||
Describe the current system generation: its file name, the kernel and
|
||||
Describe the running system generation: its file name, the kernel and
|
||||
bootloader used, etc., as well as provenance information when available.
|
||||
|
||||
@quotation Note
|
||||
The @emph{running} system generation---referred to by
|
||||
@file{/run/current-system}---is not necessarily the @emph{current}
|
||||
system generation---referred to by @file{/var/guix/profiles/system}: it
|
||||
differs when, for instance, you chose from the bootloader menu to boot
|
||||
an older generation.
|
||||
|
||||
It can also differ from the @emph{booted} system generation---referred
|
||||
to by @file{/run/booted-system}---for instance because you reconfigured
|
||||
the system in the meantime.
|
||||
@end quotation
|
||||
|
||||
@item list-generations
|
||||
List a summary of each generation of the operating system available on
|
||||
disk, in a human-readable way. This is similar to the
|
||||
|
@ -35902,6 +35953,30 @@ be accomplished with the following operating system configuration snippet:
|
|||
For more information regarding the format of the @file{sudoers} file,
|
||||
consult @command{man sudoers}.
|
||||
|
||||
Once you've deployed a system on a set of machines, you may find it
|
||||
useful to run a command on all of them. The @option{--execute} or
|
||||
@option{-x} option lets you do that; the example below runs
|
||||
@command{uname -a} on all the machines listed in the deployment file:
|
||||
|
||||
@example
|
||||
guix deploy @var{file} -x -- uname -a
|
||||
@end example
|
||||
|
||||
One thing you may often need to do after deployment is restart specific
|
||||
services on all the machines, which you can do like so:
|
||||
|
||||
@example
|
||||
guix deploy @var{file} -x -- herd restart @var{service}
|
||||
@end example
|
||||
|
||||
The @command{guix deploy -x} command returns zero if and only if the
|
||||
command succeeded on all the machines.
|
||||
|
||||
@c FIXME/TODO: Separate the API doc from the CLI doc.
|
||||
|
||||
Below are the data types you need to know about when writing a
|
||||
deployment file.
|
||||
|
||||
@deftp {Data Type} machine
|
||||
This is the data type representing a single machine in a heterogeneous Guix
|
||||
deployment.
|
||||
|
@ -37461,6 +37536,7 @@ services)}.
|
|||
* Shells: Shells Home Services. POSIX shells, Bash, Zsh.
|
||||
* Mcron: Mcron Home Service. Scheduled User's Job Execution.
|
||||
* Shepherd: Shepherd Home Service. Managing User's Daemons.
|
||||
* Desktop: Desktop Home Services. Services for graphical environments.
|
||||
@end menu
|
||||
@c In addition to that Home Services can provide
|
||||
|
||||
|
@ -37848,6 +37924,85 @@ mechanism instead (@pxref{Shepherd Services}).
|
|||
@end table
|
||||
@end deftp
|
||||
|
||||
@node Desktop Home Services
|
||||
@subsection Desktop Home Services
|
||||
|
||||
The @code{(gnu home services desktop)} module provides services that you
|
||||
may find useful on ``desktop'' systems running a graphical user
|
||||
environment such as Xorg.
|
||||
|
||||
@defvr {Scheme Variable} home-redshift-service-type
|
||||
This is the service type for @uref{https://github.com/jonls/redshift,
|
||||
Redshift}, a program that adjusts the display color temperature
|
||||
according to the time of day. Its associated value must be a
|
||||
@code{home-redshift-configuration} record, as shown below.
|
||||
|
||||
A typical configuration, where we manually specify the latitude and
|
||||
longitude, might look like this:
|
||||
|
||||
@lisp
|
||||
(service home-redshift-service-type
|
||||
(home-redshift-configuration
|
||||
(location-provider 'manual)
|
||||
(latitude 35.81) ;northern hemisphere
|
||||
(longitude -0.80))) ;west of Greenwich
|
||||
@end lisp
|
||||
@end defvr
|
||||
|
||||
@deftp {Data Type} home-redshift-configuration
|
||||
Available @code{home-redshift-configuration} fields are:
|
||||
|
||||
@table @asis
|
||||
@item @code{redshift} (default: @code{redshift}) (type: file-like)
|
||||
Redshift package to use.
|
||||
|
||||
@item @code{location-provider} (default: @code{geoclue2}) (type: symbol)
|
||||
Geolocation provider---@code{'manual} or @code{'geoclue2}. In the
|
||||
former case, you must also specify the @code{latitude} and
|
||||
@code{longitude} fields so Redshift can determine daytime at your place.
|
||||
In the latter case, the Geoclue system service must be running; it will
|
||||
be queried for location information.
|
||||
|
||||
@item @code{adjustment-method} (default: @code{randr}) (type: symbol)
|
||||
Color adjustment method.
|
||||
|
||||
@item @code{daytime-temperature} (default: @code{6500}) (type: integer)
|
||||
Daytime color temperature (kelvins).
|
||||
|
||||
@item @code{nighttime-temperature} (default: @code{4500}) (type: integer)
|
||||
Nighttime color temperature (kelvins).
|
||||
|
||||
@item @code{daytime-brightness} (default: @code{disabled}) (type: maybe-inexact-number)
|
||||
Daytime screen brightness, between 0.1 and 1.0.
|
||||
|
||||
@item @code{nighttime-brightness} (default: @code{disabled}) (type: maybe-inexact-number)
|
||||
Nighttime screen brightness, between 0.1 and 1.0.
|
||||
|
||||
@item @code{latitude} (default: @code{disabled}) (type: maybe-inexact-number)
|
||||
Latitude, when @code{location-provider} is @code{'manual}.
|
||||
|
||||
@item @code{longitude} (default: @code{disabled}) (type: maybe-inexact-number)
|
||||
Longitude, when @code{location-provider} is @code{'manual}.
|
||||
|
||||
@item @code{dawn-time} (default: @code{disabled}) (type: maybe-string)
|
||||
Custom time for the transition from night to day in the
|
||||
morning---@code{"HH:MM"} format. When specified, solar elevation is not
|
||||
used to determine the daytime/nighttime period.
|
||||
|
||||
@item @code{dusk-time} (default: @code{disabled}) (type: maybe-string)
|
||||
Likewise, custom time for the transition from day to night in the
|
||||
evening.
|
||||
|
||||
@item @code{extra-content} (default: @code{""}) (type: raw-configuration-string)
|
||||
Extra content appended as-is to the Redshift configuration file. Run
|
||||
@command{man redshift} for more information about the configuration file
|
||||
format.
|
||||
|
||||
@end table
|
||||
|
||||
@end deftp
|
||||
|
||||
|
||||
@node Invoking guix home
|
||||
@section Invoking @code{guix home}
|
||||
|
||||
|
@ -38072,6 +38227,16 @@ Consider the home-environment @var{expr} evaluates to.
|
|||
This is an alternative to specifying a file which evaluates to a home
|
||||
environment.
|
||||
|
||||
@item --allow-downgrades
|
||||
Instruct @command{guix home reconfigure} to allow system downgrades.
|
||||
|
||||
Just like @command{guix system}, @command{guix home reconfigure}, by
|
||||
default, prevents you from downgrading your home to older or unrelated
|
||||
revisions compared to the channel revisions that were used to deploy
|
||||
it---those shown by @command{guix home describe}. Using
|
||||
@option{--allow-downgrades} allows you to bypass that check, at the risk
|
||||
of downgrading your home---be careful!
|
||||
|
||||
@end table
|
||||
|
||||
@node Documentation
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
# If adding a language, update the following variables, and info_TEXINFOS.
|
||||
MANUAL_LANGUAGES = de es fa fi fr it ko pt_BR ru sk zh_CN
|
||||
COOKBOOK_LANGUAGES = de es fa fi fr ko ru sk zh_Hans
|
||||
COOKBOOK_LANGUAGES = de es fa fi fr ko pt_BR ru sk zh_Hans
|
||||
|
||||
# Arg1: A list of languages codes.
|
||||
# Arg2: The file name stem.
|
||||
|
@ -50,6 +50,7 @@ info_TEXINFOS = %D%/guix.texi \
|
|||
%D%/guix-cookbook.fi.texi \
|
||||
%D%/guix-cookbook.fr.texi \
|
||||
%D%/guix-cookbook.ko.texi \
|
||||
%D%/guix-cookbook.pt_BR.texi \
|
||||
%D%/guix-cookbook.ru.texi \
|
||||
%D%/guix-cookbook.sk.texi \
|
||||
%D%/guix-cookbook.zh_Hans.texi
|
||||
|
|
|
@ -302,9 +302,6 @@
|
|||
(allow guix_daemon_t
|
||||
guix_daemon_conf_t
|
||||
(lnk_file (create getattr rename unlink read)))
|
||||
(allow guix_daemon_t
|
||||
guix_daemon_conf_t
|
||||
(sock_file (write)))
|
||||
(allow guix_daemon_t net_conf_t
|
||||
(file (getattr open read)))
|
||||
(allow guix_daemon_t net_conf_t
|
||||
|
@ -358,7 +355,7 @@
|
|||
(unix_stream_socket (listen)))
|
||||
(allow guix_daemon_t
|
||||
guix_daemon_conf_t
|
||||
(sock_file (create unlink)))
|
||||
(sock_file (create unlink write)))
|
||||
(allow guix_daemon_t
|
||||
self
|
||||
(unix_stream_socket (create
|
||||
|
|
88
etc/news.scm
88
etc/news.scm
|
@ -9,7 +9,7 @@
|
|||
;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
|
||||
;; Copyright © 2020, 2021 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;; Copyright © 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;; Copyright © 2021 Leo Famulari <leo@famulari.name>
|
||||
;; Copyright © 2021 Zhu Zihao <all_but_last@163.com>
|
||||
;; Copyright © 2021 Chris Marusich <cmmarusich@gmail.com>
|
||||
|
@ -25,6 +25,64 @@
|
|||
(channel-news
|
||||
(version 0)
|
||||
|
||||
(entry (commit "96d7535b030c65b2d8cb0bea52c4bd96cbdefaf0")
|
||||
(title
|
||||
(en "ci.guix.gnu.org to stop offering Gzip substitutes")
|
||||
(de "ci.guix.gnu.org wird keine Substitute mit Gzip mehr anbieten"))
|
||||
(body
|
||||
(en "This is a notice to let you know that starting next
|
||||
month (2022/03/01), Gzip-compressed substitutes will no longer be available,
|
||||
which means that Guix daemons from a revision older than commit
|
||||
@samp{3092f1b835d79655eecb2f8a79dda20ad9ba6bd6} (2019/06/02) will loose the
|
||||
ability to download binary substitutes. Starting next month, only lzip and
|
||||
zstd substitutes will be offered. Dropping Gzip substitutes will free about
|
||||
6.5 TiB of storage space from the build farm.")
|
||||
(de "Hiermit weisen wir Sie darauf hin, dass ab nächstem
|
||||
Monat (2022/03/01) keine Gzip-komprimierten Substitute mehr zur Verfügung
|
||||
stehen. Dadurch können Guix-Daemons, deren Version älter ist als Commit
|
||||
@samp{3092f1b835d79655eecb2f8a79dda20ad9ba6bd6} (2019/06/02), keine binären
|
||||
Substitute mehr beziehen. Ab kommendem Monat werden nur Substitute mit lzip
|
||||
und zstd angeboten. Indem wir auf Gzip-Substitute verzichten, sparen wir 6.5
|
||||
TiB Speicherplatz auf der Erstellungsfarm.")))
|
||||
|
||||
(entry (commit "5c13484646069064c834bbd3cd02c3bc80d94cb6")
|
||||
(title
|
||||
(en "New @option{--execute} option to @command{guix deploy}")
|
||||
(de "Neue Option @option{--execute} für @command{guix deploy}")
|
||||
(fr "Nouvelle option @option{--execute} pour @command{guix deploy}"))
|
||||
(body
|
||||
(en "The @command{guix deploy} command has a new @option{--execute}
|
||||
or @option{-x} option, which allows you to execute a command on all the
|
||||
machines that your configuration file specifies, as in this example:
|
||||
|
||||
@example
|
||||
guix deploy deploy.scm -x -- herd restart guix-daemon
|
||||
@end example
|
||||
|
||||
This is no substitute for full-featured tools such as pdsh but it is a useful
|
||||
helper.")
|
||||
(de "Der Befehl @command{guix deploy} verfügt über eine neue Option
|
||||
@option{--execute} oder @option{-x}, mit der Sie einen Befehl auf allen in der
|
||||
Konfigurationsdatei angegebenen Maschinen ausführen können. Zum Beispiel:
|
||||
|
||||
@example
|
||||
guix deploy deploy.scm -x -- herd restart guix-daemon
|
||||
@end example
|
||||
|
||||
Dies ist kein Ersatz für vollumfängliche Werkzeuge wie pdsh, aber es kann doch
|
||||
von Nutzen sein.")
|
||||
(fr "La commande @command{guix deploy} a une nouvelle option
|
||||
@option{--execute} ou @option{-x} qui permet d'exécuter une commande sur
|
||||
toutes les machines spécifiées dans son fichier de configuration, comme dans
|
||||
cet exemple :
|
||||
|
||||
@example
|
||||
guix deploy deploy.scm -x -- herd restart guix-daemon
|
||||
@end example
|
||||
|
||||
Ça ne remplace pas les outils sophistiqués comme pdsh mais c'est bien
|
||||
pratique.")))
|
||||
|
||||
(entry (commit "c4fe13c294cc1e31dd8a49ce3981f603fb169e0a")
|
||||
(title
|
||||
(en "@command{guix style} can format package definitions")
|
||||
|
@ -229,14 +287,14 @@ d'informations.")))
|
|||
|
||||
(entry (commit "52cb5cf5b852117b5151a67af187d80764849ad3")
|
||||
(title
|
||||
(en "Icedove 91: profile folder moved to @file{~/.thunderbird}")
|
||||
(de "Icedove 91: Profilordner jetzt unter @file{~/.thunderbird}"))
|
||||
(en "Icedove 91: profile folder moved to @file{~/.thunderbird}")
|
||||
(de "Icedove 91: Profilordner jetzt unter @file{~/.thunderbird}"))
|
||||
(body
|
||||
(en "Icedove 91 expects your profile folder under @file{~/.thunderbird}.
|
||||
(en "Icedove 91 expects your profile folder under @file{~/.thunderbird}.
|
||||
You need to manually copy your Icedove profiles from @file{~/.icedove} to
|
||||
@file{~./thunderbird}. It may be required to start Icedove with
|
||||
@option{--ProfileManager} for the first time after the migration.")
|
||||
(de "Icedove 91 erwartet Ihren Profilordner unter @file{~/.thunderbird}.
|
||||
(de "Icedove 91 erwartet Ihren Profilordner unter @file{~/.thunderbird}.
|
||||
Dafür müssen sie Ihre Icedove-Profile von @file{~/.icedove} nach
|
||||
@file{~/.thunderbird} kopieren. Eventuell muss Icedove das erste Mal nach der
|
||||
Migration mit @option{--ProfileManager} gestartet werden.")))
|
||||
|
@ -831,7 +889,7 @@ Nous conseillons de mettre à jour @command{guix-daemon}. Lancer @command{info
|
|||
\"(guix.fr) Mettre à niveau Guix\"} pour voir comment faire. Voir
|
||||
@uref{https://issues.guix.gnu.org/47229} pour plus d'informations sur cette
|
||||
faille.")
|
||||
(nl "In @command{guix-daemon} werd een beveiligingsprobleem
|
||||
(nl "In @command{guix-daemon} werd een beveiligingsprobleem
|
||||
gevonden dat kan leiden tot de escalatie van lokale bevoegdheden. Het
|
||||
probleem doet zich voor bij installaties met meerdere gebruikers waarop een
|
||||
lokale @command{guix-daemon} draait.
|
||||
|
@ -921,7 +979,7 @@ guix import go golang.org/x/sys
|
|||
@end example
|
||||
|
||||
Lancez @command{info \"(guix.fr) Invoquer guix import\"} pour en savoir plus.")
|
||||
(nl "Met de nieuwe @command{guix import go}-opdracht kunnen
|
||||
(nl "Met de nieuwe @command{guix import go}-opdracht kunnen
|
||||
pakketschrijvers een pakketdefinitie of -sjabloon aanmaken, op basis van de
|
||||
naam van een Go-pakket te vinden op @url{https://proxy.golang.org}:
|
||||
|
||||
|
@ -934,28 +992,28 @@ informatie.")))
|
|||
|
||||
(entry (commit "1b5b882120daf7d111aa351a919a90e818324347")
|
||||
(title
|
||||
(en "The @code{linux-libre} kernel is updated to 5.11.2")
|
||||
(de "Der Kernel @code{linux-libre} wird auf 5.11.2 aktualisiert")
|
||||
(fr "Le noyau @code{linux-libre} est mis à jour vers la 5.11.2")
|
||||
(nl "De @code{linux-libre}-kernel werd bijgewertk naar 5.11.2"))
|
||||
(en "The @code{linux-libre} kernel is updated to 5.11.2")
|
||||
(de "Der Kernel @code{linux-libre} wird auf 5.11.2 aktualisiert")
|
||||
(fr "Le noyau @code{linux-libre} est mis à jour vers la 5.11.2")
|
||||
(nl "De @code{linux-libre}-kernel werd bijgewertk naar 5.11.2"))
|
||||
(body
|
||||
(en "The default @code{linux-libre} kernel is now based on the 5.11
|
||||
(en "The default @code{linux-libre} kernel is now based on the 5.11
|
||||
stable kernel series, beginning with version 5.11.2. Promiment features include
|
||||
improved Wine performance, unprivileged Overlayfs mounts, support for Intel SGX,
|
||||
support for new graphics hardware, and improved performance of the Btrfs
|
||||
file system.")
|
||||
(de "Der standardmäßig verwendete @code{linux-libre}-Kernel basiert
|
||||
(de "Der standardmäßig verwendete @code{linux-libre}-Kernel basiert
|
||||
jetzt auf der 5.11-„stable“-Versionsreihe, angefangen mit Version 5.11.2. Zu
|
||||
den markanten Neuerungen gehören bessere Wine-Unterstützung, Einbinden per
|
||||
Overlayfs für Nutzer ohne erweiterte Rechte, Unterstützung für Intel SGX, für
|
||||
neue Grafikhardware und bessere Leistung beim Btrfs-Dateisystem.")
|
||||
(fr "Le noyau @code{linux-libre} par défaut est maintenant basé sur la
|
||||
(fr "Le noyau @code{linux-libre} par défaut est maintenant basé sur la
|
||||
lignée stable 5.11 du noyau, à commencer par la version 5.11.2. Parmi les
|
||||
fonctionnalités notables on trouve des performances améliorées pour Wine, le
|
||||
montage Overlayfs non privilégié, la prise en charge d'Intel SGX, celle des
|
||||
nouveaux périphériques graphiques et de meilleures performances du système de
|
||||
fichiers Btrfs.")
|
||||
(nl "De standaard @code{linux-libre}-kernel is nu geëent op de
|
||||
(nl "De standaard @code{linux-libre}-kernel is nu geëent op de
|
||||
stabiele 5.11-reeks, te beginnen met versie 5.11.2. Deze update biedt onder
|
||||
andere verbeterde prestaties voor Wine en het Btfrs-bestandssysteem, laat
|
||||
gewone gebruikers toe om met Overlayfs bestandssystemen te combineren, en
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
;;; Copyright © 2016 Christine Lemmer-Webber <cwebber@dustycloud.org>
|
||||
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2020, 2022 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
|
@ -62,8 +62,10 @@
|
|||
|
||||
(define (estimate-partition-size root)
|
||||
"Given the ROOT directory, evaluate and return its size. As this doesn't
|
||||
take the partition metadata size into account, take a 25% margin."
|
||||
(* 1.25 (file-size root)))
|
||||
take the partition metadata size into account, take a 25% margin. As this in
|
||||
turn doesn't take any constant overhead into account, force a 1-MiB minimum."
|
||||
(max (ash 1 20)
|
||||
(* 1.25 (file-size root))))
|
||||
|
||||
(define* (make-ext-image partition target root
|
||||
#:key
|
||||
|
|
|
@ -30,6 +30,7 @@
|
|||
#:use-module (guix discovery)
|
||||
#:use-module (guix diagnostics)
|
||||
#:use-module (guix i18n)
|
||||
#:use-module (guix modules)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (ice-9 match)
|
||||
|
||||
|
@ -43,6 +44,7 @@
|
|||
home-provenance-service-type
|
||||
|
||||
fold-home-service-types
|
||||
home-provenance
|
||||
|
||||
%initialize-gettext)
|
||||
|
||||
|
@ -281,13 +283,13 @@ will be put in @file{~/.guix-home/files}.")))
|
|||
#~(begin
|
||||
(bindtextdomain %gettext-domain
|
||||
(string-append #$guix "/share/locale"))
|
||||
(textdomain %gettext-domain)
|
||||
(setlocale LC_ALL "")))
|
||||
(textdomain %gettext-domain)))
|
||||
|
||||
(define (compute-on-first-login-script _ gexps)
|
||||
(program-file
|
||||
"on-first-login"
|
||||
#~(begin
|
||||
(with-imported-modules (source-module-closure '((guix i18n)))
|
||||
#~(begin
|
||||
(use-modules (guix i18n))
|
||||
#$%initialize-gettext
|
||||
|
||||
|
@ -308,7 +310,7 @@ will be put in @file{~/.guix-home/files}.")))
|
|||
(display (G_ "XDG_RUNTIME_DIR doesn't exists, on-first-login script
|
||||
won't execute anything. You can check if xdg runtime directory exists,
|
||||
XDG_RUNTIME_DIR variable is set to appropriate value and manually execute the
|
||||
script by running '$HOME/.guix-home/on-first-login'")))))))
|
||||
script by running '$HOME/.guix-home/on-first-login'"))))))))
|
||||
|
||||
(define (on-first-login-script-entry on-first-login)
|
||||
"Return, as a monadic value, an entry for the on-first-login script
|
||||
|
@ -400,7 +402,8 @@ with one gexp, but many times, and all gexps must be idempotent.")))
|
|||
;;;
|
||||
|
||||
(define (compute-on-change-gexp eval-gexps? pattern-gexp-tuples)
|
||||
#~(begin
|
||||
(with-imported-modules (source-module-closure '((guix i18n)))
|
||||
#~(begin
|
||||
(use-modules (guix i18n))
|
||||
|
||||
#$%initialize-gettext
|
||||
|
@ -485,7 +488,7 @@ with one gexp, but many times, and all gexps must be idempotent.")))
|
|||
(display (G_ "On-change gexps evaluation finished.\n\n")))
|
||||
(display "\
|
||||
On-change gexps won't be evaluated; evaluation has been disabled in the
|
||||
service configuration"))))
|
||||
service configuration")))))
|
||||
|
||||
(define home-run-on-change-service-type
|
||||
(service-type (name 'home-run-on-change)
|
||||
|
|
174
gnu/home/services/desktop.scm
Normal file
174
gnu/home/services/desktop.scm
Normal file
|
@ -0,0 +1,174 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2022 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
||||
;;; under the terms of the GNU General Public License as published by
|
||||
;;; the Free Software Foundation; either version 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix is distributed in the hope that it will be useful, but
|
||||
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;;; GNU General Public License for more details.
|
||||
;;;
|
||||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu home services desktop)
|
||||
#:use-module (gnu home services)
|
||||
#:use-module (gnu home services shepherd)
|
||||
#:use-module (gnu services configuration)
|
||||
#:autoload (gnu packages xdisorg) (redshift)
|
||||
#:use-module (guix records)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (ice-9 match)
|
||||
#:export (home-redshift-configuration
|
||||
home-redshift-configuration?
|
||||
|
||||
home-redshift-service-type))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Redshift.
|
||||
;;;
|
||||
|
||||
(define (serialize-integer field value)
|
||||
(string-append (match field
|
||||
('daytime-temperature "temp-day")
|
||||
('nighttime-temperature "temp-night")
|
||||
('daytime-brightness "brightness-day")
|
||||
('nighttime-brightness "brightness-night")
|
||||
('latitude "lat")
|
||||
('longitude "lon")
|
||||
(_ (symbol->string field)))
|
||||
"=" (number->string value) "\n"))
|
||||
|
||||
(define (serialize-symbol field value)
|
||||
(string-append (symbol->string field)
|
||||
"=" (symbol->string value) "\n"))
|
||||
|
||||
(define (serialize-string field value)
|
||||
(string-append (symbol->string field)
|
||||
"=" value "\n"))
|
||||
|
||||
(define serialize-inexact-number serialize-integer)
|
||||
|
||||
(define (inexact-number? n)
|
||||
(and (number? n) (inexact? n)))
|
||||
(define-maybe inexact-number)
|
||||
(define-maybe string)
|
||||
|
||||
(define (serialize-raw-configuration-string field value)
|
||||
value)
|
||||
(define raw-configuration-string? string?)
|
||||
|
||||
(define-configuration home-redshift-configuration
|
||||
(redshift
|
||||
(file-like redshift)
|
||||
"Redshift package to use.")
|
||||
|
||||
(location-provider
|
||||
(symbol 'geoclue2)
|
||||
"Geolocation provider---@code{'manual} or @code{'geoclue2}.
|
||||
|
||||
In the former case, you must also specify the @code{latitude} and
|
||||
@code{longitude} fields so Redshift can determine daytime at your place. In
|
||||
the latter case, the Geoclue system service must be running; it will be
|
||||
queried for location information.")
|
||||
(adjustment-method
|
||||
(symbol 'randr)
|
||||
"Color adjustment method.")
|
||||
|
||||
;; Default values from redshift(1).
|
||||
(daytime-temperature
|
||||
(integer 6500)
|
||||
"Daytime color temperature (kelvins).")
|
||||
(nighttime-temperature
|
||||
(integer 4500)
|
||||
"Nighttime color temperature (kelvins).")
|
||||
|
||||
(daytime-brightness
|
||||
(maybe-inexact-number 'disabled)
|
||||
"Daytime screen brightness, between 0.1 and 1.0.")
|
||||
(nighttime-brightness
|
||||
(maybe-inexact-number 'disabled)
|
||||
"Nighttime screen brightness, between 0.1 and 1.0.")
|
||||
|
||||
(latitude
|
||||
(maybe-inexact-number 'disabled)
|
||||
"Latitude, when @code{location-provider} is @code{'manual}.")
|
||||
(longitude
|
||||
(maybe-inexact-number 'disabled)
|
||||
"Longitude, when @code{location-provider} is @code{'manual}.")
|
||||
|
||||
(dawn-time
|
||||
(maybe-string 'disabled)
|
||||
"Custom time for the transition from night to day in the
|
||||
morning---@code{\"HH:MM\"} format. When specified, solar elevation is not
|
||||
used to determine the daytime/nighttime period.")
|
||||
(dusk-time
|
||||
(maybe-string 'disabled)
|
||||
"Likewise, custom time for the transition from day to night in the
|
||||
evening.")
|
||||
|
||||
(extra-content
|
||||
(raw-configuration-string "")
|
||||
"Extra content appended as-is to the Redshift configuration file. Run
|
||||
@command{man redshift} for more information about the configuration file
|
||||
format."))
|
||||
|
||||
(define (serialize-redshift-configuration config)
|
||||
(define location-fields
|
||||
'(latitude longitude))
|
||||
|
||||
(define (location-field? field)
|
||||
(memq (configuration-field-name field) location-fields))
|
||||
|
||||
(define (secondary-field? field)
|
||||
(or (location-field? field)
|
||||
(memq (configuration-field-name field)
|
||||
'(redshift extra-content))))
|
||||
|
||||
#~(string-append
|
||||
"[redshift]\n"
|
||||
#$(serialize-configuration config
|
||||
(remove secondary-field?
|
||||
home-redshift-configuration-fields))
|
||||
|
||||
#$(home-redshift-configuration-extra-content config)
|
||||
|
||||
"\n[manual]\n"
|
||||
#$(serialize-configuration config
|
||||
(filter location-field?
|
||||
home-redshift-configuration-fields))))
|
||||
|
||||
(define (redshift-shepherd-service config)
|
||||
(define config-file
|
||||
(computed-file "redshift.conf"
|
||||
#~(call-with-output-file #$output
|
||||
(lambda (port)
|
||||
(display #$(serialize-redshift-configuration config)
|
||||
port)))))
|
||||
|
||||
(list (shepherd-service
|
||||
(documentation "Redshift program.")
|
||||
(provision '(redshift))
|
||||
;; FIXME: This fails to start if Home is first activated from a
|
||||
;; non-X11 session.
|
||||
(start #~(make-forkexec-constructor
|
||||
(list #$(file-append redshift "/bin/redshift")
|
||||
"-c" #$config-file)))
|
||||
(stop #~(make-kill-destructor)))))
|
||||
|
||||
(define home-redshift-service-type
|
||||
(service-type
|
||||
(name 'home-redshift)
|
||||
(extensions (list (service-extension home-shepherd-service-type
|
||||
redshift-shepherd-service)))
|
||||
(default-value (home-redshift-configuration))
|
||||
(description
|
||||
"Run Redshift, a program that adjusts the color temperature of display
|
||||
according to time of day.")))
|
|
@ -33,6 +33,7 @@
|
|||
#:use-module (gnu packages admin)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages connman)
|
||||
#:use-module (gnu packages cryptsetup)
|
||||
#:use-module (gnu packages disk)
|
||||
|
@ -42,6 +43,7 @@
|
|||
#:autoload (gnu packages gnupg) (guile-gcrypt)
|
||||
#:use-module (gnu packages iso-codes)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages nano)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages package-management)
|
||||
#:use-module (gnu packages tls)
|
||||
|
@ -333,9 +335,11 @@ selected keymap."
|
|||
ntfs-3g ;mkfs.ntfs
|
||||
xfsprogs ;mkfs.xfs
|
||||
kbd ;chvt
|
||||
guix ;guix system init call
|
||||
util-linux ;mkwap
|
||||
nano
|
||||
shadow
|
||||
tar ;dump
|
||||
gzip ;dump
|
||||
coreutils)))
|
||||
(with-output-to-port (%make-void-port "w")
|
||||
(lambda ()
|
||||
|
@ -352,7 +356,8 @@ selected keymap."
|
|||
;; packages …), etc. modules.
|
||||
(with-extensions (list guile-gcrypt guile-newt
|
||||
guile-parted guile-bytestructures
|
||||
guile-json-3 guile-git guix gnutls)
|
||||
guile-json-3 guile-git guile-webutils
|
||||
guix gnutls)
|
||||
(with-imported-modules `(,@(source-module-closure
|
||||
`(,@modules
|
||||
(gnu services herd)
|
||||
|
@ -363,6 +368,7 @@ selected keymap."
|
|||
(use-modules (gnu installer record)
|
||||
(gnu installer keymap)
|
||||
(gnu installer steps)
|
||||
(gnu installer dump)
|
||||
(gnu installer final)
|
||||
(gnu installer hostname)
|
||||
(gnu installer locale)
|
||||
|
@ -379,7 +385,8 @@ selected keymap."
|
|||
(guix build utils)
|
||||
((system repl debug)
|
||||
#:select (terminal-width))
|
||||
(ice-9 match))
|
||||
(ice-9 match)
|
||||
(ice-9 textual-ports))
|
||||
|
||||
;; Initialize gettext support so that installers can use
|
||||
;; (guix i18n) module.
|
||||
|
@ -407,43 +414,56 @@ selected keymap."
|
|||
;; verbose.
|
||||
(terminal-width 200)
|
||||
|
||||
(let* ((current-installer newt-installer)
|
||||
(steps (#$steps current-installer)))
|
||||
((installer-init current-installer))
|
||||
(define current-installer newt-installer)
|
||||
(define steps (#$steps current-installer))
|
||||
|
||||
(catch #t
|
||||
(lambda ()
|
||||
(define results
|
||||
(run-installer-steps
|
||||
#:rewind-strategy 'menu
|
||||
#:menu-proc (installer-menu-page current-installer)
|
||||
#:steps steps))
|
||||
(dynamic-wind
|
||||
(installer-init current-installer)
|
||||
(lambda ()
|
||||
(parameterize
|
||||
((run-command-in-installer
|
||||
(installer-run-command current-installer)))
|
||||
(catch #t
|
||||
(lambda ()
|
||||
(define results
|
||||
(run-installer-steps
|
||||
#:rewind-strategy 'menu
|
||||
#:menu-proc (installer-menu-page current-installer)
|
||||
#:steps steps))
|
||||
|
||||
(match (result-step results 'final)
|
||||
('success
|
||||
;; We did it! Let's reboot!
|
||||
(sync)
|
||||
(stop-service 'root))
|
||||
(_
|
||||
;; The installation failed, exit so that it is restarted
|
||||
;; by login.
|
||||
#f)))
|
||||
(const #f)
|
||||
(lambda (key . args)
|
||||
(syslog "crashing due to uncaught exception: ~s ~s~%"
|
||||
key args)
|
||||
(let ((error-file "/tmp/last-installer-error"))
|
||||
(call-with-output-file error-file
|
||||
(lambda (port)
|
||||
(display-backtrace (make-stack #t) port)
|
||||
(print-exception port
|
||||
(stack-ref (make-stack #t) 1)
|
||||
key args)))
|
||||
((installer-exit-error current-installer)
|
||||
error-file key args))
|
||||
(primitive-exit 1)))
|
||||
(match (result-step results 'final)
|
||||
('success
|
||||
;; We did it! Let's reboot!
|
||||
(sync)
|
||||
(stop-service 'root))
|
||||
(_
|
||||
;; The installation failed, exit so that it is
|
||||
;; restarted by login.
|
||||
#f)))
|
||||
(const #f)
|
||||
(lambda (key . args)
|
||||
(installer-log-line "crashing due to uncaught exception: ~s ~s"
|
||||
key args)
|
||||
(define dump-dir
|
||||
(prepare-dump key args #:result %current-result))
|
||||
(define action
|
||||
((installer-exit-error current-installer)
|
||||
(get-string-all
|
||||
(open-input-file
|
||||
(string-append dump-dir "/installer-backtrace")))))
|
||||
(match action
|
||||
('dump
|
||||
(let* ((dump-files
|
||||
((installer-dump-page current-installer)
|
||||
dump-dir))
|
||||
(dump-archive
|
||||
(make-dump dump-dir dump-files)))
|
||||
((installer-report-page current-installer)
|
||||
dump-archive)))
|
||||
(_ #f))
|
||||
(exit 1)))))
|
||||
|
||||
((installer-exit current-installer)))))))
|
||||
(installer-exit current-installer))))))
|
||||
|
||||
(program-file
|
||||
"installer"
|
||||
|
|
118
gnu/installer/dump.scm
Normal file
118
gnu/installer/dump.scm
Normal file
|
@ -0,0 +1,118 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2021 Mathieu Othacehe <othacehe@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
||||
;;; under the terms of the GNU General Public License as published by
|
||||
;;; the Free Software Foundation; either version 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix is distributed in the hope that it will be useful, but
|
||||
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;;; GNU General Public License for more details.
|
||||
;;;
|
||||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu installer dump)
|
||||
#:use-module (gnu installer utils)
|
||||
#:use-module (guix build utils)
|
||||
#:use-module (srfi srfi-11)
|
||||
#:use-module (ice-9 iconv)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (ice-9 popen)
|
||||
#:use-module (ice-9 textual-ports)
|
||||
#:use-module (web client)
|
||||
#:use-module (web http)
|
||||
#:use-module (web response)
|
||||
#:use-module (webutils multipart)
|
||||
#:export (prepare-dump
|
||||
make-dump
|
||||
send-dump-report))
|
||||
|
||||
;; The installer crash dump type.
|
||||
(define %dump-type "installer-dump")
|
||||
|
||||
(define (result->list result)
|
||||
"Return the alist for the given RESULT."
|
||||
(hash-map->list (lambda (k v)
|
||||
(cons k v))
|
||||
result))
|
||||
|
||||
(define* (prepare-dump key args #:key result)
|
||||
"Create a crash dump directory. KEY and ARGS represent the thrown error.
|
||||
RESULT is the installer result hash table. Returns the created directory path."
|
||||
(define now (localtime (current-time)))
|
||||
(define dump-dir
|
||||
(format #f "/tmp/dump.~a"
|
||||
(strftime "%F.%H.%M.%S" now)))
|
||||
(mkdir-p dump-dir)
|
||||
(with-directory-excursion dump-dir
|
||||
;; backtrace
|
||||
(call-with-output-file "installer-backtrace"
|
||||
(lambda (port)
|
||||
(display-backtrace (make-stack #t) port)
|
||||
(print-exception port
|
||||
(stack-ref (make-stack #t) 1)
|
||||
key args)))
|
||||
|
||||
;; installer result
|
||||
(call-with-output-file "installer-result"
|
||||
(lambda (port)
|
||||
(write (result->list result) port)))
|
||||
|
||||
;; syslog
|
||||
(copy-file "/var/log/messages" "syslog")
|
||||
|
||||
;; dmesg
|
||||
(let ((pipe (open-pipe* OPEN_READ "dmesg")))
|
||||
(call-with-output-file "dmesg"
|
||||
(lambda (port)
|
||||
(dump-port pipe port)
|
||||
(close-pipe pipe)))))
|
||||
dump-dir)
|
||||
|
||||
(define* (make-dump dump-dir file-choices)
|
||||
"Create a crash dump archive from DUMP-DIR containing FILE-CHOICES.
|
||||
Returns the archive path."
|
||||
(define output (string-append (basename dump-dir) ".tar.gz"))
|
||||
(with-directory-excursion (dirname dump-dir)
|
||||
(apply system* "tar" "-zcf" output
|
||||
(map (lambda (f)
|
||||
(string-append (basename dump-dir) "/" f))
|
||||
file-choices)))
|
||||
(canonicalize-path (string-append (dirname dump-dir) "/" output)))
|
||||
|
||||
(define* (send-dump-report dump
|
||||
#:key
|
||||
(url "https://dump.guix.gnu.org"))
|
||||
"Turn the DUMP archive into a multipart body and send it to the Guix crash
|
||||
dump server at URL."
|
||||
(define (match-boundary kont)
|
||||
(match-lambda
|
||||
(('boundary . (? string? b))
|
||||
(kont b))
|
||||
(x #f)))
|
||||
|
||||
(define (response->string response)
|
||||
(bytevector->string
|
||||
(read-response-body response)
|
||||
"UTF-8"))
|
||||
|
||||
(let-values (((body boundary)
|
||||
(call-with-input-file dump
|
||||
(lambda (port)
|
||||
(format-multipart-body
|
||||
`((,%dump-type . ,port)))))))
|
||||
(false-if-exception
|
||||
(response->string
|
||||
(http-post
|
||||
(string-append url "/upload")
|
||||
#:keep-alive? #t
|
||||
#:streaming? #t
|
||||
#:headers `((content-type
|
||||
. (multipart/form-data
|
||||
(boundary . ,boundary))))
|
||||
#:body body)))))
|
|
@ -85,8 +85,9 @@ USERS."
|
|||
(uid (if root? 0 #f))
|
||||
(home-directory
|
||||
(user-home-directory user))
|
||||
(password (crypt (user-password user)
|
||||
(salt)))
|
||||
(password (crypt
|
||||
(secret-content (user-password user))
|
||||
(salt)))
|
||||
|
||||
;; We need a string here, not a file-like, hence
|
||||
;; this choice.
|
||||
|
@ -125,15 +126,15 @@ it can interact with the rest of the system."
|
|||
(setlocale LC_ALL locale))))
|
||||
(if supported?
|
||||
(begin
|
||||
(syslog "install supported locale ~a~%." locale)
|
||||
(installer-log-line "install supported locale ~a." locale)
|
||||
(setenv "LC_ALL" locale))
|
||||
(begin
|
||||
;; If the selected locale is not supported, install a default UTF-8
|
||||
;; locale. This is required to copy some files with UTF-8
|
||||
;; characters, in the nss-certs package notably. Set LANGUAGE
|
||||
;; anyways, to have translated messages if possible.
|
||||
(syslog "~a locale is not supported, installating en_US.utf8 \
|
||||
locale instead.~%" locale)
|
||||
(installer-log-line "~a locale is not supported, installing \
|
||||
en_US.utf8 locale instead." locale)
|
||||
(setlocale LC_ALL "en_US.utf8")
|
||||
(setenv "LC_ALL" "en_US.utf8")
|
||||
(setenv "LANGUAGE"
|
||||
|
@ -208,17 +209,9 @@ or #f. Return #t on success and #f on failure."
|
|||
(setvbuf (current-output-port) 'none)
|
||||
(setvbuf (current-error-port) 'none)
|
||||
|
||||
;; If there are any connected clients, assume that we are running
|
||||
;; installation tests. In that case, dump the standard and error
|
||||
;; outputs to syslog.
|
||||
(set! ret
|
||||
(if (not (null? (current-clients)))
|
||||
(with-output-to-file "/dev/console"
|
||||
(lambda ()
|
||||
(with-error-to-file "/dev/console"
|
||||
(lambda ()
|
||||
(run-command install-command)))))
|
||||
(run-command install-command))))
|
||||
(setenv "PATH" "/run/current-system/profile/bin/")
|
||||
|
||||
(set! ret (run-command install-command)))
|
||||
(lambda ()
|
||||
;; Restart guix-daemon so that it does no keep the MNT namespace
|
||||
;; alive.
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
(define-module (gnu installer newt)
|
||||
#:use-module (gnu installer record)
|
||||
#:use-module (gnu installer utils)
|
||||
#:use-module (gnu installer dump)
|
||||
#:use-module (gnu installer newt ethernet)
|
||||
#:use-module (gnu installer newt final)
|
||||
#:use-module (gnu installer newt parameters)
|
||||
|
@ -39,7 +40,12 @@
|
|||
#:use-module (guix config)
|
||||
#:use-module (guix discovery)
|
||||
#:use-module (guix i18n)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-26)
|
||||
#:use-module (srfi srfi-34)
|
||||
#:use-module (srfi srfi-35)
|
||||
#:use-module (ice-9 ftw)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (newt)
|
||||
#:export (newt-installer))
|
||||
|
||||
|
@ -47,7 +53,7 @@
|
|||
(newt-init)
|
||||
(clear-screen)
|
||||
(set-screen-size!)
|
||||
(syslog "Display is ~ax~a.~%" (screen-columns) (screen-rows))
|
||||
(installer-log-line "Display is ~ax~a." (screen-columns) (screen-rows))
|
||||
(push-help-line
|
||||
(format #f (G_ "Press <F1> for installation parameters."))))
|
||||
|
||||
|
@ -55,25 +61,102 @@
|
|||
(newt-finish)
|
||||
(clear-screen))
|
||||
|
||||
(define (exit-error file key args)
|
||||
(define (exit-error error)
|
||||
(newt-set-color COLORSET-ROOT "white" "red")
|
||||
(let ((width (nearest-exact-integer
|
||||
(* (screen-columns) 0.8)))
|
||||
(height (nearest-exact-integer
|
||||
(* (screen-rows) 0.7))))
|
||||
(run-file-textbox-page
|
||||
#:info-text (format #f (G_ "The installer has encountered an unexpected \
|
||||
problem. The backtrace is displayed below. Please report it by email to \
|
||||
<~a>.") %guix-bug-report-address)
|
||||
(define action
|
||||
(run-textbox-page
|
||||
#:info-text (G_ "The installer has encountered an unexpected problem. \
|
||||
The backtrace is displayed below. You may choose to exit or create a dump \
|
||||
archive.")
|
||||
#:title (G_ "Unexpected problem")
|
||||
#:file file
|
||||
#:exit-button? #f
|
||||
#:info-textbox-width width
|
||||
#:file-textbox-width width
|
||||
#:file-textbox-height height))
|
||||
#:content error
|
||||
#:buttons-spec
|
||||
(list
|
||||
(cons (G_ "Dump") (const 'dump))
|
||||
(cons (G_ "Exit") (const 'exit)))))
|
||||
(newt-set-color COLORSET-ROOT "white" "blue")
|
||||
(newt-finish)
|
||||
(clear-screen))
|
||||
action)
|
||||
|
||||
(define (report-page dump-archive)
|
||||
(define text
|
||||
(format #f (G_ "The dump archive was created as ~a. Would you like to \
|
||||
send this archive to the Guix servers?") dump-archive))
|
||||
(define title (G_ "Dump archive created"))
|
||||
(when (run-confirmation-page text title)
|
||||
(let* ((uploaded-name (send-dump-report dump-archive))
|
||||
(text (if uploaded-name
|
||||
(format #f (G_ "The dump was uploaded as ~a. Please \
|
||||
report it by email to ~a.") uploaded-name %guix-bug-report-address)
|
||||
(G_ "The dump could not be uploaded."))))
|
||||
(run-error-page
|
||||
text
|
||||
(G_ "Dump upload result")))))
|
||||
|
||||
(define (dump-page dump-dir)
|
||||
(define files
|
||||
(scandir dump-dir (lambda (x)
|
||||
(not (or (string=? x ".")
|
||||
(string=? x ".."))))))
|
||||
(fold (match-lambda*
|
||||
(((file . enable?) acc)
|
||||
(if enable?
|
||||
(cons file acc)
|
||||
acc)))
|
||||
'()
|
||||
(run-dump-page
|
||||
dump-dir
|
||||
(map (lambda (x)
|
||||
(cons x #f))
|
||||
files))))
|
||||
|
||||
(define (newt-run-command . args)
|
||||
(define command-output "")
|
||||
(define (line-accumulator line)
|
||||
(set! command-output
|
||||
(string-append/shared command-output line "\n")))
|
||||
(define displayed-command
|
||||
(string-join
|
||||
(map (lambda (s) (string-append "\"" s "\"")) args)
|
||||
" "))
|
||||
(define result (run-external-command-with-line-hooks (list line-accumulator)
|
||||
args))
|
||||
(define exit-val (status:exit-val result))
|
||||
(define term-sig (status:term-sig result))
|
||||
(define stop-sig (status:stop-sig result))
|
||||
|
||||
(if (and exit-val (zero? exit-val))
|
||||
#t
|
||||
(let ((info-text
|
||||
(cond
|
||||
(exit-val
|
||||
(format #f (G_ "External command ~s exited with code ~a")
|
||||
args exit-val))
|
||||
(term-sig
|
||||
(format #f (G_ "External command ~s terminated by signal ~a")
|
||||
args term-sig))
|
||||
(stop-sig
|
||||
(format #f (G_ "External command ~s stopped by signal ~a")
|
||||
args stop-sig)))))
|
||||
(run-textbox-page #:title (G_ "External command error")
|
||||
#:info-text info-text
|
||||
#:content command-output
|
||||
#:buttons-spec
|
||||
(list
|
||||
(cons "Ignore" (const #t))
|
||||
(cons "Abort"
|
||||
(lambda ()
|
||||
(abort-to-prompt 'installer-step 'abort)))
|
||||
(cons "Report"
|
||||
(lambda ()
|
||||
(raise
|
||||
(condition
|
||||
((@@ (guix build utils)
|
||||
&invoke-error)
|
||||
(program (car args))
|
||||
(arguments (cdr args))
|
||||
(exit-status exit-val)
|
||||
(term-signal term-sig)
|
||||
(stop-signal stop-sig)))))))))))
|
||||
|
||||
(define (final-page result prev-steps)
|
||||
(run-final-page result prev-steps))
|
||||
|
@ -142,4 +225,7 @@ problem. The backtrace is displayed below. Please report it by email to \
|
|||
(services-page services-page)
|
||||
(welcome-page welcome-page)
|
||||
(parameters-menu parameters-menu)
|
||||
(parameters-page parameters-page)))
|
||||
(parameters-page parameters-page)
|
||||
(dump-page dump-page)
|
||||
(run-command newt-run-command)
|
||||
(report-page report-page)))
|
||||
|
|
|
@ -65,9 +65,7 @@ connection is pending."
|
|||
(run-error-page
|
||||
(G_ "No ethernet service available, please try again.")
|
||||
(G_ "No service"))
|
||||
(raise
|
||||
(condition
|
||||
(&installer-step-abort))))
|
||||
(abort-to-prompt 'installer-step 'abort))
|
||||
((service)
|
||||
;; Only one service is available so return it directly.
|
||||
service)
|
||||
|
@ -81,7 +79,5 @@ connection is pending."
|
|||
#:button-text (G_ "Exit")
|
||||
#:button-callback-procedure
|
||||
(lambda _
|
||||
(raise
|
||||
(condition
|
||||
(&installer-step-abort))))
|
||||
(abort-to-prompt 'installer-step 'abort))
|
||||
#:listbox-callback-procedure connect-ethernet-service))))
|
||||
|
|
|
@ -59,9 +59,7 @@ This will take a few minutes.")
|
|||
#:file-textbox-height height
|
||||
#:exit-button-callback-procedure
|
||||
(lambda ()
|
||||
(raise
|
||||
(condition
|
||||
(&installer-step-abort)))))))
|
||||
(abort-to-prompt 'installer-step 'abort)))))
|
||||
|
||||
(define (run-install-success-page)
|
||||
(match (current-clients)
|
||||
|
@ -88,9 +86,7 @@ press the button to reboot.")))
|
|||
(G_ "Restart the installer")
|
||||
(G_ "The final system installation step failed. You can resume from \
|
||||
a specific step, or restart the installer."))
|
||||
(1 (raise
|
||||
(condition
|
||||
(&installer-step-abort))))
|
||||
(1 (abort-to-prompt 'installer-step 'abort))
|
||||
(2
|
||||
;; Keep going, the installer will be restarted later on.
|
||||
#t)))
|
||||
|
@ -109,7 +105,7 @@ a specific step, or restart the installer."))
|
|||
(define (run-final-page result prev-steps)
|
||||
(define (wait-for-clients)
|
||||
(unless (null? (current-clients))
|
||||
(syslog "waiting with clients before starting final step~%")
|
||||
(installer-log-line "waiting with clients before starting final step")
|
||||
(send-to-clients '(starting-final-step))
|
||||
(match (select (current-clients) '() '())
|
||||
(((port _ ...) _ _)
|
||||
|
@ -119,7 +115,7 @@ a specific step, or restart the installer."))
|
|||
;; things such as changing the swap partition label.
|
||||
(wait-for-clients)
|
||||
|
||||
(syslog "proceeding with final step~%")
|
||||
(installer-log-line "proceeding with final step")
|
||||
(let* ((configuration (format-configuration prev-steps result))
|
||||
(user-partitions (result-step result 'partition))
|
||||
(locale (result-step result 'locale))
|
||||
|
|
|
@ -59,9 +59,7 @@ different layout at any time from the parameters menu.")))
|
|||
((param) (const #f))
|
||||
(else
|
||||
(lambda _
|
||||
(raise
|
||||
(condition
|
||||
(&installer-step-abort)))))))))
|
||||
(abort-to-prompt 'installer-step 'abort)))))))
|
||||
|
||||
(define (run-variant-page variants variant->text)
|
||||
(let ((title (G_ "Variant")))
|
||||
|
@ -74,9 +72,7 @@ different layout at any time from the parameters menu.")))
|
|||
#:button-text (G_ "Back")
|
||||
#:button-callback-procedure
|
||||
(lambda _
|
||||
(raise
|
||||
(condition
|
||||
(&installer-step-abort)))))))
|
||||
(abort-to-prompt 'installer-step 'abort)))))
|
||||
|
||||
(define (sort-layouts layouts)
|
||||
"Sort LAYOUTS list by putting the US layout ahead and return it."
|
||||
|
|
|
@ -43,9 +43,7 @@ installation process and for the installed system.")
|
|||
#:button-text (G_ "Exit")
|
||||
#:button-callback-procedure
|
||||
(lambda _
|
||||
(raise
|
||||
(condition
|
||||
(&installer-step-abort))))))
|
||||
(abort-to-prompt 'installer-step 'abort))))
|
||||
|
||||
;; Immediately install the chosen language so that the territory page that
|
||||
;; comes after (optionally) is displayed in the chosen language.
|
||||
|
@ -63,9 +61,7 @@ installation process and for the installed system.")
|
|||
#:button-text (G_ "Back")
|
||||
#:button-callback-procedure
|
||||
(lambda _
|
||||
(raise
|
||||
(condition
|
||||
(&installer-step-abort)))))))
|
||||
(abort-to-prompt 'installer-step 'abort)))))
|
||||
|
||||
(define (run-codeset-page codesets)
|
||||
(let ((title (G_ "Locale codeset")))
|
||||
|
@ -78,9 +74,7 @@ installation process and for the installed system.")
|
|||
#:button-text (G_ "Back")
|
||||
#:button-callback-procedure
|
||||
(lambda _
|
||||
(raise
|
||||
(condition
|
||||
(&installer-step-abort)))))))
|
||||
(abort-to-prompt 'installer-step 'abort)))))
|
||||
|
||||
(define (run-modifier-page modifiers modifier->text)
|
||||
(let ((title (G_ "Locale modifier")))
|
||||
|
@ -94,9 +88,7 @@ symbol.")
|
|||
#:button-text (G_ "Back")
|
||||
#:button-callback-procedure
|
||||
(lambda _
|
||||
(raise
|
||||
(condition
|
||||
(&installer-step-abort)))))))
|
||||
(abort-to-prompt 'installer-step 'abort)))))
|
||||
|
||||
(define* (run-locale-page #:key
|
||||
supported-locales
|
||||
|
@ -110,11 +102,10 @@ associating a territory code with a territory name. The formatted locale, under
|
|||
glibc format is returned."
|
||||
|
||||
(define (break-on-locale-found locales)
|
||||
"Raise the &installer-step-break condition if LOCALES contains exactly one
|
||||
"Break to the installer step if LOCALES contains exactly one
|
||||
element."
|
||||
(and (= (length locales) 1)
|
||||
(raise
|
||||
(condition (&installer-step-break)))))
|
||||
(abort-to-prompt 'installer-step 'break)))
|
||||
|
||||
(define (filter-locales locales result)
|
||||
"Filter the list of locale records LOCALES using the RESULT returned by
|
||||
|
@ -218,8 +209,8 @@ glibc locale string and return it."
|
|||
|
||||
;; If run-installer-steps returns locally, it means that the user had to go
|
||||
;; through all steps (language, territory, codeset and modifier) to select a
|
||||
;; locale. In that case, like if we exited by raising &installer-step-break
|
||||
;; condition, turn the result into a glibc locale string and return it.
|
||||
;; locale. In that case, like if we exited by breaking to the installer
|
||||
;; step, turn the result into a glibc locale string and return it.
|
||||
(result->locale-string
|
||||
supported-locales
|
||||
(run-installer-steps #:steps locale-steps)))
|
||||
|
|
|
@ -65,12 +65,8 @@ Internet and return the selected technology. For now, only technologies with
|
|||
(G_ "Exit")
|
||||
(G_ "The install process requires Internet access but no \
|
||||
network devices were found. Do you want to continue anyway?"))
|
||||
((1) (raise
|
||||
(condition
|
||||
(&installer-step-break))))
|
||||
((2) (raise
|
||||
(condition
|
||||
(&installer-step-abort))))))
|
||||
((1) (abort-to-prompt 'installer-step 'break))
|
||||
((2) (abort-to-prompt 'installer-step 'abort))))
|
||||
((technology)
|
||||
;; Since there's only one technology available, skip the selection
|
||||
;; screen.
|
||||
|
@ -86,9 +82,7 @@ network devices were found. Do you want to continue anyway?"))
|
|||
#:button-text (G_ "Exit")
|
||||
#:button-callback-procedure
|
||||
(lambda _
|
||||
(raise
|
||||
(condition
|
||||
(&installer-step-abort))))))))
|
||||
(abort-to-prompt 'installer-step 'abort))))))
|
||||
|
||||
(define (find-technology-by-type technologies type)
|
||||
"Find and return a technology with the given TYPE in TECHNOLOGIES list."
|
||||
|
@ -156,9 +150,7 @@ FULL-VALUE tentatives, spaced by 1 second."
|
|||
(G_ "The selected network does not provide access to the \
|
||||
Internet and the Guix substitute server, please try again.")
|
||||
(G_ "Connection error"))
|
||||
(raise
|
||||
(condition
|
||||
(&installer-step-abort))))))
|
||||
(abort-to-prompt 'installer-step 'abort))))
|
||||
|
||||
(define (run-network-page)
|
||||
"Run a page to allow the user to configure connman so that it can access the
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
#:use-module (gnu installer steps)
|
||||
#:use-module (gnu installer utils)
|
||||
#:use-module (gnu installer newt utils)
|
||||
#:use-module (guix build utils)
|
||||
#:use-module (guix i18n)
|
||||
#:use-module (ice-9 i18n)
|
||||
#:use-module (ice-9 match)
|
||||
|
@ -43,6 +44,10 @@
|
|||
run-scale-page
|
||||
run-checkbox-tree-page
|
||||
run-file-textbox-page
|
||||
%ok-button
|
||||
%exit-button
|
||||
run-textbox-page
|
||||
run-dump-page
|
||||
|
||||
run-form-with-clients))
|
||||
|
||||
|
@ -93,9 +98,9 @@ disconnect.
|
|||
Like 'run-form', return two values: the exit reason, and an \"argument\"."
|
||||
(define* (discard-client! port #:optional errno)
|
||||
(if errno
|
||||
(syslog "removing client ~d due to ~s~%"
|
||||
(installer-log-line "removing client ~d due to ~s"
|
||||
(fileno port) (strerror errno))
|
||||
(syslog "removing client ~d due to EOF~%"
|
||||
(installer-log-line "removing client ~d due to EOF"
|
||||
(fileno port)))
|
||||
|
||||
;; XXX: Watch out! There's no 'form-unwatch-fd' procedure in Newt so we
|
||||
|
@ -124,7 +129,7 @@ Like 'run-form', return two values: the exit reason, and an \"argument\"."
|
|||
(send-to-clients exp)
|
||||
|
||||
(let loop ()
|
||||
(syslog "running form ~s (~s) with ~d clients~%"
|
||||
(installer-log-line "running form ~s (~s) with ~d clients"
|
||||
form title (length (current-clients)))
|
||||
|
||||
;; Call 'watch-clients!' within the loop because there might be new
|
||||
|
@ -146,7 +151,7 @@ Like 'run-form', return two values: the exit reason, and an \"argument\"."
|
|||
(discard-client! port)
|
||||
(loop))
|
||||
(obj
|
||||
(syslog "form ~s (~s): client ~d replied ~s~%"
|
||||
(installer-log-line "form ~s (~s): client ~d replied ~s"
|
||||
form title (fileno port) obj)
|
||||
(values 'exit-fd-ready obj))))
|
||||
(lambda args
|
||||
|
@ -156,8 +161,9 @@ Like 'run-form', return two values: the exit reason, and an \"argument\"."
|
|||
;; Accept a new client and send it EXP.
|
||||
(match (accept port)
|
||||
((client . _)
|
||||
(syslog "accepting new client ~d while on form ~s~%"
|
||||
(fileno client) form)
|
||||
(installer-log-line
|
||||
"accepting new client ~d while on form ~s"
|
||||
(fileno client) form)
|
||||
(catch 'system-error
|
||||
(lambda ()
|
||||
(write exp client)
|
||||
|
@ -486,7 +492,7 @@ the current listbox item has to be selected by key."
|
|||
(string=? str (listbox-item->text item))))
|
||||
keys)
|
||||
((key . item) item)
|
||||
(#f (raise (condition (&installer-step-abort))))))
|
||||
(#f (abort-to-prompt 'installer-step 'abort))))
|
||||
|
||||
;; On every listbox element change, check if we need to skip it. If yes,
|
||||
;; depending on the 'last-listbox-key', jump forward or backward. If no,
|
||||
|
@ -688,7 +694,7 @@ ITEMS when 'Ok' is pressed."
|
|||
(string=? str (item->text item))))
|
||||
keys)
|
||||
((key . item) item)
|
||||
(#f (raise (condition (&installer-step-abort))))))
|
||||
(#f (abort-to-prompt 'installer-step 'abort))))
|
||||
|
||||
(add-form-to-grid grid form #t)
|
||||
(make-wrapped-grid-window grid title)
|
||||
|
@ -726,8 +732,7 @@ ITEMS when 'Ok' is pressed."
|
|||
(newt-suspend)
|
||||
;; Use Nano because it syntax-highlights Scheme by default.
|
||||
;; TODO: Add a menu to choose an editor?
|
||||
(run-command (list "/run/current-system/profile/bin/nano" file)
|
||||
#:locale locale)
|
||||
(invoke "nano" file)
|
||||
(newt-resume))
|
||||
|
||||
(define* (run-file-textbox-page #:key
|
||||
|
@ -811,6 +816,151 @@ ITEMS when 'Ok' is pressed."
|
|||
(destroy-form-and-pop form))))
|
||||
|
||||
(if (and (eq? exit-reason 'exit-component)
|
||||
edit-button
|
||||
(components=? argument edit-button))
|
||||
(loop) ;recurse in tail position
|
||||
result)))))
|
||||
|
||||
(define %ok-button
|
||||
(cons (G_ "Ok") (lambda () #t)))
|
||||
|
||||
(define %exit-button
|
||||
(cons (G_ "Exit") (lambda () (abort-to-prompt 'installer-step 'abort))))
|
||||
|
||||
(define %default-buttons
|
||||
(list %ok-button %exit-button))
|
||||
|
||||
(define (make-newt-buttons buttons-spec)
|
||||
(map
|
||||
(match-lambda ((title . proc)
|
||||
(cons (make-button -1 -1 title) proc)))
|
||||
buttons-spec))
|
||||
|
||||
(define* (run-textbox-page #:key
|
||||
title
|
||||
info-text
|
||||
content
|
||||
(buttons-spec %default-buttons))
|
||||
"Run a page to display INFO-TEXT followed by CONTENT to the user, who has to
|
||||
choose an action among the buttons specified by BUTTONS-SPEC.
|
||||
|
||||
BUTTONS-SPEC is an association list with button labels as keys, and callback
|
||||
procedures as values.
|
||||
|
||||
This procedure returns the result of the callback procedure of the button
|
||||
chosen by the user."
|
||||
(define info-textbox
|
||||
(make-reflowed-textbox -1 -1 info-text
|
||||
50
|
||||
#:flags FLAG-BORDER))
|
||||
(define content-textbox
|
||||
(make-textbox -1 -1
|
||||
50
|
||||
30
|
||||
(logior FLAG-SCROLL FLAG-BORDER)))
|
||||
(define buttons
|
||||
(make-newt-buttons buttons-spec))
|
||||
(define grid
|
||||
(vertically-stacked-grid
|
||||
GRID-ELEMENT-COMPONENT info-textbox
|
||||
GRID-ELEMENT-COMPONENT content-textbox
|
||||
GRID-ELEMENT-SUBGRID
|
||||
(apply
|
||||
horizontal-stacked-grid
|
||||
(append-map (match-lambda ((button . proc)
|
||||
(list GRID-ELEMENT-COMPONENT button)))
|
||||
buttons))))
|
||||
(define form (make-form #:flags FLAG-NOF12))
|
||||
(add-form-to-grid grid form #t)
|
||||
(make-wrapped-grid-window grid title)
|
||||
(set-textbox-text content-textbox
|
||||
(receive (_w _h text)
|
||||
(reflow-text content
|
||||
50
|
||||
0 0)
|
||||
text))
|
||||
|
||||
(receive (exit-reason argument)
|
||||
(run-form-with-clients form
|
||||
`(contents-dialog (title ,title)
|
||||
(text ,info-text)
|
||||
(content ,content)))
|
||||
(destroy-form-and-pop form)
|
||||
(match exit-reason
|
||||
('exit-component
|
||||
(let ((proc (assq-ref buttons argument)))
|
||||
(if proc
|
||||
(proc)
|
||||
(raise
|
||||
(condition
|
||||
(&serious)
|
||||
(&message
|
||||
(message (format #f "Unable to find corresponding PROC for \
|
||||
component ~a." argument))))))))
|
||||
;; TODO
|
||||
('exit-fd-ready
|
||||
(raise (condition (&serious)))))))
|
||||
|
||||
(define* (run-dump-page base-dir file-choices)
|
||||
(define info-textbox
|
||||
(make-reflowed-textbox -1 -1 "Please select files you wish to include in \
|
||||
the dump."
|
||||
50
|
||||
#:flags FLAG-BORDER))
|
||||
(define components
|
||||
(map (match-lambda ((file . enabled)
|
||||
(list
|
||||
(make-compact-button -1 -1 "Edit")
|
||||
(make-checkbox -1 -1 file (if enabled #\x #\ ) " x")
|
||||
file)))
|
||||
file-choices))
|
||||
|
||||
(define sub-grid (make-grid 2 (length components)))
|
||||
|
||||
(for-each
|
||||
(match-lambda* (((button checkbox _) index)
|
||||
(set-grid-field sub-grid 0 index
|
||||
GRID-ELEMENT-COMPONENT checkbox
|
||||
#:anchor ANCHOR-LEFT)
|
||||
(set-grid-field sub-grid 1 index
|
||||
GRID-ELEMENT-COMPONENT button
|
||||
#:anchor ANCHOR-LEFT)))
|
||||
components (iota (length components)))
|
||||
|
||||
(define grid
|
||||
(vertically-stacked-grid
|
||||
GRID-ELEMENT-COMPONENT info-textbox
|
||||
GRID-ELEMENT-SUBGRID sub-grid
|
||||
GRID-ELEMENT-COMPONENT (make-button -1 -1 "Create")))
|
||||
|
||||
(define form (make-form #:flags FLAG-NOF12))
|
||||
|
||||
(add-form-to-grid grid form #t)
|
||||
(make-wrapped-grid-window grid "Installer dump")
|
||||
|
||||
(define prompt-tag (make-prompt-tag))
|
||||
|
||||
(let loop ()
|
||||
(call-with-prompt prompt-tag
|
||||
(lambda ()
|
||||
(receive (exit-reason argument)
|
||||
(run-form-with-clients form
|
||||
`(dump-page))
|
||||
(match exit-reason
|
||||
('exit-component
|
||||
(let ((result
|
||||
(map (match-lambda
|
||||
((edit checkbox filename)
|
||||
(if (components=? edit argument)
|
||||
(abort-to-prompt prompt-tag filename)
|
||||
(cons filename (eq? #\x
|
||||
(checkbox-value checkbox))))))
|
||||
components)))
|
||||
(destroy-form-and-pop form)
|
||||
result))
|
||||
;; TODO
|
||||
('exit-fd-ready
|
||||
(raise (condition (&serious)))))))
|
||||
(lambda (k file)
|
||||
(edit-file (string-append base-dir "/" file))
|
||||
(loop)))))
|
||||
|
|
|
@ -36,10 +36,8 @@
|
|||
#:export (run-partitioning-page))
|
||||
|
||||
(define (button-exit-action)
|
||||
"Raise the &installer-step-abort condition."
|
||||
(raise
|
||||
(condition
|
||||
(&installer-step-abort))))
|
||||
"Abort the installer step."
|
||||
(abort-to-prompt 'installer-step 'abort))
|
||||
|
||||
(define (run-scheme-page)
|
||||
"Run a page asking the user for a partitioning scheme."
|
||||
|
@ -801,9 +799,9 @@ by pressing the Exit button.~%~%")))
|
|||
;; Make sure the disks are not in use before proceeding to formatting.
|
||||
(free-parted eligible-devices)
|
||||
(format-user-partitions user-partitions-with-pass)
|
||||
(syslog "formatted ~a user partitions~%"
|
||||
(installer-log-line "formatted ~a user partitions"
|
||||
(length user-partitions-with-pass))
|
||||
(syslog "user-partitions: ~a~%" user-partitions)
|
||||
(installer-log-line "user-partitions: ~a" user-partitions)
|
||||
|
||||
(destroy-form-and-pop form)
|
||||
user-partitions))
|
||||
|
|
|
@ -46,9 +46,7 @@ to choose from them later when you log in.")
|
|||
#:checkbox-tree-height 9
|
||||
#:exit-button-callback-procedure
|
||||
(lambda ()
|
||||
(raise
|
||||
(condition
|
||||
(&installer-step-abort)))))))
|
||||
(abort-to-prompt 'installer-step 'abort)))))
|
||||
|
||||
(define (run-networking-cbt-page)
|
||||
"Run a page allowing the user to select networking services."
|
||||
|
@ -65,9 +63,7 @@ system.")
|
|||
#:checkbox-tree-height 5
|
||||
#:exit-button-callback-procedure
|
||||
(lambda ()
|
||||
(raise
|
||||
(condition
|
||||
(&installer-step-abort)))))))
|
||||
(abort-to-prompt 'installer-step 'abort)))))
|
||||
|
||||
(define (run-printing-services-cbt-page)
|
||||
"Run a page allowing the user to select document services such as CUPS."
|
||||
|
@ -85,9 +81,7 @@ system.")
|
|||
#:checkbox-tree-height 9
|
||||
#:exit-button-callback-procedure
|
||||
(lambda ()
|
||||
(raise
|
||||
(condition
|
||||
(&installer-step-abort)))))))
|
||||
(abort-to-prompt 'installer-step 'abort)))))
|
||||
|
||||
(define (run-console-services-cbt-page)
|
||||
"Run a page to select various system adminstration services for non-graphical
|
||||
|
@ -130,9 +124,7 @@ client may be enough for a server.")
|
|||
#:button-text (G_ "Exit")
|
||||
#:button-callback-procedure
|
||||
(lambda _
|
||||
(raise
|
||||
(condition
|
||||
(&installer-step-abort)))))))
|
||||
(abort-to-prompt 'installer-step 'abort)))))
|
||||
|
||||
(define (run-services-page)
|
||||
(let ((desktop (run-desktop-environments-cbt-page)))
|
||||
|
|
|
@ -65,9 +65,7 @@ returned."
|
|||
#:button-callback-procedure
|
||||
(if (null? path)
|
||||
(lambda _
|
||||
(raise
|
||||
(condition
|
||||
(&installer-step-abort))))
|
||||
(abort-to-prompt 'installer-step 'abort))
|
||||
(lambda _
|
||||
(loop (all-but-last path))))
|
||||
#:listbox-callback-procedure
|
||||
|
|
|
@ -20,7 +20,6 @@
|
|||
|
||||
(define-module (gnu installer newt user)
|
||||
#:use-module (gnu installer user)
|
||||
#:use-module ((gnu installer steps) #:select (&installer-step-abort))
|
||||
#:use-module (gnu installer newt page)
|
||||
#:use-module (gnu installer newt utils)
|
||||
#:use-module (gnu installer utils)
|
||||
|
@ -144,7 +143,7 @@ REAL-NAME, and HOME-DIRECTORY as the initial values in the form."
|
|||
(name name)
|
||||
(real-name real-name)
|
||||
(home-directory home-directory)
|
||||
(password password))
|
||||
(password (make-secret password)))
|
||||
(run-user-add-page #:name name
|
||||
#:real-name real-name
|
||||
#:home-directory
|
||||
|
@ -257,9 +256,7 @@ administrator (\"root\").")
|
|||
(run users))
|
||||
(reverse users))
|
||||
((components=? argument exit-button)
|
||||
(raise
|
||||
(condition
|
||||
(&installer-step-abort))))))
|
||||
(abort-to-prompt 'installer-step 'abort))))
|
||||
('exit-fd-ready
|
||||
;; Read the complete user list at once.
|
||||
(match argument
|
||||
|
@ -269,7 +266,7 @@ administrator (\"root\").")
|
|||
(map (lambda (name real-name home password)
|
||||
(user (name name) (real-name real-name)
|
||||
(home-directory home)
|
||||
(password password)))
|
||||
(password (make-secret password))))
|
||||
names real-names homes passwords))))))
|
||||
(lambda ()
|
||||
(destroy-form-and-pop form))))))
|
||||
|
@ -277,5 +274,5 @@ administrator (\"root\").")
|
|||
;; Add a "root" user simply to convey the root password.
|
||||
(cons (user (name "root")
|
||||
(home-directory "/root")
|
||||
(password (run-root-password-page)))
|
||||
(password (make-secret (run-root-password-page))))
|
||||
(run '())))
|
||||
|
|
|
@ -84,7 +84,7 @@ we want this page to occupy all the screen space available."
|
|||
(string=? str (listbox-item->text item))))
|
||||
keys)
|
||||
((key . item) item)
|
||||
(#f (raise (condition (&installer-step-abort))))))
|
||||
(#f (abort-to-prompt 'installer-step 'abort))))
|
||||
|
||||
(set-textbox-text logo-textbox (read-all logo))
|
||||
|
||||
|
|
|
@ -237,9 +237,7 @@ force a wifi scan."
|
|||
(run-wifi-scan-page)
|
||||
(run-wifi-page))
|
||||
((components=? argument exit-button)
|
||||
(raise
|
||||
(condition
|
||||
(&installer-step-abort))))
|
||||
(abort-to-prompt 'installer-step 'abort))
|
||||
((components=? argument listbox)
|
||||
(let ((result (connect-wifi-service listbox service-items)))
|
||||
(unless result
|
||||
|
|
|
@ -343,8 +343,7 @@ fail. See rereadpt function in wipefs.c of util-linux for an explanation."
|
|||
|
||||
(define (remove-logical-devices)
|
||||
"Remove all active logical devices."
|
||||
(with-null-output-ports
|
||||
(invoke "dmsetup" "remove_all")))
|
||||
((run-command-in-installer) "dmsetup" "remove_all"))
|
||||
|
||||
(define (installer-root-partition-path)
|
||||
"Return the root partition path, or #f if it could not be detected."
|
||||
|
@ -371,7 +370,8 @@ which are smaller than %MIN-DEVICE-SIZE."
|
|||
(let ((length (device-length device))
|
||||
(sector-size (device-sector-size device)))
|
||||
(and (< (* length sector-size) %min-device-size)
|
||||
(syslog "~a is not eligible because it is smaller than ~a.~%"
|
||||
(installer-log-line "~a is not eligible because it is smaller than \
|
||||
~a."
|
||||
(device-path device)
|
||||
(unit-format-custom-byte device
|
||||
%min-device-size
|
||||
|
@ -391,7 +391,8 @@ which are smaller than %MIN-DEVICE-SIZE."
|
|||
(string=? the-installer-root-partition-path
|
||||
(partition-get-path partition)))
|
||||
(disk-partitions disk)))))
|
||||
(syslog "~a is not eligible because it is the installation device.~%"
|
||||
(installer-log-line "~a is not eligible because it is the \
|
||||
installation device."
|
||||
(device-path device))))
|
||||
|
||||
(remove
|
||||
|
@ -634,8 +635,14 @@ determined by MAX-LENGTH-COLUMN procedure."
|
|||
(define (mklabel device type-name)
|
||||
"Create a partition table on DEVICE. TYPE-NAME is the type of the partition
|
||||
table, \"msdos\" or \"gpt\"."
|
||||
(let ((type (disk-type-get type-name)))
|
||||
(disk-new-fresh device type)))
|
||||
(let* ((type (disk-type-get type-name))
|
||||
(disk (disk-new-fresh device type)))
|
||||
(or disk
|
||||
(raise
|
||||
(condition
|
||||
(&error)
|
||||
(&message (message (format #f "Cannot create partition table of type
|
||||
~a on device ~a." type-name (device-path device)))))))))
|
||||
|
||||
|
||||
;;
|
||||
|
@ -817,24 +824,22 @@ cause them to cross."
|
|||
(disk-add-partition disk partition no-constraint)))
|
||||
(partition-ok?
|
||||
(or partition-constraint-ok? partition-no-contraint-ok?)))
|
||||
(syslog "Creating partition:
|
||||
~/type: ~a
|
||||
~/filesystem-type: ~a
|
||||
~/start: ~a
|
||||
~/end: ~a
|
||||
~/start-range: [~a, ~a]
|
||||
~/end-range: [~a, ~a]
|
||||
~/constraint: ~a
|
||||
~/no-constraint: ~a
|
||||
"
|
||||
partition-type
|
||||
(filesystem-type-name filesystem-type)
|
||||
start-sector*
|
||||
end-sector
|
||||
(geometry-start start-range) (geometry-end start-range)
|
||||
(geometry-start end-range) (geometry-end end-range)
|
||||
partition-constraint-ok?
|
||||
partition-no-contraint-ok?)
|
||||
(installer-log-line "Creating partition:")
|
||||
(installer-log-line "~/type: ~a" partition-type)
|
||||
(installer-log-line "~/filesystem-type: ~a"
|
||||
(filesystem-type-name filesystem-type))
|
||||
(installer-log-line "~/start: ~a" start-sector*)
|
||||
(installer-log-line "~/end: ~a" end-sector)
|
||||
(installer-log-line "~/start-range: [~a, ~a]"
|
||||
(geometry-start start-range)
|
||||
(geometry-end start-range))
|
||||
(installer-log-line "~/end-range: [~a, ~a]"
|
||||
(geometry-start end-range)
|
||||
(geometry-end end-range))
|
||||
(installer-log-line "~/constraint: ~a"
|
||||
partition-constraint-ok?)
|
||||
(installer-log-line "~/no-constraint: ~a"
|
||||
partition-no-contraint-ok?)
|
||||
;; Set the partition name if supported.
|
||||
(when (and partition-ok? has-name? name)
|
||||
(partition-set-name partition name))
|
||||
|
@ -1115,53 +1120,37 @@ list and return the updated list."
|
|||
(file-name file-name))))
|
||||
user-partitions))
|
||||
|
||||
(define-syntax-rule (with-null-output-ports exp ...)
|
||||
"Evaluate EXP with both the output port and the error port pointing to the
|
||||
bit bucket."
|
||||
(with-output-to-port (%make-void-port "w")
|
||||
(lambda ()
|
||||
(with-error-to-port (%make-void-port "w")
|
||||
(lambda () exp ...)))))
|
||||
|
||||
(define (create-btrfs-file-system partition)
|
||||
"Create a btrfs file-system for PARTITION file-name."
|
||||
(with-null-output-ports
|
||||
(invoke "mkfs.btrfs" "-f" partition)))
|
||||
((run-command-in-installer) "mkfs.btrfs" "-f" partition))
|
||||
|
||||
(define (create-ext4-file-system partition)
|
||||
"Create an ext4 file-system for PARTITION file-name."
|
||||
(with-null-output-ports
|
||||
(invoke "mkfs.ext4" "-F" partition)))
|
||||
((run-command-in-installer) "mkfs.ext4" "-F" partition))
|
||||
|
||||
(define (create-fat16-file-system partition)
|
||||
"Create a fat16 file-system for PARTITION file-name."
|
||||
(with-null-output-ports
|
||||
(invoke "mkfs.fat" "-F16" partition)))
|
||||
((run-command-in-installer) "mkfs.fat" "-F16" partition))
|
||||
|
||||
(define (create-fat32-file-system partition)
|
||||
"Create a fat32 file-system for PARTITION file-name."
|
||||
(with-null-output-ports
|
||||
(invoke "mkfs.fat" "-F32" partition)))
|
||||
((run-command-in-installer) "mkfs.fat" "-F32" partition))
|
||||
|
||||
(define (create-jfs-file-system partition)
|
||||
"Create a JFS file-system for PARTITION file-name."
|
||||
(with-null-output-ports
|
||||
(invoke "jfs_mkfs" "-f" partition)))
|
||||
((run-command-in-installer) "jfs_mkfs" "-f" partition))
|
||||
|
||||
(define (create-ntfs-file-system partition)
|
||||
"Create a JFS file-system for PARTITION file-name."
|
||||
(with-null-output-ports
|
||||
(invoke "mkfs.ntfs" "-F" "-f" partition)))
|
||||
((run-command-in-installer) "mkfs.ntfs" "-F" "-f" partition))
|
||||
|
||||
(define (create-xfs-file-system partition)
|
||||
"Create an XFS file-system for PARTITION file-name."
|
||||
(with-null-output-ports
|
||||
(invoke "mkfs.xfs" "-f" partition)))
|
||||
((run-command-in-installer) "mkfs.xfs" "-f" partition))
|
||||
|
||||
(define (create-swap-partition partition)
|
||||
"Set up swap area on PARTITION file-name."
|
||||
(with-null-output-ports
|
||||
(invoke "mkswap" "-f" partition)))
|
||||
((run-command-in-installer) "mkswap" "-f" partition))
|
||||
|
||||
(define (call-with-luks-key-file password proc)
|
||||
"Write PASSWORD in a temporary file and pass it to PROC as argument."
|
||||
|
@ -1188,17 +1177,18 @@ USER-PARTITION if it is encrypted, or the plain file-name otherwise."
|
|||
(call-with-luks-key-file
|
||||
password
|
||||
(lambda (key-file)
|
||||
(syslog "formatting and opening LUKS entry ~s at ~s~%"
|
||||
(installer-log-line "formatting and opening LUKS entry ~s at ~s"
|
||||
label file-name)
|
||||
(system* "cryptsetup" "-q" "luksFormat" file-name key-file)
|
||||
(system* "cryptsetup" "open" "--type" "luks"
|
||||
"--key-file" key-file file-name label)))))
|
||||
((run-command-in-installer) "cryptsetup" "-q" "luksFormat"
|
||||
file-name key-file)
|
||||
((run-command-in-installer) "cryptsetup" "open" "--type" "luks"
|
||||
"--key-file" key-file file-name label)))))
|
||||
|
||||
(define (luks-close user-partition)
|
||||
"Close the encrypted partition pointed by USER-PARTITION."
|
||||
(let ((label (user-partition-crypt-label user-partition)))
|
||||
(syslog "closing LUKS entry ~s~%" label)
|
||||
(system* "cryptsetup" "close" label)))
|
||||
(installer-log-line "closing LUKS entry ~s" label)
|
||||
((run-command-in-installer) "cryptsetup" "close" label)))
|
||||
|
||||
(define (format-user-partitions user-partitions)
|
||||
"Format the <user-partition> records in USER-PARTITIONS list with
|
||||
|
@ -1279,7 +1269,7 @@ respective mount-points."
|
|||
(file-name
|
||||
(user-partition-upper-file-name user-partition)))
|
||||
(mkdir-p target)
|
||||
(syslog "mounting ~s on ~s~%" file-name target)
|
||||
(installer-log-line "mounting ~s on ~s" file-name target)
|
||||
(mount file-name target mount-type)))
|
||||
sorted-partitions)))
|
||||
|
||||
|
@ -1295,7 +1285,7 @@ respective mount-points."
|
|||
(target
|
||||
(string-append (%installer-target-dir)
|
||||
mount-point)))
|
||||
(syslog "unmounting ~s~%" target)
|
||||
(installer-log-line "unmounting ~s" target)
|
||||
(umount target)
|
||||
(when crypt-label
|
||||
(luks-close user-partition))))
|
||||
|
@ -1486,6 +1476,6 @@ the devices not to be used before returning."
|
|||
(error
|
||||
(format #f (G_ "Device ~a is still in use.")
|
||||
file-name))
|
||||
(syslog "Syncing ~a took ~a seconds.~%"
|
||||
(installer-log-line "Syncing ~a took ~a seconds."
|
||||
file-name (time-second time)))))
|
||||
device-file-names)))
|
||||
|
|
|
@ -41,7 +41,10 @@
|
|||
installer-services-page
|
||||
installer-welcome-page
|
||||
installer-parameters-menu
|
||||
installer-parameters-page))
|
||||
installer-parameters-page
|
||||
installer-dump-page
|
||||
installer-run-command
|
||||
installer-report-page))
|
||||
|
||||
|
||||
;;;
|
||||
|
@ -61,7 +64,7 @@
|
|||
(init installer-init)
|
||||
;; procedure: void -> void
|
||||
(exit installer-exit)
|
||||
;; procedure (key arguments) -> void
|
||||
;; procedure (key arguments) -> (action)
|
||||
(exit-error installer-exit-error)
|
||||
;; procedure void -> void
|
||||
(final-page installer-final-page)
|
||||
|
@ -91,4 +94,10 @@
|
|||
;; procedure (menu-proc) -> void
|
||||
(parameters-menu installer-parameters-menu)
|
||||
;; procedure (keyboard-layout-selection) -> void
|
||||
(parameters-page installer-parameters-page))
|
||||
(parameters-page installer-parameters-page)
|
||||
;; procedure (dump) -> void
|
||||
(dump-page installer-dump-page)
|
||||
;; procedure command -> bool
|
||||
(run-command installer-run-command)
|
||||
;; procedure (report) -> void
|
||||
(report-page installer-report-page))
|
||||
|
|
|
@ -28,13 +28,7 @@
|
|||
#:use-module (srfi srfi-34)
|
||||
#:use-module (srfi srfi-35)
|
||||
#:use-module (rnrs io ports)
|
||||
#:export (&installer-step-abort
|
||||
installer-step-abort?
|
||||
|
||||
&installer-step-break
|
||||
installer-step-break?
|
||||
|
||||
<installer-step>
|
||||
#:export (<installer-step>
|
||||
installer-step
|
||||
make-installer-step
|
||||
installer-step?
|
||||
|
@ -52,15 +46,13 @@
|
|||
%installer-configuration-file
|
||||
%installer-target-dir
|
||||
format-configuration
|
||||
configuration->file))
|
||||
configuration->file
|
||||
|
||||
;; This condition may be raised to abort the current step.
|
||||
(define-condition-type &installer-step-abort &condition
|
||||
installer-step-abort?)
|
||||
%current-result))
|
||||
|
||||
;; This condition may be raised to break out from the steps execution.
|
||||
(define-condition-type &installer-step-break &condition
|
||||
installer-step-break?)
|
||||
;; Hash table storing the step results. Use it only for logging and debug
|
||||
;; purposes.
|
||||
(define %current-result (make-hash-table))
|
||||
|
||||
;; An installer-step record is basically an id associated to a compute
|
||||
;; procedure. The COMPUTE procedure takes exactly one argument, an association
|
||||
|
@ -88,8 +80,10 @@
|
|||
(rewind-strategy 'previous)
|
||||
(menu-proc (const #f)))
|
||||
"Run the COMPUTE procedure of all <installer-step> records in STEPS
|
||||
sequentially. If the &installer-step-abort condition is raised, fallback to a
|
||||
previous install-step, accordingly to the specified REWIND-STRATEGY.
|
||||
sequentially, inside a the 'installer-step prompt. When aborted to with a
|
||||
parameter of 'abort, fallback to a previous install-step, accordingly to the
|
||||
specified REWIND-STRATEGY. When aborted to with a parameter of 'break, stop
|
||||
the computation and return the accumalated result so far.
|
||||
|
||||
REWIND-STRATEGY possible values are 'previous, 'menu and 'start. If 'previous
|
||||
is selected, the execution will resume at the previous installer-step. If
|
||||
|
@ -106,10 +100,7 @@ the form:
|
|||
where STEP-ID is the ID field of the installer-step and COMPUTE-RESULT the
|
||||
result of the associated COMPUTE procedure. This result association list is
|
||||
passed as argument of every COMPUTE procedure. It is finally returned when the
|
||||
computation is over.
|
||||
|
||||
If the &installer-step-break condition is raised, stop the computation and
|
||||
return the accumalated result so far."
|
||||
computation is over."
|
||||
(define (pop-result list)
|
||||
(cdr list))
|
||||
|
||||
|
@ -143,62 +134,61 @@ return the accumalated result so far."
|
|||
(match todo-steps
|
||||
(() (reverse result))
|
||||
((step . rest-steps)
|
||||
(guard (c ((installer-step-abort? c)
|
||||
(case rewind-strategy
|
||||
((previous)
|
||||
(match done-steps
|
||||
(()
|
||||
;; We cannot go previous the first step. So re-raise
|
||||
;; the exception. It might be useful in the case of
|
||||
;; nested run-installer-steps. Abort to 'raise-above
|
||||
;; prompt to prevent the condition from being catched
|
||||
;; by one of the previously installed guard.
|
||||
(abort-to-prompt 'raise-above c))
|
||||
((prev-done ... last-done)
|
||||
(run (pop-result result)
|
||||
#:todo-steps (cons last-done todo-steps)
|
||||
#:done-steps prev-done))))
|
||||
((menu)
|
||||
(let ((goto-step (menu-proc
|
||||
(append done-steps (list step)))))
|
||||
(if (eq? goto-step step)
|
||||
(run result
|
||||
#:todo-steps todo-steps
|
||||
#:done-steps done-steps)
|
||||
(skip-to-step goto-step result
|
||||
#:todo-steps todo-steps
|
||||
#:done-steps done-steps))))
|
||||
((start)
|
||||
(if (null? done-steps)
|
||||
;; Same as above, it makes no sense to jump to start
|
||||
;; when we are at the first installer-step. Abort to
|
||||
;; 'raise-above prompt to re-raise the condition.
|
||||
(abort-to-prompt 'raise-above c)
|
||||
(run '()
|
||||
#:todo-steps steps
|
||||
#:done-steps '())))))
|
||||
((installer-step-break? c)
|
||||
(reverse result)))
|
||||
(syslog "running step '~a'~%" (installer-step-id step))
|
||||
(let* ((id (installer-step-id step))
|
||||
(compute (installer-step-compute step))
|
||||
(res (compute result done-steps)))
|
||||
(run (alist-cons id res result)
|
||||
#:todo-steps rest-steps
|
||||
#:done-steps (append done-steps (list step))))))))
|
||||
(call-with-prompt 'installer-step
|
||||
(lambda ()
|
||||
(installer-log-line "running step '~a'" (installer-step-id step))
|
||||
(let* ((id (installer-step-id step))
|
||||
(compute (installer-step-compute step))
|
||||
(res (compute result done-steps)))
|
||||
(hash-set! %current-result id res)
|
||||
(run (alist-cons id res result)
|
||||
#:todo-steps rest-steps
|
||||
#:done-steps (append done-steps (list step)))))
|
||||
(lambda (k action)
|
||||
(match action
|
||||
('abort
|
||||
(case rewind-strategy
|
||||
((previous)
|
||||
(match done-steps
|
||||
(()
|
||||
;; We cannot go previous the first step. Abort again to
|
||||
;; 'installer-step prompt. It might be useful in the case
|
||||
;; of nested run-installer-steps.
|
||||
(abort-to-prompt 'installer-step action))
|
||||
((prev-done ... last-done)
|
||||
(run (pop-result result)
|
||||
#:todo-steps (cons last-done todo-steps)
|
||||
#:done-steps prev-done))))
|
||||
((menu)
|
||||
(let ((goto-step (menu-proc
|
||||
(append done-steps (list step)))))
|
||||
(if (eq? goto-step step)
|
||||
(run result
|
||||
#:todo-steps todo-steps
|
||||
#:done-steps done-steps)
|
||||
(skip-to-step goto-step result
|
||||
#:todo-steps todo-steps
|
||||
#:done-steps done-steps))))
|
||||
((start)
|
||||
(if (null? done-steps)
|
||||
;; Same as above, it makes no sense to jump to start
|
||||
;; when we are at the first installer-step. Abort to
|
||||
;; 'installer-step prompt again.
|
||||
(abort-to-prompt 'installer-step action)
|
||||
(run '()
|
||||
#:todo-steps steps
|
||||
#:done-steps '())))))
|
||||
('break
|
||||
(reverse result))))))))
|
||||
|
||||
;; Ignore SIGPIPE so that we don't die if a client closes the connection
|
||||
;; prematurely.
|
||||
(sigaction SIGPIPE SIG_IGN)
|
||||
|
||||
(with-server-socket
|
||||
(call-with-prompt 'raise-above
|
||||
(lambda ()
|
||||
(run '()
|
||||
#:todo-steps steps
|
||||
#:done-steps '()))
|
||||
(lambda (k condition)
|
||||
(raise condition)))))
|
||||
(run '()
|
||||
#:todo-steps steps
|
||||
#:done-steps '())))
|
||||
|
||||
(define (find-step-by-id steps id)
|
||||
"Find and return the step in STEPS whose id is equal to ID."
|
||||
|
|
|
@ -19,7 +19,14 @@
|
|||
(define-module (gnu installer user)
|
||||
#:use-module (guix records)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:export (<user>
|
||||
#:use-module (srfi srfi-9)
|
||||
#:use-module (srfi srfi-9 gnu)
|
||||
#:export (<secret>
|
||||
secret?
|
||||
make-secret
|
||||
secret-content
|
||||
|
||||
<user>
|
||||
user
|
||||
make-user
|
||||
user-name
|
||||
|
@ -30,6 +37,16 @@
|
|||
|
||||
users->configuration))
|
||||
|
||||
(define-record-type <secret>
|
||||
(make-secret content)
|
||||
secret?
|
||||
(content secret-content))
|
||||
|
||||
(set-record-type-printer!
|
||||
<secret>
|
||||
(lambda (secret port)
|
||||
(format port "<secret>")))
|
||||
|
||||
(define-record-type* <user>
|
||||
user make-user
|
||||
user?
|
||||
|
|
|
@ -25,7 +25,10 @@
|
|||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-19)
|
||||
#:use-module (srfi srfi-34)
|
||||
#:use-module (srfi srfi-35)
|
||||
#:use-module (ice-9 control)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (ice-9 popen)
|
||||
#:use-module (ice-9 rdelim)
|
||||
#:use-module (ice-9 regex)
|
||||
#:use-module (ice-9 format)
|
||||
|
@ -34,10 +37,17 @@
|
|||
read-all
|
||||
nearest-exact-integer
|
||||
read-percentage
|
||||
run-external-command-with-handler
|
||||
run-external-command-with-line-hooks
|
||||
run-command
|
||||
run-command-in-installer
|
||||
|
||||
syslog-port
|
||||
syslog
|
||||
%syslog-line-hook
|
||||
installer-log-port
|
||||
%installer-log-line-hook
|
||||
%default-installer-line-hooks
|
||||
installer-log-line
|
||||
call-with-time
|
||||
let/time
|
||||
|
||||
|
@ -74,37 +84,99 @@ number. If no percentage is found, return #f"
|
|||
(and result
|
||||
(string->number (match:substring result 1)))))
|
||||
|
||||
(define* (run-external-command-with-handler handler command)
|
||||
"Run command specified by the list COMMAND in a child with output handler
|
||||
HANDLER. HANDLER is a procedure taking an input port, to which the command
|
||||
will write its standard output and error. Returns the integer status value of
|
||||
the child process as returned by waitpid."
|
||||
(match-let (((input . output) (pipe)))
|
||||
;; Hack to work around Guile bug 52835
|
||||
(define dup-output (duplicate-port output "w"))
|
||||
;; Void pipe, but holds the pid for close-pipe.
|
||||
(define dummy-pipe
|
||||
(with-input-from-file "/dev/null"
|
||||
(lambda ()
|
||||
(with-output-to-port output
|
||||
(lambda ()
|
||||
(with-error-to-port dup-output
|
||||
(lambda ()
|
||||
(apply open-pipe* (cons "" command)))))))))
|
||||
(close-port output)
|
||||
(close-port dup-output)
|
||||
(handler input)
|
||||
(close-port input)
|
||||
(close-pipe dummy-pipe)))
|
||||
|
||||
(define (run-external-command-with-line-hooks line-hooks command)
|
||||
"Run command specified by the list COMMAND in a child, processing each
|
||||
output line with the procedures in LINE-HOOKS. Returns the integer status
|
||||
value of the child process as returned by waitpid."
|
||||
(define (handler input)
|
||||
(and
|
||||
(and=> (get-line input)
|
||||
(lambda (line)
|
||||
(if (eof-object? line)
|
||||
#f
|
||||
(begin (for-each (lambda (f) (f line))
|
||||
(append line-hooks
|
||||
%default-installer-line-hooks))
|
||||
#t))))
|
||||
(handler input)))
|
||||
(run-external-command-with-handler handler command))
|
||||
|
||||
(define* (run-command command)
|
||||
"Run COMMAND, a list of strings. Return true if COMMAND exited
|
||||
successfully, #f otherwise."
|
||||
(define env (environ))
|
||||
|
||||
(define (pause)
|
||||
(format #t (G_ "Press Enter to continue.~%"))
|
||||
(send-to-clients '(pause))
|
||||
(environ env) ;restore environment variables
|
||||
(match (select (cons (current-input-port) (current-clients))
|
||||
'() '())
|
||||
(((port _ ...) _ _)
|
||||
(read-line port))))
|
||||
|
||||
(setenv "PATH" "/run/current-system/profile/bin")
|
||||
(installer-log-line "running command ~s" command)
|
||||
(define result (run-external-command-with-line-hooks
|
||||
(list %display-line-hook)
|
||||
command))
|
||||
(define exit-val (status:exit-val result))
|
||||
(define term-sig (status:term-sig result))
|
||||
(define stop-sig (status:stop-sig result))
|
||||
(define succeeded?
|
||||
(cond
|
||||
((and exit-val (not (zero? exit-val)))
|
||||
(installer-log-line "command ~s exited with value ~a"
|
||||
command exit-val)
|
||||
(format #t (G_ "Command ~s exited with value ~a")
|
||||
command exit-val)
|
||||
#f)
|
||||
(term-sig
|
||||
(installer-log-line "command ~s killed by signal ~a"
|
||||
command term-sig)
|
||||
(format #t (G_ "Command ~s killed by signal ~a")
|
||||
command term-sig)
|
||||
#f)
|
||||
(stop-sig
|
||||
(installer-log-line "command ~s stopped by signal ~a"
|
||||
command stop-sig)
|
||||
(format #t (G_ "Command ~s stopped by signal ~a")
|
||||
command stop-sig)
|
||||
#f)
|
||||
(else
|
||||
(installer-log-line "command ~s succeeded" command)
|
||||
(format #t (G_ "Command ~s succeeded") command)
|
||||
#t)))
|
||||
(newline)
|
||||
(pause)
|
||||
succeeded?)
|
||||
|
||||
(guard (c ((invoke-error? c)
|
||||
(newline)
|
||||
(format (current-error-port)
|
||||
(G_ "Command failed with exit code ~a.~%")
|
||||
(invoke-error-exit-status c))
|
||||
(syslog "command ~s failed with exit code ~a"
|
||||
command (invoke-error-exit-status c))
|
||||
(pause)
|
||||
#f))
|
||||
(syslog "running command ~s~%" command)
|
||||
(apply invoke command)
|
||||
(syslog "command ~s succeeded~%" command)
|
||||
(newline)
|
||||
(pause)
|
||||
#t))
|
||||
(define run-command-in-installer
|
||||
(make-parameter
|
||||
(lambda (. args)
|
||||
(raise
|
||||
(condition
|
||||
(&serious)
|
||||
(&message (message "run-command-in-installer not set")))))))
|
||||
|
||||
|
||||
;;;
|
||||
|
@ -142,6 +214,9 @@ values."
|
|||
(set! port (open-syslog-port)))
|
||||
(or port (%make-void-port "w")))))
|
||||
|
||||
(define (%syslog-line-hook line)
|
||||
(format (syslog-port) "installer[~d]: ~a~%" (getpid) line))
|
||||
|
||||
(define-syntax syslog
|
||||
(lambda (s)
|
||||
"Like 'format', but write to syslog."
|
||||
|
@ -152,6 +227,43 @@ values."
|
|||
(syntax->datum #'fmt))))
|
||||
#'(format (syslog-port) fmt (getpid) args ...))))))
|
||||
|
||||
(define (open-new-log-port)
|
||||
(define now (localtime (time-second (current-time))))
|
||||
(define filename
|
||||
(format #f "/tmp/installer.~a.log"
|
||||
(strftime "%F.%T" now)))
|
||||
(open filename (logior O_RDWR
|
||||
O_CREAT)))
|
||||
|
||||
(define installer-log-port
|
||||
(let ((port #f))
|
||||
(lambda ()
|
||||
"Return an input and output port to the installer log."
|
||||
(unless port
|
||||
(set! port (open-new-log-port)))
|
||||
port)))
|
||||
|
||||
(define (%installer-log-line-hook line)
|
||||
(format (installer-log-port) "~a~%" line))
|
||||
|
||||
(define (%display-line-hook line)
|
||||
(display line)
|
||||
(newline))
|
||||
|
||||
(define %default-installer-line-hooks
|
||||
(list %syslog-line-hook
|
||||
%installer-log-line-hook))
|
||||
|
||||
(define-syntax installer-log-line
|
||||
(lambda (s)
|
||||
"Like 'format', but uses the default line hooks, and only formats one line."
|
||||
(syntax-case s ()
|
||||
((_ fmt args ...)
|
||||
(string? (syntax->datum #'fmt))
|
||||
#'(let ((formatted (format #f fmt args ...)))
|
||||
(for-each (lambda (f) (f formatted))
|
||||
%default-installer-line-hooks))))))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Client protocol.
|
||||
|
@ -214,8 +326,9 @@ accepting socket."
|
|||
(let ((errno (system-error-errno args)))
|
||||
(if (memv errno (list EPIPE ECONNRESET ECONNABORTED))
|
||||
(begin
|
||||
(syslog "removing client ~s due to ~s while replying~%"
|
||||
(fileno client) (strerror errno))
|
||||
(installer-log-line
|
||||
"removing client ~s due to ~s while replying"
|
||||
(fileno client) (strerror errno))
|
||||
(false-if-exception (close-port client))
|
||||
remainder)
|
||||
(cons client remainder))))))
|
||||
|
|
38
gnu/local.mk
38
gnu/local.mk
|
@ -7,7 +7,7 @@
|
|||
# Copyright © 2016, 2017, 2018 Kei Kebreau <kkebreau@posteo.net>
|
||||
# Copyright © 2016, 2017 Rene Saavedra <rennes@openmailbox.org>
|
||||
# Copyright © 2016 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org>
|
||||
# Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
|
||||
# Copyright © 2016, 2017, 2018, 2019, 2020, 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
|
||||
# Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
|
||||
# Copyright © 2016, 2017, 2018, 2019 Alex Vong <alexvong1995@gmail.com>
|
||||
# Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
|
||||
|
@ -79,6 +79,7 @@ GNU_SYSTEM_MODULES = \
|
|||
%D%/ci.scm \
|
||||
%D%/home.scm \
|
||||
%D%/home/services.scm \
|
||||
%D%/home/services/desktop.scm \
|
||||
%D%/home/services/symlink-manager.scm \
|
||||
%D%/home/services/fontutils.scm \
|
||||
%D%/home/services/shells.scm \
|
||||
|
@ -581,6 +582,7 @@ GNU_SYSTEM_MODULES = \
|
|||
%D%/packages/time.scm \
|
||||
%D%/packages/tls.scm \
|
||||
%D%/packages/tmux.scm \
|
||||
%D%/packages/toolkits.scm \
|
||||
%D%/packages/tor.scm \
|
||||
%D%/packages/tv.scm \
|
||||
%D%/packages/uglifyjs.scm \
|
||||
|
@ -758,6 +760,7 @@ GNU_SYSTEM_MODULES = \
|
|||
INSTALLER_MODULES = \
|
||||
%D%/installer.scm \
|
||||
%D%/installer/connman.scm \
|
||||
%D%/installer/dump.scm \
|
||||
%D%/installer/final.scm \
|
||||
%D%/installer/hostname.scm \
|
||||
%D%/installer/keymap.scm \
|
||||
|
@ -859,6 +862,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/ath9k-htc-firmware-gcc-compat.patch \
|
||||
%D%/packages/patches/ath9k-htc-firmware-objcopy.patch \
|
||||
%D%/packages/patches/atlas-gfortran-compat.patch \
|
||||
%D%/packages/patches/audacity-ffmpeg-fallback.patch \
|
||||
%D%/packages/patches/audiofile-fix-datatypes-in-tests.patch \
|
||||
%D%/packages/patches/audiofile-fix-sign-conversion.patch \
|
||||
%D%/packages/patches/audiofile-CVE-2015-7747.patch \
|
||||
|
@ -909,6 +913,8 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/binutils-mingw-w64-timestamp.patch \
|
||||
%D%/packages/patches/binutils-mingw-w64-deterministic.patch \
|
||||
%D%/packages/patches/binutils-CVE-2021-45078.patch \
|
||||
%D%/packages/patches/bloomberg-bde-cmake-module-path.patch \
|
||||
%D%/packages/patches/bloomberg-bde-tools-fix-install-path.patch \
|
||||
%D%/packages/patches/bpftrace-disable-bfd-disasm.patch \
|
||||
%D%/packages/patches/byobu-writable-status.patch \
|
||||
%D%/packages/patches/bubblewrap-fix-locale-in-tests.patch \
|
||||
|
@ -965,6 +971,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/coq-fix-envvars.patch \
|
||||
%D%/packages/patches/coreutils-ls.patch \
|
||||
%D%/packages/patches/cpuinfo-system-libraries.patch \
|
||||
%D%/packages/patches/cpulimit-with-glib-2.32.patch \
|
||||
%D%/packages/patches/crawl-upgrade-saves.patch \
|
||||
%D%/packages/patches/crda-optional-gcrypt.patch \
|
||||
%D%/packages/patches/clucene-contribs-lib.patch \
|
||||
|
@ -1002,6 +1009,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/dovecot-trees-support-dovecot-2.3.patch \
|
||||
%D%/packages/patches/dstat-fix-crash-when-specifying-delay.patch \
|
||||
%D%/packages/patches/dstat-skip-devices-without-io.patch \
|
||||
%D%/packages/patches/dunst-1.7.3-fix-crash.patch \
|
||||
%D%/packages/patches/dvd+rw-tools-add-include.patch \
|
||||
%D%/packages/patches/dynaconf-unvendor-deps.patch \
|
||||
%D%/packages/patches/ecl-16-format-directive-limit.patch \
|
||||
|
@ -1049,6 +1057,10 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/fasthenry-spSolve.patch \
|
||||
%D%/packages/patches/fasthenry-spFactor.patch \
|
||||
%D%/packages/patches/fbreader-curl-7.62.patch \
|
||||
%D%/packages/patches/fenics-dolfin-algorithm.patch \
|
||||
%D%/packages/patches/fenics-dolfin-demo-init.patch \
|
||||
%D%/packages/patches/fenics-dolfin-boost.patch \
|
||||
%D%/packages/patches/fenics-dolfin-config-slepc.patch \
|
||||
%D%/packages/patches/fifengine-boost-compat.patch \
|
||||
%D%/packages/patches/fifengine-swig-compat.patch \
|
||||
%D%/packages/patches/fifo-map-fix-flags-for-gcc.patch \
|
||||
|
@ -1131,6 +1143,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/geeqie-clutter.patch \
|
||||
%D%/packages/patches/genimage-mke2fs-test.patch \
|
||||
%D%/packages/patches/geoclue-config.patch \
|
||||
%D%/packages/patches/ghc-4.patch \
|
||||
%D%/packages/patches/ghc-8.0-fall-back-to-madv_dontneed.patch \
|
||||
%D%/packages/patches/ghc-testsuite-dlopen-pie.patch \
|
||||
%D%/packages/patches/ghc-language-haskell-extract-ghc-8.10.patch \
|
||||
|
@ -1227,6 +1240,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/guile-linux-syscalls.patch \
|
||||
%D%/packages/patches/guile-3.0-linux-syscalls.patch \
|
||||
%D%/packages/patches/guile-fibers-destroy-peer-schedulers.patch \
|
||||
%D%/packages/patches/guile-fibers-wait-for-io-readiness.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-present-coding.patch \
|
||||
|
@ -1299,6 +1313,9 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/json-c-0.12-CVE-2020-12762.patch \
|
||||
%D%/packages/patches/jsoncpp-pkg-config-version.patch \
|
||||
%D%/packages/patches/jami-fix-crash-on-quit.patch \
|
||||
%D%/packages/patches/jami-images-loading.patch \
|
||||
%D%/packages/patches/jami-memory-usage.patch \
|
||||
%D%/packages/patches/jami-libclient-audio-managers.patch \
|
||||
%D%/packages/patches/jamvm-1.5.1-aarch64-support.patch \
|
||||
%D%/packages/patches/jamvm-1.5.1-armv7-support.patch \
|
||||
%D%/packages/patches/jamvm-2.0.0-aarch64-support.patch \
|
||||
|
@ -1402,6 +1419,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/libmygpo-qt-missing-qt5-modules.patch \
|
||||
%D%/packages/patches/libqalculate-3.8.0-libcurl-ssl-fix.patch \
|
||||
%D%/packages/patches/libquicktime-ffmpeg.patch \
|
||||
%D%/packages/patches/librecad-support-for-boost-1.76.patch \
|
||||
%D%/packages/patches/libssh2-CVE-2019-17498.patch \
|
||||
%D%/packages/patches/libtar-CVE-2013-4420.patch \
|
||||
%D%/packages/patches/libtgvoip-disable-sse2.patch \
|
||||
|
@ -1504,6 +1522,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/mozjs38-shell-version.patch \
|
||||
%D%/packages/patches/mozjs38-tracelogger.patch \
|
||||
%D%/packages/patches/mozjs38-version-detection.patch \
|
||||
%D%/packages/patches/mozjs60-riscv64-support.patch \
|
||||
%D%/packages/patches/mrrescue-support-love-11.patch \
|
||||
%D%/packages/patches/mtools-mformat-uninitialized.patch \
|
||||
%D%/packages/patches/mumps-build-parallelism.patch \
|
||||
|
@ -1555,7 +1574,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch \
|
||||
%D%/packages/patches/ocaml-multiple-definitions.patch \
|
||||
%D%/packages/patches/ocaml-4.09-multiple-definitions.patch \
|
||||
%D%/packages/patches/ocaml-qcheck-fix-test-whitespace.patch \
|
||||
%D%/packages/patches/omake-fix-non-determinism.patch \
|
||||
%D%/packages/patches/oneko-remove-nonfree-characters.patch \
|
||||
%D%/packages/patches/onnx-optimizer-system-library.patch \
|
||||
|
@ -1563,6 +1581,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/onnx-shared-libraries.patch \
|
||||
%D%/packages/patches/onnx-skip-model-downloads.patch \
|
||||
%D%/packages/patches/openbabel-fix-crash-on-nwchem-output.patch \
|
||||
%D%/packages/patches/openboardview-use-system-utf8.patch \
|
||||
%D%/packages/patches/opencascade-oce-glibc-2.26.patch \
|
||||
%D%/packages/patches/openfoam-4.1-cleanup.patch \
|
||||
%D%/packages/patches/openjdk-10-idlj-reproducibility.patch \
|
||||
|
@ -1574,8 +1593,8 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/opensles-add-license-file.patch \
|
||||
%D%/packages/patches/openssl-runpath.patch \
|
||||
%D%/packages/patches/openssl-1.1-c-rehash-in.patch \
|
||||
%D%/packages/patches/openssl-3.0-c-rehash-in.patch \
|
||||
%D%/packages/patches/openssl-c-rehash-in.patch \
|
||||
%D%/packages/patches/openssl-CVE-2019-1559.patch \
|
||||
%D%/packages/patches/open-zwave-hidapi.patch \
|
||||
%D%/packages/patches/orpheus-cast-errors-and-includes.patch \
|
||||
%D%/packages/patches/osip-CVE-2017-7853.patch \
|
||||
|
@ -1614,6 +1633,9 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/p11-kit-hurd.patch \
|
||||
%D%/packages/patches/patchutils-test-perms.patch \
|
||||
%D%/packages/patches/patch-hurd-path-max.patch \
|
||||
%D%/packages/patches/perl-5.14-autosplit-default-time.patch \
|
||||
%D%/packages/patches/perl-5.14-module-pluggable-search.patch \
|
||||
%D%/packages/patches/perl-5.14-no-sys-dirs.patch \
|
||||
%D%/packages/patches/perl-autosplit-default-time.patch \
|
||||
%D%/packages/patches/perl-finance-quote-unuse-mozilla-ca.patch \
|
||||
%D%/packages/patches/perl-image-exiftool-CVE-2021-22204.patch \
|
||||
|
@ -1645,6 +1667,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/plib-CVE-2011-4620.patch \
|
||||
%D%/packages/patches/plib-CVE-2012-4552.patch \
|
||||
%D%/packages/patches/plotutils-spline-test.patch \
|
||||
%D%/packages/patches/polkit-CVE-2021-4034.patch \
|
||||
%D%/packages/patches/polkit-configure-elogind.patch \
|
||||
%D%/packages/patches/polkit-use-duktape.patch \
|
||||
%D%/packages/patches/portaudio-audacity-compat.patch \
|
||||
|
@ -1717,8 +1740,10 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/python-pytest-asyncio-python-3.8.patch \
|
||||
%D%/packages/patches/python-pytorch-runpath.patch \
|
||||
%D%/packages/patches/python-pytorch-system-libraries.patch \
|
||||
%D%/packages/patches/python-pytorch-1.9.0-system-libraries.patch \
|
||||
%D%/packages/patches/python-robotframework-source-date-epoch.patch \
|
||||
%D%/packages/patches/python-seaborn-kde-test.patch \
|
||||
%D%/packages/patches/python-seaborn-2690.patch \
|
||||
%D%/packages/patches/python2-subprocess32-disable-input-test.patch \
|
||||
%D%/packages/patches/python-unittest2-python3-compat.patch \
|
||||
%D%/packages/patches/python-unittest2-remove-argparse.patch \
|
||||
|
@ -1751,7 +1776,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/raptor2-heap-overflow.patch \
|
||||
%D%/packages/patches/ratpoints-sturm_and_rp_private.patch \
|
||||
%D%/packages/patches/ratpoison-shell.patch \
|
||||
%D%/packages/patches/rcs-5.10.0-no-stdin.patch \
|
||||
%D%/packages/patches/rct-add-missing-headers.patch \
|
||||
%D%/packages/patches/readline-link-ncurses.patch \
|
||||
%D%/packages/patches/readline-6.2-CVE-2014-2524.patch \
|
||||
|
@ -1774,6 +1798,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch \
|
||||
%D%/packages/patches/rocm-opencl-runtime-4.3-nocltrace.patch \
|
||||
%D%/packages/patches/rocm-opencl-runtime-4.3-noopencl.patch \
|
||||
%D%/packages/patches/ruby-mustache-1.1.1-fix-race-condition-tests.patch \
|
||||
%D%/packages/patches/ruby-sanitize-system-libxml.patch \
|
||||
%D%/packages/patches/rustc-1.39.0-src.patch \
|
||||
%D%/packages/patches/rust-adblock-ignore-live-tests.patch \
|
||||
|
@ -1843,6 +1868,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/tao-fix-parser-types.patch \
|
||||
%D%/packages/patches/tar-remove-wholesparse-check.patch \
|
||||
%D%/packages/patches/tar-skip-unreliable-tests.patch \
|
||||
%D%/packages/patches/tbb-fix-test-on-aarch64.patch \
|
||||
%D%/packages/patches/tcc-boot-0.9.27.patch \
|
||||
%D%/packages/patches/tclxml-3.2-install.patch \
|
||||
%D%/packages/patches/tcsh-fix-autotest.patch \
|
||||
|
@ -1881,7 +1907,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/u-boot-riscv64-fix-extlinux.patch \
|
||||
%D%/packages/patches/u-boot-rk3399-enable-emmc-phy.patch \
|
||||
%D%/packages/patches/ucx-tcp-iface-ioctl.patch \
|
||||
%D%/packages/patches/ungoogled-chromium-accelerated-video-decode.patch \
|
||||
%D%/packages/patches/ungoogled-chromium-extension-search-path.patch \
|
||||
%D%/packages/patches/ungoogled-chromium-ffmpeg-compat.patch \
|
||||
%D%/packages/patches/ungoogled-chromium-RUNPATH.patch \
|
||||
|
@ -1925,6 +1950,8 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/upx-CVE-2021-20285.patch \
|
||||
%D%/packages/patches/ustr-fix-build-with-gcc-5.patch \
|
||||
%D%/packages/patches/util-linux-tests.patch \
|
||||
%D%/packages/patches/util-linux-CVE-2021-3995.patch \
|
||||
%D%/packages/patches/util-linux-CVE-2021-3996.patch \
|
||||
%D%/packages/patches/upower-builddir.patch \
|
||||
%D%/packages/patches/valgrind-enable-arm.patch \
|
||||
%D%/packages/patches/vboot-utils-fix-format-load-address.patch \
|
||||
|
@ -1941,6 +1968,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/warsow-qfusion-fix-bool-return-type.patch \
|
||||
%D%/packages/patches/webkitgtk-share-store.patch \
|
||||
%D%/packages/patches/webkitgtk-bind-all-fonts.patch \
|
||||
%D%/packages/patches/webrtc-audio-processing-big-endian.patch \
|
||||
%D%/packages/patches/websocketpp-fix-for-cmake-3.15.patch \
|
||||
%D%/packages/patches/wicd-bitrate-none-fix.patch \
|
||||
%D%/packages/patches/wicd-get-selected-profile-fix.patch \
|
||||
|
|
|
@ -51,7 +51,7 @@
|
|||
;;; Commentary:
|
||||
;;;
|
||||
;;; This module provides the types used to declare individual machines in a
|
||||
;;; heterogeneous Guix deployment. The interface allows users of specify system
|
||||
;;; heterogeneous Guix deployment. The interface allows users to specify system
|
||||
;;; configurations and the means by which resources should be provisioned on a
|
||||
;;; per-host basis.
|
||||
;;;
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
|
||||
;;; Copyright © 2014, 2015, 2016, 2018, 2019, 2020 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2020, 2021 Eric Bavier <bavier@posteo.net>
|
||||
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2020, 2021, 2022 Eric Bavier <bavier@posteo.net>
|
||||
;;; Copyright © 2015, 2016 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
|
||||
;;; Copyright © 2015 Alex Sassmannshausen <alex.sassmannshausen@gmail.com>
|
||||
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
|
||||
|
@ -1220,6 +1220,21 @@ connection alive.")
|
|||
;; build system uses the built 'gen' executable.
|
||||
(setenv "BUILD_CC" "gcc"))))
|
||||
'())
|
||||
(add-before 'build 'update-config-scripts
|
||||
(lambda* (#:key native-inputs inputs #:allow-other-keys)
|
||||
(for-each (lambda (file)
|
||||
(install-file
|
||||
(search-input-file
|
||||
(or native-inputs inputs)
|
||||
(string-append "/bin/" file)) "."))
|
||||
'("config.guess" "config.sub"))
|
||||
(for-each (lambda (file)
|
||||
(install-file
|
||||
(search-input-file
|
||||
(or native-inputs inputs)
|
||||
(string-append "/bin/" file))
|
||||
(string-append "bind/bind-" ,bind-version)))
|
||||
'("config.guess" "config.sub"))))
|
||||
(add-after 'configure 'post-configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; Point to the right client script, which will be
|
||||
|
@ -1302,6 +1317,7 @@ connection alive.")
|
|||
(base32
|
||||
"108nh7hha4r0lb5hf1fn7lqaascvhsrghpz6afm5lf9vf2vgqly9"))))
|
||||
|
||||
("config" ,config)
|
||||
("coreutils*" ,coreutils)
|
||||
("sed*" ,sed)))
|
||||
|
||||
|
@ -2858,7 +2874,8 @@ lookup to YAML Mode. You could enable the mode with @code{(add-hook
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1dz045yhcsw1rdamzpz4bk8mw888in7fyqk1q1b3m1yk4pd1ahkh"))))
|
||||
(base32 "1dz045yhcsw1rdamzpz4bk8mw888in7fyqk1q1b3m1yk4pd1ahkh"))
|
||||
(patches (search-patches "cpulimit-with-glib-2.32.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
|
@ -4753,7 +4770,7 @@ disk utilization, priority, username, state, and exit code.")
|
|||
(install-file "novena-eeprom" out-bin)
|
||||
(install-file "novena-eeprom.8" out-share-man)))))))
|
||||
(inputs
|
||||
(list i2c-tools))
|
||||
(list i2c-tools-3))
|
||||
(synopsis "Novena EEPROM editor")
|
||||
(description "This package provides an editor for the Novena EEPROM.
|
||||
Novena boards contain a device-dependent descriptive EEPROM that defines
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2013, 2015, 2017, 2018, 2021 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016–2022 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2016-2022 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2014, 2018 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2016, 2018, 2019, 2021 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2017, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
|
||||
|
@ -328,7 +328,7 @@ precision.")
|
|||
(define-public giac
|
||||
(package
|
||||
(name "giac")
|
||||
(version "1.7.0-45")
|
||||
(version "1.7.0-47")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -340,7 +340,7 @@ precision.")
|
|||
"~parisse/debian/dists/stable/main/source/"
|
||||
"giac_" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "19hxbx27n5zby96d4pzhxxqn7mzk29g8sxn08fi638l17lr9x2q2"))))
|
||||
(base32 "1cbc0vm79q9z3ajn4m5sjg9931ah1wq3icj0m16jsxp52km1h7jx"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:modules ((ice-9 ftw)
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
;;; Copyright © 2019 by Amar Singh <nly@disroot.org>
|
||||
;;; Copyright © 2020 R Veera Kumar <vkor@vkten.in>
|
||||
;;; Copyright © 2020, 2021 Guillaume Le Vaillant <glv@posteo.net>
|
||||
;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
|
||||
;;; Copyright © 2021, 2022 Sharlatan Hellseher <sharlatanus@gmail.com>
|
||||
;;; Copyright © 2021, 2022 Vinicius Monego <monego@posteo.net>
|
||||
;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
|
||||
;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
|
||||
|
@ -1460,34 +1460,221 @@ of stand-alone functions and classes.")
|
|||
(define-public python-asdf
|
||||
(package
|
||||
(name "python-asdf")
|
||||
(version "2.7.4")
|
||||
(version "2.8.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "asdf" version))
|
||||
(sha256
|
||||
(base32 "1mj52l2m8pbhiqacgjakjpvqi8kyx470yw151lcsswbq5wp0rsc6"))))
|
||||
(base32 "0i4vq1hsympjgb1yvn4ql0gm8j1mki9ggmj03533kmg0nbzp03yy"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
;; TODO: (Sharlatan-20210207T165820+0000): Tests depend on astropy, astropy
|
||||
;; depends on asdf. Disable circular dependence.
|
||||
;; NOTE: (Sharlatan-20211229T201059+0000): Tests depend on astropy and
|
||||
;; gwcs, astropy gwcs depend on asdf. Disable circular dependence.
|
||||
`(#:tests? #f))
|
||||
(native-inputs
|
||||
`(("packaging" ,python-packaging)
|
||||
("semantic-version" ,python-semantic-version)
|
||||
("setuptools-scm" ,python-setuptools-scm)))
|
||||
(inputs
|
||||
`(("importlib-resources" ,python-importlib-resources)
|
||||
("jsonschema" ,python-jsonschema)
|
||||
("numpy" ,python-numpy)
|
||||
("pyyaml" ,python-pyyaml)))
|
||||
(home-page "https://github.com/asdf-format/asdf")
|
||||
(synopsis "Python tools to handle ASDF files")
|
||||
(description
|
||||
"The Advanced Scientific Data Format (ASDF) is a next-generation
|
||||
(list python-setuptools-scm
|
||||
python-semantic-version
|
||||
python-packaging))
|
||||
(propagated-inputs
|
||||
(list python-importlib-resources
|
||||
python-jsonschema
|
||||
python-jmespath
|
||||
python-numpy
|
||||
python-pyyaml))
|
||||
(home-page "https://github.com/asdf-format/asdf")
|
||||
(synopsis "Python tools to handle ASDF files")
|
||||
(description
|
||||
"The Advanced Scientific Data Format (ASDF) is a next-generation
|
||||
interchange format for scientific data. This package contains the Python
|
||||
implementation of the ASDF Standard.")
|
||||
(license license:bsd-3)))
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define python-asdf-transform-schemas
|
||||
(package
|
||||
(name "python-asdf-transform-schemas")
|
||||
(version "0.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "asdf_transform_schemas" version))
|
||||
(sha256
|
||||
(base32 "1gmzd81hw4ppsvzrc91wcbjpcw9hhv9gavllv7nyi7qjb54c837g"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(add-installed-pythonpath inputs outputs)
|
||||
(invoke "python" "-m" "pytest")))))))
|
||||
(native-inputs
|
||||
(list python-pytest
|
||||
python-semantic-version
|
||||
python-setuptools-scm))
|
||||
(propagated-inputs
|
||||
(list python-asdf))
|
||||
(home-page "https://github.com/asdf-format/asdf-transform-schemas")
|
||||
(synopsis "ASDF schemas for transforms")
|
||||
(description
|
||||
"This package provides ASDF schemas for validating transform tags. Users
|
||||
should not need to install this directly; instead, install an implementation
|
||||
package such as asdf-astropy.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define python-asdf-coordinates-schemas
|
||||
(package
|
||||
(name "python-asdf-coordinates-schemas")
|
||||
(version "0.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "asdf_coordinates_schemas" version))
|
||||
(sha256
|
||||
(base32 "0ahwhsz5jzljnpkfd2kvspirg823lnj5ip9sfkd9cx09z1nlz8jg"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(add-installed-pythonpath inputs outputs)
|
||||
(invoke "python" "-m" "pytest")))))))
|
||||
(native-inputs
|
||||
(list python-pytest
|
||||
python-semantic-version
|
||||
python-setuptools-scm))
|
||||
(propagated-inputs
|
||||
(list python-asdf))
|
||||
(home-page "https://github.com/asdf-format/asdf-coordinates-schemas")
|
||||
(synopsis "ASDF coordinates schemas")
|
||||
(description "This package provides ASDF schemas for validating
|
||||
coordinates tags. Users should not need to install this directly; instead,
|
||||
install an implementation package such as asdf-astropy.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-asdf-astropy
|
||||
(package
|
||||
(name "python-asdf-astropy")
|
||||
(version "0.1.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "asdf_astropy" version))
|
||||
(sha256
|
||||
(base32 "0bzgah7gskvnz6jcrzipvzixv8k2jzjkskqwxngzwp4nxgjbcvi4"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(add-installed-pythonpath inputs outputs)
|
||||
(invoke "python" "-m" "pytest")))))))
|
||||
(native-inputs
|
||||
(list python-coverage
|
||||
python-h5py
|
||||
python-matplotlib
|
||||
python-pandas
|
||||
python-pytest-astropy
|
||||
python-scipy
|
||||
python-semantic-version
|
||||
python-setuptools-scm))
|
||||
(propagated-inputs
|
||||
(list python-asdf
|
||||
python-asdf-coordinates-schemas
|
||||
python-asdf-transform-schemas
|
||||
python-astropy
|
||||
python-numpy
|
||||
python-packaging))
|
||||
(home-page "https://github.com/astropy/asdf-astropy")
|
||||
(synopsis "ASDF serialization support for astropy")
|
||||
(description
|
||||
"This package includes plugins that provide ASDF serialization support for
|
||||
Astropy objects.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define python-asdf-wcs-schemas
|
||||
(package
|
||||
(name "python-asdf-wcs-schemas")
|
||||
(version "0.1.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "asdf_wcs_schemas" version))
|
||||
(sha256
|
||||
(base32 "0khyab9mnf2lv755as8kwhk3lqqpd3f4291ny3b9yp3ik86fzhz1"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(add-installed-pythonpath inputs outputs)
|
||||
(invoke "python" "-m" "pytest")))))))
|
||||
(native-inputs
|
||||
(list python-pytest
|
||||
python-setuptools-scm
|
||||
python-semantic-version))
|
||||
(propagated-inputs
|
||||
(list python-asdf))
|
||||
(home-page "https://github.com/asdf-format/asdf-wcs-schemas")
|
||||
(synopsis "ASDF WCS Schemas")
|
||||
(description
|
||||
"This package provides ASDF schemas for validating World Coordinate
|
||||
System (WCS) tags. Users should not need to install this directly; instead,
|
||||
install an implementation package such as gwcs.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-gwcs
|
||||
(package
|
||||
(name "python-gwcs")
|
||||
(version "0.18.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "gwcs" version))
|
||||
(sha256
|
||||
(base32 "194j49m8xjjzv9pp8cnj06igz8sdxb0nphyybcc7mhigw0f0kr30"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(add-installed-pythonpath inputs outputs)
|
||||
(invoke "python" "-m" "pytest")))))))
|
||||
(native-inputs
|
||||
(list python-jsonschema
|
||||
python-jmespath
|
||||
python-pytest
|
||||
python-pytest-doctestplus
|
||||
python-pyyaml
|
||||
python-semantic-version
|
||||
python-setuptools-scm))
|
||||
(propagated-inputs
|
||||
(list python-asdf
|
||||
python-asdf-astropy
|
||||
python-asdf-wcs-schemas
|
||||
python-astropy
|
||||
python-numpy
|
||||
python-scipy))
|
||||
(home-page "https://gwcs.readthedocs.io/en/latest/")
|
||||
(synopsis "Generalized World Coordinate System")
|
||||
(description "Generalized World Coordinate System (GWCS) is an Astropy
|
||||
affiliated package providing tools for managing the World Coordinate System of
|
||||
astronomical data.
|
||||
|
||||
GWCS takes a general approach to the problem of expressing transformations
|
||||
between pixel and world coordinates. It supports a data model which includes
|
||||
the entire transformation pipeline from input coordinates (detector by
|
||||
default) to world coordinates.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-astroalign
|
||||
(package
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
|
||||
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
|
||||
;;; Copyright © 2015, 2016 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017 Alex Griffin <a@ajgrf.com>
|
||||
;;; Copyright © 2016 Nikita <nikita@n0.is>
|
||||
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
|
||||
|
@ -254,6 +254,45 @@ softsynth library that can be use with other applications.")
|
|||
(sha256
|
||||
(base32 "1gsx7k77blfy171b6g3m0k0s0072v6jcawhmx1kjs9w5zlwdkzd0"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
;; TODO: Move this to a snippet/patch or remove with the upgrade to 1.0.
|
||||
(if (or (target-riscv64?)
|
||||
(target-powerpc?))
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-source
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((patch-file
|
||||
#$(local-file
|
||||
(search-patch
|
||||
"webrtc-audio-processing-big-endian.patch"))))
|
||||
(invoke "patch" "--force" "-p1" "-i" patch-file)
|
||||
(substitute* "webrtc/typedefs.h"
|
||||
(("defined\\(__aarch64__\\)" all)
|
||||
(string-append
|
||||
;; powerpc-linux
|
||||
"(defined(__PPC__) && __SIZEOF_SIZE_T__ == 4)\n"
|
||||
"#define WEBRTC_ARCH_32_BITS\n"
|
||||
"#define WEBRTC_ARCH_BIG_ENDIAN\n"
|
||||
;; powerpc64-linux
|
||||
"#elif (defined(__PPC64__) && defined(_BIG_ENDIAN))\n"
|
||||
"#define WEBRTC_ARCH_64_BITS\n"
|
||||
"#define WEBRTC_ARCH_BIG_ENDIAN\n"
|
||||
;; aarch64-linux
|
||||
"#elif " all
|
||||
;; riscv64-linux
|
||||
" || (defined(__riscv) && __riscv_xlen == 64)"
|
||||
;; powerpc64le-linux
|
||||
" || (defined(__PPC64__) && defined(_LITTLE_ENDIAN))"))))))))
|
||||
'()))
|
||||
(native-inputs
|
||||
(if (or (target-riscv64?)
|
||||
(target-powerpc?))
|
||||
(list
|
||||
(local-file (search-patch "webrtc-audio-processing-big-endian.patch"))
|
||||
patch)
|
||||
'()))
|
||||
(synopsis "WebRTC's Audio Processing Library")
|
||||
(description "WebRTC-Audio-Processing library based on Google's
|
||||
implementation of WebRTC.")
|
||||
|
@ -728,14 +767,17 @@ engineers, musicians, soundtrack editors and composers.")
|
|||
(version "3.1.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/audacity/audacity")
|
||||
(commit (string-append "Audacity-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
;; If built from the release tag, Audacity will describe itself
|
||||
;; as an "Alpha test version" and suggest to users that they use
|
||||
;; the "latest stable released version".
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/audacity/audacity/releases/download/"
|
||||
"Audacity-" version "/audacity-" version
|
||||
"-source.tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1689q9apbjf9nnda62shb8j7hm4hxd47mhk4l5h3c728mjjkilmi"))
|
||||
"189agx11361k9j958s6q5bngnnfx0rwaf0dwbjxy6fwvsb1wv3px"))
|
||||
(patches (search-patches "audacity-ffmpeg-fallback.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Remove bundled libraries.
|
||||
|
@ -763,10 +805,10 @@ engineers, musicians, soundtrack editors and composers.")
|
|||
alsa-lib
|
||||
jack-1
|
||||
expat
|
||||
ffmpeg
|
||||
lame
|
||||
linux-libre-headers
|
||||
flac
|
||||
ffmpeg
|
||||
libid3tag
|
||||
libjpeg-turbo
|
||||
libmad
|
||||
|
@ -4080,6 +4122,40 @@ with support for HD extensions.")
|
|||
(home-page "https://github.com/foo86/dcadec")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public drc
|
||||
(package
|
||||
(name "drc")
|
||||
(version "3.2.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/drc-fir/drc-fir/"
|
||||
version "/drc-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"08ljj4776pjx119zjmfqa8w56bf7x0m7spmi27yk1m455bmiglrj"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #false ;there are none
|
||||
#:make-flags
|
||||
#~(list (string-append "INSTALL_PREFIX=" #$output)
|
||||
"-C" "source")
|
||||
#:phases
|
||||
'(modify-phases %standard-phases
|
||||
(delete 'configure))))
|
||||
(inputs (list fftw))
|
||||
(home-page "http://drc-fir.sourceforge.net/")
|
||||
(synopsis "Digital room correction")
|
||||
(description
|
||||
"DRC is a program used to generate correction filters for acoustic
|
||||
compensation of HiFi and audio systems in general, including listening room
|
||||
compensation. DRC generates just the FIR correction filters, which can be
|
||||
used with a real time or offline convolver to provide real time or offline
|
||||
correction. DRC doesn't provide convolution features, and provides only some
|
||||
simplified, although really accurate, measuring tools.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public bs1770gain
|
||||
(package
|
||||
(name "bs1770gain")
|
||||
|
|
|
@ -40,7 +40,13 @@
|
|||
(uri (string-append "mirror://gnu/autogen/rel" version
|
||||
"/autogen-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "16mlbdys8q4ckxlvxyhwkdnh1ay9f6g0cyp1kylkpalgnik398gq"))))
|
||||
(base32 "16mlbdys8q4ckxlvxyhwkdnh1ay9f6g0cyp1kylkpalgnik398gq"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Address '-Werror=format-overflow' error.
|
||||
'(substitute* "getdefs/getdefs.c"
|
||||
(("def_bf\\[[[:space:]]*MAXNAMELEN[[:space:]]*\\]")
|
||||
"def_bf[MAXNAMELEN + 10]")))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs (list pkg-config which))
|
||||
(inputs (list guile-2.2 perl)) ; for doc generator mdoc
|
||||
|
|
|
@ -5437,6 +5437,8 @@ CONFIG_SND_INDIGOIO=m
|
|||
CONFIG_SND_INDIGODJ=m
|
||||
CONFIG_SND_INDIGOIOX=m
|
||||
CONFIG_SND_INDIGODJX=m
|
||||
CONFIG_SND_EMU10K1=m
|
||||
CONFIG_SND_EMU10K1_SEQ=m
|
||||
# CONFIG_SND_EMU10K1_SEQ is not set
|
||||
# CONFIG_SND_ENS1370 is not set
|
||||
# CONFIG_SND_ENS1371 is not set
|
||||
|
|
|
@ -938,7 +938,7 @@ CONFIG_RAPIDIO_CPS_XX=m
|
|||
CONFIG_RAPIDIO_TSI568=m
|
||||
CONFIG_RAPIDIO_CPS_GEN2=m
|
||||
CONFIG_RAPIDIO_RXS_GEN3=m
|
||||
CONFIG_X86_SYSFB=y
|
||||
# CONFIG_X86_SYSFB is not set
|
||||
|
||||
#
|
||||
# Executable file formats / Emulations
|
||||
|
@ -8495,13 +8495,7 @@ CONFIG_ISCSI_IBFT_FIND=y
|
|||
CONFIG_ISCSI_IBFT=m
|
||||
CONFIG_FW_CFG_SYSFS=m
|
||||
# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
|
||||
CONFIG_GOOGLE_FIRMWARE=y
|
||||
# CONFIG_GOOGLE_SMI is not set
|
||||
CONFIG_GOOGLE_COREBOOT_TABLE=y
|
||||
# CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY is not set
|
||||
CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT=m
|
||||
# CONFIG_GOOGLE_MEMCONSOLE_COREBOOT is not set
|
||||
# CONFIG_GOOGLE_VPD is not set
|
||||
# CONFIG_GOOGLE_FIRMWARE is not set
|
||||
|
||||
#
|
||||
# EFI (Extensible Firmware Interface) Support
|
||||
|
|
|
@ -454,7 +454,7 @@ CONFIG_FREEZER=y
|
|||
#
|
||||
# Processor type and features
|
||||
#
|
||||
# CONFIG_ZONE_DMA is not set
|
||||
CONFIG_ZONE_DMA=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_X86_FEATURE_NAMES=y
|
||||
CONFIG_X86_FAST_FEATURE_TESTS=y
|
||||
|
@ -928,7 +928,7 @@ CONFIG_RAPIDIO_CPS_XX=m
|
|||
CONFIG_RAPIDIO_TSI568=m
|
||||
CONFIG_RAPIDIO_CPS_GEN2=m
|
||||
CONFIG_RAPIDIO_RXS_GEN3=m
|
||||
CONFIG_X86_SYSFB=y
|
||||
# CONFIG_X86_SYSFB is not set
|
||||
|
||||
#
|
||||
# Executable file formats / Emulations
|
||||
|
@ -5958,6 +5958,8 @@ CONFIG_SND_INDIGOIO=m
|
|||
CONFIG_SND_INDIGODJ=m
|
||||
CONFIG_SND_INDIGOIOX=m
|
||||
CONFIG_SND_INDIGODJX=m
|
||||
CONFIG_SND_EMU10K1=m
|
||||
CONFIG_SND_EMU10K1_SEQ=m
|
||||
# CONFIG_SND_EMU10K1_SEQ is not set
|
||||
CONFIG_SND_ENS1370=m
|
||||
CONFIG_SND_ENS1371=m
|
||||
|
@ -8332,13 +8334,7 @@ CONFIG_ISCSI_IBFT_FIND=y
|
|||
CONFIG_ISCSI_IBFT=m
|
||||
CONFIG_FW_CFG_SYSFS=m
|
||||
# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
|
||||
CONFIG_GOOGLE_FIRMWARE=y
|
||||
# CONFIG_GOOGLE_SMI is not set
|
||||
CONFIG_GOOGLE_COREBOOT_TABLE=y
|
||||
# CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY is not set
|
||||
CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT=m
|
||||
# CONFIG_GOOGLE_MEMCONSOLE_COREBOOT is not set
|
||||
# CONFIG_GOOGLE_VPD is not set
|
||||
# CONFIG_GOOGLE_FIRMWARE is not set
|
||||
|
||||
#
|
||||
# EFI (Extensible Firmware Interface) Support
|
||||
|
|
|
@ -5598,6 +5598,8 @@ CONFIG_SND_INDIGOIO=m
|
|||
CONFIG_SND_INDIGODJ=m
|
||||
CONFIG_SND_INDIGOIOX=m
|
||||
CONFIG_SND_INDIGODJX=m
|
||||
CONFIG_SND_EMU10K1=m
|
||||
CONFIG_SND_EMU10K1_SEQ=m
|
||||
# CONFIG_SND_ENS1370 is not set
|
||||
# CONFIG_SND_ENS1371 is not set
|
||||
# CONFIG_SND_FM801 is not set
|
||||
|
|
|
@ -5331,6 +5331,8 @@ CONFIG_SND_INDIGOIO=m
|
|||
CONFIG_SND_INDIGODJ=m
|
||||
CONFIG_SND_INDIGOIOX=m
|
||||
CONFIG_SND_INDIGODJX=m
|
||||
CONFIG_SND_EMU10K1=m
|
||||
CONFIG_SND_EMU10K1_SEQ=m
|
||||
# CONFIG_SND_ENS1370 is not set
|
||||
# CONFIG_SND_ENS1371 is not set
|
||||
# CONFIG_SND_FM801 is not set
|
||||
|
|
|
@ -713,7 +713,7 @@ CONFIG_RAPIDIO_CPS_XX=m
|
|||
CONFIG_RAPIDIO_TSI568=m
|
||||
CONFIG_RAPIDIO_CPS_GEN2=m
|
||||
CONFIG_RAPIDIO_RXS_GEN3=m
|
||||
CONFIG_X86_SYSFB=y
|
||||
# CONFIG_X86_SYSFB is not set
|
||||
|
||||
#
|
||||
# Binary Emulations
|
||||
|
@ -737,13 +737,7 @@ CONFIG_ISCSI_IBFT_FIND=y
|
|||
CONFIG_ISCSI_IBFT=m
|
||||
CONFIG_FW_CFG_SYSFS=m
|
||||
# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
|
||||
CONFIG_GOOGLE_FIRMWARE=y
|
||||
# CONFIG_GOOGLE_SMI is not set
|
||||
CONFIG_GOOGLE_COREBOOT_TABLE=y
|
||||
# CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY is not set
|
||||
CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT=m
|
||||
# CONFIG_GOOGLE_MEMCONSOLE_COREBOOT is not set
|
||||
# CONFIG_GOOGLE_VPD is not set
|
||||
# CONFIG_GOOGLE_FIRMWARE is not set
|
||||
|
||||
#
|
||||
# EFI (Extensible Firmware Interface) Support
|
||||
|
|
|
@ -273,7 +273,7 @@ CONFIG_CC_HAS_SANE_STACKPROTECTOR=y
|
|||
#
|
||||
# Processor type and features
|
||||
#
|
||||
# CONFIG_ZONE_DMA is not set
|
||||
CONFIG_ZONE_DMA=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_X86_FEATURE_NAMES=y
|
||||
CONFIG_X86_X2APIC=y
|
||||
|
@ -684,7 +684,7 @@ CONFIG_RAPIDIO_CPS_XX=m
|
|||
CONFIG_RAPIDIO_TSI568=m
|
||||
CONFIG_RAPIDIO_CPS_GEN2=m
|
||||
CONFIG_RAPIDIO_RXS_GEN3=m
|
||||
CONFIG_X86_SYSFB=y
|
||||
# CONFIG_X86_SYSFB is not set
|
||||
|
||||
#
|
||||
# Binary Emulations
|
||||
|
@ -714,13 +714,7 @@ CONFIG_ISCSI_IBFT_FIND=y
|
|||
CONFIG_ISCSI_IBFT=m
|
||||
CONFIG_FW_CFG_SYSFS=m
|
||||
# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
|
||||
CONFIG_GOOGLE_FIRMWARE=y
|
||||
# CONFIG_GOOGLE_SMI is not set
|
||||
CONFIG_GOOGLE_COREBOOT_TABLE=y
|
||||
# CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY is not set
|
||||
CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT=m
|
||||
# CONFIG_GOOGLE_MEMCONSOLE_COREBOOT is not set
|
||||
# CONFIG_GOOGLE_VPD is not set
|
||||
# CONFIG_GOOGLE_FIRMWARE is not set
|
||||
|
||||
#
|
||||
# EFI (Extensible Firmware Interface) Support
|
||||
|
@ -6173,6 +6167,8 @@ CONFIG_SND_INDIGOIO=m
|
|||
CONFIG_SND_INDIGODJ=m
|
||||
CONFIG_SND_INDIGOIOX=m
|
||||
CONFIG_SND_INDIGODJX=m
|
||||
CONFIG_SND_EMU10K1=m
|
||||
CONFIG_SND_EMU10K1_SEQ=m
|
||||
CONFIG_SND_ENS1370=m
|
||||
CONFIG_SND_ENS1371=m
|
||||
CONFIG_SND_FM801=m
|
||||
|
|
|
@ -825,7 +825,7 @@ CONFIG_RAPIDIO_TSI57X=m
|
|||
CONFIG_RAPIDIO_CPS_XX=m
|
||||
CONFIG_RAPIDIO_TSI568=m
|
||||
CONFIG_RAPIDIO_CPS_GEN2=m
|
||||
CONFIG_X86_SYSFB=y
|
||||
# CONFIG_X86_SYSFB is not set
|
||||
|
||||
#
|
||||
# Executable file formats / Emulations
|
||||
|
@ -7679,13 +7679,7 @@ CONFIG_DMI_SYSFS=m
|
|||
CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
|
||||
CONFIG_ISCSI_IBFT_FIND=y
|
||||
CONFIG_ISCSI_IBFT=m
|
||||
CONFIG_GOOGLE_FIRMWARE=y
|
||||
# CONFIG_GOOGLE_SMI is not set
|
||||
CONFIG_GOOGLE_COREBOOT_TABLE=y
|
||||
# CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY is not set
|
||||
CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT=m
|
||||
# CONFIG_GOOGLE_MEMCONSOLE_COREBOOT is not set
|
||||
# CONFIG_GOOGLE_VPD is not set
|
||||
# CONFIG_GOOGLE_FIRMWARE is not set
|
||||
|
||||
#
|
||||
# EFI (Extensible Firmware Interface) Support
|
||||
|
|
|
@ -384,7 +384,7 @@ CONFIG_FREEZER=y
|
|||
#
|
||||
# Processor type and features
|
||||
#
|
||||
# CONFIG_ZONE_DMA is not set
|
||||
CONFIG_ZONE_DMA=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_X86_FEATURE_NAMES=y
|
||||
CONFIG_X86_X2APIC=y
|
||||
|
@ -795,7 +795,7 @@ CONFIG_RAPIDIO_TSI57X=m
|
|||
CONFIG_RAPIDIO_CPS_XX=m
|
||||
CONFIG_RAPIDIO_TSI568=m
|
||||
CONFIG_RAPIDIO_CPS_GEN2=m
|
||||
CONFIG_X86_SYSFB=y
|
||||
# CONFIG_X86_SYSFB is not set
|
||||
|
||||
#
|
||||
# Executable file formats / Emulations
|
||||
|
@ -5494,6 +5494,8 @@ CONFIG_SND_INDIGOIO=m
|
|||
CONFIG_SND_INDIGODJ=m
|
||||
CONFIG_SND_INDIGOIOX=m
|
||||
CONFIG_SND_INDIGODJX=m
|
||||
CONFIG_SND_EMU10K1=m
|
||||
CONFIG_SND_EMU10K1_SEQ=m
|
||||
CONFIG_SND_ENS1370=m
|
||||
CONFIG_SND_ENS1371=m
|
||||
CONFIG_SND_FM801=m
|
||||
|
@ -7461,13 +7463,7 @@ CONFIG_DMI_SYSFS=m
|
|||
CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
|
||||
CONFIG_ISCSI_IBFT_FIND=y
|
||||
CONFIG_ISCSI_IBFT=m
|
||||
CONFIG_GOOGLE_FIRMWARE=y
|
||||
# CONFIG_GOOGLE_SMI is not set
|
||||
CONFIG_GOOGLE_COREBOOT_TABLE=y
|
||||
# CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY is not set
|
||||
CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT=m
|
||||
# CONFIG_GOOGLE_MEMCONSOLE_COREBOOT is not set
|
||||
# CONFIG_GOOGLE_VPD is not set
|
||||
# CONFIG_GOOGLE_FIRMWARE is not set
|
||||
|
||||
#
|
||||
# EFI (Extensible Firmware Interface) Support
|
||||
|
|
|
@ -409,7 +409,7 @@ CONFIG_FREEZER=y
|
|||
#
|
||||
# Processor type and features
|
||||
#
|
||||
# CONFIG_ZONE_DMA is not set
|
||||
CONFIG_ZONE_DMA=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_X86_FEATURE_NAMES=y
|
||||
CONFIG_X86_FAST_FEATURE_TESTS=y
|
||||
|
@ -5733,6 +5733,8 @@ CONFIG_SND_INDIGOIO=m
|
|||
CONFIG_SND_INDIGODJ=m
|
||||
CONFIG_SND_INDIGOIOX=m
|
||||
CONFIG_SND_INDIGODJX=m
|
||||
CONFIG_SND_EMU10K1=m
|
||||
CONFIG_SND_EMU10K1_SEQ=m
|
||||
CONFIG_SND_ENS1370=m
|
||||
CONFIG_SND_ENS1371=m
|
||||
CONFIG_SND_FM801=m
|
||||
|
|
|
@ -292,7 +292,7 @@ CONFIG_CC_HAS_SANE_STACKPROTECTOR=y
|
|||
#
|
||||
# Processor type and features
|
||||
#
|
||||
# CONFIG_ZONE_DMA is not set
|
||||
CONFIG_ZONE_DMA=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_X86_FEATURE_NAMES=y
|
||||
CONFIG_X86_MPPARSE=y
|
||||
|
@ -650,7 +650,7 @@ CONFIG_ALIX=y
|
|||
CONFIG_NET5501=y
|
||||
CONFIG_GEOS=y
|
||||
CONFIG_AMD_NB=y
|
||||
CONFIG_X86_SYSFB=y
|
||||
# CONFIG_X86_SYSFB is not set
|
||||
# end of Bus options (PCI etc.)
|
||||
|
||||
#
|
||||
|
@ -674,13 +674,7 @@ CONFIG_ISCSI_IBFT_FIND=y
|
|||
CONFIG_ISCSI_IBFT=m
|
||||
CONFIG_FW_CFG_SYSFS=m
|
||||
# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
|
||||
CONFIG_GOOGLE_FIRMWARE=y
|
||||
# CONFIG_GOOGLE_SMI is not set
|
||||
CONFIG_GOOGLE_COREBOOT_TABLE=y
|
||||
# CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY is not set
|
||||
CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT=m
|
||||
# CONFIG_GOOGLE_MEMCONSOLE_COREBOOT is not set
|
||||
# CONFIG_GOOGLE_VPD is not set
|
||||
# CONFIG_GOOGLE_FIRMWARE is not set
|
||||
|
||||
#
|
||||
# EFI (Extensible Firmware Interface) Support
|
||||
|
@ -6782,6 +6776,8 @@ CONFIG_SND_INDIGOIO=m
|
|||
CONFIG_SND_INDIGODJ=m
|
||||
CONFIG_SND_INDIGOIOX=m
|
||||
CONFIG_SND_INDIGODJX=m
|
||||
CONFIG_SND_EMU10K1=m
|
||||
CONFIG_SND_EMU10K1_SEQ=m
|
||||
CONFIG_SND_ENS1370=m
|
||||
CONFIG_SND_ENS1371=m
|
||||
CONFIG_SND_FM801=m
|
||||
|
|
|
@ -308,7 +308,7 @@ CONFIG_CC_HAS_SANE_STACKPROTECTOR=y
|
|||
#
|
||||
# Processor type and features
|
||||
#
|
||||
# CONFIG_ZONE_DMA is not set
|
||||
CONFIG_ZONE_DMA=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_X86_FEATURE_NAMES=y
|
||||
CONFIG_X86_X2APIC=y
|
||||
|
@ -643,7 +643,7 @@ CONFIG_MMCONF_FAM10H=y
|
|||
# CONFIG_ISA_BUS is not set
|
||||
CONFIG_ISA_DMA_API=y
|
||||
CONFIG_AMD_NB=y
|
||||
CONFIG_X86_SYSFB=y
|
||||
# CONFIG_X86_SYSFB is not set
|
||||
# end of Bus options (PCI etc.)
|
||||
|
||||
#
|
||||
|
@ -670,13 +670,7 @@ CONFIG_ISCSI_IBFT_FIND=y
|
|||
CONFIG_ISCSI_IBFT=m
|
||||
CONFIG_FW_CFG_SYSFS=m
|
||||
# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
|
||||
CONFIG_GOOGLE_FIRMWARE=y
|
||||
# CONFIG_GOOGLE_SMI is not set
|
||||
CONFIG_GOOGLE_COREBOOT_TABLE=y
|
||||
# CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY is not set
|
||||
CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT=m
|
||||
# CONFIG_GOOGLE_MEMCONSOLE_COREBOOT is not set
|
||||
# CONFIG_GOOGLE_VPD is not set
|
||||
# CONFIG_GOOGLE_FIRMWARE is not set
|
||||
|
||||
#
|
||||
# EFI (Extensible Firmware Interface) Support
|
||||
|
@ -6671,6 +6665,8 @@ CONFIG_SND_INDIGOIO=m
|
|||
CONFIG_SND_INDIGODJ=m
|
||||
CONFIG_SND_INDIGOIOX=m
|
||||
CONFIG_SND_INDIGODJX=m
|
||||
CONFIG_SND_EMU10K1=m
|
||||
CONFIG_SND_EMU10K1_SEQ=m
|
||||
CONFIG_SND_ENS1370=m
|
||||
CONFIG_SND_ENS1371=m
|
||||
CONFIG_SND_FM801=m
|
||||
|
|
|
@ -992,7 +992,7 @@ CONFIG_PAGE_IDLE_FLAG=y
|
|||
CONFIG_IDLE_PAGE_TRACKING=y
|
||||
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
|
||||
CONFIG_ARCH_HAS_ZONE_DMA_SET=y
|
||||
# CONFIG_ZONE_DMA is not set
|
||||
CONFIG_ZONE_DMA=y
|
||||
CONFIG_HMM_MIRROR=y
|
||||
CONFIG_VMAP_PFN=y
|
||||
# CONFIG_PERCPU_STATS is not set
|
||||
|
@ -2249,14 +2249,8 @@ CONFIG_ISCSI_IBFT=m
|
|||
CONFIG_FW_CFG_SYSFS=m
|
||||
# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
|
||||
CONFIG_SYSFB=y
|
||||
CONFIG_SYSFB_SIMPLEFB=y
|
||||
CONFIG_GOOGLE_FIRMWARE=y
|
||||
# CONFIG_GOOGLE_SMI is not set
|
||||
CONFIG_GOOGLE_COREBOOT_TABLE=m
|
||||
# CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY is not set
|
||||
CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT=m
|
||||
# CONFIG_GOOGLE_MEMCONSOLE_COREBOOT is not set
|
||||
# CONFIG_GOOGLE_VPD is not set
|
||||
# CONFIG_SYSFB_SIMPLEFB is not set
|
||||
# CONFIG_GOOGLE_FIRMWARE is not set
|
||||
|
||||
#
|
||||
# EFI (Extensible Firmware Interface) Support
|
||||
|
@ -6731,7 +6725,7 @@ CONFIG_FB_MB862XX=m
|
|||
CONFIG_FB_MB862XX_PCI_GDC=y
|
||||
CONFIG_FB_MB862XX_I2C=y
|
||||
CONFIG_FB_HYPERV=m
|
||||
CONFIG_FB_SIMPLE=y
|
||||
CONFIG_FB_SIMPLE=m
|
||||
CONFIG_FB_SSD1307=m
|
||||
CONFIG_FB_SM712=m
|
||||
# end of Frame buffer Devices
|
||||
|
@ -6942,6 +6936,8 @@ CONFIG_SND_INDIGOIO=m
|
|||
CONFIG_SND_INDIGODJ=m
|
||||
CONFIG_SND_INDIGOIOX=m
|
||||
CONFIG_SND_INDIGODJX=m
|
||||
CONFIG_SND_EMU10K1=m
|
||||
CONFIG_SND_EMU10K1_SEQ=m
|
||||
CONFIG_SND_ENS1370=m
|
||||
CONFIG_SND_ENS1371=m
|
||||
CONFIG_SND_FM801=m
|
||||
|
|
|
@ -1025,7 +1025,7 @@ CONFIG_IDLE_PAGE_TRACKING=y
|
|||
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
|
||||
CONFIG_ARCH_HAS_PTE_DEVMAP=y
|
||||
CONFIG_ARCH_HAS_ZONE_DMA_SET=y
|
||||
# CONFIG_ZONE_DMA is not set
|
||||
CONFIG_ZONE_DMA=y
|
||||
CONFIG_ZONE_DMA32=y
|
||||
CONFIG_ZONE_DEVICE=y
|
||||
CONFIG_DEV_PAGEMAP_OPS=y
|
||||
|
@ -2282,14 +2282,8 @@ CONFIG_ISCSI_IBFT=m
|
|||
CONFIG_FW_CFG_SYSFS=m
|
||||
# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
|
||||
CONFIG_SYSFB=y
|
||||
CONFIG_SYSFB_SIMPLEFB=y
|
||||
CONFIG_GOOGLE_FIRMWARE=y
|
||||
# CONFIG_GOOGLE_SMI is not set
|
||||
CONFIG_GOOGLE_COREBOOT_TABLE=m
|
||||
# CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY is not set
|
||||
CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT=m
|
||||
# CONFIG_GOOGLE_MEMCONSOLE_COREBOOT is not set
|
||||
# CONFIG_GOOGLE_VPD is not set
|
||||
# CONFIG_SYSFB_SIMPLEFB is not set
|
||||
# CONFIG_GOOGLE_FIRMWARE is not set
|
||||
|
||||
#
|
||||
# EFI (Extensible Firmware Interface) Support
|
||||
|
@ -6688,7 +6682,7 @@ CONFIG_FB_MB862XX=m
|
|||
CONFIG_FB_MB862XX_PCI_GDC=y
|
||||
CONFIG_FB_MB862XX_I2C=y
|
||||
CONFIG_FB_HYPERV=m
|
||||
CONFIG_FB_SIMPLE=y
|
||||
CONFIG_FB_SIMPLE=m
|
||||
CONFIG_FB_SSD1307=m
|
||||
CONFIG_FB_SM712=m
|
||||
# end of Frame buffer Devices
|
||||
|
@ -6856,6 +6850,8 @@ CONFIG_SND_INDIGOIO=m
|
|||
CONFIG_SND_INDIGODJ=m
|
||||
CONFIG_SND_INDIGOIOX=m
|
||||
CONFIG_SND_INDIGODJX=m
|
||||
CONFIG_SND_EMU10K1=m
|
||||
CONFIG_SND_EMU10K1_SEQ=m
|
||||
CONFIG_SND_ENS1370=m
|
||||
CONFIG_SND_ENS1371=m
|
||||
CONFIG_SND_FM801=m
|
||||
|
|
10215
gnu/packages/aux-files/linux-libre/5.16-arm.conf
Normal file
10215
gnu/packages/aux-files/linux-libre/5.16-arm.conf
Normal file
File diff suppressed because it is too large
Load diff
10660
gnu/packages/aux-files/linux-libre/5.16-arm64.conf
Normal file
10660
gnu/packages/aux-files/linux-libre/5.16-arm64.conf
Normal file
File diff suppressed because it is too large
Load diff
11099
gnu/packages/aux-files/linux-libre/5.16-i686.conf
Normal file
11099
gnu/packages/aux-files/linux-libre/5.16-i686.conf
Normal file
File diff suppressed because it is too large
Load diff
11185
gnu/packages/aux-files/linux-libre/5.16-x86_64.conf
Normal file
11185
gnu/packages/aux-files/linux-libre/5.16-x86_64.conf
Normal file
File diff suppressed because it is too large
Load diff
|
@ -6045,6 +6045,8 @@ CONFIG_SND_INDIGOIO=m
|
|||
CONFIG_SND_INDIGODJ=m
|
||||
CONFIG_SND_INDIGOIOX=m
|
||||
CONFIG_SND_INDIGODJX=m
|
||||
CONFIG_SND_EMU10K1=m
|
||||
CONFIG_SND_EMU10K1_SEQ=m
|
||||
# CONFIG_SND_ENS1370 is not set
|
||||
# CONFIG_SND_ENS1371 is not set
|
||||
# CONFIG_SND_FM801 is not set
|
||||
|
|
|
@ -5870,6 +5870,8 @@ CONFIG_SND_INDIGOIO=m
|
|||
CONFIG_SND_INDIGODJ=m
|
||||
CONFIG_SND_INDIGOIOX=m
|
||||
CONFIG_SND_INDIGODJX=m
|
||||
CONFIG_SND_EMU10K1=m
|
||||
CONFIG_SND_EMU10K1_SEQ=m
|
||||
# CONFIG_SND_ENS1370 is not set
|
||||
# CONFIG_SND_ENS1371 is not set
|
||||
# CONFIG_SND_FM801 is not set
|
||||
|
|
|
@ -648,7 +648,7 @@ CONFIG_ALIX=y
|
|||
CONFIG_NET5501=y
|
||||
CONFIG_GEOS=y
|
||||
CONFIG_AMD_NB=y
|
||||
CONFIG_X86_SYSFB=y
|
||||
# CONFIG_X86_SYSFB is not set
|
||||
# end of Bus options (PCI etc.)
|
||||
|
||||
#
|
||||
|
@ -672,13 +672,7 @@ CONFIG_ISCSI_IBFT_FIND=y
|
|||
CONFIG_ISCSI_IBFT=m
|
||||
CONFIG_FW_CFG_SYSFS=m
|
||||
# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
|
||||
CONFIG_GOOGLE_FIRMWARE=y
|
||||
# CONFIG_GOOGLE_SMI is not set
|
||||
CONFIG_GOOGLE_COREBOOT_TABLE=y
|
||||
# CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY is not set
|
||||
CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT=m
|
||||
# CONFIG_GOOGLE_MEMCONSOLE_COREBOOT is not set
|
||||
# CONFIG_GOOGLE_VPD is not set
|
||||
# CONFIG_GOOGLE_FIRMWARE is not set
|
||||
|
||||
#
|
||||
# EFI (Extensible Firmware Interface) Support
|
||||
|
|
|
@ -294,7 +294,7 @@ CONFIG_CC_HAS_SANE_STACKPROTECTOR=y
|
|||
#
|
||||
# Processor type and features
|
||||
#
|
||||
# CONFIG_ZONE_DMA is not set
|
||||
CONFIG_ZONE_DMA=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_X86_FEATURE_NAMES=y
|
||||
CONFIG_X86_X2APIC=y
|
||||
|
@ -632,7 +632,7 @@ CONFIG_MMCONF_FAM10H=y
|
|||
# CONFIG_ISA_BUS is not set
|
||||
CONFIG_ISA_DMA_API=y
|
||||
CONFIG_AMD_NB=y
|
||||
CONFIG_X86_SYSFB=y
|
||||
# CONFIG_X86_SYSFB is not set
|
||||
# end of Bus options (PCI etc.)
|
||||
|
||||
#
|
||||
|
@ -659,13 +659,7 @@ CONFIG_ISCSI_IBFT_FIND=y
|
|||
CONFIG_ISCSI_IBFT=m
|
||||
CONFIG_FW_CFG_SYSFS=m
|
||||
# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
|
||||
CONFIG_GOOGLE_FIRMWARE=y
|
||||
# CONFIG_GOOGLE_SMI is not set
|
||||
CONFIG_GOOGLE_COREBOOT_TABLE=y
|
||||
# CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY is not set
|
||||
CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT=m
|
||||
# CONFIG_GOOGLE_MEMCONSOLE_COREBOOT is not set
|
||||
# CONFIG_GOOGLE_VPD is not set
|
||||
# CONFIG_GOOGLE_FIRMWARE is not set
|
||||
|
||||
#
|
||||
# EFI (Extensible Firmware Interface) Support
|
||||
|
@ -6469,6 +6463,8 @@ CONFIG_SND_INDIGOIO=m
|
|||
CONFIG_SND_INDIGODJ=m
|
||||
CONFIG_SND_INDIGOIOX=m
|
||||
CONFIG_SND_INDIGODJX=m
|
||||
CONFIG_SND_EMU10K1=m
|
||||
CONFIG_SND_EMU10K1_SEQ=m
|
||||
CONFIG_SND_ENS1370=m
|
||||
CONFIG_SND_ENS1371=m
|
||||
CONFIG_SND_FM801=m
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014, 2015, 2020 Eric Bavier <bavier@posteo.net>
|
||||
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
|
||||
;;; Copyright © 2015, 2016, 2017 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2015, 2016, 2017, 2021 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
|
||||
;;; Copyright © 2017, 2021 Arun Isaac <arunisaac@systemreboot.net>
|
||||
|
@ -42,6 +42,7 @@
|
|||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix utils)
|
||||
|
@ -50,6 +51,7 @@
|
|||
#:use-module (guix build-system go)
|
||||
#:use-module (guix build-system perl)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages acl)
|
||||
#:use-module (gnu packages autotools)
|
||||
|
@ -81,13 +83,16 @@
|
|||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages protobuf)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-check)
|
||||
#:use-module (gnu packages python-crypto)
|
||||
#:use-module (gnu packages python-web)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages rsync)
|
||||
#:use-module (gnu packages ruby)
|
||||
#:use-module (gnu packages serialization)
|
||||
#:use-module (gnu packages ssh)
|
||||
#:use-module (gnu packages time)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages valgrind)
|
||||
#:use-module (gnu packages xml))
|
||||
|
@ -746,8 +751,8 @@ detection, and lossless compression.")
|
|||
supports compression and authenticated encryption. The main goal of Borg is to
|
||||
provide an efficient and secure way to backup data. The data deduplication
|
||||
technique used makes Borg suitable for daily backups since only changes are
|
||||
stored. The authenticated encryption technique makes it suitable for backups
|
||||
to not fully trusted targets. Borg is a fork of Attic.")
|
||||
stored. The authenticated encryption technique makes it suitable for
|
||||
storing backups on untrusted computers.")
|
||||
(home-page "https://www.borgbackup.org/")
|
||||
(license license:bsd-3)))
|
||||
|
||||
|
@ -1267,3 +1272,63 @@ and workstations. Protect your files with client-side encryption. Backup
|
|||
your databases too. Monitor it all with integrated third-party services.
|
||||
borgmatic is powered by borg.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public vorta
|
||||
(package
|
||||
(name "vorta")
|
||||
(version "0.8.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "vorta" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0674crxsmf1gwiacpi9ixypgz685fyzr5y3f9sd768b0bmh7ilsn"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:imported-modules `((guix build qt-utils)
|
||||
(guix build cmake-build-system)
|
||||
(guix build qt-build-system)
|
||||
,@%python-build-system-modules)
|
||||
#:modules '((guix build utils)
|
||||
(guix build python-build-system)
|
||||
((guix build qt-build-system) #:prefix qt:))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-borg-path
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "src/vorta/borg/borg_job.py"
|
||||
(("which\\('borg'\\)")
|
||||
(string-append "which('" #$(this-package-input "borg")
|
||||
"/bin/borg')")))))
|
||||
;; XXX This phase tries to write to $HOME
|
||||
(add-before 'sanity-check 'set-HOME
|
||||
(lambda _
|
||||
(setenv "HOME" "/tmp")))
|
||||
;; Otherwise, the user interface's icons will be missing.
|
||||
(add-after 'wrap 'qt-wrap
|
||||
(assoc-ref qt:%standard-phases 'qt-wrap)))))
|
||||
(native-inputs
|
||||
(list python-pytest-mock
|
||||
python-pytest-qt
|
||||
python-pytest-runner
|
||||
python-setuptools-git))
|
||||
(inputs
|
||||
(list borg
|
||||
python-appdirs
|
||||
python-dateutil
|
||||
python-keyring
|
||||
python-paramiko
|
||||
python-peewee
|
||||
python-psutil
|
||||
python-pyqt-without-qtwebkit
|
||||
python-secretstorage
|
||||
;; This is included so that the qt-wrap phase picks it up.
|
||||
qtsvg))
|
||||
(home-page "https://github.com/borgbase/vorta")
|
||||
(synopsis "Graphical backup client based on BorgBackup")
|
||||
(description "Vorta is a graphical backup client based on the Borg backup
|
||||
tool. It supports the use of remote backup repositories. It can perform
|
||||
scheduled backups, and has a graphical tool for browsing and extracting the Borg
|
||||
archives.")
|
||||
(license license:gpl3+)))
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
;;; Copyright © 2017, 2018, 2020 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2018, 2019, 2022 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2020 Vitaliy Shatrov <D0dyBo0D0dyBo0@protonmail.com>
|
||||
;;; Copyright © 2020 Chris Marusich <cmmarusich@gmail.com>
|
||||
;;; Copyright © 2021 Leo Le Bouter <lle-bout@zaclys.net>
|
||||
|
@ -46,6 +46,7 @@
|
|||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages ed)
|
||||
#:use-module (gnu packages gawk)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
|
@ -1014,6 +1015,105 @@ with the Linux kernel.")
|
|||
"glibc-reinstate-prlimit64-fallback.patch"
|
||||
"glibc-2.29-supported-locales.patch"))))))
|
||||
|
||||
|
||||
(define-public glibc-2.2.5
|
||||
(package
|
||||
(inherit glibc)
|
||||
(version "2.2.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/glibc/glibc-" version ".tar.gz"))
|
||||
(patches (search-patches "glibc-boot-2.2.5.patch"
|
||||
"glibc-bootstrap-system-2.2.5.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"1vl48i16gx6h68whjyhgnn1s57vqq32f9ygfa2fls7pdkbsqvp2q"))))
|
||||
(arguments
|
||||
(list #:system "i686-linux"
|
||||
#:implicit-inputs? #f
|
||||
#:tests? #f
|
||||
#:strip-binaries? #f
|
||||
#:validate-runpath? #f
|
||||
#:parallel-build? #f ; gcc-2.95.3 ICEs on massively parallel builds
|
||||
#:make-flags
|
||||
#~(list (string-append
|
||||
"SHELL=" #$(this-package-native-input "bash") "/bin/sh"))
|
||||
#:configure-flags
|
||||
#~(list "--enable-shared"
|
||||
"--enable-static"
|
||||
"--disable-sanity-checks"
|
||||
"--build=i686-unknown-linux-gnu"
|
||||
"--host=i686-unknown-linux-gnu"
|
||||
(string-append "--with-headers="
|
||||
#$(this-package-native-input "kernel-headers")
|
||||
"/include")
|
||||
"--enable-static-nss"
|
||||
"--without-__thread"
|
||||
"--without-cvs"
|
||||
"--without-gd"
|
||||
"--without-tls"
|
||||
(string-append "--prefix=" #$output))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'configure 'setenv
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bash (assoc-ref inputs "bash"))
|
||||
(shell (string-append bash "/bin/bash"))
|
||||
(gcc (assoc-ref inputs "gcc"))
|
||||
(cppflags (string-append
|
||||
" -D MES_BOOTSTRAP=1"
|
||||
" -D BOOTSTRAP_GLIBC=1"))
|
||||
(cflags (string-append " -L " (getcwd))))
|
||||
(setenv "CONFIG_SHELL" shell)
|
||||
(setenv "SHELL" shell)
|
||||
(setenv "CPP" (string-append gcc "/bin/gcc -E " cppflags))
|
||||
(setenv "CC" (string-append gcc "/bin/gcc " cppflags cflags)))))
|
||||
(replace 'configure ; needs classic invocation of configure
|
||||
(lambda* (#:key configure-flags #:allow-other-keys)
|
||||
(format (current-error-port)
|
||||
"running ./configure ~a\n" (string-join configure-flags))
|
||||
(apply invoke "./configure" configure-flags)))
|
||||
(add-after 'configure 'fixup-configure
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bash (assoc-ref inputs "bash"))
|
||||
(shell (string-append bash "/bin/bash")))
|
||||
(substitute* "config.make"
|
||||
(("INSTALL = scripts/") "INSTALL = $(..)./scripts/"))
|
||||
(substitute* "config.make"
|
||||
(("INSTALL = scripts/") "INSTALL = $(..)./scripts/")
|
||||
(("BASH = ") (string-append
|
||||
"SHELL = " shell "
|
||||
BASH = ")))))))))
|
||||
(supported-systems '("i686-linux" "x86_64-linux"))
|
||||
(outputs '("out"))
|
||||
(inputs '())
|
||||
(propagated-inputs '())
|
||||
(native-inputs
|
||||
;; Lazily resolve NAME in (gnu packages commencement) to avoid a cycle.
|
||||
(let ((c (lambda (name)
|
||||
(module-ref (resolve-interface
|
||||
'(gnu packages commencement))
|
||||
name))))
|
||||
`(("bash" ,bash-minimal)
|
||||
("coreutils" ,coreutils)
|
||||
("gawk" ,gawk)
|
||||
("grep" ,grep)
|
||||
("make" ,gnu-make)
|
||||
("sed" ,sed)
|
||||
("tar" ,tar)
|
||||
("bzip2" ,bzip2)
|
||||
("gzip" ,gzip)
|
||||
("patch" ,patch)
|
||||
("xz" ,xz)
|
||||
("kernel-headers" ,linux-libre-headers)
|
||||
|
||||
;; Old toolchain
|
||||
("gcc" ,(c 'gcc-mesboot0))
|
||||
("binutils" ,(c 'binutils-mesboot))
|
||||
("libc" ,(c 'glibc-mesboot0)))))))
|
||||
|
||||
(define-public (make-gcc-libc base-gcc libc)
|
||||
"Return a GCC that targets LIBC."
|
||||
(package (inherit base-gcc)
|
||||
|
|
|
@ -2218,7 +2218,7 @@ well as many of the command line options.")
|
|||
(define-public bwa-meth
|
||||
(package
|
||||
(name "bwa-meth")
|
||||
(version "0.2.2")
|
||||
(version "0.2.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -2227,7 +2227,7 @@ well as many of the command line options.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"17j31i7zws5j7mhsq9x3qgkxly6mlmrgwhfq0qbflgxrmx04yaiz"))))
|
||||
"0c695lkrr0996zwkibl7324wg2vxmn6522sz30xv4a9gaf0lnbh3"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
@ -2238,8 +2238,7 @@ well as many of the command line options.")
|
|||
(("bwa (mem|index)" _ command)
|
||||
(string-append (which "bwa") " " command))
|
||||
;; There's an ill-advised check for "samtools" on PATH.
|
||||
(("^checkX.*") ""))
|
||||
#t)))))
|
||||
(("^checkX.*") "")))))))
|
||||
(inputs
|
||||
(list bwa))
|
||||
(native-inputs
|
||||
|
@ -10895,6 +10894,9 @@ once. This package provides tools to perform Drop-seq analyses.")
|
|||
(add-before 'bootstrap 'autoreconf
|
||||
(lambda _
|
||||
(invoke "autoreconf" "-vif")))
|
||||
(add-before 'configure 'set-PYTHONPATH
|
||||
(lambda _
|
||||
(setenv "PYTHONPATH" (getenv "GUIX_PYTHONPATH"))))
|
||||
(add-before 'check 'set-timezone
|
||||
;; The readr package is picky about timezones.
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
|
@ -10969,7 +10971,10 @@ expression report comparing samples in an easily configurable manner.")
|
|||
(modify-phases %standard-phases
|
||||
(add-before 'bootstrap 'autoreconf
|
||||
(lambda _
|
||||
(invoke "autoreconf" "-vif"))))))
|
||||
(invoke "autoreconf" "-vif")))
|
||||
(add-before 'configure 'set-PYTHONPATH
|
||||
(lambda _
|
||||
(setenv "PYTHONPATH" (getenv "GUIX_PYTHONPATH")))))))
|
||||
(inputs
|
||||
(list grep
|
||||
coreutils
|
||||
|
@ -11055,6 +11060,9 @@ in an easily configurable manner.")
|
|||
(add-before 'bootstrap 'autoreconf
|
||||
(lambda _
|
||||
(invoke "autoreconf" "-vif")))
|
||||
(add-before 'configure 'set-PYTHONPATH
|
||||
(lambda _
|
||||
(setenv "PYTHONPATH" (getenv "GUIX_PYTHONPATH"))))
|
||||
(add-before 'check 'set-timezone
|
||||
;; The readr package is picky about timezones.
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
|
@ -11123,7 +11131,10 @@ methylation and segmentation.")
|
|||
(modify-phases %standard-phases
|
||||
(add-before 'bootstrap 'autoreconf
|
||||
(lambda _
|
||||
(invoke "autoreconf" "-vif"))))))
|
||||
(invoke "autoreconf" "-vif")))
|
||||
(add-before 'configure 'set-PYTHONPATH
|
||||
(lambda _
|
||||
(setenv "PYTHONPATH" (getenv "GUIX_PYTHONPATH")))))))
|
||||
(native-inputs
|
||||
(list automake autoconf))
|
||||
(inputs
|
||||
|
@ -11197,7 +11208,10 @@ based methods.")
|
|||
(modify-phases %standard-phases
|
||||
(add-before 'bootstrap 'autoreconf
|
||||
(lambda _
|
||||
(invoke "autoreconf" "-vif"))))))
|
||||
(invoke "autoreconf" "-vif")))
|
||||
(add-before 'configure 'set-PYTHONPATH
|
||||
(lambda _
|
||||
(setenv "PYTHONPATH" (getenv "GUIX_PYTHONPATH")))))))
|
||||
(native-inputs
|
||||
(list automake autoconf))
|
||||
(inputs
|
||||
|
@ -12013,7 +12027,7 @@ implementation differs in these ways:
|
|||
python-igraph
|
||||
python-joblib
|
||||
python-legacy-api-wrap
|
||||
python-louvain-0.6
|
||||
python-louvain-0.7
|
||||
python-matplotlib
|
||||
python-natsort
|
||||
python-networkx
|
||||
|
@ -15568,6 +15582,69 @@ aligner.")
|
|||
;; bwa itself is licenced under GNU General Public License v3.0.
|
||||
(license license:mpl2.0)))
|
||||
|
||||
(define-public scvelo
|
||||
(package
|
||||
(name "scvelo")
|
||||
(version "0.2.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "scvelo" version))
|
||||
(sha256
|
||||
(base32 "0h5ha1459ljs0qgpnlfsw592i8dxqn6p9bl08l1ikpwk36baxb7z"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; Numba needs a writable dir to cache functions.
|
||||
(add-before 'check 'set-numba-cache-dir
|
||||
(lambda _
|
||||
(setenv "NUMBA_CACHE_DIR" "/tmp")))
|
||||
(replace 'check
|
||||
(lambda* (#:key outputs tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
;; The discovered test file names must match the names of the
|
||||
;; compiled files, so we cannot run the tests from
|
||||
;; /tmp/guix-build-*.
|
||||
(with-directory-excursion
|
||||
(string-append (assoc-ref outputs "out")
|
||||
"/lib/python3.9/site-packages/scvelo/core/tests/")
|
||||
(invoke "pytest" "-v"))))))))
|
||||
(propagated-inputs
|
||||
(list python-anndata
|
||||
python-hnswlib
|
||||
python-isort
|
||||
python-igraph
|
||||
python-loompy
|
||||
python-louvain
|
||||
python-matplotlib
|
||||
python-numba
|
||||
python-numpy
|
||||
python-pandas
|
||||
python-scanpy
|
||||
python-scikit-learn
|
||||
python-scipy
|
||||
python-umap-learn
|
||||
pybind11))
|
||||
(native-inputs
|
||||
(list python-black
|
||||
python-flake8
|
||||
python-hypothesis
|
||||
python-pre-commit
|
||||
python-pytest
|
||||
python-setuptools-scm
|
||||
python-wheel))
|
||||
(home-page "https://scvelo.org")
|
||||
(synopsis "RNA velocity generalized through dynamical modeling")
|
||||
(description "ScVelo is a scalable toolkit for RNA velocity analysis in
|
||||
single cells. RNA velocity enables the recovery of directed dynamic
|
||||
information by leveraging splicing kinetics. scVelo generalizes the concept of
|
||||
RNA velocity by relaxing previously made assumptions with a stochastic and a
|
||||
dynamical model that solves the full transcriptional dynamics. It thereby
|
||||
adapts RNA velocity to widely varying specifications such as non-stationary
|
||||
populations.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public scregseg
|
||||
(package
|
||||
(name "scregseg")
|
||||
|
|
|
@ -51,16 +51,18 @@ supported content to the Kodi media center.")
|
|||
(define ublock-origin
|
||||
(package
|
||||
(name "ublock-origin")
|
||||
(version "1.40.8")
|
||||
(version "1.41.2")
|
||||
(home-page "https://github.com/gorhill/uBlock")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference (url home-page) (commit version)
|
||||
;; Also fetch the tightly coupled
|
||||
;; "uAssets" submodule.
|
||||
(recursive? #t)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"17pywblp87npj5z3zyvy9rmllnxhm916fnfyyfbvfbczswkbp78s"))))
|
||||
"0ga8yj2zkyngah0li3la3gslhjdayp0barch5w3y2jp9i14df9k2"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("xpi" "firefox" "chromium"))
|
||||
(arguments
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2020, 2021 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com>
|
||||
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2020, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2020, 2021 Greg Hogan <code@greghogan.com>
|
||||
;;; Copyright © 2021 David Dashyan <mail@davie.li>
|
||||
;;;
|
||||
|
@ -895,3 +895,42 @@ Service (S3) protocol for object storage.")
|
|||
Telemetry Transport (MQTT) publish-subscribe messaging protocol.")
|
||||
(home-page "https://github.com/awslabs/aws-c-mqtt")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public utf8-h
|
||||
;; The latest tag is used as there is no release.
|
||||
(let ((commit "500d4ea9f4c3449e5243c088d8af8700f7189734")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "utf8-h")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/sheredom/utf8.h")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "utf8.h" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0x9f7ivww8c7cigf4ck0hfx2bm79qgx6q4ccwzqbzkrmcrl9shfb"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'build)
|
||||
(delete 'configure)
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(with-directory-excursion "test"
|
||||
(invoke "cmake" ".")
|
||||
(invoke "make")))))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(install-file "utf8.h" (string-append out "/include"))))))))
|
||||
(home-page "https://github.com/sheredom/utf8.h")
|
||||
(synopsis "Single header UTF-8 string functions for C and C++")
|
||||
(description "A simple one header solution to supporting UTF-8 strings in
|
||||
C and C++. The functions it provides are like those from the C header
|
||||
string.h, but with a utf8* prefix instead of the str* prefix.")
|
||||
(license license:unlicense))))
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
;;; Copyright © 2020 Josh Marshall <joshua.r.marshall.1991@gmail.com>
|
||||
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
|
||||
;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
|
||||
;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2021 Hugo Lecomte <hugo.lecomte@inria.fr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
|
@ -90,6 +90,45 @@
|
|||
#:use-module (guix build-system trivial)
|
||||
#:use-module (srfi srfi-1))
|
||||
|
||||
(define-public pict
|
||||
(package
|
||||
(name "pict")
|
||||
(version "3.7.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Microsoft/pict")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1hpff8x49ixlh71sbyhj1rircf0mg95v5q9y0ys52rhiph99wy3n"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:test-target "test"
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(install-file "pict" (string-append #$output "/bin"))
|
||||
(install-file "doc/pict.md"
|
||||
(string-append #$output
|
||||
"/share/doc/pict-" #$version)))))))
|
||||
(native-inputs (list perl))
|
||||
(home-page "https://www.pairwise.org/")
|
||||
(synopsis "Pairwise Independent Combinatorial Tool")
|
||||
(description "PICT is a pairwise testing tool that generates test cases
|
||||
and test configurations. With PICT, you can generate tests that are more
|
||||
effective than manually generated tests and in a fraction of the time required
|
||||
by hands-on test case design. PICT runs as a command line tool. It takes a
|
||||
model file detailing the parameters of the interface as an input and generates
|
||||
a compact set of parameter value choices that represent the test cases you
|
||||
should use to get comprehensive combinatorial coverage of your parameters.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public pedansee
|
||||
(package
|
||||
(name "pedansee")
|
||||
|
@ -209,45 +248,46 @@ source code editors and IDEs.")
|
|||
(define-public clitest
|
||||
(package
|
||||
(name "clitest")
|
||||
(version "0.3.0")
|
||||
(version "0.4.0")
|
||||
(home-page "https://github.com/aureliojargas/clitest")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(commit (string-append "v" version))))
|
||||
(uri (git-reference (url home-page) (commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0zw5wra9hc717srmcar1wm4i34kyj8c49ny4bb7y3nrvkjp2pdb5"))))
|
||||
"1p745mxiq3hgi3ywfljs5sa1psi06awwjxzw0j9c2xx1b09yqv4a"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; This package is distributed as a single shell script and comes
|
||||
;; without a proper build system.
|
||||
(delete 'configure)
|
||||
(delete 'build)
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(substitute* "test.md"
|
||||
;; One test looks for an error from grep in the form "grep: foo",
|
||||
;; but our grep returns the absolute file name on errors. Adjust
|
||||
;; the test to cope with that.
|
||||
(("sed 's/\\^e\\*grep: \\.\\*/")
|
||||
"sed 's/.*e*grep: .*/"))
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; This package is distributed as a single shell script and comes
|
||||
;; without a proper build system.
|
||||
(delete 'configure)
|
||||
(delete 'build)
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(substitute* "test.md"
|
||||
;; One test looks for an error from grep in the form "grep: foo",
|
||||
;; but our grep returns the absolute file name on errors. Adjust
|
||||
;; the test to cope with that.
|
||||
(("sed 's/\\^e\\*grep: \\.\\*/")
|
||||
"sed 's/.*e*grep: .*/"))
|
||||
|
||||
(setenv "HOME" "/tmp")
|
||||
(invoke "./clitest" "test.md")))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(install-file "clitest" (string-append out "/bin"))
|
||||
(install-file "README.md"
|
||||
(string-append out "/share/doc/clitest-" ,version))
|
||||
#t))))))
|
||||
(setenv "HOME" "/tmp")
|
||||
(invoke "./clitest" "test.md"))))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(install-file "clitest" (string-append #$output "/bin"))
|
||||
(install-file "README.md"
|
||||
(string-append #$output "/share/doc/clitest-"
|
||||
#$(package-version this-package))))))))
|
||||
(native-inputs
|
||||
(list perl)) ;for tests
|
||||
(inputs
|
||||
(list bash-minimal))
|
||||
(synopsis "Command line test tool")
|
||||
(description
|
||||
"@command{clitest} is a portable shell script that performs automatic
|
||||
|
@ -421,7 +461,7 @@ a multi-paradigm automated test framework for C++ and Objective-C.")
|
|||
(define-public catch-framework2
|
||||
(package
|
||||
(name "catch2")
|
||||
(version "2.13.2")
|
||||
(version "2.13.8")
|
||||
(home-page "https://github.com/catchorg/Catch2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
|
@ -431,7 +471,7 @@ a multi-paradigm automated test framework for C++ and Objective-C.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"100r0kmra8jmra2hv92lzvwcmphpaiccwvq3lpdsa5b7hailhach"))))
|
||||
"18a6d7rcb6ilhxd5dff32jkfdf2ik58pbywrv04ras70217kdq4c"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs
|
||||
(list python-wrapper))
|
||||
|
@ -565,15 +605,16 @@ and it supports a very flexible form of test discovery.")
|
|||
(define-public doctest
|
||||
(package
|
||||
(name "doctest")
|
||||
(version "2.4.6")
|
||||
(version "2.4.8")
|
||||
(home-page "https://github.com/onqtam/doctest")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference (url home-page) (commit version)))
|
||||
(uri (git-reference (url home-page)
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"14m3q6d96zg6d99x1152jkly50gdjrn5ylrbhax53pfgfzzc5yqx"))))
|
||||
"057wdkv3gcz42mh1j284sgvm16i5fk1f9b1plgvavca70q4p52gz"))))
|
||||
(build-system cmake-build-system)
|
||||
(synopsis "C++ test framework")
|
||||
(description
|
||||
|
@ -2807,7 +2848,8 @@ portable to just about any platform.")
|
|||
;; indefinitely. See README.packagers for more information.
|
||||
;; There are specific instructions to not enable more flags
|
||||
;; than absolutely needed.
|
||||
,(if (target-ppc64le?)
|
||||
,(if (or (target-ppc64le?)
|
||||
(target-riscv64?))
|
||||
`(setenv "FAKETIME_COMPILE_CFLAGS"
|
||||
"-DFORCE_MONOTONIC_FIX -DFORCE_PTHREAD_NONVER")
|
||||
`(setenv "FAKETIME_COMPILE_CFLAGS"
|
||||
|
|
|
@ -82,9 +82,6 @@
|
|||
"base/third_party/symbolize" ;BSD-3
|
||||
"base/third_party/xdg_mime" ;LGPL2.0+ or Academic 2.0
|
||||
"base/third_party/xdg_user_dirs" ;Expat
|
||||
;; XXX: Chromium requires a newer C++ standard library. Remove this when
|
||||
;; the default GCC is 9 or later.
|
||||
"buildtools/third_party/libc++" ;ASL2.0, with LLVM exceptions
|
||||
"chrome/third_party/mozilla_security_manager" ;MPL-1.1/GPL2+/LGPL2.1+
|
||||
"courgette/third_party/bsdiff" ;BSD-2, BSD protection license
|
||||
"courgette/third_party/divsufsort" ;Expat
|
||||
|
@ -170,8 +167,6 @@
|
|||
"third_party/iccjpeg" ;IJG
|
||||
"third_party/inspector_protocol" ;BSD-3
|
||||
"third_party/jinja2" ;BSD-3
|
||||
;; XXX: Unbundle this when switching back to libstdc++.
|
||||
"third_party/jsoncpp" ;Public Domain or Expat
|
||||
"third_party/jstemplate" ;ASL2.0
|
||||
"third_party/khronos" ;Expat, SGI
|
||||
"third_party/leveldatabase" ;BSD-3
|
||||
|
@ -237,9 +232,6 @@
|
|||
"third_party/protobuf/third_party/six" ;Expat
|
||||
"third_party/pyjson5" ;ASL2.0
|
||||
"third_party/qcms" ;Expat
|
||||
;; XXX: System re2 cannot be used when Chromium uses libc++ because the re2
|
||||
;; ABI relies on libstdc++ internals. See build/linux/unbundle/re2.gn.
|
||||
"third_party/re2" ;BSD-3
|
||||
"third_party/rnnoise" ;BSD-3
|
||||
"third_party/ruy" ;ASL2.0
|
||||
"third_party/s2cellid" ;ASL2.0
|
||||
|
@ -318,13 +310,19 @@
|
|||
;; run the Blink performance tests, just remove everything to save ~70MiB.
|
||||
'("third_party/blink/perf_tests"))
|
||||
|
||||
(define* (arch-patch name hash #:optional (revision %arch-revision))
|
||||
(define %chromium-version "98.0.4758.80")
|
||||
(define %ungoogled-revision (string-append %chromium-version "-1"))
|
||||
(define %debian-revision "debian/90.0.4430.85-1")
|
||||
|
||||
(define %ungoogled-origin
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://raw.githubusercontent.com/archlinux"
|
||||
"/svntogit-packages/" revision "/trunk/" name))
|
||||
(file-name (string-append "ungoogled-chromium-" name))
|
||||
(sha256 (base32 hash))))
|
||||
(method git-fetch)
|
||||
(uri (git-reference (url "https://github.com/Eloston/ungoogled-chromium")
|
||||
(commit %ungoogled-revision)))
|
||||
(file-name (git-file-name "ungoogled-chromium" %ungoogled-revision))
|
||||
(sha256
|
||||
(base32
|
||||
"0a8y9yz6xyh025gk3dr0ndrdwmrslhd1ph2f8nivmqk61j7c2g8h"))))
|
||||
|
||||
(define* (debian-patch name hash #:optional (revision %debian-revision))
|
||||
(origin
|
||||
|
@ -336,33 +334,16 @@
|
|||
(string-append "ungoogled-chromium-" category "-" name))))
|
||||
(sha256 (base32 hash))))
|
||||
|
||||
(define %chromium-version "97.0.4692.99")
|
||||
(define %ungoogled-revision (string-append %chromium-version "-1"))
|
||||
(define %arch-revision "db2157b84924ce84201a8245e68a02f7d55f6491")
|
||||
(define %debian-revision "debian/90.0.4430.85-1")
|
||||
|
||||
(define %arch-patches
|
||||
(list (arch-patch "chromium-94-ffmpeg-roll.patch"
|
||||
"1kiskdjr9v3d491sq0wdjxliflh2vq5700gbygcixayj8gkvdb2n")))
|
||||
|
||||
(define %debian-patches
|
||||
(list (debian-patch "fixes/nomerge.patch"
|
||||
"0lybs2b5gk08j8cr6vjrs9d3drd7qfw013z2r0y00by8dnpm74i3")
|
||||
(debian-patch "system/jsoncpp.patch"
|
||||
"16lvhci10hz0q9axc6p921b95a76kbzcla5cl81czxzfwnynr1w5")
|
||||
(debian-patch "system/zlib.patch"
|
||||
"0j313bd3q8qc065j60x97dckrfgbwl4qxc8jhz33iihvv4lwziwv")
|
||||
(debian-patch "system/openjpeg.patch"
|
||||
"048405xh84pys0kky81vlqhaxjyxvcql4py217z01qxiv991zxaj")))
|
||||
|
||||
(define %ungoogled-origin
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference (url "https://github.com/Eloston/ungoogled-chromium")
|
||||
(commit %ungoogled-revision)))
|
||||
(file-name (git-file-name "ungoogled-chromium" %ungoogled-revision))
|
||||
(sha256
|
||||
(base32
|
||||
"1jgxpp3wl24hq39291mgmdwcxbarxg4rpa6il53k8z3rf6gd2s4i"))))
|
||||
|
||||
(define %guix-patches
|
||||
(list (local-file
|
||||
(assume-valid-file-name
|
||||
|
@ -370,9 +351,6 @@
|
|||
(local-file
|
||||
(assume-valid-file-name
|
||||
(search-patch "ungoogled-chromium-RUNPATH.patch")))
|
||||
(local-file
|
||||
(assume-valid-file-name
|
||||
(search-patch "ungoogled-chromium-accelerated-video-decode.patch")))
|
||||
(local-file
|
||||
(assume-valid-file-name
|
||||
(search-patch "ungoogled-chromium-ffmpeg-compat.patch")))
|
||||
|
@ -406,13 +384,6 @@
|
|||
patch "--no-backup-if-mismatch"))
|
||||
(append '#+%debian-patches '#+%guix-patches))
|
||||
|
||||
;; These patches are "reversed"; i.e. they represent changes
|
||||
;; already present in the source, but which should be reverted.
|
||||
(for-each (lambda (patch)
|
||||
(invoke "patch" "-Rp1" "--force" "--input"
|
||||
patch "--no-backup-if-mismatch"))
|
||||
'#$%arch-patches)
|
||||
|
||||
(with-directory-excursion #+%ungoogled-origin
|
||||
(format #t "Ungooglifying...~%")
|
||||
(force-output)
|
||||
|
@ -449,7 +420,7 @@
|
|||
"--system-libraries" "ffmpeg" "flac" "fontconfig"
|
||||
"freetype" "harfbuzz-ng" "icu" "libdrm" "libevent"
|
||||
"libjpeg" "libpng" "libwebp" "libxml" "libxslt"
|
||||
"openh264" "opus" "zlib")))))
|
||||
"openh264" "opus" "re2" "zlib")))))
|
||||
|
||||
(define opus+custom
|
||||
(package/inherit opus
|
||||
|
@ -480,7 +451,7 @@
|
|||
%chromium-version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1fpc07zvashaqqalwn7wxnswxclrxvhjrxy1rzr6gcq5awhaw6y9"))
|
||||
"0wa1jhsw7qrym4x8wxmdvdvbilb8jdv0mizzib2342l61zi6cwn8"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet (force ungoogled-chromium-snippet))))
|
||||
(build-system gnu-build-system)
|
||||
|
@ -501,13 +472,11 @@
|
|||
;; a developer build.
|
||||
"is_official_build=true"
|
||||
"clang_use_chrome_plugins=false"
|
||||
"is_cfi=false" ;requires ThinLTO
|
||||
"use_thin_lto=false" ;XXX lld segfaults
|
||||
"use_custom_libcxx=false"
|
||||
"chrome_pgo_phase=0"
|
||||
"use_sysroot=false"
|
||||
"goma_dir=\"\""
|
||||
"enable_nacl=false"
|
||||
"enable_nacl_nonsfi=false"
|
||||
"use_unofficial_version_number=false"
|
||||
"treat_warnings_as_errors=false"
|
||||
"use_official_google_api_keys=false"
|
||||
|
@ -577,7 +546,11 @@
|
|||
"rtc_use_pipewire=true"
|
||||
"rtc_link_pipewire=true"
|
||||
;; Don't use bundled sources.
|
||||
"rtc_build_json=true" ;FIXME: libc++ std::string ABI difference
|
||||
"rtc_build_json=false"
|
||||
(string-append "rtc_jsoncpp_root=\""
|
||||
(search-input-directory %build-inputs
|
||||
"include/json")
|
||||
"\"")
|
||||
"rtc_build_libevent=false"
|
||||
;; XXX: Use the bundled libvpx for WebRTC because unbundling
|
||||
;; currently fails (see above), and the versions must match.
|
||||
|
@ -623,6 +596,15 @@
|
|||
(find-files (string-append "third_party/webrtc/modules"
|
||||
"/audio_coding/codecs/opus")))
|
||||
|
||||
(substitute* "third_party/webrtc/rtc_base/strings/json.h"
|
||||
(("#include \"third_party/jsoncpp/")
|
||||
"#include \"json/"))
|
||||
|
||||
;; This can be removed for M99.
|
||||
(substitute* "media/gpu/chromeos/video_decoder_pipeline.cc"
|
||||
(("third_party/libdrm/src/include/drm/drm_fourcc\\.h")
|
||||
"libdrm/drm_fourcc.h"))
|
||||
|
||||
;; Many files try to include ICU headers from "third_party/icu/...".
|
||||
;; Remove the "third_party/" prefix to use system headers instead.
|
||||
(substitute* (find-files "chrome" "\\.cc$")
|
||||
|
@ -668,7 +650,6 @@
|
|||
(substitute*
|
||||
'("ui/ozone/platform/x11/gl_ozone_glx.cc"
|
||||
"ui/ozone/common/egl_util.cc"
|
||||
"ui/gl/init/gl_initializer_linux_x11.cc"
|
||||
"third_party/angle/src/libANGLE/renderer/gl/glx\
|
||||
/FunctionsGLX.cpp")
|
||||
(("libGL\\.so\\.1")
|
||||
|
@ -683,18 +664,6 @@
|
|||
"include/c++"))
|
||||
(node (search-input-file (or native-inputs inputs)
|
||||
"/bin/node")))
|
||||
;; Remove the default compiler from CPLUS_INCLUDE_PATH to
|
||||
;; prevent header conflict with the bundled libcxx.
|
||||
(setenv "CPLUS_INCLUDE_PATH"
|
||||
(string-join
|
||||
(delete c++
|
||||
(string-split (getenv "CPLUS_INCLUDE_PATH")
|
||||
#\:))
|
||||
":"))
|
||||
(format #t
|
||||
"environment variable `CPLUS_INCLUDE_PATH' changed to ~a~%"
|
||||
(getenv "CPLUS_INCLUDE_PATH"))
|
||||
|
||||
;; Define the GN toolchain.
|
||||
(setenv "AR" "llvm-ar") (setenv "NM" "llvm-nm")
|
||||
(setenv "CC" "clang") (setenv "CXX" "clang++")
|
||||
|
@ -766,7 +735,9 @@
|
|||
(resources (string-append lib "/resources"))
|
||||
(preferences
|
||||
;; This file contains defaults for new user profiles.
|
||||
#$(local-file "aux-files/chromium/master-preferences.json"))
|
||||
#$(local-file
|
||||
(search-auxiliary-file
|
||||
"chromium/master-preferences.json")))
|
||||
(gtk+ (assoc-ref inputs "gtk+"))
|
||||
(xdg-utils (assoc-ref inputs "xdg-utils")))
|
||||
|
||||
|
@ -846,6 +817,7 @@
|
|||
gtk+
|
||||
harfbuzz-3.0
|
||||
icu4c
|
||||
jsoncpp
|
||||
lcms
|
||||
libevent
|
||||
libffi
|
||||
|
@ -879,6 +851,7 @@
|
|||
pciutils
|
||||
pipewire-0.3
|
||||
pulseaudio
|
||||
re2
|
||||
snappy
|
||||
speech-dispatcher
|
||||
eudev
|
||||
|
|
|
@ -332,8 +332,14 @@ is on par with Java implementations, e.g., Apache commons-codec.")
|
|||
(build-system clojure-build-system)
|
||||
(arguments
|
||||
'(#:source-dirs '("src/main/clojure")
|
||||
#:test-dirs '("src/test/clojure")
|
||||
#:doc-dirs '()))
|
||||
#:test-dirs '("src/test/clojure" "src/test/resources")
|
||||
#:doc-dirs '()
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'build 'delete-cljs-tests
|
||||
(lambda _
|
||||
(delete-file "src/test/resources/clojure/data/xml/cljs_testsuite.clj")
|
||||
(delete-file "src/test/clojure/clojure/data/xml/test_cljs.clj"))))))
|
||||
(propagated-inputs (list clojure-data-codec))
|
||||
(synopsis "Clojure library for reading and writing XML data")
|
||||
(description "@code{data.xml} is a Clojure library for reading and writing
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
;;; Copyright © 2014 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
|
||||
;;; Copyright © 2014, 2015, 2017 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2017, 2018, 2019, 2021 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017, 2018, 2019, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018, 2019, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2019, 2020, 2021 Marius Bakke <marius@gnu.org>
|
||||
|
@ -12,6 +12,7 @@
|
|||
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2021 Chris Marusich <cmmarusich@gmail.com>
|
||||
;;; Copyright © 2021 Julien Lepiller <julien@lepiller.eu>
|
||||
;;; Copyright © 2022 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -1264,7 +1265,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
|
|||
(install-file "gawk" bin)
|
||||
(symlink "gawk" (string-append bin "/awk"))))))))))
|
||||
|
||||
(define glibc-mesboot0
|
||||
(define-public glibc-mesboot0
|
||||
;; GNU C Library 2.2.5 is the most recent glibc that we managed to build
|
||||
;; using gcc-2.95.3. Newer versions (2.3.x, 2.6, 2.1x) seem to need a newer
|
||||
;; gcc.
|
||||
|
@ -1358,7 +1359,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
|
|||
"SHELL = " shell "
|
||||
BASH = ")))))))))))
|
||||
|
||||
(define gcc-mesboot0
|
||||
(define-public gcc-mesboot0
|
||||
(package
|
||||
(inherit gcc-core-mesboot0)
|
||||
(name "gcc-mesboot0")
|
||||
|
@ -1402,6 +1403,63 @@ ac_cv_c_float_format='IEEE (little-endian)'
|
|||
,(string-append "LIBGCC2_INCLUDES=-I " gcc "/include")
|
||||
"LANGUAGES=c")))))))
|
||||
|
||||
(define-public gcc-2.95-wrapper
|
||||
;; We need this so gcc-mesboot0 can be used to create shared binaries that
|
||||
;; have the correct interpreter, otherwise configuring gcc-mesboot using
|
||||
;; --enable-shared will fail.
|
||||
(package
|
||||
(inherit gcc-mesboot0)
|
||||
(name "gcc-wrapper")
|
||||
(source #f)
|
||||
(inputs '())
|
||||
(native-inputs
|
||||
`(("bash" ,bash-minimal)
|
||||
("coreutils" ,coreutils)
|
||||
("libc" ,glibc-2.2.5)
|
||||
("gcc" ,gcc-mesboot0)))
|
||||
(arguments
|
||||
`(#:implicit-inputs? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'unpack)
|
||||
(delete 'configure)
|
||||
(delete 'install)
|
||||
(replace 'build
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bash (assoc-ref inputs "bash"))
|
||||
(libc (assoc-ref inputs "libc"))
|
||||
(gcc (assoc-ref inputs "gcc"))
|
||||
(bin (string-append out "/bin")))
|
||||
(mkdir-p bin)
|
||||
(for-each
|
||||
(lambda (program)
|
||||
(let ((wrapper (string-append bin "/" program)))
|
||||
(with-output-to-file wrapper
|
||||
(lambda _
|
||||
(display (string-append "#! " bash "/bin/bash
|
||||
exec " gcc "/bin/" program
|
||||
" -Wl,--dynamic-linker"
|
||||
;; also for x86_64-linux, we are still on i686-linux
|
||||
" -Wl," libc ,(glibc-dynamic-linker "i686-linux")
|
||||
" -Wl,--rpath"
|
||||
" -Wl," libc "/lib"
|
||||
" \"$@\"
|
||||
"))
|
||||
(chmod wrapper #o555)))))
|
||||
'("cpp"
|
||||
"gcc"
|
||||
"g++"
|
||||
"i686-unknown-linux-gnu-cpp"
|
||||
"i686-unknown-linux-gnu-gcc"
|
||||
"i686-unknown-linux-gnu-g++")))))
|
||||
(replace 'check
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(program (string-append bin "/gcc")))
|
||||
(invoke program "--help")))))))))
|
||||
|
||||
(define (%boot-mesboot0-inputs)
|
||||
`(("gcc" ,gcc-mesboot0)
|
||||
("kernel-headers" ,%bootstrap-linux-libre-headers)
|
||||
|
@ -1992,7 +2050,7 @@ ac_cv_c_float_format='IEEE (little-endian)'
|
|||
(lambda _
|
||||
(invoke "./hello"))))))))
|
||||
|
||||
(define binutils-mesboot
|
||||
(define-public binutils-mesboot
|
||||
(package
|
||||
(inherit binutils)
|
||||
(name "binutils-mesboot")
|
||||
|
@ -3736,6 +3794,19 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
|
|||
("libc:static" ,glibc-final "static")
|
||||
("locales" ,glibc-utf8-locales-final))))
|
||||
|
||||
(define-public %final-inputs-riscv64
|
||||
;; This is similar to the added (list gcc "lib") elsewhere in this file, but
|
||||
;; due to how (%current-system) is re-defined when performing builds with the
|
||||
;; '--system' flag, %final-inputs is too early in the evaulation pipeline to
|
||||
;; correctly identify the system for which a derivation will be built. Thus,
|
||||
;; since (%current-system) is re-determined by (guix build-system gnu) after
|
||||
;; loading %final-inputs but before taking into account the '--system' flag,
|
||||
;; the test for (target-riscv64?) needs to be in (guix build-system gnu),
|
||||
;; with %final-inputs-riscv64 already available at the same time that
|
||||
;; %final-inputs is available.
|
||||
`(("gcc:lib" ,gcc-final "lib")
|
||||
,@%final-inputs))
|
||||
|
||||
(define-public canonical-package
|
||||
(let ((name->package (fold (lambda (input result)
|
||||
(match input
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019 Alexandru-Sergiu Marton <brown121407@member.fsf.org>
|
||||
;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
|
||||
;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -110,7 +111,7 @@ performance).
|
|||
(define-public picom
|
||||
(package
|
||||
(name "picom")
|
||||
(version "8.2")
|
||||
(version "9")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -119,7 +120,7 @@ performance).
|
|||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32
|
||||
"0gjksayz2xpmgglvw17ppsan2imrd1fijs579kbf27xwp503xgfl"))
|
||||
"0s3rf0lmkhhprx6vd5wsz1n0n55nprq6l1245pj525hrwxc1yvna"))
|
||||
(file-name (string-append "picom-" version))))
|
||||
(build-system meson-build-system)
|
||||
(inputs
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2016, 2017, 2019, 2021 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017, 2019, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
|
||||
|
@ -45,19 +45,20 @@
|
|||
(define-public connman
|
||||
(package
|
||||
(name "connman")
|
||||
(version "1.40")
|
||||
(version "1.41")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://kernel.org/linux/network/connman/"
|
||||
"connman-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "04nbxpaxykncp65fyh4lk778vn9145fbxhxa8hbkmailw9yawmqs"))))
|
||||
(base32 "12g5ilcnymx6i45z3359yds3cgd2dfqjyncfm92hqlymzps41yvr"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list "--enable-nmcompat"
|
||||
"--enable-polkit" ; Polkit doesn't need to be present at build time.
|
||||
"--enable-iwd"
|
||||
"--enable-openconnect"
|
||||
"--enable-openvpn"
|
||||
"--enable-vpnc"
|
||||
|
@ -68,8 +69,8 @@
|
|||
(string-append
|
||||
"--with-dbusdatadir=" (assoc-ref %outputs "out") "/share"))))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("python" ,python-wrapper)))
|
||||
(list pkg-config
|
||||
python-wrapper))
|
||||
(inputs
|
||||
(list dbus
|
||||
glib
|
||||
|
|
|
@ -52,7 +52,7 @@
|
|||
(define-public coq-core
|
||||
(package
|
||||
(name "coq-core")
|
||||
(version "8.14.1")
|
||||
(version "8.15.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -62,7 +62,7 @@
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0q634fmrh5ivpxy7ammdiqdh9xp72ji2726vcz1bd55ln0d08z40"))
|
||||
"0473mmc4wv8zbbcbvqqn0z9gz9y8gf4w2q6j6h50lx0jphpg2n8z"))
|
||||
(patches (search-patches "coq-fix-envvars.patch"))))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
|
@ -229,7 +229,7 @@ provers.")
|
|||
(define-public coq-flocq
|
||||
(package
|
||||
(name "coq-flocq")
|
||||
(version "3.4.2")
|
||||
(version "4.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -239,7 +239,7 @@ provers.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0j7vq7ifqcdaj2x881aha2rl51l2p72y1cn7r2xya0fjgsssfigy"))))
|
||||
"159ykkhxz7zms28r4v8jjccapl5vv00csdz29mfy83lwrv5b6rwk"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list autoconf automake ocaml which coq))
|
||||
|
@ -276,7 +276,7 @@ inside Coq.")
|
|||
(define-public coq-gappa
|
||||
(package
|
||||
(name "coq-gappa")
|
||||
(version "1.5.0")
|
||||
(version "1.5.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -286,7 +286,7 @@ inside Coq.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ivh8xm1c8191rm4riamjzya2x6ls96qax5byir1fywf9hbxr1vg"))))
|
||||
"18y4mv44mcgyam77rf4xs7l06mg7pxx1qli3yvs0kklmnnvwa463"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list autoconf
|
||||
|
@ -334,7 +334,7 @@ assistant.")
|
|||
(define-public coq-mathcomp
|
||||
(package
|
||||
(name "coq-mathcomp")
|
||||
(version "1.13.0")
|
||||
(version "1.14.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -343,7 +343,7 @@ assistant.")
|
|||
(commit (string-append "mathcomp-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0aj8hsdzzds5w0p1858s2b6k9zssjcxa6kgpi0q1nvaml4zfpkcc"))))
|
||||
(base32 "1rqg47dg84wr6d9v2pzna54dm62awcm8xdwx4dqwdwhf58fjxa9i"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list ocaml which coq))
|
||||
|
@ -420,7 +420,7 @@ theorems between the two libraries.")
|
|||
(define-public coq-bignums
|
||||
(package
|
||||
(name "coq-bignums")
|
||||
(version "8.14.0")
|
||||
(version "8.15.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -429,7 +429,7 @@ theorems between the two libraries.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0jsgdvj0ddhkls32krprp34r64y1rb5mwxl34fgaxk2k4664yq06"))))
|
||||
"093klwlhclgyrba1iv18dyz1qp5f0lwiaa7y0qwvgmai8rll5fns"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list ocaml coq))
|
||||
|
@ -452,7 +452,7 @@ provides BigN, BigZ, BigQ that used to be part of Coq standard library.")
|
|||
(define-public coq-interval
|
||||
(package
|
||||
(name "coq-interval")
|
||||
(version "4.3.1")
|
||||
(version "4.4.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -462,7 +462,7 @@ provides BigN, BigZ, BigQ that used to be part of Coq standard library.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0sr9psildc0sda07r2r47rfgyry49yklk38bg04yyvry5j5pryb6"))))
|
||||
"1rlcbv1nqm7zv60n63lca6nnxcq3c18akgzl72s1n3h89gvhs87z"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list autoconf automake ocaml which coq))
|
||||
|
@ -546,11 +546,11 @@ uses Ltac to synthesize the substitution operation.")
|
|||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/mattam82/Coq-Equations")
|
||||
(commit (string-append "v" version "-8.14"))))
|
||||
(commit (string-append "v" version "-8.15"))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"19bj9nncd1r9g4273h5qx35gs3i4bw5z9bhjni24b413hyj55hkv"))))
|
||||
"1vfcfpsp9zyj0sw0cwibk76nj6n0r6gwh8m1aa3lbvc0b1kbm32k"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list ocaml coq camlp5))
|
||||
|
@ -625,7 +625,7 @@ also provided in Coq, without associated proofs.")
|
|||
(define-public coq-stdpp
|
||||
(package
|
||||
(name "coq-stdpp")
|
||||
(version "1.6.0")
|
||||
(version "1.7.0")
|
||||
(synopsis "Alternative Coq standard library std++")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
|
@ -635,7 +635,7 @@ also provided in Coq, without associated proofs.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1l1w6srzydjg0h3f4krrfgvz455h56shyy2lbcnwdbzjkahibl7v"))))
|
||||
"0447wbzm23f9rl8byqf6vglasfn6c1wy6cxrrwagqjwsh3i5lx8y"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(list coq))
|
||||
|
|
|
@ -11,10 +11,10 @@
|
|||
;;; Copyright © 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
|
||||
;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net>
|
||||
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2020, 2022 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
|
||||
;;; Copyright © 2020 Alexandros Theodotou <alex@zrythm.org>
|
||||
;;; Copyright © 2020, 2021 Greg Hogan <code@greghogan.com>
|
||||
;;; Copyright © 2020-2022 Greg Hogan <code@greghogan.com>
|
||||
;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
|
||||
;;; Copyright © 2020 Milkey Mouse <milkeymouse@meme.institute>
|
||||
;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
|
||||
|
@ -48,6 +48,7 @@
|
|||
#:use-module (guix utils)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix modules)
|
||||
|
@ -73,13 +74,15 @@
|
|||
#:use-module (gnu packages onc-rpc)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-check)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages popt)
|
||||
#:use-module (gnu packages pretty-print)
|
||||
#:use-module (gnu packages pulseaudio)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages xml))
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (ice-9 match))
|
||||
|
||||
(define-public argagg
|
||||
(let ((commit "79e4adfa2c6e2bfbe63da05cc668eb9ad5596748") (revision "0"))
|
||||
|
@ -452,51 +455,48 @@ functions, class methods, and stl containers.
|
|||
(license license:bsd-3)))
|
||||
|
||||
(define-public fifo-map
|
||||
(let* ((commit "0dfbf5dacbb15a32c43f912a7e66a54aae39d0f9")
|
||||
(revision "0")
|
||||
(version (git-version "1.1.1" revision commit)))
|
||||
(package
|
||||
(name "fifo-map")
|
||||
(version version)
|
||||
(home-page "https://github.com/nlohmann/fifo_map")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"0pi77b75kp0l7z454ihcd14nzpi3nc5m4nyjbsgy5f9bw3676196"))
|
||||
(patches (search-patches "fifo-map-remove-catch.hpp.patch"
|
||||
"fifo-map-fix-flags-for-gcc.patch"))
|
||||
(file-name (git-file-name name version))
|
||||
(modules '((guix build utils)))
|
||||
(snippet '(delete-file-recursively "./test/thirdparty"))))
|
||||
(native-inputs
|
||||
(list catch-framework2-1))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(invoke "./unit")))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(inc (string-append out "/include/fifo_map")))
|
||||
(with-directory-excursion "../source"
|
||||
(install-file "src/fifo_map.hpp" inc))))))))
|
||||
(synopsis "FIFO-ordered associative container for C++")
|
||||
(description "Fifo_map is a C++ header only library for associative
|
||||
(package
|
||||
(name "fifo-map")
|
||||
(version "1.0.0")
|
||||
(home-page "https://github.com/nlohmann/fifo_map")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32
|
||||
"0y59fk6ycrgjln9liwcja3l5j1vxpa5i671bynpbsjlyq5f2560q"))
|
||||
(patches (search-patches "fifo-map-remove-catch.hpp.patch"
|
||||
"fifo-map-fix-flags-for-gcc.patch"))
|
||||
(file-name (git-file-name name version))
|
||||
(modules '((guix build utils)))
|
||||
(snippet '(delete-file-recursively "./test/thirdparty"))))
|
||||
(inputs
|
||||
(list catch-framework2-1))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests? (invoke "./unit"))))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(inc (string-append out "/include/fifo_map")))
|
||||
(with-directory-excursion "../source"
|
||||
(install-file "src/fifo_map.hpp" inc))))))))
|
||||
(synopsis "FIFO-ordered associative container for C++")
|
||||
(description "Fifo_map is a C++ header only library for associative
|
||||
container which uses the order in which keys were inserted to the container
|
||||
as ordering relation.")
|
||||
(license license:expat))))
|
||||
(license license:expat)))
|
||||
|
||||
(define-public json-modern-cxx
|
||||
(package
|
||||
(name "json-modern-cxx")
|
||||
(version "3.9.1")
|
||||
(version "3.10.5")
|
||||
(home-page "https://github.com/nlohmann/json")
|
||||
(source
|
||||
(origin
|
||||
|
@ -504,7 +504,7 @@ as ordering relation.")
|
|||
(uri (git-reference (url home-page)
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "0ar4mzp53lskxw3vdzw07f47njcshl3lwid9jfq6l7yx6ds2nyjc"))
|
||||
(base32 "1f9mi45ilwjc2w92grjc53sw038840bjpn8yjf6wc6bxs2nijfqd"))
|
||||
(file-name (git-file-name name version))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
|
@ -513,7 +513,7 @@ as ordering relation.")
|
|||
;; is a wrapper library added by this package.
|
||||
(install-file "./test/thirdparty/doctest/doctest_compatibility.h" "/tmp")
|
||||
(for-each delete-file-recursively
|
||||
'("./third_party" "./test/thirdparty" "./benchmarks/thirdparty"))
|
||||
'("./third_party" "./test/thirdparty"))
|
||||
(install-file "/tmp/doctest_compatibility.h" "./test/thirdparty/doctest")
|
||||
|
||||
;; Adjust for the unbundled fifo_map and doctest.
|
||||
|
@ -525,43 +525,39 @@ as ordering relation.")
|
|||
(substitute* files
|
||||
(("#include ?\"(fifo_map.hpp)\"" all fifo-map-hpp)
|
||||
(string-append
|
||||
"#include <fifo_map/" fifo-map-hpp ">")))))
|
||||
#t))))
|
||||
"#include <fifo_map/" fifo-map-hpp ">")))))))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags
|
||||
(list "-DJSON_MultipleHeaders=ON" ; For json_fwd.hpp.
|
||||
(string-append "-DJSON_TestDataDirectory="
|
||||
(assoc-ref %build-inputs "json_test_data")))
|
||||
(dirname
|
||||
(search-input-directory %build-inputs
|
||||
"json_nlohmann_tests"))))
|
||||
#:phases (modify-phases %standard-phases
|
||||
;; XXX: When tests are enabled, the install phase will cause
|
||||
;; a needless rebuild without the given configure flags,
|
||||
;; ultimately creating both $out/lib and $out/lib64. Move
|
||||
;; the check phase after install to work around it.
|
||||
(delete 'check)
|
||||
(add-after 'install 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? parallel-tests? #:allow-other-keys)
|
||||
(if tests?
|
||||
;; Some tests need git and a full checkout, skip those.
|
||||
(invoke "ctest" "-LE" "git_required")
|
||||
(format #t "test suite not run~%"))
|
||||
#t)))))
|
||||
(invoke "ctest" "-LE" "git_required"
|
||||
"-j" (if parallel-tests?
|
||||
(number->string (parallel-job-count))
|
||||
"1"))
|
||||
(format #t "test suite not run~%")))))))
|
||||
(native-inputs
|
||||
`(("amalgamate" ,amalgamate)
|
||||
("doctest" ,doctest)
|
||||
("json_test_data"
|
||||
,(let ((version "3.0.0"))
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/nlohmann/json_test_data")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name "json_test_data" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0nzsjzlvk14dazwh7k2jb1dinb0pv9jbx5jsyn264wvva0y7daiv")))))))
|
||||
(list amalgamate
|
||||
(let ((version "3.0.0"))
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/nlohmann/json_test_data")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name "json_test_data" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0nzsjzlvk14dazwh7k2jb1dinb0pv9jbx5jsyn264wvva0y7daiv"))))))
|
||||
(inputs
|
||||
(list fifo-map))
|
||||
(list doctest fifo-map))
|
||||
(synopsis "JSON parser and printer library for C++")
|
||||
(description "JSON for Modern C++ is a C++ JSON library that provides
|
||||
intuitive syntax and trivial integration.")
|
||||
|
@ -771,7 +767,7 @@ library.")
|
|||
(define-public cpplint
|
||||
(package
|
||||
(name "cpplint")
|
||||
(version "1.4.5")
|
||||
(version "1.5.5")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -781,19 +777,49 @@ library.")
|
|||
(url "https://github.com/cpplint/cpplint")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32 "1yzcxqx0186sh80p0ydl9z0ld51fn2cdpz9hmhrp15j53g9ira7c"))
|
||||
(base32 "13l86aq0h1jga949k79k9x3hw2xqchjc162sclg2f99vz98zcz15"))
|
||||
(file-name (git-file-name name version))))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'check 'use-later-pytest
|
||||
(lambda _
|
||||
(substitute* "test-requirements"
|
||||
(("pytest.*") "pytest\n"))
|
||||
#t)))))
|
||||
(list #:modules `((srfi srfi-1)
|
||||
(srfi srfi-26)
|
||||
,@%python-build-system-modules)
|
||||
#:phases
|
||||
#~(modify-phases (@ (guix build python-build-system) %standard-phases)
|
||||
(add-before 'wrap 'reduce-GUIX_PYTHONPATH
|
||||
(lambda _
|
||||
;; Hide the transitive native inputs from GUIX_PYTHONPATH
|
||||
;; to prevent them from ending up in the run-time closure.
|
||||
;; See also <https://bugs.gnu.org/25235>.
|
||||
(let ((transitive-native-inputs
|
||||
'#$(match (package-transitive-native-inputs
|
||||
this-package)
|
||||
(((labels packages) ...) packages))))
|
||||
;; Save the original PYTHONPATH because we need it for
|
||||
;; tests later.
|
||||
(setenv "TMP_PYTHONPATH" (getenv "GUIX_PYTHONPATH"))
|
||||
(setenv "GUIX_PYTHONPATH"
|
||||
(string-join
|
||||
(filter (lambda (path)
|
||||
(not (any (cut string-prefix? <> path)
|
||||
transitive-native-inputs)))
|
||||
(search-path-as-string->list
|
||||
(getenv "GUIX_PYTHONPATH")))
|
||||
":")))))
|
||||
(add-after 'wrap 'reset-GUIX_PYTHONPATH
|
||||
(lambda _
|
||||
(setenv "GUIX_PYTHONPATH"
|
||||
(getenv "TMP_PYTHONPATH"))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "pytest" "-vv")))))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
(list python-pytest python-pytest-cov python-pytest-runner))
|
||||
(list python-coverage
|
||||
python-pytest
|
||||
python-pytest-cov
|
||||
python-pytest-runner
|
||||
python-testfixtures))
|
||||
(home-page "https://github.com/cpplint/cpplint")
|
||||
(synopsis "Static code checker for C++")
|
||||
(description "@code{cpplint} is a command-line tool to check C/C++ files
|
||||
|
@ -962,7 +988,7 @@ Google's C++ code base.")
|
|||
(define-public pegtl
|
||||
(package
|
||||
(name "pegtl")
|
||||
(version "2.8.3")
|
||||
(version "3.2.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -971,7 +997,7 @@ Google's C++ code base.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"17crgjfdx55imi2dqnz6xpvsxq07390yfgkz5nd2g77ydkvq9db3"))))
|
||||
"1viwrlsw5nwvbv8d88mf5r77syapgxx3xm1kv5kmn6drw8jgsmzf"))))
|
||||
(build-system cmake-build-system)
|
||||
(home-page "https://github.com/taocpp/PEGTL")
|
||||
(synopsis "Parsing Expression Grammar template library")
|
||||
|
@ -1592,3 +1618,102 @@ microparallel algorithms to implement a strict JSON parser with UTF-8
|
|||
validation.")
|
||||
(home-page "https://github.com/simdjson/simdjson")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public bloomberg-bde-tools
|
||||
(let ((commit "094885bd177e0159232d4e6a060a04edb1edd786"))
|
||||
(package
|
||||
(name "bloomberg-bde-tools")
|
||||
;; Recent releases are not tagged so commit must be used for checkout.
|
||||
(version "3.97.0.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/bloomberg/bde-tools")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0mbbai73z8amh23ah3wy35kmy612380yr5wg89mic60qwqmpqb02"))
|
||||
(patches
|
||||
(search-patches
|
||||
"bloomberg-bde-tools-fix-install-path.patch"))))
|
||||
(build-system copy-build-system)
|
||||
;; Unable to be an inline dependency of bloomberg-bde due to patch.
|
||||
(properties '((hidden? . #t)))
|
||||
(synopsis "Tools for developing and building libraries modeled on BDE")
|
||||
(description
|
||||
"This package provides the cmake imports needed to build bloomberg-bde.")
|
||||
(home-page "https://github.com/bloomberg/bde-tools")
|
||||
(license license:asl2.0))))
|
||||
|
||||
(define-public bloomberg-bde
|
||||
(let ((commit "b6bcc0e24a5862bf77aea7edd831dedf50e21d64"))
|
||||
(package
|
||||
(name "bloomberg-bde")
|
||||
;; Recent releases are not tagged so commit must be used for checkout.
|
||||
(version "3.98.0.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/bloomberg/bde")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0y3lipi1lj9qazgc935851r2qsx5aq3vvc4y52jq57riyz8wg3ma"))
|
||||
(patches
|
||||
(search-patches
|
||||
"bloomberg-bde-cmake-module-path.patch"))
|
||||
;;(modules '((guix build utils)))
|
||||
(snippet
|
||||
`(begin
|
||||
;; FIXME: Delete bundled software. The third-party packages
|
||||
;; may be patched or modified from upstream sources.
|
||||
;;(for-each delete-file-recursively
|
||||
;; (list "thirdparty"))
|
||||
;; Delete failing tests.
|
||||
(for-each
|
||||
delete-file
|
||||
(list "groups/bal/ball/ball_asyncfileobserver.t.cpp"
|
||||
"groups/bal/ball/ball_fileobserver2.t.cpp"
|
||||
"groups/bal/ball/ball_recordstringformatter.t.cpp"
|
||||
"groups/bal/balst/balst_stacktraceutil.t.cpp"
|
||||
"groups/bdl/bdlmt/bdlmt_eventscheduler.t.cpp"
|
||||
"groups/bdl/bdlmt/bdlmt_timereventscheduler.t.cpp"
|
||||
"groups/bdl/bdls/bdls_filesystemutil.t.cpp"
|
||||
"groups/bsl/bslh/bslh_hashpair.t.cpp"
|
||||
"groups/bsl/bsls/bsls_platform.t.cpp"
|
||||
"groups/bsl/bsls/bsls_stackaddressutil.t.cpp"
|
||||
"groups/bsl/bsls/bsls_stopwatch.t.cpp"
|
||||
"groups/bsl/bslstl/bslstl_function_invokerutil.t.cpp"))
|
||||
#t))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:parallel-tests? #f ; Test parallelism may fail inconsistently.
|
||||
;; Set UFID to build shared libraries. Flag descriptions can be found at
|
||||
;; https://bloomberg.github.io/bde-tools/reference/bde_repo.html#ufid
|
||||
#:configure-flags ,(match %current-system
|
||||
((or "i686-linux" "armhf-linux")
|
||||
''("-DUFID=opt_dbg_exc_mt_32_shr_cpp17"))
|
||||
(_
|
||||
''("-DUFID=opt_dbg_exc_mt_64_shr_cpp17")))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; Explicitly build tests separate from the main build.
|
||||
(add-after 'build 'build-tests
|
||||
(lambda* (#:key make-flags #:allow-other-keys)
|
||||
(apply invoke "make" "all.t"
|
||||
`(,@(if #:parallel-build?
|
||||
`("-j" ,(number->string (parallel-job-count)))
|
||||
'())
|
||||
,@make-flags)))))))
|
||||
(native-inputs
|
||||
(list bloomberg-bde-tools pkg-config python))
|
||||
(synopsis "Foundational C++ libraries used at Bloomberg")
|
||||
(description
|
||||
"The BDE Development Environment libraries provide an enhanced
|
||||
implementation of STL containers, vocabulary types for representing common
|
||||
concepts (like dates and times), and building blocks for developing
|
||||
multi-threaded applications and network applications.")
|
||||
(home-page "https://github.com/bloomberg/bde")
|
||||
(license license:asl2.0))))
|
||||
|
|
|
@ -55,6 +55,7 @@
|
|||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build-system gnu)
|
||||
|
@ -187,14 +188,14 @@ etc.")
|
|||
(define-public r-datawizard
|
||||
(package
|
||||
(name "r-datawizard")
|
||||
(version "0.2.2")
|
||||
(version "0.2.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "datawizard" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0sd0blrczf9qz5kd0jg112fag2w401kkbw1gp9wi5pgffgwp6va3"))))
|
||||
"0hcnwz42zy9hp32brga31jwk34bz063myqjp2wfxsqm4sqrkv2rx"))))
|
||||
(properties `((upstream-name . "datawizard")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -3043,14 +3044,14 @@ colors are provided.")
|
|||
(define-public r-glue
|
||||
(package
|
||||
(name "r-glue")
|
||||
(version "1.6.0")
|
||||
(version "1.6.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "glue" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0f23dgnc7rv81vhmdhmiwk666mqwb602hxzai1hssyn4y9zg7gkp"))))
|
||||
"1nvqm4fmxyszz9b2y0gjiwbvwssdqj9jflcz00b4487i8jajz31i"))))
|
||||
(build-system r-build-system)
|
||||
;; knitr depends on glue, so we can't add knitr here to build the
|
||||
;; vignettes.
|
||||
|
@ -3311,14 +3312,14 @@ and Francois (2011, JSS), and the book by Eddelbuettel (2013, Springer); see
|
|||
(define-public r-rcppthread
|
||||
(package
|
||||
(name "r-rcppthread")
|
||||
(version "1.0.0")
|
||||
(version "2.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "RcppThread" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1xfcxrny779kgknlvnc4j02ifprnakndnkhx8bhy50d39vp4hjjl"))))
|
||||
"1hcxdk9mhsnrgg2bp7ls165abwb7b5grgh1gvf2i7sqrf9ggwa09"))))
|
||||
(properties `((upstream-name . "RcppThread")))
|
||||
(build-system r-build-system)
|
||||
(home-page
|
||||
|
@ -3997,6 +3998,54 @@ T distribution. There is only one exported function, @code{e_trunct},
|
|||
which should be seen for details.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public r-excelr
|
||||
(package
|
||||
(name "r-excelr")
|
||||
(version "0.4.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "excelR" version))
|
||||
(sha256
|
||||
(base32 "1pb4sy54zjv5vrh7gjjv7qlpab74km6mfsmfyl0yhmr0jx01hrw0"))
|
||||
(snippet
|
||||
'(delete-file "inst/htmlwidgets/lib/jexcel/js/jexcel.min.js"))))
|
||||
(properties `((upstream-name . "excelR")))
|
||||
(build-system r-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'process-javascript
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(with-directory-excursion "inst/htmlwidgets/lib/jexcel/js/"
|
||||
(let ((source (assoc-ref inputs "js-jexcel"))
|
||||
(target "jexcel.min.js"))
|
||||
(format #true "Processing ~a --> ~a~%"
|
||||
source target)
|
||||
(invoke "esbuild" source "--minify"
|
||||
(string-append "--outfile=" target)))))))))
|
||||
(native-inputs
|
||||
`(("esbuild" ,esbuild)
|
||||
;; There is no tag for this particular commit, but comparison of the
|
||||
;; contents of the JavaScript files point to this commit as the most
|
||||
;; likely source.
|
||||
("js-jexcel"
|
||||
,(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://raw.githubusercontent.com/jspreadsheet/ce/"
|
||||
"8af1960f76e6803bebc5750013d2ebe95354e88a/dist/jexcel.js"))
|
||||
(sha256
|
||||
(base32
|
||||
"0y88hsr9d8cpnvdmbm17m328pc4kc5wbcv02kzmhm0bryzhviw7h"))))))
|
||||
(propagated-inputs (list r-htmlwidgets r-jsonlite))
|
||||
(home-page "https://github.com/Swechhya/excelR")
|
||||
(synopsis "Wrapper of the JavaScript library jExcel")
|
||||
(description
|
||||
"This package provides an R interface to the jExcel library to
|
||||
create web-based interactive tables and spreadsheets compatible with
|
||||
spreadsheet software.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public r-extremes
|
||||
(package
|
||||
(name "r-extremes")
|
||||
|
@ -4283,14 +4332,14 @@ data). Weighted versions of MLE, MME and QME are available.")
|
|||
(define-public r-energy
|
||||
(package
|
||||
(name "r-energy")
|
||||
(version "1.7-8")
|
||||
(version "1.7-9")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "energy" version))
|
||||
(sha256
|
||||
(base32
|
||||
"12a7gy681aq3l55iys044cs6sn1s2l5qihghpdl01cvv0ggfh26y"))))
|
||||
"1ndssfi0hbnsm5jwrns7m63ppxm221hd6gk0b0wa1a7mk7ny1l38"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-boot r-gsl r-rcpp))
|
||||
|
@ -4838,14 +4887,14 @@ by base R methods related to model fitting.")
|
|||
(define-public r-broom
|
||||
(package
|
||||
(name "r-broom")
|
||||
(version "0.7.11")
|
||||
(version "0.7.12")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "broom" version))
|
||||
(sha256
|
||||
(base32
|
||||
"069fp8lscw59nmsm658w0164cpgfa36xx09s9j7jxisscg99jfcy"))))
|
||||
"1nbv4a4s8548h2q226xmhyp42higayh95yvllh1rcs264lmw3yh4"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-backports
|
||||
|
@ -4966,6 +5015,31 @@ avoid overlapping text labels. Labels repel away from each other and away
|
|||
from the data points.")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public r-coro
|
||||
(package
|
||||
(name "r-coro")
|
||||
(version "1.0.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "coro" version))
|
||||
(sha256
|
||||
(base32 "14irld29dipgfd34y0k351daqg9vqpnpdx8m3pxmqr1aiyj5f5cv"))))
|
||||
(properties `((upstream-name . "coro")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs (list r-rlang))
|
||||
(native-inputs (list r-knitr))
|
||||
(home-page "https://github.com/r-lib/coro")
|
||||
(synopsis "Coroutines for R")
|
||||
(description
|
||||
"This package provides coroutines for R, a family of functions that can
|
||||
be suspended and resumed later on. This includes async functions (which
|
||||
await) and generators (which yield). Async functions are based on the
|
||||
concurrency framework of the @code{promises} package. Generators are based on
|
||||
a dependency free iteration protocol defined in @code{coro} and are compatible
|
||||
with iterators from the @code{reticulate} package.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public r-corrplot
|
||||
(package
|
||||
(name "r-corrplot")
|
||||
|
@ -5037,6 +5111,25 @@ algorithm. The interface of @code{ucminf} is designed for easy interchange
|
|||
with the package @code{optim}.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public r-usedist
|
||||
(package
|
||||
(name "r-usedist")
|
||||
(version "0.4.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "usedist" version))
|
||||
(sha256
|
||||
(base32 "0ddf1zcalbrn293qmr9kdzz3x16fzc4k1bwb1pjmwnspisqfi8kj"))))
|
||||
(properties `((upstream-name . "usedist")))
|
||||
(build-system r-build-system)
|
||||
(home-page "https://cran.r-project.org/package=usedist")
|
||||
(synopsis "Distance matrix utilities")
|
||||
(description
|
||||
"This package provides functions to re-arrange, extract, and work with
|
||||
distances.")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public r-useful
|
||||
(package
|
||||
(name "r-useful")
|
||||
|
@ -5937,20 +6030,21 @@ to variables on the left-hand side of the assignment.")
|
|||
(define-public r-pillar
|
||||
(package
|
||||
(name "r-pillar")
|
||||
(version "1.6.4")
|
||||
(version "1.6.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "pillar" version))
|
||||
(sha256
|
||||
(base32
|
||||
"17m13rzgwdddwa0n3gpmax6wmfaphbg71l13ffhw5vnxf6i94fh3"))))
|
||||
"1nqv86zb51jgd6jbhgnyq6j53dzsjx7gwaapndfd3yvp0sxg3yr2"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-cli
|
||||
r-crayon
|
||||
r-ellipsis
|
||||
r-fansi
|
||||
r-glue
|
||||
r-lifecycle
|
||||
r-rlang
|
||||
r-utf8
|
||||
|
@ -7066,14 +7160,14 @@ environment within Shiny.")
|
|||
(define-public r-randomizr
|
||||
(package
|
||||
(name "r-randomizr")
|
||||
(version "0.20.0")
|
||||
(version "0.22.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "randomizr" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0dljyfldnardaps3fq6vi5wcs9x6qfaq5apapa78c51lnaa6fn9h"))))
|
||||
"1grm0h3xkb0pdbbv0gd531g1kn6njp0gcy5fh153rrmajxgd8hhw"))))
|
||||
(properties `((upstream-name . "randomizr")))
|
||||
(build-system r-build-system)
|
||||
(native-inputs
|
||||
|
@ -8041,14 +8135,14 @@ Python's @url{https://github.com/ActiveState/appdirs,Appdirs} to R.")
|
|||
(define-public r-rastervis
|
||||
(package
|
||||
(name "r-rastervis")
|
||||
(version "0.51.1")
|
||||
(version "0.51.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "rasterVis" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1mg11njzajx9az6xjghjl2sna6wzs85ga8fhy9w43l2n8icsfbr2"))))
|
||||
"0kgg6cm7xjqya2d46w0i1i1wjpkb8f99lyqy7rgwa7l9xmwzj5n1"))))
|
||||
(properties `((upstream-name . "rasterVis")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -8098,14 +8192,14 @@ those searches and pull data into their R sessions.")
|
|||
(define-public r-renv
|
||||
(package
|
||||
(name "r-renv")
|
||||
(version "0.15.1")
|
||||
(version "0.15.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "renv" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0nwvdzwyjvqlvkwp1yhhvqm8b9pwimwng99s0m0j63zm9bgwis1n"))))
|
||||
"1nv5hz40cbvdbc2kkr2q2xqnpkgkmp47nlfbr7z57mpn579zyznh"))))
|
||||
(properties `((upstream-name . "renv")))
|
||||
(build-system r-build-system)
|
||||
(native-inputs
|
||||
|
@ -8215,14 +8309,14 @@ always locate the files relative to your project root.")
|
|||
(define-public r-reticulate
|
||||
(package
|
||||
(name "r-reticulate")
|
||||
(version "1.23")
|
||||
(version "1.24")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "reticulate" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1mindiw7k7pa33hpwrgq0g5808c8qs9hl0351n8z2w9wyczlm87y"))))
|
||||
"1k0nv43fa9lx44pamxpprnvvmsp15adn5z6hg9siyq0n94hca65r"))))
|
||||
(build-system r-build-system)
|
||||
(inputs (list python))
|
||||
(propagated-inputs
|
||||
|
@ -8264,6 +8358,66 @@ Python to R they are converted back to R types.")
|
|||
file.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public r-billboarder
|
||||
(package
|
||||
(name "r-billboarder")
|
||||
(version "0.3.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "billboarder" version))
|
||||
(sha256
|
||||
(base32 "189ngvg84rcwhrivxskmjv3srhadvzr4p1v8pf11axyv2qn01b0x"))
|
||||
(snippet
|
||||
'(delete-file "inst/htmlwidgets/lib/billboard/billboard.pkgd.min.js"))))
|
||||
(properties `((upstream-name . "billboarder")))
|
||||
(build-system r-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'process-javascript
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(with-directory-excursion "inst/htmlwidgets/lib/billboard/"
|
||||
(let ((source (assoc-ref inputs "js-billboard"))
|
||||
(target "billboard.pkgd.min.js"))
|
||||
(format #true "Processing ~a --> ~a~%"
|
||||
source target)
|
||||
(invoke "esbuild" source "--minify"
|
||||
(string-append "--outfile=" target)))))))))
|
||||
(propagated-inputs
|
||||
(list r-ggplot2
|
||||
r-htmltools
|
||||
r-htmlwidgets
|
||||
r-jsonlite
|
||||
r-magrittr
|
||||
r-rlang
|
||||
r-scales
|
||||
r-shiny))
|
||||
(native-inputs
|
||||
`(("r-knitr" ,r-knitr)
|
||||
("esbuild" ,esbuild)
|
||||
;; It is not ideal to use this concatenated (but not minified)
|
||||
;; JavaScript file, as the original source is written in TypeScript.
|
||||
;; However, this can still be considered source code as it is readable
|
||||
;; and can be modified.
|
||||
("js-billboard"
|
||||
,(origin
|
||||
(method url-fetch)
|
||||
(uri "https://unpkg.com/billboard.js@3.2.0/dist/billboard.js")
|
||||
(sha256
|
||||
(base32
|
||||
"1kx5rqmn87pgal2cwmcij2rrnwa0fgcsw6y99m4i0l2sdm0qffv2"))))))
|
||||
(home-page "https://github.com/dreamRs/billboarder")
|
||||
(synopsis "Create interactive charts with the JavaScript Billboard library")
|
||||
(description
|
||||
"This package provides an @code{htmlwidgets} interface to billboard.js,
|
||||
a re-usable easy interface JavaScript chart library, based on D3 v4+. Chart
|
||||
types include line charts, scatterplots, bar/lollipop charts,
|
||||
histogram/density plots, pie/donut charts and gauge charts. All charts are
|
||||
interactive, and a proxy method is implemented to smoothly update a chart
|
||||
without rendering it again in shiny apps.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public r-ggseqlogo
|
||||
(package
|
||||
(name "r-ggseqlogo")
|
||||
|
@ -9674,14 +9828,14 @@ visualization and candidate genes around SNPs.")
|
|||
(define-public r-precrec
|
||||
(package
|
||||
(name "r-precrec")
|
||||
(version "0.12.7")
|
||||
(version "0.12.8")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "precrec" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0vwzaqnh9ymrm52dd79bihwqprnygz0d71ay8fv51hdw0zg6saya"))))
|
||||
"0kwn902z32qcnkffjm6dqnaxagx31xjdcak50clbgrway2pcdjrm"))))
|
||||
(properties `((upstream-name . "precrec")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -10199,14 +10353,14 @@ used to teach mathematics, statistics, computation and modeling.")
|
|||
(define-public r-raster
|
||||
(package
|
||||
(name "r-raster")
|
||||
(version "3.5-11")
|
||||
(version "3.5-15")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "raster" version))
|
||||
(sha256
|
||||
(base32
|
||||
"18v1vflq15915dwa3caf5sp1d1kp8w6plpaqk3z6a3164lwq5i76"))))
|
||||
"11fnznymwavpph733dayklhcx4phpjgrijfxlaszi122sg2x7ir9"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-rcpp r-sp r-terra))
|
||||
|
@ -11553,14 +11707,14 @@ results using @code{ggplot2}.")
|
|||
(define-public r-effectsize
|
||||
(package
|
||||
(name "r-effectsize")
|
||||
(version "0.6.0")
|
||||
(version "0.6.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "effectsize" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0xhibc868sngkc8v9g385vlhqdqxzy6b4mj1jihjy6wvk9jw266s"))))
|
||||
"1rhpbhyrv0avinm6dz6v2qw4xxdl9m1wknq1dv2flfxgcz0k9qiz"))))
|
||||
(properties `((upstream-name . "effectsize")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -12788,13 +12942,13 @@ Anderson-Darling Distribution\".")
|
|||
(define-public r-admisc
|
||||
(package
|
||||
(name "r-admisc")
|
||||
(version "0.22")
|
||||
(version "0.23")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "admisc" version))
|
||||
(sha256
|
||||
(base32 "1jwz9z3brq4lbnqrkxx40vrn47rknkkj4xfv2gi8kmf1mzc5aqcd"))))
|
||||
(base32 "0md0sygwdglyw7ss0dw6h235n70vpf25npp1q5b5nmb4db0fq80c"))))
|
||||
(properties `((upstream-name . "admisc")))
|
||||
(build-system r-build-system)
|
||||
(home-page "https://github.com/dusadrian/admisc")
|
||||
|
@ -12893,14 +13047,14 @@ redundant complex conjugate when the input is real data.")
|
|||
(define-public r-tiff
|
||||
(package
|
||||
(name "r-tiff")
|
||||
(version "0.1-10")
|
||||
(version "0.1-11")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "tiff" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1zha6bzb1rmfl6n2xjkygs9wfi3ah9cjr7a6jzk4zqc5kvl58lak"))))
|
||||
"0xgc7vyndxxahfhc2qqzmwi56bnfyl0pn72l820jz5sd24aymhxq"))))
|
||||
(build-system r-build-system)
|
||||
(inputs
|
||||
(list libtiff libjpeg-turbo zlib))
|
||||
|
@ -15226,6 +15380,38 @@ several common set, element and attribute related tasks.")
|
|||
effects from the jQuery UI library.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public r-shinymanager
|
||||
(package
|
||||
(name "r-shinymanager")
|
||||
(version "1.0.400")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "shinymanager" version))
|
||||
(sha256
|
||||
(base32 "1np2yp5pn8g9i4jhysfgprmdn13cpw4vaaagrd72rnk2r4hpmyx4"))))
|
||||
(properties `((upstream-name . "shinymanager")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-billboarder
|
||||
r-dbi
|
||||
r-dt
|
||||
r-htmltools
|
||||
r-openssl
|
||||
r-r-utils
|
||||
r-r6
|
||||
r-rsqlite
|
||||
r-scrypt
|
||||
r-shiny))
|
||||
(native-inputs (list r-knitr))
|
||||
(home-page "https://github.com/datastorm-open/shinymanager")
|
||||
(synopsis "Authentication management for Shiny applications")
|
||||
(description
|
||||
"This package provides simple and secure authentification mechanism for
|
||||
single Shiny applications. Credentials are stored in an encrypted SQLite
|
||||
database.")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public r-outliers
|
||||
(package
|
||||
(name "r-outliers")
|
||||
|
@ -15641,14 +15827,14 @@ probabilities from a standard bivariate normal CDF.")
|
|||
(define-public r-lavaan
|
||||
(package
|
||||
(name "r-lavaan")
|
||||
(version "0.6-9")
|
||||
(version "0.6-10")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "lavaan" version))
|
||||
(sha256
|
||||
(base32
|
||||
"12hhbwxaiprs9bmclwhhdpv42h4mrl4gj92zq3wk8rb883mw816l"))))
|
||||
"0dwc8rgrzyrrb0ivx297ln2qbrsxbpn6mdf7laiffhspdpml8sad"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-mass r-mnormt r-numderiv r-pbivnorm))
|
||||
|
@ -16522,13 +16708,13 @@ datum transformations.")
|
|||
(define-public r-spdep
|
||||
(package
|
||||
(name "r-spdep")
|
||||
(version "1.2-1")
|
||||
(version "1.2-2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "spdep" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ya39bgmzagrk4k51zd96l4xvnbc2vzmvd0z9qprdfvg9s6pik78"))
|
||||
"08sya6vy7s87h337g2fanncw6xx9y9z8nxpqalbdxv9vpsc6zx4l"))
|
||||
(snippet
|
||||
'(for-each delete-file '("inst/doc/CO69.html"
|
||||
"inst/doc/CO69.R"
|
||||
|
@ -19648,14 +19834,14 @@ emphasize hidden group structures in networks or focus on specific nodes.")
|
|||
(define-public r-terra
|
||||
(package
|
||||
(name "r-terra")
|
||||
(version "1.5-12")
|
||||
(version "1.5-17")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "terra" version))
|
||||
(sha256
|
||||
(base32
|
||||
"06fcjyzllw6dnzq0a7dc73v7rlpf250dyw41q0vr08y3x17c2p46"))))
|
||||
"1rz6dd78i3aq82vl9q4fw17y5cxj2pcmra5mlhb0ca1df78mgb77"))))
|
||||
(properties `((upstream-name . "terra")))
|
||||
(build-system r-build-system)
|
||||
(inputs
|
||||
|
@ -22294,14 +22480,14 @@ API; see the package vignette for details.")
|
|||
(define-public r-actuar
|
||||
(package
|
||||
(name "r-actuar")
|
||||
(version "3.2-0")
|
||||
(version "3.2-1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "actuar" version))
|
||||
(sha256
|
||||
(base32
|
||||
"015brjjgmkwmjajdjdw8gs02jrd96if425pk9a97d499hzsq3xds"))))
|
||||
"1avqgkls4xvwgfr6j7g2f7p474rlpi82q5aksw8nzf8wcyp7592f"))))
|
||||
(properties `((upstream-name . "actuar")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs (list r-expint))
|
||||
|
@ -22561,6 +22747,58 @@ and multivariate regression), and analysis of variance tolerance intervals.
|
|||
Visualizations are also available for most of these settings.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
;; Keep this in sync with the liblantern package.
|
||||
(define-public r-torch
|
||||
(package
|
||||
(name "r-torch")
|
||||
(version "0.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "torch" version))
|
||||
(sha256
|
||||
(base32 "05vxb84qxna1rpzqhjw6gwyc569zyz7rfbdkahglvihqjjwabc4x"))))
|
||||
(properties `((upstream-name . "torch")))
|
||||
(build-system r-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'install 'link-libraries
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((deps (string-append #$output "/site-library/torch/deps")))
|
||||
(mkdir-p deps)
|
||||
(symlink
|
||||
(search-input-file
|
||||
inputs "/lib/python3.9/site-packages/torch/lib/libtorch.so")
|
||||
(string-append deps "/libtorch.so"))
|
||||
(symlink
|
||||
(search-input-file
|
||||
inputs "/lib/liblantern.so")
|
||||
(string-append deps "/liblantern.so"))))))))
|
||||
(inputs
|
||||
(list python-pytorch-for-r-torch
|
||||
liblantern))
|
||||
(propagated-inputs
|
||||
(list r-bit64
|
||||
r-callr
|
||||
r-cli
|
||||
r-coro
|
||||
r-ellipsis
|
||||
r-magrittr
|
||||
r-r6
|
||||
r-rcpp
|
||||
r-rlang
|
||||
r-withr))
|
||||
(native-inputs (list r-knitr))
|
||||
(home-page "https://torch.mlverse.org/docs")
|
||||
(synopsis "Tensors and neural networks with GPU acceleration")
|
||||
(description
|
||||
"This package provides functionality to define and train neural networks
|
||||
similar to PyTorch but written entirely in R using the libtorch library. It
|
||||
also supports low-level tensor operations and GPU acceleration.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public r-additivitytests
|
||||
(package
|
||||
(name "r-additivitytests")
|
||||
|
@ -22880,6 +23118,30 @@ finding peaks in spectra, converting humidity measures.")
|
|||
from PLINK results.")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public r-gghighlight
|
||||
(package
|
||||
(name "r-gghighlight")
|
||||
(version "0.3.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "gghighlight" version))
|
||||
(sha256
|
||||
(base32 "0bxgn4srxz1qhawqa8ck57p8hg5ikwfa9ll03zmnn8fb19akwm2v"))))
|
||||
(properties `((upstream-name . "gghighlight")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-dplyr r-ggplot2 r-ggrepel r-lifecycle r-purrr r-rlang r-tibble))
|
||||
(native-inputs (list r-knitr))
|
||||
(home-page "https://github.com/yutannihilation/gghighlight/")
|
||||
(synopsis "Highlight lines and points in ggplot2")
|
||||
(description "Suppose we have data that has so many series that it is hard
|
||||
to identify them by their colors as the differences are so subtle. With
|
||||
gghighlight we can highlight those lines that match certain criteria. The
|
||||
result is a usual @code{ggplot} object, so it is fully customizable and can be
|
||||
used with custom themes and facets.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public r-ggplot-multistats
|
||||
(package
|
||||
(name "r-ggplot-multistats")
|
||||
|
@ -24990,13 +25252,13 @@ appropriate dog and cat images for many status codes.")
|
|||
(define-public r-latex2exp
|
||||
(package
|
||||
(name "r-latex2exp")
|
||||
(version "0.5.0")
|
||||
(version "0.9.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "latex2exp" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0qknpw7zwwbzsbry94j8fn48mq7kq5rc5448g9hybbisain3wfvg"))))
|
||||
"0hfixybyds1jxhyiy3p6256z0fxzc65r654jhc62q9cd3v86a5z6"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-stringr r-magrittr))
|
||||
|
@ -25891,14 +26153,14 @@ counting and recursive k-means partitioning.")
|
|||
(define-public r-hardhat
|
||||
(package
|
||||
(name "r-hardhat")
|
||||
(version "0.1.6")
|
||||
(version "0.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "hardhat" version))
|
||||
(sha256
|
||||
(base32
|
||||
"07mx8c24gy0xfmip9hb5w29gp10sfnpnilzc1pi0hjadnrqz8mks"))))
|
||||
"0a4nq93cmps5xy8h0qsv6xyzrbsz9ka4iwkrvb8m8v10wq7wm5wl"))))
|
||||
(properties `((upstream-name . "hardhat")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -26647,14 +26909,14 @@ model.")
|
|||
(define-public r-clusterr
|
||||
(package
|
||||
(name "r-clusterr")
|
||||
(version "1.2.5")
|
||||
(version "1.2.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "ClusterR" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1fsb9pzs1paw1cbyr5a56lfh8h2d50232p6isk0xg5sl110ql7kx"))))
|
||||
"00mha8madcba83ix4fc04rb7sagfm0lxlh1wvs7dvjdrngps41jr"))))
|
||||
(properties `((upstream-name . "ClusterR")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -28449,14 +28711,14 @@ rate speciation and extinction.")
|
|||
(define-public r-calculus
|
||||
(package
|
||||
(name "r-calculus")
|
||||
(version "0.3.2")
|
||||
(version "0.3.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "calculus" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1x3bcdd422wqv9gk9r2m8g19qcga220sm5rxdp4bgfc6vlqzzz7y"))))
|
||||
"1fhvr0l2mqik3d95v0vanafxmiab147g5a87q956g2i945wc5f22"))))
|
||||
(properties `((upstream-name . "calculus")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -28798,13 +29060,13 @@ performing ordinal regression.")
|
|||
(define-public r-paradox
|
||||
(package
|
||||
(name "r-paradox")
|
||||
(version "0.7.1")
|
||||
(version "0.8.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "paradox" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1difp0bzsfxcmbm1snahh3i6417k1a2w4mnjx65p20n2yiclmrgs"))))
|
||||
"1jfzbpqi1rp3r8hnk37dqwggp48ha5bnilmdz7dwzfdaskssycxa"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-backports r-checkmate r-data-table r-mlr3misc r-r6))
|
||||
|
@ -28855,13 +29117,13 @@ computational operations, add-on packages provide additional functionality.")
|
|||
(define-public r-mlr3learners
|
||||
(package
|
||||
(name "r-mlr3learners")
|
||||
(version "0.5.1")
|
||||
(version "0.5.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "mlr3learners" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1yc3mrk1b9h1k342wnw7sm4zmcw7w31l5ybh558g88f5hmibdl98"))))
|
||||
"1d9hcrnj622ynrzg0ii0fkhz2n66ip46yln21jq1pwpwkqwqzv35"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
(list r-checkmate
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -101,7 +101,16 @@
|
|||
"ath9k-htc-firmware-binutils.patch")))
|
||||
((target-mingw? target)
|
||||
(package-with-extra-patches
|
||||
binutils
|
||||
(package-with-extra-configure-variable
|
||||
;; mingw binutils does not work correctly when configured
|
||||
;; with `--enable-compressed-debug-sections`. An error
|
||||
;; like the following will occur whenever you try to link:
|
||||
;;
|
||||
;; x86_64-w64-mingw32-ld: final link failed: bad value
|
||||
;;
|
||||
;; TODO: This seems like a deeper problem that warrants
|
||||
;; deeper investigation.
|
||||
binutils "--enable-compressed-debug-sections" "no")
|
||||
(search-patches "binutils-mingw-w64-timestamp.patch"
|
||||
"binutils-mingw-w64-deterministic.patch")))
|
||||
(else binutils))
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
|
||||
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
||||
;;; Copyright © 2016 Christine Lemmer-Webber <cwebber@dustycloud.org>
|
||||
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
|
||||
;;; Copyright © 2016, 2017, 2018 Roel Janssen <roel@gnu.org>
|
||||
;;; Copyright © 2016 David Craven <david@craven.ch>
|
||||
|
@ -55,6 +55,7 @@
|
|||
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
|
||||
;;; Copyright © 2021 jgart <jgart@dismail.de>
|
||||
;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
|
||||
;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -132,6 +133,7 @@
|
|||
#:use-module (gnu packages python-science)
|
||||
#:use-module (gnu packages python-web)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages rdf)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages regex)
|
||||
|
@ -164,6 +166,7 @@
|
|||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system perl)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (guix build-system ruby)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system scons)
|
||||
|
@ -629,6 +632,59 @@ around TangentOrg’s libmemcached library, and can be used as a drop-in
|
|||
replacement for the code@{python-memcached} library.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public go-github-com-bradfitz-gomemcache
|
||||
(package
|
||||
(name "go-github-com-bradfitz-gomemcache")
|
||||
(version "0.0.0-20190913173617-a41fca850d0b")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/bradfitz/gomemcache")
|
||||
(commit (go-version->git-ref version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "18qpds6xr73jy80pj7l3pc1l1ndcy3va2dl8fzk17bgwg49sxwfz"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; Fixes the 'untyped-int -> string of one rune' issue.
|
||||
;; https://github.com/golang/go/issues/32479
|
||||
(substitute* "memcache/memcache_test.go"
|
||||
(("string\\(0x7f") "string(rune(0x7f)"))))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
'(#:unpack-path "github.com/bradfitz/gomemcache"
|
||||
#:import-path "github.com/bradfitz/gomemcache/memcache"))
|
||||
(home-page "https://github.com/bradfitz/gomemcache")
|
||||
(synopsis "Memcache client library in Go")
|
||||
(description
|
||||
"This is a memcache client library for the Go programming language.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public go-github-com-couchbase-gomemcached
|
||||
(package
|
||||
(name "go-github-com-couchbase-gomemcached")
|
||||
(version "0.1.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/couchbase/gomemcached")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "10w74gc05x5naspls39sv2r92krrg31mk266w3lyqqwc0s3fxysl"))))
|
||||
(build-system go-build-system)
|
||||
(arguments '(#:import-path "github.com/couchbase/gomemcached"))
|
||||
(native-inputs
|
||||
(list go-github-com-stretchr-testify))
|
||||
(home-page "https://github.com/couchbase/gomemcached")
|
||||
(synopsis "Memcached binary protocol toolkit for go")
|
||||
(description
|
||||
"This package provides memcache client and server functionality.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public litecli
|
||||
(package
|
||||
(name "litecli")
|
||||
|
@ -1263,6 +1319,85 @@ pictures, sounds, or video.")
|
|||
|
||||
(define-public postgresql postgresql-13)
|
||||
|
||||
(define-public timescaledb
|
||||
(package
|
||||
(name "timescaledb")
|
||||
(version "2.5.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/timescale/timescaledb")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"174dm3higa0i7al9r2hdv5hk36pd0d5fnqj57w5a350kxshxyvyw"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Remove files carrying the proprietary TIMESCALE license.
|
||||
'(begin
|
||||
(delete-file-recursively "tsl")
|
||||
(for-each delete-file
|
||||
'("test/perl/AccessNode.pm"
|
||||
"test/perl/DataNode.pm"
|
||||
"test/perl/TimescaleNode.pm"))))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list #:imported-modules `((guix build union)
|
||||
,@%cmake-build-system-modules)
|
||||
#:modules `(,@%cmake-build-system-modules
|
||||
(guix build union)
|
||||
(ice-9 match))
|
||||
#:configure-flags #~(list "-DAPACHE_ONLY=ON"
|
||||
"-DSEND_TELEMETRY_DEFAULT=OFF")
|
||||
#:test-target "regresschecklocal"
|
||||
#:phases
|
||||
#~(modify-phases (@ (guix build cmake-build-system) %standard-phases)
|
||||
(add-after 'unpack 'patch-install-location
|
||||
(lambda _
|
||||
;; Install extension to the output instead of the
|
||||
;; PostgreSQL store directory.
|
||||
(substitute* '("CMakeLists.txt"
|
||||
"cmake/GenerateScripts.cmake"
|
||||
"sql/CMakeLists.txt")
|
||||
(("\\$\\{PG_SHAREDIR\\}/extension")
|
||||
(string-append #$output "/share/extension")))
|
||||
;; Likewise for the library.
|
||||
(substitute* '("src/CMakeLists.txt"
|
||||
"src/loader/CMakeLists.txt")
|
||||
(("\\$\\{PG_PKGLIBDIR\\}")
|
||||
(string-append #$output "/lib")))))
|
||||
;; Run the tests after install to make it easier to create the
|
||||
;; required PostgreSQL+TimescaleDB filesystem union.
|
||||
(delete 'check)
|
||||
(add-after 'install 'prepare-tests
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((pg-data (string-append (getcwd) "/../pg-data"))
|
||||
(pg-union (string-append (getcwd) "/../pg-union")))
|
||||
(match inputs
|
||||
(((names . directories) ...)
|
||||
(union-build pg-union (cons #$output directories))))
|
||||
(setenv "PATH" (string-append pg-union "/bin:"
|
||||
(getenv "PATH")))
|
||||
(invoke "initdb" "-D" pg-data)
|
||||
(copy-file "test/postgresql.conf"
|
||||
(string-append pg-data "/postgresql.conf"))
|
||||
(invoke "pg_ctl" "-D" pg-data
|
||||
"-o" (string-append "-k " pg-data)
|
||||
"-l" (string-append pg-data "/db.log")
|
||||
"start"))))
|
||||
(add-after 'prepare-tests 'check
|
||||
(assoc-ref %standard-phases 'check)))))
|
||||
(inputs (list openssl postgresql))
|
||||
(home-page "https://www.timescale.com/")
|
||||
(synopsis "Time-series extension for PostgreSQL")
|
||||
(description
|
||||
"TimescaleDB is an database designed to make SQL scalable for
|
||||
time-series data. It is engineered up from PostgreSQL and packaged as a
|
||||
PostgreSQL extension, providing automatic partitioning across time and space
|
||||
(partitioning key), as well as full SQL support.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public pgloader
|
||||
(package
|
||||
(name "pgloader")
|
||||
|
@ -2321,6 +2456,55 @@ one-to-one, while still providing an idiomatic interface.")
|
|||
(home-page "https://github.com/redis/redis-rb")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-cupcake-rdb
|
||||
(package
|
||||
(name "go-github-com-cupcake-rdb")
|
||||
(version "0.0.0-20161107195141-43ba34106c76")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/tent/rdb")
|
||||
(commit (go-version->git-ref version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1l4bsn5yj8r875crz1rsk6dlvhv0bd8mgazsch5vl4c19v0fs2ib"))))
|
||||
(build-system go-build-system)
|
||||
(arguments '(#:import-path "github.com/cupcake/rdb"))
|
||||
(native-inputs
|
||||
(list go-gopkg-in-check-v1))
|
||||
(home-page "https://github.com/tent/rdb")
|
||||
(synopsis "Redis RDB parser for Go")
|
||||
(description
|
||||
"Package rdb implements parsing and encoding of the Redis RDB file format.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public go-github-com-gomodule-redigo
|
||||
(package
|
||||
(name "go-github-com-gomodule-redigo")
|
||||
(version "1.8.8")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/gomodule/redigo")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0wplaaxg7f6c6c08gdp33l48hygn8gq1rhlnjzr1c9qcggsm07k1"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
'(#:unpack-path "github.com/gomodule/redigo"
|
||||
#:import-path "github.com/gomodule/redigo/redis"))
|
||||
(native-inputs
|
||||
(list go-github-com-stretchr-testify
|
||||
redis))
|
||||
(home-page "https://github.com/gomodule/redigo")
|
||||
(synopsis "Go client for Redis")
|
||||
(description
|
||||
"Redigo is a Go client for the Redis database.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public kyotocabinet
|
||||
(package
|
||||
(name "kyotocabinet")
|
||||
|
@ -2610,6 +2794,34 @@ on another machine, accessed via TCP/IP.")
|
|||
(home-page "http://pqxx.org/")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public go-go-etcd-io-bbolt
|
||||
(package
|
||||
(name "go-go-etcd-io-bbolt")
|
||||
(version "1.3.6")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/etcd-io/bbolt")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0pj5245d417za41j6p09fmkbv05797vykr1bi9a6rnwddh1dbs8d"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "go.etcd.io/bbolt"
|
||||
;; Extending the test timeout to 30 minutes still times out on aarch64.
|
||||
#:tests? ,(not target-arm?)))
|
||||
(propagated-inputs
|
||||
(list go-golang-org-x-sys))
|
||||
(home-page "https://go.etcd.io/bbolt")
|
||||
(synopsis "Embedded key/value database for Go")
|
||||
(description "Bolt is a pure Go key/value store inspired by Howard Chu's
|
||||
LMDB project. The goal of the project is to provide a simple, fast, and
|
||||
reliable database for projects that don't require a full database server such as
|
||||
Postgres or MySQL.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-peewee
|
||||
(package
|
||||
(name "python-peewee")
|
||||
|
@ -2917,6 +3129,30 @@ etc., and an SQL engine for performing simple SQL queries.")
|
|||
(license (list license:lgpl2.0
|
||||
license:gpl2+))))
|
||||
|
||||
(define-public go-gopkg-in-mgo-v2
|
||||
(package
|
||||
(name "go-gopkg-in-mgo-v2")
|
||||
(version "2.0.0-20190816093944-a6b53ec6cb22")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gopkg.in/mgo.v2")
|
||||
(commit (go-version->git-ref version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1lgvwxsbmdrf4938qkxl56wbwgbphk2qqnmpf73qdmlv4qsg14na"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; Tests try to use a running mongodb server.
|
||||
#:import-path "gopkg.in/mgo.v2"))
|
||||
(native-inputs
|
||||
(list go-gopkg-in-check-v1))
|
||||
(home-page "https://gopkg.in/mgo.v2")
|
||||
(synopsis "MongoDB driver for Go")
|
||||
(description "This package provides a MongoDB driver for Go.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public python-lmdb
|
||||
(package
|
||||
(name "python-lmdb")
|
||||
|
@ -4319,3 +4555,45 @@ a handy text editor with language recognition, and visualize SELECT results in
|
|||
a Gtk.Grid Widget.")
|
||||
(home-page "https://github.com/Alecaddd/sequeler")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public sqlitebrowser
|
||||
(package
|
||||
(name "sqlitebrowser")
|
||||
(version "3.12.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/sqlitebrowser/sqlitebrowser")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1ljqzcx388mmni8lv9jz5r58alhsjrrqi4nzjnbfki94rn4ray6z"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
(delete-file-recursively "libs/qcustomplot-source/")
|
||||
(delete-file-recursively "libs/qscintilla")))))
|
||||
(build-system qt-build-system)
|
||||
(arguments
|
||||
(list #:configure-flags
|
||||
;; TODO: Unbundle QHexEdit.
|
||||
#~(list (string-append "-DQSCINTILLA_INCLUDE_DIR="
|
||||
#$(this-package-input "qscintilla")
|
||||
"/include/Qsci")
|
||||
"-DFORCE_INTERNAL_QCUSTOMPLOT=OFF"
|
||||
"-DENABLE_TESTING=ON")))
|
||||
(inputs
|
||||
(list qcustomplot
|
||||
qscintilla
|
||||
qtbase-5
|
||||
sqlite))
|
||||
(native-inputs (list qttools))
|
||||
(home-page "https://sqlitebrowser.org/")
|
||||
(synopsis "Database browser for SQLite")
|
||||
(description "Sqlitebrowser is a high quaility, visual, open source tool to
|
||||
create design, and edit database file compatible with SQLite.")
|
||||
(license
|
||||
;; dual license
|
||||
(list license:gpl3+
|
||||
license:mpl2.0))))
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
|
||||
;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
|
||||
;;; Copyright © 2022 Michael Rohleder <mike@rohleder.de>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -132,8 +133,8 @@ program to exhibit a bug.")
|
|||
(native-inputs (list flex))
|
||||
(inputs
|
||||
`(("astyle" ,astyle)
|
||||
("llvm" ,llvm)
|
||||
("clang" ,clang)
|
||||
("llvm" ,llvm-9)
|
||||
("clang" ,clang-9)
|
||||
("indent" ,indent)
|
||||
("perl" ,perl)
|
||||
("exporter-lite" ,perl-exporter-lite)
|
||||
|
@ -615,7 +616,7 @@ error reporting, better tracing, profiling, and a debugger.")
|
|||
(define-public rr
|
||||
(package
|
||||
(name "rr")
|
||||
(version "5.4.0")
|
||||
(version "5.5.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -623,7 +624,7 @@ error reporting, better tracing, profiling, and a debugger.")
|
|||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"1sfldgkkmsdyaqa28i5agcykc63gwm3zjihd64g86i852w8al2w6"))
|
||||
"079x891axkiy8qbvjar9vbaldlx7pm9p0i3nq6infdc66nc69635"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
|
@ -745,13 +746,13 @@ use than similar tools like @command{mtrace}.")
|
|||
(define-public cgdb
|
||||
(package
|
||||
(name "cgdb")
|
||||
(version "0.7.1")
|
||||
(version "0.8.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://cgdb.me/files/cgdb-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1671gpz5gx5j0zga8xy2x7h33vqh3nij93lbb6dbb366ivjknwmv"))))
|
||||
(base32 "1w8ib2vg3pg68d9hh97fw5042c73i9nqavdddc87n9bpscjbaf0d"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(list ncurses readline))
|
||||
|
|
|
@ -186,7 +186,7 @@
|
|||
hdf5
|
||||
imagemagick
|
||||
libarchive
|
||||
llvm
|
||||
llvm-9
|
||||
lz4
|
||||
mono
|
||||
ocaml
|
||||
|
|
|
@ -53,13 +53,13 @@
|
|||
(define-public python-django-4.0
|
||||
(package
|
||||
(name "python-django")
|
||||
(version "4.0.1")
|
||||
(version "4.0.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "Django" version))
|
||||
(sha256
|
||||
(base32
|
||||
"11pg33ib43pvkflgvs5gs6c9zflhpxp8dvhd109swfscrjiyx194"))))
|
||||
"0jlmxylag7dah9jl3wm2swnn9kbisx1gqnddfbh5kjifn67va3qi"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
|
@ -140,13 +140,13 @@ to the @dfn{don't repeat yourself} (DRY) principle.")
|
|||
(define-public python-django-3.2
|
||||
(package
|
||||
(inherit python-django-4.0)
|
||||
(version "3.2.11")
|
||||
(version "3.2.12")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "Django" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0xbyl9fh9lk5hiwpw46s6hz98gs0fixrpq3myj5hh6vbbnz4mjb9"))))
|
||||
"1qj1kvb6mk2f4b33n4n5l4rh5kqllrk2v0v076crxr83ay9ycwlp"))))
|
||||
(native-search-paths '()) ;no need for TZDIR
|
||||
(propagated-inputs
|
||||
(modify-inputs (package-propagated-inputs python-django-4.0)
|
||||
|
@ -156,13 +156,13 @@ to the @dfn{don't repeat yourself} (DRY) principle.")
|
|||
(define-public python-django-2.2
|
||||
(package
|
||||
(inherit python-django-3.2)
|
||||
(version "2.2.26")
|
||||
(version "2.2.27")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "Django" version))
|
||||
(sha256
|
||||
(base32
|
||||
"13siv3bcb2yrpzzsq2k0f1yc70ya8jkmaa5kc8x29ijjglk3g9fz"))))
|
||||
"04y9knxd8v9jn54ws5rbdwxyq5im69kx009s7gl62axzn1371qqy"))))
|
||||
(native-inputs
|
||||
(modify-inputs (package-native-inputs python-django-3.2)
|
||||
(prepend ;; 2.2 requires Selenium for the test suite.
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix utils)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages glib)
|
||||
|
@ -48,7 +49,8 @@
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ra0ii805w3rrs0qqbjxzl6i79ksz42lnvbglw18h4igkza21kzj"))))
|
||||
"1ra0ii805w3rrs0qqbjxzl6i79ksz42lnvbglw18h4igkza21kzj"))
|
||||
(patches (search-patches "dunst-1.7.3-fix-crash.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no check target
|
||||
|
|
|
@ -198,7 +198,7 @@ with Microsoft Compiled HTML (CHM) files")
|
|||
("python-pychm" ,python-pychm)
|
||||
("python-pycryptodome" ,python-pycryptodome)
|
||||
("python-pygments" ,python-pygments)
|
||||
("python-pyqt" ,python-pyqt)
|
||||
("python-pyqt-without-qtwebkit" ,python-pyqt-without-qtwebkit)
|
||||
("python-pyqtwebengine" ,python-pyqtwebengine)
|
||||
("python-regex" ,python-regex)
|
||||
("python-speechd" ,speech-dispatcher)
|
||||
|
@ -238,7 +238,7 @@ with Microsoft Compiled HTML (CHM) files")
|
|||
(add-before 'build 'configure
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((podofo (assoc-ref inputs "podofo"))
|
||||
(pyqt (assoc-ref inputs "python-pyqt"))
|
||||
(pyqt (assoc-ref inputs "python-pyqt-without-qtwebkit"))
|
||||
(python-sip (assoc-ref inputs "python-sip"))
|
||||
(out (assoc-ref outputs "out")))
|
||||
(substitute* "setup/build.py"
|
||||
|
|
|
@ -869,7 +869,7 @@ stored and user can review his performance in any time.")
|
|||
("python-pyaudio" ,python-pyaudio)
|
||||
;; `python-pyqtwebengine' must precede `python-pyqt' in PYTHONPATH.
|
||||
("python-pyqtwebengine" ,python-pyqtwebengine)
|
||||
("python-pyqt" ,python-pyqt)
|
||||
("python-pyqt" ,python-pyqt-without-qtwebkit)
|
||||
("python-requests" ,python-requests)
|
||||
("python-send2trash" ,python-send2trash)
|
||||
("python-sip" ,python-sip)
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
;;; Copyright © 2019 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2021 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -21,11 +22,12 @@
|
|||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages electronics)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (gnu packages)
|
||||
|
@ -34,11 +36,14 @@
|
|||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages c)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages embedded)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages gawk)
|
||||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages graphviz)
|
||||
#:use-module (gnu packages gtk)
|
||||
|
@ -48,7 +53,10 @@
|
|||
#:use-module (gnu packages m4)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages qt))
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages sdl)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages stb))
|
||||
|
||||
(define-public libserialport
|
||||
(package
|
||||
|
@ -240,6 +248,116 @@ supported devices, as well as input/output file format support.")
|
|||
(description "Sigrok-cli is a command-line frontend for sigrok.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public openboardview
|
||||
(package
|
||||
(name "openboardview")
|
||||
(version "8.95.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/OpenBoardView/OpenBoardView")
|
||||
(commit version)
|
||||
(recursive? #t))) ;for the "src/imgui" submodule
|
||||
(file-name (git-file-name name version))
|
||||
(modules '((ice-9 ftw)
|
||||
(srfi srfi-26)
|
||||
(guix build utils)))
|
||||
(snippet
|
||||
'(with-directory-excursion "src"
|
||||
;; Keep the bundled ImGui for now, as in the current version
|
||||
;; (~1.79), it requires the glad loader generated at build
|
||||
;; time as an input.
|
||||
(define keep (list "." ".." "imgui" "openboardview"))
|
||||
(for-each (lambda (f)
|
||||
(when (eq? 'directory (stat:type (lstat f)))
|
||||
(delete-file-recursively f)))
|
||||
(scandir "." (negate (cut member <> keep))))))
|
||||
(patches
|
||||
(search-patches "openboardview-use-system-utf8.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"16mrs7bimwp8a8lb2wqhfisy6j0hl9574l4h9yb66v46aglvmd3h"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;no test suite
|
||||
#:imported-modules `((guix build glib-or-gtk-build-system)
|
||||
,@%cmake-build-system-modules)
|
||||
#:modules '((guix build cmake-build-system)
|
||||
(guix build utils)
|
||||
((guix build glib-or-gtk-build-system) #:prefix gtk:))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'remove-timestamps
|
||||
(lambda _
|
||||
;; The __TIMESTAMP__ CPP macro does apparently not honor
|
||||
;; SOURCE_EPOCH_DATE. Patch it to use __DATE__ instead, which
|
||||
;; does (see:
|
||||
;; https://github.com/OpenBoardView/OpenBoardView/issues/229 and
|
||||
;; https://issues.guix.gnu.org/53647).
|
||||
(substitute* '("src/openboardview/BoardView.cpp"
|
||||
"src/openboardview/main_opengl.cpp")
|
||||
(("__TIMESTAMP__")
|
||||
"__DATE__"))))
|
||||
(add-before 'configure 'configure-glad
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "src/CMakeLists.txt"
|
||||
(("add_subdirectory\\(glad\\)")
|
||||
(string-append
|
||||
;; Configure Glad to use static Khronos XML specifications
|
||||
;; instead of attempting to fetch them from the Internet.
|
||||
"option(GLAD_REPRODUCIBLE \"Reproducible build\" ON)\n"
|
||||
;; Use the CMake files from our glad package.
|
||||
"add_subdirectory("
|
||||
(search-input-directory inputs "share/glad") ;source_dir
|
||||
" src/glad)\n"))))) ;binary dir
|
||||
(add-before 'configure 'fix-utf8-include-directive
|
||||
;; Our utf8-h package makes the header available as "utf8.h"
|
||||
;; directly rather than "utf8/utf8.h".
|
||||
(lambda _
|
||||
(substitute* '("src/openboardview/FileFormats/BRDFile.cpp"
|
||||
"src/openboardview/BoardView.cpp")
|
||||
(("utf8/utf8.h") "utf8.h"))))
|
||||
(add-before 'configure 'dynamically-load-gtk-via-absolute-path
|
||||
;; The GTK library is not linked thus not present in the RUNPATH of
|
||||
;; the produced binary; the absolute path of the libraries must to
|
||||
;; the dynamic loader otherwise they aren't found.
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "src/openboardview/unix.cpp"
|
||||
(("libgtk-3.so")
|
||||
(search-input-file inputs "lib/libgtk-3.so")))))
|
||||
;; Add the two extra phases from `glib-or-gtk-build-system'.
|
||||
(add-after 'install 'glib-or-gtk-compile-schemas
|
||||
(assoc-ref gtk:%standard-phases 'glib-or-gtk-compile-schemas))
|
||||
(add-after 'install 'glib-or-gtk-wrap
|
||||
(assoc-ref gtk:%standard-phases 'glib-or-gtk-wrap)))))
|
||||
(native-inputs
|
||||
(list pkg-config
|
||||
python
|
||||
glad
|
||||
stb-image
|
||||
utf8-h))
|
||||
(inputs
|
||||
(list fontconfig
|
||||
gtk+
|
||||
sdl2
|
||||
sqlite
|
||||
zlib))
|
||||
(home-page "https://openboardview.org/")
|
||||
(synopsis "Viewer for BoardView files")
|
||||
(description "OpenBoardView is a viewer for BoardView files, which present
|
||||
the details of a printed circuit board (PCB). It comes with features
|
||||
such as:
|
||||
@itemize
|
||||
@item Dynamic part outline rendering, including complex connectors
|
||||
@item Annotations, for leaving notes about parts, nets, pins or location
|
||||
@item Configurable colour themes
|
||||
@item Configurable DPI to facilitate usage on 4K monitors
|
||||
@item Configurable for running on slower systems
|
||||
@item Reads FZ (with key), BRD, BRD2, BDV and BV* formats.
|
||||
@end itemize")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public pulseview
|
||||
(package
|
||||
(name "pulseview")
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017, 2018, 2019, 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018, 2020 Marius Bakke <mbakke@fastmail.com>
|
||||
|
@ -98,7 +98,14 @@
|
|||
(lambda _
|
||||
(substitute* "tests/Makefile.in"
|
||||
(("run-backtrace-native.sh") ""))
|
||||
#t)))))
|
||||
#t))
|
||||
,@(if (target-riscv64?)
|
||||
`((add-after 'unpack 'disable-failing-riscv64-test
|
||||
(lambda _
|
||||
;; dwfl_thread_getframes: No DWARF information found
|
||||
(substitute* "tests/Makefile.in"
|
||||
(("run-backtrace-dwarf.sh") "")))))
|
||||
'()))))
|
||||
|
||||
(native-inputs (list m4))
|
||||
(inputs (list zlib))
|
||||
|
@ -274,4 +281,7 @@ static analysis of the ELF binaries at hand.")
|
|||
(description
|
||||
"PatchELF allows the ELF \"interpreter\" and RPATH of an ELF binary to be
|
||||
changed.")
|
||||
;; This can probably be removed with the next release.
|
||||
(properties
|
||||
'((release-monitoring-url . "https://github.com/NixOS/patchelf/releases")))
|
||||
(license gpl3+)))
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
(define-module (gnu packages elixir)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (gnu packages)
|
||||
|
@ -35,7 +36,7 @@
|
|||
(define-public elixir
|
||||
(package
|
||||
(name "elixir")
|
||||
(version "1.12.3")
|
||||
(version "1.13.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -44,59 +45,60 @@
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "07fisdx755cgyghwy95gvdds38sh138z56biariml18jjw5mk3r6"))
|
||||
(base32 "1d3mk7abn3rk536vmsfbm4smj52rljff6s40sndg0i7p6dl3kzxa"))
|
||||
(patches (search-patches "elixir-path-length.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:test-target "test"
|
||||
#:parallel-tests? #f ;see <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=32171#23>
|
||||
#:make-flags (list (string-append "PREFIX="
|
||||
(assoc-ref %outputs "out")))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'make-git-checkout-writable
|
||||
(lambda _
|
||||
(for-each make-file-writable (find-files "."))))
|
||||
(add-after 'make-git-checkout-writable 'replace-paths
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(substitute* '("lib/elixir/lib/system.ex"
|
||||
"lib/mix/lib/mix/scm/git.ex")
|
||||
(("(cmd\\(['\"])git" _ prefix)
|
||||
(string-append prefix (which "git"))))
|
||||
(substitute* '("lib/mix/lib/mix/release.ex"
|
||||
"lib/mix/lib/mix/tasks/release.init.ex")
|
||||
(("#!/bin/sh")
|
||||
(string-append "#!" (which "sh"))))
|
||||
(substitute* "bin/elixir"
|
||||
(("ERTS_BIN=")
|
||||
(string-append
|
||||
"ERTS_BIN="
|
||||
;; Elixir Releases will prepend to ERTS_BIN the path of a copy of erl.
|
||||
;; We detect if a release is being generated by checking the initial ERTS_BIN
|
||||
;; value: if it's empty, we are not in release mode and can point to the actual
|
||||
;; erl binary in Guix store.
|
||||
"\nif [ -z \"$ERTS_BIN\" ]; then ERTS_BIN="
|
||||
(string-drop-right (which "erl") 3)
|
||||
"; fi")))
|
||||
(substitute* "bin/mix"
|
||||
(("#!/usr/bin/env elixir")
|
||||
(string-append "#!" out "/bin/elixir"))))))
|
||||
(add-before 'build 'make-current
|
||||
;; The Elixir compiler checks whether or not to compile files by
|
||||
;; inspecting their timestamps. When the timestamp is equal to the
|
||||
;; epoch no compilation will be performed. Some tests fail when
|
||||
;; files are older than Jan 1, 2000.
|
||||
(lambda _
|
||||
(for-each (lambda (file)
|
||||
(let ((recent 1400000000))
|
||||
(utime file recent recent 0 0)))
|
||||
(find-files "." ".*"))))
|
||||
(add-before 'check 'set-home
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; Some tests require access to a home directory.
|
||||
(setenv "HOME" "/tmp")))
|
||||
(delete 'configure))))
|
||||
(list
|
||||
#:test-target "test"
|
||||
#:parallel-tests? #f ;see <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=32171#23>
|
||||
#:make-flags #~(list (string-append "PREFIX=" #$output))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'make-git-checkout-writable
|
||||
(lambda _
|
||||
(for-each make-file-writable (find-files "."))))
|
||||
(add-after 'make-git-checkout-writable 'replace-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* '("lib/elixir/lib/system.ex"
|
||||
"lib/mix/lib/mix/scm/git.ex")
|
||||
(("(cmd\\(['\"])git" _ prefix)
|
||||
(string-append prefix
|
||||
(search-input-file inputs "/bin/git"))))
|
||||
(substitute* '("lib/mix/lib/mix/release.ex"
|
||||
"lib/mix/lib/mix/tasks/release.init.ex")
|
||||
(("#!/bin/sh")
|
||||
(string-append "#!" (search-input-file inputs "sh"))))
|
||||
(substitute* "bin/elixir"
|
||||
(("^ERTS_BIN=$")
|
||||
(string-append
|
||||
"ERTS_BIN="
|
||||
;; Elixir Releases will prepend to ERTS_BIN the path of
|
||||
;; a copy of erl. We detect if a release is being generated
|
||||
;; by checking the initial ERTS_BIN value: if it's empty, we
|
||||
;; are not in release mode and can point to the actual erl
|
||||
;; binary in Guix store.
|
||||
"\nif [ -z \"$ERTS_BIN\" ]; then ERTS_BIN="
|
||||
(string-drop-right (search-input-file inputs "/bin/erl") 3)
|
||||
"; fi\n")))
|
||||
(substitute* "bin/mix"
|
||||
(("#!/usr/bin/env elixir")
|
||||
(string-append "#!" #$output "/bin/elixir")))))
|
||||
(add-before 'build 'make-current
|
||||
;; The Elixir compiler checks whether or not to compile files by
|
||||
;; inspecting their timestamps. When the timestamp is equal to the
|
||||
;; epoch no compilation will be performed. Some tests fail when
|
||||
;; files are older than Jan 1, 2000.
|
||||
(lambda _
|
||||
(for-each (lambda (file)
|
||||
(let ((recent 1400000000))
|
||||
(utime file recent recent 0 0)))
|
||||
(find-files "." ".*"))))
|
||||
(add-before 'check 'set-home
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; Some tests require access to a home directory.
|
||||
(setenv "HOME" "/tmp")))
|
||||
(delete 'configure))))
|
||||
(inputs
|
||||
(list erlang git))
|
||||
(home-page "https://elixir-lang.org/")
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1711,7 +1711,7 @@ This is a part of the TiLP project.")
|
|||
(define-public mame
|
||||
(package
|
||||
(name "mame")
|
||||
(version "0.239")
|
||||
(version "0.240")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -1720,7 +1720,7 @@ This is a part of the TiLP project.")
|
|||
(commit (apply string-append "mame" (string-split version #\.)))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "02by0pq0j8pi5dllk90g94nbszynp9wqg75bl5x8bqrc7h80a0dq"))
|
||||
(base32 "141mj5kzafnbw6nqlc3ariwxqn8lq3s13dzypax6igpy4wfy75rm"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Remove bundled libraries.
|
||||
|
@ -1745,50 +1745,47 @@ This is a part of the TiLP project.")
|
|||
"pugixml" "rapidjson" "sqlite3" "utf8proc" "zlib")))
|
||||
#:tests? #f ;no test in regular release
|
||||
#:phases
|
||||
`(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(add-after 'build 'build-documentation
|
||||
(lambda _ (invoke "make" "-C" "docs" "man" "info")))
|
||||
(replace 'install
|
||||
;; Upstream does not provide an installation phase.
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(share (string-append out "/share/mame")))
|
||||
;; Install data.
|
||||
(for-each (lambda (dir)
|
||||
(copy-recursively dir (string-append share "/" dir)))
|
||||
'("artwork" "bgfx" "ctrlr" "hash" "ini" "language"
|
||||
"plugins" "samples"))
|
||||
(let ((keymaps (string-append share "/keymaps")))
|
||||
(for-each (lambda (file) (install-file file keymaps))
|
||||
(find-files "keymaps" ".*LINUX\\.map")))
|
||||
(let ((fonts (string-append share "/fonts")))
|
||||
(install-file "uismall.bdf" fonts))
|
||||
(when (file-exists? "mame64")
|
||||
(rename-file "mame64" "mame"))
|
||||
(install-file "mame" (string-append out "/bin")))))
|
||||
(add-after 'install 'install-documentation
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(man (string-append out "/share/man/man1"))
|
||||
(info (string-append out "/share/info")))
|
||||
(install-file "docs/build/man/MAME.1" man)
|
||||
(install-file "docs/build/texinfo/MAME.info" info))))
|
||||
(add-after 'install 'install-ini-file
|
||||
;; Generate an ini file so as to set some directories (e.g., roms)
|
||||
;; to a writable location, i.e., "$HOME/.mame/" and "$HOME/mame/".
|
||||
;;
|
||||
;; XXX: We need to insert absolute references to the store. It can
|
||||
;; be an issue if they leak into user's home directory, e.g., with
|
||||
;; "mame -createconfig" and the package is later GC'ed.
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(share (string-append out "/share/mame"))
|
||||
(ini (string-append share "/ini")))
|
||||
(with-output-to-file (string-append ini "/mame.ini")
|
||||
(lambda _
|
||||
(format #t
|
||||
"inipath $HOME/.mame;~a/ini~@
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(add-after 'build 'build-documentation
|
||||
(lambda _ (invoke "make" "-C" "docs" "man" "info")))
|
||||
(replace 'install
|
||||
;; Upstream does not provide an installation phase.
|
||||
(lambda _
|
||||
(let ((share (string-append #$output "/share/mame")))
|
||||
;; Install data.
|
||||
(for-each (lambda (dir)
|
||||
(copy-recursively dir (string-append share "/" dir)))
|
||||
'("artwork" "bgfx" "ctrlr" "hash" "ini" "language"
|
||||
"plugins" "samples"))
|
||||
(let ((keymaps (string-append share "/keymaps")))
|
||||
(for-each (lambda (file) (install-file file keymaps))
|
||||
(find-files "keymaps" ".*LINUX\\.map")))
|
||||
(let ((fonts (string-append share "/fonts")))
|
||||
(install-file "uismall.bdf" fonts))
|
||||
(when (file-exists? "mame64")
|
||||
(rename-file "mame64" "mame"))
|
||||
(install-file "mame" (string-append #$output "/bin")))))
|
||||
(add-after 'install 'install-documentation
|
||||
(lambda _
|
||||
(let ((man (string-append #$output "/share/man/man1"))
|
||||
(info (string-append #$output "/share/info")))
|
||||
(install-file "docs/build/man/MAME.1" man)
|
||||
(install-file "docs/build/texinfo/MAME.info" info))))
|
||||
(add-after 'install 'install-ini-file
|
||||
;; Generate an ini file so as to set some directories (e.g., roms)
|
||||
;; to a writable location, i.e., "$HOME/.mame/" and "$HOME/mame/".
|
||||
;;
|
||||
;; XXX: We need to insert absolute references to the store. It can
|
||||
;; be an issue if they leak into user's home directory, e.g., with
|
||||
;; "mame -createconfig" and the package is later GC'ed.
|
||||
(lambda _
|
||||
(let* ((share (string-append #$output "/share/mame"))
|
||||
(ini (string-append share "/ini")))
|
||||
(with-output-to-file (string-append ini "/mame.ini")
|
||||
(lambda _
|
||||
(format #t
|
||||
"inipath $HOME/.mame;~a/ini~@
|
||||
homepath $HOME/mame~@
|
||||
rompath $HOME/mame/roms~@
|
||||
samplepath $HOME/mame/samples;~a/samples~@
|
||||
|
@ -1808,12 +1805,12 @@ This is a part of the TiLP project.")
|
|||
state_directory $HOME/.mame/sta~@
|
||||
diff_directory $HOME/.mame/diff~@
|
||||
comment_directory $HOME/.mame/comments~%"
|
||||
share share share share share share share share
|
||||
share)))
|
||||
(with-output-to-file (string-append ini "/ui.ini")
|
||||
(lambda _
|
||||
(format #t
|
||||
"historypath $HOME/mame/history~@
|
||||
share share share share share share share share
|
||||
share)))
|
||||
(with-output-to-file (string-append ini "/ui.ini")
|
||||
(lambda _
|
||||
(format #t
|
||||
"historypath $HOME/mame/history~@
|
||||
categorypath $HOME/mame/folders~@
|
||||
cabinets_directory $HOME/mame/cabinets~@
|
||||
cpanels_directory $HOME/mame/cpanel~@
|
||||
|
@ -1833,16 +1830,15 @@ This is a part of the TiLP project.")
|
|||
icons_directory $HOME/mame/icons~@
|
||||
covers_directory $HOME/mame/covers~@
|
||||
ui_path $HOME/.mame/ui~%"))))))
|
||||
(add-after 'install 'install-desktop-file
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(desktop (string-append out "/share/applications"))
|
||||
(executable (string-append out "/bin/mame")))
|
||||
(mkdir-p desktop)
|
||||
(with-output-to-file (string-append desktop "/mame.desktop")
|
||||
(lambda _
|
||||
(format #t
|
||||
"[Desktop Entry]~@
|
||||
(add-after 'install 'install-desktop-file
|
||||
(lambda _
|
||||
(let ((desktop (string-append #$output "/share/applications"))
|
||||
(executable (string-append #$output "/bin/mame")))
|
||||
(mkdir-p desktop)
|
||||
(with-output-to-file (string-append desktop "/mame.desktop")
|
||||
(lambda _
|
||||
(format #t
|
||||
"[Desktop Entry]~@
|
||||
Name=mame~@
|
||||
Comment=Multi-purpose emulation framework~@
|
||||
Exec=~a~@
|
||||
|
@ -1851,7 +1847,7 @@ This is a part of the TiLP project.")
|
|||
Type=Application~@
|
||||
Categories=Game;Emulator;~@
|
||||
Keywords=Game;Emulator;Arcade;~%"
|
||||
executable)))))))))
|
||||
executable)))))))))
|
||||
(native-inputs
|
||||
(list pkg-config
|
||||
python-sphinx
|
||||
|
@ -1907,51 +1903,45 @@ functions. The source code to MAME serves as this documentation.")
|
|||
"1qc01a62p65qb6mwjfmxqsd6n3rglsfwrjhsp25nr7q54107n55l"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; No tests.
|
||||
#:configure-flags (list
|
||||
(string-append "-DMAME_BIN=\""
|
||||
(assoc-ref %build-inputs "mame")
|
||||
"/bin/mame\"")
|
||||
(string-append "-DAPP_RES=\""
|
||||
(assoc-ref %outputs "out")
|
||||
"/share/gnome-arcade/\""))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'build 'fix-paths
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(pk 'cwd (getcwd))
|
||||
(substitute* "../source/src/config.c"
|
||||
(("/usr/share") (string-append out "/share"))))
|
||||
#t))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(rom (string-append out "/share/gnome-arcade/data/rom"))
|
||||
(tile (string-append out "/share/gnome-arcade/data/tile")))
|
||||
(mkdir-p bin)
|
||||
(install-file "../gnome-arcade" bin)
|
||||
(copy-recursively "../source/res"
|
||||
(string-append out "/share/gnome-arcade/res"))
|
||||
(mkdir-p rom)
|
||||
(install-file "../source/data/rom/ROM.TXT" rom)
|
||||
(mkdir-p tile)
|
||||
(install-file "../source/data/tile/TILE.TXT" tile))
|
||||
#t)))))
|
||||
(list
|
||||
#:tests? #f ; No tests.
|
||||
#:configure-flags
|
||||
#~(list
|
||||
(string-append "-DMAME_BIN=\""
|
||||
#$(this-package-input "mame")
|
||||
"/bin/mame\"")
|
||||
(string-append "-DAPP_RES=\"" #$output "/share/gnome-arcade/\""))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'build 'fix-paths
|
||||
(lambda _
|
||||
(substitute* "../source/src/config.c"
|
||||
(("/usr/share") (string-append #$output "/share")))))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(let ((bin (string-append #$output "/bin"))
|
||||
(rom (string-append #$output
|
||||
"/share/gnome-arcade/data/rom"))
|
||||
(tile (string-append #$output
|
||||
"/share/gnome-arcade/data/tile")))
|
||||
(mkdir-p bin)
|
||||
(install-file "../gnome-arcade" bin)
|
||||
(copy-recursively "../source/res"
|
||||
(string-append #$output
|
||||
"/share/gnome-arcade/res"))
|
||||
(mkdir-p rom)
|
||||
(install-file "../source/data/rom/ROM.TXT" rom)
|
||||
(mkdir-p tile)
|
||||
(install-file "../source/data/tile/TILE.TXT" tile)))))))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
`(("mame" ,mame)
|
||||
("gtk" ,gtk+)
|
||||
("libevdev" ,libevdev)
|
||||
("libvlc" ,vlc)
|
||||
("libarchive" ,libarchive)))
|
||||
(list gtk+ libarchive libevdev mame vlc))
|
||||
(home-page "https://github.com/strippato/gnome-arcade")
|
||||
(synopsis "Minimal MAME frontend")
|
||||
(description
|
||||
"A minimal GTK+ frontend for MAME, the multi-purpose arcade and console
|
||||
emulator.")
|
||||
"Gnome Arcade is a minimal GTK+ frontend for MAME, the multi-purpose
|
||||
arcade and console emulator.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public pcsxr
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
|
||||
;;; Copyright © 2016, 2018, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2018, 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 David Thompson <davet@gnu.org>
|
||||
;;; Copyright © 2016, 2017, 2018, 2019, 2021 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016, 2017, 2018 Theodoros Foradis <theodoros@foradis.org>
|
||||
|
@ -25,8 +25,9 @@
|
|||
;;; Copyright © 2021 Gerd Heber <gerd.heber@gmail.com>
|
||||
;;; Copyright © 2021, 2022 Guillaume Le Vaillant <glv@posteo.net>
|
||||
;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru>
|
||||
;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
|
||||
;;; Copyright © 2021, 2022 Petr Hodina <phodina@protonmail.com>
|
||||
;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
|
||||
;;; Copyright © 2022 Evgeny Pisemsky <evgeny@pisemsky.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -64,6 +65,7 @@
|
|||
#:use-module (gnu packages algebra)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages bdw-gc)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages boost)
|
||||
|
@ -118,6 +120,7 @@
|
|||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages ruby)
|
||||
#:use-module (gnu packages serialization)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages swig)
|
||||
|
@ -147,7 +150,9 @@
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"08cl4935c9vznz9qdw1zgd86rn7hl64zpfayxl07x21bhf53pn24"))))
|
||||
"08cl4935c9vznz9qdw1zgd86rn7hl64zpfayxl07x21bhf53pn24"))
|
||||
(patches
|
||||
(search-patches "librecad-support-for-boost-1.76.patch"))))
|
||||
(build-system qt-build-system)
|
||||
(arguments
|
||||
'(#:test-target "check"
|
||||
|
@ -925,28 +930,28 @@ Emacs).")
|
|||
(define-public kicad
|
||||
(package
|
||||
(name "kicad")
|
||||
(version "5.1.12")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.com/kicad/code/kicad.git")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32 "0kgikchqxds3mp71nkg307mr4c1dgv8akbmksz4w9x8jg4i1mfqq"))
|
||||
(file-name (git-file-name name version))))
|
||||
(version "6.0.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.com/kicad/code/kicad.git")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"1vpcbhhw8844hm6vpk3kk405wak531pvcvcpc66z0b48iprk3imr"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:out-of-source? #t
|
||||
#:tests? #f ; no tests
|
||||
#:tests? #f ;no tests
|
||||
#:build-type "Release"
|
||||
#:configure-flags
|
||||
,#~(list
|
||||
"-DKICAD_SCRIPTING_PYTHON3=ON"
|
||||
"-DKICAD_SCRIPTING_WXPYTHON_PHOENIX=ON"
|
||||
"-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE"
|
||||
(string-append "-DOCC_INCLUDE_DIR="
|
||||
#$(this-package-input "opencascade-occt") "/include/opencascade"))
|
||||
,#~(list "-DKICAD_SCRIPTING_PYTHON3=ON"
|
||||
(string-append "-DOCC_INCLUDE_DIR="
|
||||
#$(this-package-input "opencascade-occt")
|
||||
"/include/opencascade")
|
||||
"-DKICAD_SCRIPTING_WXPYTHON_PHOENIX=ON"
|
||||
"-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-ngspice-detection
|
||||
|
@ -966,102 +971,68 @@ Emacs).")
|
|||
(substitute* "common/lib_tree_model.cpp"
|
||||
(("#include <eda_pattern_match.h>" all)
|
||||
(string-append "#include <algorithm>\n" all)))))
|
||||
(add-after 'install 'install-translations
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(copy-recursively (assoc-ref inputs "kicad-i18n")
|
||||
(assoc-ref outputs "out"))
|
||||
#t))
|
||||
(add-after 'install 'wrap-program
|
||||
;; Ensure correct Python at runtime.
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(python (assoc-ref inputs "python"))
|
||||
(file (string-append out "/bin/kicad"))
|
||||
(path (string-append
|
||||
out
|
||||
"/lib/python"
|
||||
,(version-major+minor
|
||||
(package-version python))
|
||||
"/site-packages:"
|
||||
(getenv "GUIX_PYTHONPATH"))))
|
||||
(path (string-append out "/lib/python"
|
||||
,(version-major+minor (package-version
|
||||
python))
|
||||
"/site-packages:"
|
||||
(getenv "GUIX_PYTHONPATH"))))
|
||||
(wrap-program file
|
||||
`("GUIX_PYTHONPATH" ":" prefix (,path))
|
||||
`("GUIX_PYTHONPATH" ":" prefix
|
||||
(,path))
|
||||
`("PATH" ":" prefix
|
||||
(,(string-append python "/bin:")))))
|
||||
#t)))))
|
||||
(,(string-append python "/bin:"))))))))))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "KICAD") ; to find kicad-doc
|
||||
(variable "KICAD") ;to find kicad-doc
|
||||
(files '("")))
|
||||
(search-path-specification
|
||||
(variable "KICAD_TEMPLATE_DIR")
|
||||
(files '("share/kicad/template")))
|
||||
(search-path-specification
|
||||
(variable "KICAD_SYMBOL_DIR") ; symbol path
|
||||
(variable "KICAD_SYMBOL_DIR") ;symbol path
|
||||
(files '("share/kicad/library")))
|
||||
(search-path-specification
|
||||
(variable "KISYSMOD") ; footprint path
|
||||
(variable "KISYSMOD") ;footprint path
|
||||
(files '("share/kicad/modules")))
|
||||
(search-path-specification
|
||||
(variable "KISYS3DMOD") ; 3D model path
|
||||
(variable "KISYS3DMOD") ;3D model path
|
||||
(files '("share/kicad/modules/packages3d")))))
|
||||
(native-inputs
|
||||
`(("boost" ,boost)
|
||||
("desktop-file-utils" ,desktop-file-utils)
|
||||
("gettext" ,gettext-minimal)
|
||||
("kicad-i18n" ,kicad-i18n)
|
||||
("pkg-config" ,pkg-config)
|
||||
("swig" ,swig)
|
||||
("zlib" ,zlib)))
|
||||
(inputs
|
||||
`(("cairo" ,cairo)
|
||||
("curl" ,curl)
|
||||
("glew" ,glew)
|
||||
("glm" ,glm)
|
||||
("hicolor-icon-theme" ,hicolor-icon-theme)
|
||||
("libngspice" ,libngspice)
|
||||
("libsm" ,libsm)
|
||||
("mesa" ,mesa)
|
||||
("opencascade-occt" ,opencascade-occt)
|
||||
("openssl" ,openssl)
|
||||
("python" ,python-wrapper)
|
||||
("wxwidgets" ,wxwidgets)
|
||||
("wxpython" ,python-wxpython)))
|
||||
(native-inputs (list boost
|
||||
desktop-file-utils
|
||||
gettext-minimal
|
||||
pkg-config
|
||||
swig
|
||||
zlib))
|
||||
(inputs (list bash-minimal
|
||||
cairo
|
||||
curl
|
||||
glew
|
||||
glm
|
||||
hicolor-icon-theme
|
||||
libngspice
|
||||
libsm
|
||||
mesa
|
||||
opencascade-occt
|
||||
openssl
|
||||
python-wrapper
|
||||
gtk+
|
||||
wxwidgets
|
||||
python-wxpython))
|
||||
(home-page "https://www.kicad.org/")
|
||||
(synopsis "Electronics Design Automation Suite")
|
||||
(description "Kicad is a program for the formation of printed circuit
|
||||
(description
|
||||
"Kicad is a program for the formation of printed circuit
|
||||
boards and electrical circuits. The software has a number of programs that
|
||||
perform specific functions, for example, pcbnew (Editing PCB), eeschema (editing
|
||||
electrical diagrams), gerbview (viewing Gerber files) and others.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define kicad-i18n
|
||||
(package
|
||||
(name "kicad-i18n")
|
||||
(version (package-version kicad))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.com/kicad/code/kicad-i18n.git")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0y51l0r62cnxkvpc21732p3cx7pjvaqjih8193502hlv9kv1j9p6"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'build)
|
||||
(delete 'check))))
|
||||
(native-inputs
|
||||
`(("gettext" ,gettext-minimal)))
|
||||
(home-page (package-home-page kicad))
|
||||
(synopsis "KiCad GUI translations")
|
||||
(description "This package contains the po files that are used for the GUI
|
||||
translations for KiCad.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public kicad-doc
|
||||
(package
|
||||
(name "kicad-doc")
|
||||
|
@ -1074,23 +1045,23 @@ translations for KiCad.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"026cz4zm903i75yhdvzha2nsnk4c0w07q3gd3xw3jmsmn18imgm3"))))
|
||||
"0zaafa9ckvdgsim6nhp3flj4r2fzzmwn054lc3iijwgga82qy7il"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags (list "-DBUILD_FORMATS=html")
|
||||
#:tests? #f ; no test suite
|
||||
#:tests? #f ;no test suite
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'build))))
|
||||
(native-inputs
|
||||
`(("asciidoc" ,asciidoc)
|
||||
("gettext" ,gettext-minimal)
|
||||
("git" ,git-minimal)
|
||||
("perl" ,perl)
|
||||
("perl-unicode-linebreak" ,perl-unicode-linebreak)
|
||||
("perl-yaml-tiny" ,perl-yaml-tiny)
|
||||
("po4a" ,po4a)
|
||||
("source-highlight" ,source-highlight)))
|
||||
(native-inputs (list asciidoc
|
||||
gettext-minimal
|
||||
git-minimal
|
||||
perl
|
||||
perl-unicode-linebreak
|
||||
perl-yaml-tiny
|
||||
po4a
|
||||
ruby-asciidoctor
|
||||
source-highlight))
|
||||
(home-page "https://kicad.org")
|
||||
(synopsis "KiCad official documentation")
|
||||
(description "This repository contains the official KiCad documentation.")
|
||||
|
@ -1108,7 +1079,7 @@ translations for KiCad.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1zdajim409570xzis53kmrbdcf7000v2vmc90f49h214lrx2zhr2"))))
|
||||
"1azjx1bmxaz8bniyw75lq60mc8hvay00jn9qdc2zp7isy3c9ibp0"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f)) ; no tests exist
|
||||
|
@ -1137,7 +1108,7 @@ libraries.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0qpii55dgv2gxqg1qq0dngdnbb9din790qi5qv0l6qqrzx843h5s"))))
|
||||
"0mv9xs0mmmfn0yhzx1v55r5app13ckagb16249rabyiz3v5crdpb"))))
|
||||
(synopsis "Official KiCad footprint libraries")
|
||||
(description "This package contains the official KiCad footprint libraries.")))
|
||||
|
||||
|
@ -1154,7 +1125,7 @@ libraries.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"12w7m5nbk9kcnlnlg4sk1sd7xgb9i2kxfi0jcbd0phs89qyl7wjr"))))
|
||||
"0vwcbzq42hzjl4f0zjaswmiff1x59hv64g5n00mx1gl0gwngnyla"))))
|
||||
(synopsis "Official KiCad 3D model libraries")
|
||||
(description "This package contains the official KiCad 3D model libraries.")))
|
||||
|
||||
|
@ -1171,7 +1142,7 @@ libraries.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1fbhn1l3j2rwc29aida9b408wif55i23bp9ddcs7dvf83smjm05g"))))
|
||||
"13h9ly6amiwm7zkwa2fd9730kh295ls8j95fszlfjp9rczv2yyzm"))))
|
||||
(synopsis "Official KiCad project and worksheet templates")
|
||||
(description "This package contains the official KiCad project and
|
||||
worksheet templates.")))
|
||||
|
@ -2811,13 +2782,13 @@ GUI.")
|
|||
(define-public poke
|
||||
(package
|
||||
(name "poke")
|
||||
(version "1.4")
|
||||
(version "2.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/poke/poke-" version
|
||||
".tar.gz"))
|
||||
(sha256
|
||||
(base32 "095a0qal1fwnqxnal0xb4mp0n4zy97j3ww1j04ij3jb0jpr4s1ff"))
|
||||
(base32 "0w168jcjahl3jawkhnh0dc10mcw4nwv4yawwc8xhqm5w3dn8wlnd"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
@ -3270,3 +3241,24 @@ G-code instructions for FFF printers or PNG layers for mSLA 3D printers.")
|
|||
|
||||
;; Mark as tunable to take advantage of SIMD code in Eigen and in libigl.
|
||||
(properties '((tunable? . #t)))))
|
||||
|
||||
(define-public wireviz
|
||||
(package
|
||||
(name "wireviz")
|
||||
(version "0.3.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "wireviz" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1dgnlxxlna2m1fh0ybivw0psym0sa5cqsl72mjl79bwfspnif61h"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs (list python-graphviz python-pillow python-pyyaml))
|
||||
(home-page "https://github.com/formatc1702/WireViz")
|
||||
(synopsis "Easily document cables and wiring harnesses")
|
||||
(description
|
||||
"WireViz is a tool for easily documenting cables, wiring harnesses and
|
||||
connector pinouts. It takes plain text, YAML-formatted files as input and
|
||||
produces beautiful graphical output thanks to GraphViz. It handles automatic
|
||||
BOM creation and has a lot of extra features.")
|
||||
(license license:gpl3)))
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2015 Tomáš Čech <sleep_walker@suse.cz>
|
||||
;;; Copyright © 2015 Daniel Pimentel <d4n1@member.fsf.org>
|
||||
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017 Nikita <nikita@n0.is>
|
||||
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Timo Eisenmann <eisenmann@fn.de>
|
||||
|
@ -48,6 +48,7 @@
|
|||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages gstreamer)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages hardware)
|
||||
#:use-module (gnu packages ibus)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages libunwind)
|
||||
|
@ -70,7 +71,7 @@
|
|||
(define-public efl
|
||||
(package
|
||||
(name "efl")
|
||||
(version "1.26.1")
|
||||
(version "1.26.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -78,7 +79,7 @@
|
|||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0hm6i1f2g4mwj726rc6na38xhys1plbv9swrlc9hrpa87mz6gac6"))))
|
||||
"071h0pscbd8g341yy5rz9mk1xn8yhryldhl6mmr1y6lafaycyy99"))))
|
||||
(build-system meson-build-system)
|
||||
(native-inputs
|
||||
`(("check" ,check)
|
||||
|
@ -93,11 +94,7 @@
|
|||
("ibus" ,ibus)
|
||||
("mesa" ,mesa)
|
||||
("libraw" ,libraw)
|
||||
;; Only enable the optional SVG support on x86_64, as this is the only
|
||||
;; architecture where librsvg can be built.
|
||||
,@(if (target-x86-64?)
|
||||
`(("librsvg" ,librsvg))
|
||||
'())
|
||||
("librsvg" ,(librsvg-for-system))
|
||||
("libspectre" ,libspectre)
|
||||
("libtiff" ,libtiff)
|
||||
("libxau" ,libxau)
|
||||
|
@ -151,11 +148,6 @@
|
|||
"-Dmount-path=/run/setuid-programs/mount"
|
||||
"-Dunmount-path=/run/setuid-programs/umount"
|
||||
"-Dnetwork-backend=connman"
|
||||
;; Add 'rsvg' to the default list (json, avif, heif) of disabled loaders
|
||||
;; unless librsvg is available.
|
||||
,,@(if (target-x86-64?)
|
||||
'()
|
||||
(list "-Devas-loaders-disabler=json,avif,heif,rsvg"))
|
||||
;; For Wayland.
|
||||
"-Dwl=true"
|
||||
"-Ddrm=true")
|
||||
|
@ -297,7 +289,7 @@ Libraries with some extra bells and whistles.")
|
|||
(define-public enlightenment
|
||||
(package
|
||||
(name "enlightenment")
|
||||
(version "0.25.1")
|
||||
(version "0.25.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
|
@ -305,7 +297,7 @@ Libraries with some extra bells and whistles.")
|
|||
"enlightenment/enlightenment-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0i1424vsc929h36hx04646pbrjiya6nc1nqr6s15xwvfv7imzw1c"))
|
||||
"1xngwixp0cckfq3jhrdmmk6zj67125amr7g6xwc6l89pnpmlkz9p"))
|
||||
(patches (search-patches "enlightenment-fix-setuid-path.patch"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
|
@ -322,6 +314,7 @@ Libraries with some extra bells and whistles.")
|
|||
(setxkbmap (assoc-ref inputs "setxkbmap"))
|
||||
(libc (assoc-ref inputs "libc"))
|
||||
(bc (assoc-ref inputs "bc"))
|
||||
(ddcutil (assoc-ref inputs "ddcutil"))
|
||||
(efl (assoc-ref inputs "efl")))
|
||||
;; We need to patch the path to 'base.lst' to be able
|
||||
;; to switch the keyboard layout in E.
|
||||
|
@ -347,6 +340,9 @@ Libraries with some extra bells and whistles.")
|
|||
"/run/current-system/profile/sbin")))
|
||||
(substitute* "src/modules/everything/evry_plug_calc.c"
|
||||
(("bc -l") (string-append bc "/bin/bc -l")))
|
||||
(substitute* "src/bin/system/e_system_ddc.c"
|
||||
(("libddcutil\\.so\\.?" libddcutil)
|
||||
(string-append ddcutil "/lib/" libddcutil)))
|
||||
(substitute* "data/etc/meson.build"
|
||||
(("/bin/mount") "/run/setuid-programs/mount")
|
||||
(("/bin/umount") "/run/setuid-programs/umount")
|
||||
|
@ -361,6 +357,7 @@ Libraries with some extra bells and whistles.")
|
|||
("bc" ,bc)
|
||||
("bluez" ,bluez)
|
||||
("dbus" ,dbus)
|
||||
("ddcutil" ,ddcutil)
|
||||
("freetype" ,freetype)
|
||||
("libdrm" ,libdrm)
|
||||
("libexif" ,libexif)
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
(define-public erlang
|
||||
(package
|
||||
(name "erlang")
|
||||
(version "24.0.5")
|
||||
(version "24.2.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
;; The tarball from http://erlang.org/download contains many
|
||||
|
@ -53,7 +53,7 @@
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0f8zr2jxr0v4zcd98zqx99zxdn768vjpzwxsbsd6ss3if405sq2a"))
|
||||
"0glbdh4la0k4ikygj6rssvlbxbzybjn0bpp276wq170d6rgahlf6"))
|
||||
(patches (search-patches "erlang-man-path.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
|
@ -67,13 +67,11 @@
|
|||
(version-major+minor version) ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1c9ccp93pmm54mmvpiyrmj8v00pq11a60c4xv220k97i965zkwsg"))))))
|
||||
"0k2zghkkqmf8g66hfb6zff2b7q5sl3r9y6lmv56ky03wzh9lpbjn"))))))
|
||||
(inputs
|
||||
(list ncurses openssl wxwidgets))
|
||||
(propagated-inputs
|
||||
`(("fontconfig" ,fontconfig)
|
||||
("glu" ,glu)
|
||||
("mesa" ,mesa)))
|
||||
(list fontconfig glu mesa))
|
||||
(arguments
|
||||
`(#:test-target "release_tests"
|
||||
#:configure-flags
|
||||
|
@ -85,7 +83,7 @@
|
|||
"--enable-threads"
|
||||
"--enable-wx"
|
||||
(string-append "--with-ssl=" (assoc-ref %build-inputs "openssl")))
|
||||
#:modules ((srfi srfi-19) ; make-time, et cetera.
|
||||
#:modules ((srfi srfi-19) ; make-time, et cetera.
|
||||
(guix build utils)
|
||||
(guix build gnu-build-system))
|
||||
#:phases
|
||||
|
@ -127,59 +125,46 @@
|
|||
(substitute* "lib/snmp/src/compile/snmpc_mib_to_hrl.erl"
|
||||
(("\\{H,Mi,S\\} = time\\(\\),")
|
||||
(date->string source-date-epoch
|
||||
"{H,Mi,S} = {~H,~M,~S},")))
|
||||
#t)))
|
||||
"{H,Mi,S} = {~H,~M,~S},"))))))
|
||||
(add-after 'unpack 'patch-/bin/sh
|
||||
(lambda _
|
||||
(substitute* "erts/etc/unix/run_erl.c"
|
||||
(("sh = \"/bin/sh\";")
|
||||
(string-append "sh = \""
|
||||
(which "sh")
|
||||
"\";")))
|
||||
|
||||
(substitute* "erts/emulator/sys/unix/sys_drivers.c"
|
||||
(("SHELL \"/bin/sh\"")
|
||||
(string-append "SHELL \""
|
||||
(which "sh")
|
||||
"\"")))
|
||||
(substitute* "erts/emulator/sys/unix/erl_child_setup.c"
|
||||
(("SHELL \"/bin/sh\"")
|
||||
(string-append "SHELL \""
|
||||
(which "sh")
|
||||
"\"")))
|
||||
|
||||
(substitute* "lib/kernel/src/os.erl"
|
||||
(("/bin/sh") (which "sh")))
|
||||
|
||||
#t))
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((sh (search-input-file inputs "/bin/sh")))
|
||||
(substitute* "erts/etc/unix/run_erl.c"
|
||||
(("sh = \"/bin/sh\";")
|
||||
(string-append "sh = \"" sh "\";")))
|
||||
(substitute* "erts/emulator/sys/unix/sys_drivers.c"
|
||||
(("SHELL \"/bin/sh\"")
|
||||
(string-append "SHELL \"" sh "\"")))
|
||||
(substitute* "erts/emulator/sys/unix/erl_child_setup.c"
|
||||
(("SHELL \"/bin/sh\"")
|
||||
(string-append "SHELL \"" sh "\"")))
|
||||
(substitute* "lib/kernel/src/os.erl"
|
||||
(("/bin/sh") sh)))))
|
||||
(add-after 'patch-source-shebangs 'patch-source-env
|
||||
(lambda _
|
||||
(let ((escripts
|
||||
(append
|
||||
(find-files "." "\\.escript")
|
||||
(find-files "lib/stdlib/test/escript_SUITE_data/")
|
||||
'("erts/lib_src/utils/make_atomics_api"
|
||||
"erts/preloaded/src/add_abstract_code"
|
||||
"lib/diameter/bin/diameterc"
|
||||
"lib/reltool/examples/display_args"
|
||||
"lib/reltool/examples/mnesia_core_dump_viewer"
|
||||
"lib/snmp/src/compile/snmpc.src"
|
||||
"make/verify_runtime_dependencies"
|
||||
"make/emd2exml.in"))))
|
||||
(find-files "." "\\.escript")
|
||||
(find-files "lib/stdlib/test/escript_SUITE_data/")
|
||||
'("erts/lib_src/utils/make_atomics_api"
|
||||
"erts/preloaded/src/add_abstract_code"
|
||||
"lib/diameter/bin/diameterc"
|
||||
"lib/reltool/examples/display_args"
|
||||
"lib/reltool/examples/mnesia_core_dump_viewer"
|
||||
"lib/snmp/src/compile/snmpc.src"
|
||||
"make/verify_runtime_dependencies"
|
||||
"make/emd2exml.in"))))
|
||||
(substitute* escripts
|
||||
(("/usr/bin/env") (which "env")))
|
||||
#t)))
|
||||
(("/usr/bin/env") (which "env"))))))
|
||||
(add-before 'configure 'set-erl-top
|
||||
(lambda _
|
||||
(setenv "ERL_TOP" (getcwd))
|
||||
#t))
|
||||
(setenv "ERL_TOP" (getcwd))))
|
||||
(add-after 'install 'patch-erl
|
||||
;; This only works after install.
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out")))
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(substitute* (string-append out "/bin/erl")
|
||||
(("sed") (which "sed")))
|
||||
#t)))
|
||||
(("sed") (which "sed"))))))
|
||||
(add-after 'install 'install-doc
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
|
@ -187,8 +172,7 @@
|
|||
(share (string-append out "/share/")))
|
||||
(mkdir-p share)
|
||||
(with-directory-excursion share
|
||||
(invoke "tar" "xvf" manpages))
|
||||
#t))))))
|
||||
(invoke "tar" "xvf" manpages))))))))
|
||||
(home-page "https://www.erlang.org/")
|
||||
(synopsis "The Erlang programming language")
|
||||
(description
|
||||
|
|
|
@ -284,7 +284,9 @@ for Qt based application.")
|
|||
(base32 "11l76gpcfm0x1f6x5m9s37q7ffa7xcsdydlzjdz2s6kk45fvvq89"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
`(#:configure-flags
|
||||
'("-DUSE_WEBKIT=off")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'split-outputs
|
||||
;; Build with GUI supports requires Qt and increase package closure
|
||||
|
@ -305,7 +307,9 @@ for Qt based application.")
|
|||
("opencc" ,opencc)
|
||||
("qtbase" ,qtbase-5)
|
||||
("fcitx5-qt" ,fcitx5-qt)
|
||||
("qtwebkit" ,qtwebkit)))
|
||||
("qtdeclarative" ,qtdeclarative)
|
||||
("qtwebchannel" ,qtwebchannel)
|
||||
("qtwebengine" ,qtwebengine)))
|
||||
(native-inputs
|
||||
(list extra-cmake-modules pkg-config))
|
||||
(outputs '("out" "gui"))
|
||||
|
|
|
@ -248,7 +248,7 @@ broadband modem as found, for example, on PinePhone.")
|
|||
(%current-system)))
|
||||
(string-prefix? "riscv64" arch))
|
||||
`("CROSS_COMPILE=riscv64-linux-gnu-")
|
||||
'())
|
||||
`("CC=gcc"))
|
||||
"FW_PAYLOAD=n"
|
||||
"V=1")
|
||||
#:phases
|
||||
|
|
|
@ -1995,7 +1995,7 @@ This package provides the TrueType fonts.")
|
|||
(define-public font-jetbrains-mono
|
||||
(package
|
||||
(name "font-jetbrains-mono")
|
||||
(version "2.221")
|
||||
(version "2.242")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -2003,7 +2003,7 @@ This package provides the TrueType fonts.")
|
|||
(string-append "https://github.com/JetBrains/JetBrainsMono/releases/"
|
||||
"download/v" version "/JetBrainsMono-" version ".zip"))
|
||||
(sha256
|
||||
(base32 "1acrgv2q9vxviirpi01xy67pkkswyssw4dn5pgyvrnjxr85cgjrg"))))
|
||||
(base32 "17qs985v38x3rcg3v4av3qynwr4gvixrj50vjzy7zkkny575ncaf"))))
|
||||
(build-system font-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
|
|
@ -898,6 +898,7 @@ generated list of fallback fonts are checked.")
|
|||
("glib" ,glib "bin")
|
||||
("gobject-introspection" ,gobject-introspection)
|
||||
("pkg-config" ,pkg-config)
|
||||
("python-wrapper" ,python-wrapper)
|
||||
("vala" ,vala-0.52)
|
||||
("yelp-tools" ,yelp-tools)))
|
||||
(inputs
|
||||
|
|
|
@ -1046,7 +1046,7 @@ protocol either in Wayland core, or some other protocol in wayland-protocols.")
|
|||
(define-public waylandpp
|
||||
(package
|
||||
(name "waylandpp")
|
||||
(version "0.2.8")
|
||||
(version "0.2.9")
|
||||
(home-page "https://github.com/NilsBrause/waylandpp")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
|
@ -1054,7 +1054,7 @@ protocol either in Wayland core, or some other protocol in wayland-protocols.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1kxiqab48p0n97pwg8c2zx56wqq32m3rcq7qd2pjj33ipcanb3qq"))))
|
||||
"0z4m30r609as3kpcgipivddr98y7h529r7ldn9ba4snhk341mfvk"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f)) ; no tests
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
;;; Copyright © 2013 John Darrington <jmd@gnu.org>
|
||||
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
|
||||
;;; Copyright © 2014, 2015 David Thompson <dthompson2@worcester.edu>
|
||||
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Eric Bavier <bavier@posteo.net>
|
||||
;;; Copyright © 2014-2022 Eric Bavier <bavier@posteo.net>
|
||||
;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com>
|
||||
;;; Copyright © 2014 Sylvain Beucler <beuc@beuc.net>
|
||||
;;; Copyright © 2014, 2015, 2018, 2019, 2021 Ludovic Courtès <ludo@gnu.org>
|
||||
|
@ -68,6 +68,7 @@
|
|||
;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
|
||||
;;; Copyright © 2021 Christopher Baines <mail@cbaines.net>
|
||||
;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
|
||||
;;; Copyright © 2022 Yovan Naumovski <yovan@gorski.stream>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -2360,100 +2361,98 @@ can be explored and changed freely.")
|
|||
(define-public seahorse-adventures
|
||||
(package
|
||||
(name "seahorse-adventures")
|
||||
(version "1.3")
|
||||
(version "1.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/dulsi/seahorse-adventures")
|
||||
(commit (string-append "release-" version))))
|
||||
(commit (string-append "Release-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0m53jh2gchzr7rs35hml6lbvc5kb5hp229wlfqa09098b7hhl15a"))
|
||||
(base32 "1dxysa79cz5mflr2953fyk838h1jwvi1ngn8wlpms0ag35yv21s8"))
|
||||
(modules '((guix build utils)
|
||||
(ice-9 ftw)
|
||||
(srfi srfi-1)))
|
||||
;; Remove non-free (non-commercial) font.
|
||||
(snippet
|
||||
`(begin
|
||||
(for-each delete-file (find-files "data/fonts" "."))
|
||||
#t))))
|
||||
#~(begin
|
||||
(for-each delete-file (find-files "data/fonts" "."))))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ;no test
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'build) ;pure Python
|
||||
(replace 'install ;no install script
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(share (string-append out "/share"))
|
||||
(applications (string-append share "/applications"))
|
||||
(data (string-append share "/seahorse-adventures")))
|
||||
;; Install data.
|
||||
(for-each (lambda (f)
|
||||
(chmod f #o555)
|
||||
(install-file f data))
|
||||
'("leveledit.py" "run_game.py" "tileedit.py"))
|
||||
(for-each (lambda (dir)
|
||||
(let ((target (string-append data "/" dir)))
|
||||
(mkdir-p target)
|
||||
(copy-recursively dir target)))
|
||||
'("data" "lib"))
|
||||
;; Create executable.
|
||||
(mkdir-p bin)
|
||||
(let ((executable (string-append bin "/seahorse-adventures")))
|
||||
(call-with-output-file executable
|
||||
(lambda (p)
|
||||
(format p
|
||||
"#!~a~@
|
||||
(list
|
||||
#:tests? #f ;no test
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'build) ;pure Python
|
||||
(replace 'install ;no install script
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let* ((bin (string-append #$output "/bin"))
|
||||
(share (string-append #$output "/share"))
|
||||
(applications (string-append share "/applications"))
|
||||
(data (string-append share "/seahorse-adventures")))
|
||||
;; Install data.
|
||||
(for-each (lambda (f)
|
||||
(chmod f #o555)
|
||||
(install-file f data))
|
||||
'("leveledit.py" "run_game.py" "tileedit.py"))
|
||||
(for-each (lambda (dir)
|
||||
(let ((target (string-append data "/" dir)))
|
||||
(mkdir-p target)
|
||||
(copy-recursively dir target)))
|
||||
'("data" "lib"))
|
||||
;; Create executable.
|
||||
(mkdir-p bin)
|
||||
(let ((executable (string-append bin "/seahorse-adventures")))
|
||||
(call-with-output-file executable
|
||||
(lambda (p)
|
||||
(format p
|
||||
"#!~a~@
|
||||
export GUIX_PYTHONPATH=~a:~a~@
|
||||
exec -a \"~a\" ~a \"$@\"~%"
|
||||
(which "bash") data (getenv "GUIX_PYTHONPATH")
|
||||
(which "python3")
|
||||
(string-append data "/run_game.py"))))
|
||||
(chmod executable #o555))
|
||||
;; Add desktop file.
|
||||
(mkdir-p applications)
|
||||
(make-desktop-entry-file
|
||||
(string-append applications "/seahorse-adventures.desktop")
|
||||
#:name "Seahorse Adventures"
|
||||
#:comment
|
||||
'((#f "Help Barbie the seahorse float on bubbles to the moon"))
|
||||
#:exec ,name
|
||||
#:icon ,name
|
||||
#:categories '("Game" "ActionGame")
|
||||
#:keywords '("game" "retro" "platform"))
|
||||
;; Add icons.
|
||||
(for-each
|
||||
(lambda (size)
|
||||
(let ((dir (string-append share "/icons/hicolor/"
|
||||
size "x" size "/apps")))
|
||||
(mkdir-p dir)
|
||||
(copy-file
|
||||
(string-append "icon" size ".png")
|
||||
(string-append dir "/searhorse-adventures.png"))))
|
||||
'("32" "64" "128")))
|
||||
#t))
|
||||
(add-after 'install 'unbundle-fonts
|
||||
;; Unbundle Bitstream Vera font and replace deleted one.
|
||||
(lambda* (#:key outputs inputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(data (string-append out "/share/seahorse-adventures"))
|
||||
(search-input-file inputs "/bin/bash")
|
||||
data
|
||||
(getenv "GUIX_PYTHONPATH")
|
||||
(search-input-file inputs "/bin/python3")
|
||||
(string-append data "/run_game.py"))))
|
||||
(chmod executable #o555))
|
||||
;; Add desktop file.
|
||||
(mkdir-p applications)
|
||||
(make-desktop-entry-file
|
||||
(string-append applications "/seahorse-adventures.desktop")
|
||||
#:name "Seahorse Adventures"
|
||||
#:comment
|
||||
'((#f "Help Barbie the seahorse float on bubbles to the moon"))
|
||||
#:exec #$name
|
||||
#:icon #$name
|
||||
#:categories '("Game" "ActionGame")
|
||||
#:keywords '("game" "retro" "platform"))
|
||||
;; Add icons.
|
||||
(for-each
|
||||
(lambda (size)
|
||||
(let ((dir (string-append share "/icons/hicolor/"
|
||||
size "x" size "/apps")))
|
||||
(mkdir-p dir)
|
||||
(copy-file
|
||||
(string-append "icon" size ".png")
|
||||
(string-append dir "/searhorse-adventures.png"))))
|
||||
'("32" "64" "128")))))
|
||||
(add-after 'install 'unbundle-fonts
|
||||
;; Unbundle Bitstream Vera font and replace deleted one.
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((data (string-append #$output "/share/seahorse-adventures"))
|
||||
(vera (search-input-file
|
||||
inputs "/share/fonts/truetype/Vera.ttf")))
|
||||
(let ((themes-dir (string-append data "/data/themes/")))
|
||||
(for-each
|
||||
(lambda (theme)
|
||||
(let ((target (string-append themes-dir theme "/Vera.ttf")))
|
||||
(delete-file target)
|
||||
(symlink vera target)))
|
||||
'("default" "gray")))
|
||||
(symlink vera (string-append data "/data/fonts/04B_20__.TTF"))
|
||||
(substitute* (string-append data "/lib/main.py")
|
||||
(("f_scale = 0.35") "f_scale = 0.47")))
|
||||
#t)))))
|
||||
(let ((themes-dir (string-append data "/data/themes/")))
|
||||
(for-each
|
||||
(lambda (theme)
|
||||
(let ((target (string-append themes-dir theme "/Vera.ttf")))
|
||||
(delete-file target)
|
||||
(symlink vera target)))
|
||||
'("default" "gray")))
|
||||
(symlink vera (string-append data "/data/fonts/04B_20__.TTF"))
|
||||
(substitute* (string-append data "/lib/main.py")
|
||||
(("f_scale = 0.35") "f_scale = 0.47"))))))))
|
||||
(inputs
|
||||
(list font-bitstream-vera python-pygame))
|
||||
(home-page "http://www.imitationpickles.org/barbie/")
|
||||
|
@ -4220,14 +4219,14 @@ world}, @uref{http://evolonline.org, Evol Online} and
|
|||
(define openttd-engine
|
||||
(package
|
||||
(name "openttd-engine")
|
||||
(version "12.0")
|
||||
(version "12.1")
|
||||
(source
|
||||
(origin (method url-fetch)
|
||||
(uri (string-append "https://cdn.openttd.org/openttd-releases/"
|
||||
version "/openttd-" version "-source.tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1p1j5cf4ry57dcgm7qx2g2s00z1c6qgjabb4kqjp00yz00wgv85v"))))
|
||||
"1qz7ld55m9cvgr4mkv6c11y0zf2aph3ba605l45qj41hk2wzb2r5"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs
|
||||
`(("allegro" ,allegro)
|
||||
|
@ -6391,63 +6390,61 @@ fish. The whole game is accompanied by quiet, comforting music.")
|
|||
(define-public crawl
|
||||
(package
|
||||
(name "crawl")
|
||||
(version "0.27.1")
|
||||
(version "0.28.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/crawl/crawl/releases/download/"
|
||||
version "/stone_soup-" version "-nodeps.tar.xz"))
|
||||
(sha256
|
||||
(base32 "0nkhyhrrma8gmwxp15j84cn1k2yvyq7ar9rd0j2qjjlv2kdis5z2"))
|
||||
(base32 "0irg5w4m127fxcj037kyp9vnyqyq1fi4q64rn6yq92w8z1lf2sss"))
|
||||
(patches (search-patches "crawl-upgrade-saves.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("lua51" ,lua-5.1)
|
||||
("ncurses" ,ncurses)
|
||||
("sqlite" ,sqlite)
|
||||
("zlib" ,zlib)))
|
||||
(list lua-5.1 ncurses sqlite zlib))
|
||||
(native-inputs
|
||||
`(("bison" ,bison)
|
||||
("flex" ,flex)
|
||||
("perl" ,perl)
|
||||
("python" ,python-wrapper)
|
||||
("python-pyyaml" ,python-pyyaml)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(list bash-minimal
|
||||
bison
|
||||
flex
|
||||
perl
|
||||
pkg-config
|
||||
python-wrapper
|
||||
python-pyyaml))
|
||||
(arguments
|
||||
`(#:make-flags
|
||||
(let* ((sqlite (assoc-ref %build-inputs "sqlite"))
|
||||
(out (assoc-ref %outputs "out")))
|
||||
(list (string-append "SQLITE_INCLUDE_DIR=" sqlite "/include")
|
||||
(string-append "prefix=" out)
|
||||
"SAVEDIR=~/.crawl"
|
||||
;; Don't compile with SSE on systems which don't have it.
|
||||
,@(match (%current-system)
|
||||
(list
|
||||
#:make-flags
|
||||
#~(list (string-append "SQLITE_INCLUDE_DIR="
|
||||
#$(this-package-input "sqlite")
|
||||
"/include")
|
||||
(string-append "prefix=" #$output)
|
||||
"SAVEDIR=~/.crawl"
|
||||
;; Don't compile with SSE on systems which don't have it.
|
||||
#$@(match (%current-system)
|
||||
((or "i686-linux" "x86_64-linux")
|
||||
'())
|
||||
(_ '("NOSSE=TRUE")))
|
||||
;; don't build any bundled dependencies
|
||||
"BUILD_LUA="
|
||||
"BUILD_SQLITE="
|
||||
"BUILD_ZLIB="
|
||||
"-Csource"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'find-SDL-image
|
||||
(lambda _
|
||||
(substitute* "source/windowmanager-sdl.cc"
|
||||
(("SDL_image.h") "SDL2/SDL_image.h"))
|
||||
#t))
|
||||
(delete 'configure)
|
||||
(replace 'check
|
||||
(lambda* (#:key inputs outputs make-flags #:allow-other-keys)
|
||||
(setenv "HOME" (getcwd))
|
||||
;; Fake a terminal for the test cases.
|
||||
(setenv "TERM" "xterm-256color")
|
||||
;; Run the tests that don't require a debug build.
|
||||
(apply invoke "make" "nondebugtest"
|
||||
(format #f "-j~d" (parallel-job-count))
|
||||
;; Force command line build for test cases.
|
||||
(append make-flags '("GAME=crawl" "TILES="))))))))
|
||||
;; don't build any bundled dependencies
|
||||
"BUILD_LUA="
|
||||
"BUILD_SQLITE="
|
||||
"BUILD_ZLIB="
|
||||
"-Csource")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'find-SDL-image
|
||||
(lambda _
|
||||
(substitute* "source/windowmanager-sdl.cc"
|
||||
(("SDL_image.h") "SDL2/SDL_image.h"))))
|
||||
(delete 'configure)
|
||||
(replace 'check
|
||||
(lambda* (#:key make-flags #:allow-other-keys)
|
||||
(setenv "HOME" (getcwd))
|
||||
;; Fake a terminal for the test cases.
|
||||
(setenv "TERM" "xterm-256color")
|
||||
;; Run the tests that don't require a debug build.
|
||||
(apply invoke "make" "nondebugtest"
|
||||
(format #f "-j~d" (parallel-job-count))
|
||||
;; Force command line build for test cases.
|
||||
(append make-flags '("GAME=crawl" "TILES="))))))))
|
||||
(synopsis "Roguelike dungeon crawler game")
|
||||
(description "Dungeon Crawl Stone Soup (also known as \"Crawl\" or DCSS
|
||||
for short) is a roguelike adventure through dungeons filled with dangerous
|
||||
|
@ -6472,29 +6469,23 @@ monsters in a quest to find the mystifyingly fabulous Orb of Zot.")
|
|||
(substitute-keyword-arguments
|
||||
(package-arguments crawl)
|
||||
((#:make-flags flags)
|
||||
`(let ((dejavu (assoc-ref %build-inputs "font-dejavu")))
|
||||
(cons*
|
||||
(string-append "PROPORTIONAL_FONT=" dejavu
|
||||
"/share/fonts/truetype/DejaVuSans.ttf")
|
||||
(string-append "MONOSPACED_FONT=" dejavu
|
||||
"/share/fonts/truetype/DejaVuSansMono.ttf")
|
||||
"TILES=y"
|
||||
;; Rename the executable to allow parallel installation with crawl.
|
||||
"GAME=crawl-tiles"
|
||||
,flags)))))
|
||||
#~(cons*
|
||||
(string-append "PROPORTIONAL_FONT="
|
||||
#$(this-package-input "font-dejavu")
|
||||
"/share/fonts/truetype/DejaVuSans.ttf")
|
||||
(string-append "MONOSPACED_FONT="
|
||||
#$(this-package-input "font-dejavu")
|
||||
"/share/fonts/truetype/DejaVuSansMono.ttf")
|
||||
"TILES=y"
|
||||
;; Rename the executable to allow parallel installation with crawl.
|
||||
"GAME=crawl-tiles"
|
||||
#$flags))))
|
||||
(inputs
|
||||
`(,@(package-inputs crawl)
|
||||
("font-dejavu" ,font-dejavu)
|
||||
("freetype6" ,freetype)
|
||||
("glu" ,glu)
|
||||
("libpng" ,libpng)
|
||||
("sdl2" ,sdl2)
|
||||
("sdl2-image" ,sdl2-image)
|
||||
("sdl2-mixer" ,sdl2-mixer)))
|
||||
(modify-inputs (package-inputs crawl)
|
||||
(prepend font-dejavu freetype glu libpng sdl2 sdl2-image sdl2-mixer)))
|
||||
(native-inputs
|
||||
`(,@(package-native-inputs crawl)
|
||||
("pngcrush" ,pngcrush)
|
||||
("which" ,which)))
|
||||
(modify-inputs (package-native-inputs crawl)
|
||||
(prepend pngcrush which)))
|
||||
(synopsis "Graphical roguelike dungeon crawler game")))
|
||||
|
||||
(define-public lugaru
|
||||
|
@ -7155,7 +7146,7 @@ elements to achieve a simple goal in the most complex way possible.")
|
|||
(define-public pioneer
|
||||
(package
|
||||
(name "pioneer")
|
||||
(version "20210723")
|
||||
(version "20220203")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -7164,7 +7155,7 @@ elements to achieve a simple goal in the most complex way possible.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1hj99jxb9n3r0bkq87p1c24862xa1xyzjyfdyyx88ckszxb05qf3"))))
|
||||
"0qjq6lsr1rmcnvq9b7r745cpp7n0q6cpc3k81q8ai4xspbq61m8w"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
|
@ -7183,6 +7174,7 @@ elements to achieve a simple goal in the most complex way possible.")
|
|||
(arguments
|
||||
`(#:tests? #f ;tests are broken
|
||||
#:configure-flags (list "-DUSE_SYSTEM_LIBLUA:BOOL=YES"
|
||||
"-DUSE_SYSTEM_LIBGLEW:BOOL=YES"
|
||||
(string-append "-DPIONEER_DATA_DIR="
|
||||
%output "/share/games/pioneer"))
|
||||
#:make-flags (list "all" "build-data")))
|
||||
|
@ -8909,7 +8901,7 @@ fight each other on an arena-like map.")
|
|||
(define-public flare-engine
|
||||
(package
|
||||
(name "flare-engine")
|
||||
(version "1.12")
|
||||
(version "1.13.04")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -8918,15 +8910,16 @@ fight each other on an arena-like map.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0h4xxj6r194pw68m3ngrnzkh6xgiblyrsc54z8abwba8m0mqbvmk"))))
|
||||
"042n2r9whnd3kncf3k89dcl1srn7p2jk6kdc0lb2hbwff55iylnw"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ;no test
|
||||
#:configure-flags '("-DBINDIR=bin" "-DDATADIR=share/flare")))
|
||||
(list
|
||||
#:tests? #f ;no test
|
||||
#:configure-flags #~(list "-DBINDIR=bin" "-DDATADIR=share/flare")))
|
||||
(inputs
|
||||
`(("hicolor-icon-theme" ,hicolor-icon-theme)
|
||||
("python" ,python-wrapper)
|
||||
("sdl" ,(sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf)))))
|
||||
(list hicolor-icon-theme
|
||||
python-wrapper
|
||||
(sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf))))
|
||||
(home-page "http://www.flarerpg.org/")
|
||||
(synopsis "Action Roleplaying Engine")
|
||||
(description "Flare (Free Libre Action Roleplaying Engine) is a simple
|
||||
|
@ -8937,7 +8930,7 @@ action RPGs.")
|
|||
(define-public flare-game
|
||||
(package
|
||||
(name "flare-game")
|
||||
(version "1.12")
|
||||
(version "1.13.04")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -8946,51 +8939,51 @@ action RPGs.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0h9i128kq6disppbrplkf13zdmsg4cq23nim53mgwpawc4mqz7ga"))))
|
||||
"18rdrwv7p5rvmlah5pl9vbc09xlb8id75a7c73yn2sxkm6cf5c2l"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ;no test
|
||||
#:configure-flags '("-DDATADIR=share/flare")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; Flare expects the mods to be located in the same folder.
|
||||
;; Yet, "default" mod is in the engine, whereas the others
|
||||
;; are in the current package. Merge everything here with
|
||||
;; a symlink.
|
||||
(add-after 'install 'add-default-mod
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(mods (string-append out "/share/flare/mods")))
|
||||
(with-directory-excursion mods
|
||||
(symlink (string-append (assoc-ref inputs "flare-engine")
|
||||
"/share/flare/mods/default")
|
||||
"default")))
|
||||
#t))
|
||||
(add-after 'install 'install-executable
|
||||
;; The package only provides assets for the game, the
|
||||
;; executable coming from "flare-engine". Since more than
|
||||
;; one game may use the engine, we create a new executable,
|
||||
;; "flare-game", which launches the engine with appropriate
|
||||
;; parameters.
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bash (search-input-file inputs "/bin/bash"))
|
||||
(list
|
||||
#:tests? #f ;no test
|
||||
#:configure-flags #~(list "-DDATADIR=share/flare")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; Flare expects the mods to be located in the same folder.
|
||||
;; Yet, "default" mod is in the engine, whereas the others
|
||||
;; are in the current package. Merge everything here with
|
||||
;; a symlink.
|
||||
(add-after 'install 'add-default-mod
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((mods (string-append #$output "/share/flare/mods")))
|
||||
(with-directory-excursion mods
|
||||
(symlink (search-input-directory inputs
|
||||
"/share/flare/mods/default")
|
||||
"default")
|
||||
(symlink (search-input-file inputs
|
||||
"/share/flare/mods/mods.txt")
|
||||
"mods.txt")))))
|
||||
(add-after 'install 'install-executable
|
||||
;; The package only provides assets for the game, the
|
||||
;; executable coming from "flare-engine". Since more than
|
||||
;; one game may use the engine, we create a new executable,
|
||||
;; "flare-game", which launches the engine with appropriate
|
||||
;; parameters.
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((bash (search-input-file inputs "/bin/bash"))
|
||||
(flare (search-input-file inputs "/bin/flare"))
|
||||
(script (string-append out "/bin/flare-game")))
|
||||
(mkdir-p (dirname script))
|
||||
(call-with-output-file script
|
||||
(lambda (port)
|
||||
(format port
|
||||
"#!~a
|
||||
(script (string-append #$output "/bin/flare-game")))
|
||||
(mkdir-p (dirname script))
|
||||
(call-with-output-file script
|
||||
(lambda (port)
|
||||
(format port
|
||||
"#!~a
|
||||
exec ~a --data-path=~a/share/flare --mods=empyrean_campaign~%"
|
||||
bash
|
||||
flare
|
||||
out)))
|
||||
(chmod script #o755))
|
||||
#t)))))
|
||||
bash
|
||||
flare
|
||||
#$output)))
|
||||
(chmod script #o755)))))))
|
||||
(inputs
|
||||
(list flare-engine))
|
||||
(home-page "http://www.flarerpg.org/")
|
||||
(home-page "https://flarerpg.org/")
|
||||
(synopsis "Fantasy action RPG using the FLARE engine")
|
||||
(description "Flare is a single-player 2D action RPG with
|
||||
fast-paced action and a dark fantasy style.")
|
||||
|
@ -9367,7 +9360,7 @@ play with up to four players simultaneously. It has network support.")
|
|||
("sdl" ,(sdl-union
|
||||
(list sdl2 sdl2-mixer sdl2-net sdl2-ttf sdl2-image)))))
|
||||
(native-inputs
|
||||
(list clang ghc pkg-config qttools))
|
||||
(list clang-9 ghc pkg-config qttools))
|
||||
(home-page "https://hedgewars.org/")
|
||||
(synopsis "Turn-based artillery game featuring fighting hedgehogs")
|
||||
(description
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2014, 2015, 2016, 2017, 2019, 2021 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2015, 2016, 2017, 2018, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2015, 2016, 2017, 2018, 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 Carlos Sánchez de La Lama <csanchezdll@gmail.com>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018, 2020 Marius Bakke <mbakke@fastmail.com>
|
||||
|
@ -525,6 +525,19 @@ Go. It also includes runtime support libraries for these languages.")
|
|||
|
||||
,@(package-inputs gcc-4.7)))))
|
||||
|
||||
(define %gcc-7.5-aarch64-micro-architectures
|
||||
;; Suitable '-march' values for GCC 7.5.
|
||||
;; TODO: Allow dynamically adding feature flags.
|
||||
'("armv8-a" "armv8.1-a" "armv8.2-a" "armv8.3-a"))
|
||||
|
||||
(define %gcc-7.5-armhf-micro-architectures
|
||||
;; Suitable '-march' values for GCC 7.5.
|
||||
;; TODO: Allow dynamically adding feature flags.
|
||||
'("armv7" "armv7-a" "armv7-m" "armv7-r" "armv7e-m" "armv7ve"
|
||||
"armv8-a" "armv8-a+crc" "armv8.1-a" "armv8.1-a+crc"
|
||||
"armv8-m.base" "armv8-m.main" "armv8-m.main+dsp"
|
||||
"iwmmxt" "iwmmxt2"))
|
||||
|
||||
(define %gcc-7.5-x86_64-micro-architectures
|
||||
;; Suitable '-march' values for GCC 7.5 (info "(gcc) x86 Options").
|
||||
'("core2" "nehalem" "westmere" "sandybridge" "ivybridge"
|
||||
|
@ -536,6 +549,19 @@ Go. It also includes runtime support libraries for these languages.")
|
|||
"znver1"
|
||||
"btver1" "btver2" "geode"))
|
||||
|
||||
(define %gcc-10-aarch64-micro-architectures
|
||||
;; Suitable '-march' values for GCC 10.
|
||||
;; TODO: Allow dynamically adding feature flags.
|
||||
(append %gcc-7.5-aarch64-micro-architectures
|
||||
'("armv8.4-a" "armv8.5-a" "armv8.6-a")))
|
||||
|
||||
(define %gcc-10-armhf-micro-architectures
|
||||
;; Suitable '-march' values for GCC 10.
|
||||
;; TODO: Allow dynamically adding feature flags.
|
||||
(append %gcc-7.5-armhf-micro-architectures
|
||||
'("armv8.2-a" "armv8.3-a" "armv8.4-a" "armv8.5-a" "armv8.6-a"
|
||||
"armv8-r" "armv8.1-m.main")))
|
||||
|
||||
(define %gcc-10-x86_64-micro-architectures
|
||||
;; Suitable '-march' values for GCC 10.
|
||||
(append %gcc-7.5-x86_64-micro-architectures
|
||||
|
@ -545,7 +571,6 @@ Go. It also includes runtime support libraries for these languages.")
|
|||
|
||||
"znver2" "znver3")))
|
||||
|
||||
|
||||
(define-public gcc-7
|
||||
(package
|
||||
(inherit gcc-6)
|
||||
|
@ -566,6 +591,8 @@ for several languages, including C, C++, Objective-C, Fortran, Ada, and Go.
|
|||
It also includes runtime support libraries for these languages.")
|
||||
(properties
|
||||
`((compiler-cpu-architectures
|
||||
("aarch64" ,@%gcc-7.5-aarch64-micro-architectures)
|
||||
("armhf" ,@%gcc-7.5-armhf-micro-architectures)
|
||||
("x86_64" ,@%gcc-7.5-x86_64-micro-architectures))))))
|
||||
|
||||
(define-public gcc-8
|
||||
|
@ -619,6 +646,8 @@ It also includes runtime support libraries for these languages.")
|
|||
(snippet gcc-canadian-cross-objdump-snippet)))
|
||||
(properties
|
||||
`((compiler-cpu-architectures
|
||||
("aarch64" ,@%gcc-10-aarch64-micro-architectures)
|
||||
("armhf" ,@%gcc-10-armhf-micro-architectures)
|
||||
("x86_64" ,@%gcc-10-x86_64-micro-architectures))))))
|
||||
|
||||
(define-public gcc-11
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
|
||||
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
|
||||
;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2020 Kei Kebreau <kkebreau@posteo.net>
|
||||
;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru>
|
||||
;;; Copyright © 2021 John Kehayias <john.kehayias@protonmail.com>
|
||||
|
@ -63,6 +63,7 @@
|
|||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system waf)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
|
@ -181,6 +182,38 @@ rendering modes are: Bitmaps, Anti-aliased pixmaps, Texture maps, Outlines,
|
|||
Polygon meshes, and Extruded polygon meshes.")
|
||||
(license license:x11)))
|
||||
|
||||
(define-public glad
|
||||
(package
|
||||
(name "glad")
|
||||
(version "0.1.36")
|
||||
(source
|
||||
(origin
|
||||
;; We fetch the sources from the repository since the PyPI archive
|
||||
;; doesn't contain the CMakeLists.txt file which is useful for
|
||||
;; integration with other software, such as the openboardview package.
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Dav1dde/glad")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0m55ya1zrmg6n2cljkajy80ilmi5sblln8742fm0k1sw9k7hzn8n"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'install 'install-cmakelists.txt
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(share (string-append out "/share/" ,name)))
|
||||
(install-file "CMakeLists.txt" share)))))))
|
||||
(home-page "https://github.com/Dav1dde/glad")
|
||||
(synopsis "Multi-language GL/GLES/EGL/GLX/WGL loader generator")
|
||||
(description "Glad uses the official Khronos XML specifications to
|
||||
generate a GL/GLES/EGL/GLX/WGL loader tailored for specific requirements.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public s2tc
|
||||
(package
|
||||
(name "s2tc")
|
||||
|
@ -261,7 +294,8 @@ also known as DXTn or DXTC) for Mesa.")
|
|||
("libxrandr" ,libxrandr)
|
||||
("libxvmc" ,libxvmc)
|
||||
,@(match (%current-system)
|
||||
((or "x86_64-linux" "i686-linux" "powerpc64le-linux" "aarch64-linux" "powerpc-linux")
|
||||
((or "x86_64-linux" "i686-linux" "powerpc64le-linux" "aarch64-linux"
|
||||
"powerpc-linux" "riscv64-linux")
|
||||
;; Note: update the 'clang' input of mesa-opencl when bumping this.
|
||||
`(("llvm" ,llvm-11)))
|
||||
(_
|
||||
|
@ -273,7 +307,8 @@ also known as DXTn or DXTC) for Mesa.")
|
|||
("flex" ,flex)
|
||||
("gettext" ,gettext-minimal)
|
||||
,@(match (%current-system)
|
||||
((or "x86_64-linux" "i686-linux" "powerpc64le-linux" "aarch64-linux" "powerpc-linux")
|
||||
((or "x86_64-linux" "i686-linux" "powerpc64le-linux" "aarch64-linux"
|
||||
"powerpc-linux" "riscv64-linux")
|
||||
`(("glslang" ,glslang)))
|
||||
(_
|
||||
`()))
|
||||
|
@ -289,7 +324,7 @@ also known as DXTn or DXTC) for Mesa.")
|
|||
((or "armhf-linux" "aarch64-linux")
|
||||
;; TODO: Fix svga driver for non-Intel architectures.
|
||||
'("-Dgallium-drivers=etnaviv,freedreno,kmsro,lima,nouveau,panfrost,r300,r600,swrast,tegra,v3d,vc4,virgl"))
|
||||
((or "powerpc64le-linux" "powerpc-linux")
|
||||
((or "powerpc64le-linux" "powerpc-linux" "riscv64-linux")
|
||||
'("-Dgallium-drivers=nouveau,r300,r600,radeonsi,swrast,virgl"))
|
||||
(_
|
||||
'("-Dgallium-drivers=iris,nouveau,r300,r600,radeonsi,svga,swrast,virgl")))
|
||||
|
@ -315,12 +350,15 @@ also known as DXTn or DXTC) for Mesa.")
|
|||
'("-Dvulkan-drivers=amd,swrast"))
|
||||
("aarch64-linux"
|
||||
'("-Dvulkan-drivers=freedreno,amd,broadcom,swrast"))
|
||||
("riscv64-linux"
|
||||
'("-Dvulkan-drivers=amd,swrast"))
|
||||
(_
|
||||
'("-Dvulkan-drivers=auto")))
|
||||
|
||||
;; Enable the Vulkan overlay layer on architectures using llvm.
|
||||
,@(match (%current-system)
|
||||
((or "x86_64-linux" "i686-linux" "powerpc64le-linux" "aarch64-linux" "powerpc-linux")
|
||||
((or "x86_64-linux" "i686-linux" "powerpc64le-linux" "aarch64-linux"
|
||||
"powerpc-linux" "riscv64-linux")
|
||||
'("-Dvulkan-layers=device-select,overlay"))
|
||||
(_
|
||||
'()))
|
||||
|
@ -334,7 +372,7 @@ also known as DXTn or DXTC) for Mesa.")
|
|||
((or "x86_64-linux" "i686-linux")
|
||||
'("-Ddri-drivers=i915,i965,nouveau,r200,r100"
|
||||
"-Dllvm=enabled")) ; default is x86/x86_64 only
|
||||
((or "powerpc64le-linux" "aarch64-linux" "powerpc-linux")
|
||||
((or "powerpc64le-linux" "aarch64-linux" "powerpc-linux" "riscv64-linux")
|
||||
'("-Ddri-drivers=nouveau,r200,r100"
|
||||
"-Dllvm=enabled"))
|
||||
(_
|
||||
|
@ -359,6 +397,13 @@ also known as DXTn or DXTC) for Mesa.")
|
|||
(("if with_tests")
|
||||
"if false"))
|
||||
,@(match (%current-system)
|
||||
("riscv64-linux"
|
||||
;; According to the test logs the llvm JIT is not designed
|
||||
;; for this architecture and the llvmpipe tests all segfault.
|
||||
;; The same is true for mesa:gallium / osmesa-render.
|
||||
`((substitute* '("src/gallium/drivers/llvmpipe/meson.build"
|
||||
"src/gallium/targets/osmesa/meson.build")
|
||||
(("if with_tests") "if false"))))
|
||||
("powerpc64le-linux"
|
||||
;; Disable some of the llvmpipe tests.
|
||||
`((substitute* "src/gallium/drivers/llvmpipe/lp_test_arit.c"
|
||||
|
|
|
@ -54,7 +54,7 @@
|
|||
;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net>
|
||||
;;; Copyright © 2020, 2021 Brice Waegeneire <brice@waegenei.re>
|
||||
;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
|
||||
;;; Copyright © 2020, 2022 Michael Rohleder <mike@rohleder.de>
|
||||
;;; Copyright © 2020 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
|
||||
;;; Copyright © 2020, 2021 Andy Tai <atai@atai.org>
|
||||
;;; Copyright © 2020, 2021 Sébastien Lerique <sl@eauchat.org>
|
||||
|
@ -158,6 +158,7 @@
|
|||
#:use-module (gnu packages mail)
|
||||
#:use-module (gnu packages man)
|
||||
#:use-module (gnu packages markup)
|
||||
#:use-module (gnu packages messaging)
|
||||
#:use-module (gnu packages mp3)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages music)
|
||||
|
@ -1914,8 +1915,8 @@ and system administrators.")
|
|||
;; recent versions of the build tools. The latest activity on the
|
||||
;; pre-GNOME version has been in 2014, while GNOME has continued applying
|
||||
;; fixes since.
|
||||
(let ((commit "3cf7ec4c2e5bca139a7f3e17f9fc9009c237fcc5")
|
||||
(revision "2"))
|
||||
(let ((commit "0997887d97f01be28bf3886dfd3e2002de437930")
|
||||
(revision "3"))
|
||||
(package
|
||||
(name "dia")
|
||||
(version (git-version "0.97.3" revision commit))
|
||||
|
@ -1927,9 +1928,11 @@ and system administrators.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"04r8dspa6nmicrifhi3sh46hqvyy88hzq37xx99q3q1mwsrpmwy8"))))
|
||||
"199b4n1jydg1g9lnz0r8xx67h7s2ac2lfj89zp015lbs0qqfkmsh"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments `(#:meson ,meson-0.59))
|
||||
;; XXX: Parallel builds may cause: [74/566] [...]
|
||||
;; fatal error: dia-lib-enums.h: No such file or directory
|
||||
(arguments '(#:parallel-build? #f))
|
||||
(inputs
|
||||
(list graphene
|
||||
gtk+-2
|
||||
|
@ -1939,12 +1942,10 @@ and system administrators.")
|
|||
;; XXX: PDF plugin fails to build with poppler 21.07.0.
|
||||
;; poppler
|
||||
|
||||
;; Without Python 2, build fails: plug-ins/python/meson.build:4:0:
|
||||
;; ERROR: Unknown method "dependency" in object.
|
||||
python-2))
|
||||
python))
|
||||
(native-inputs
|
||||
(list appstream-glib docbook-xsl
|
||||
`(,glib "bin") intltool pkg-config))
|
||||
`(,glib "bin") gettext-minimal pkg-config))
|
||||
(home-page "https://wiki.gnome.org/Apps/Dia")
|
||||
(synopsis "Diagram creation for GNOME")
|
||||
(description "Dia can be used to draw different types of diagrams, and
|
||||
|
@ -5106,6 +5107,7 @@ and other secrets. It communicates with the \"Secret Service\" using DBus.")
|
|||
("desktop-file-utils" ,desktop-file-utils)
|
||||
("intltool" ,intltool)
|
||||
("itstool" ,itstool)
|
||||
("python" ,python-wrapper) ; for meson_post_install.py
|
||||
("vala" ,vala)
|
||||
("yelp" ,yelp)
|
||||
("appstream-glib" ,appstream-glib)))
|
||||
|
@ -7476,7 +7478,12 @@ to display dialog boxes from the commandline and shell scripts.")
|
|||
;; expression paragraph. For an explanation, see: info '(sed)
|
||||
;; Multiline techniques'.
|
||||
(invoke "sed" "/./{H;$!d} ; x ; s/^.*native-headless.*$//"
|
||||
"-i" "src/tests/meson.build")))
|
||||
"-i" "src/tests/meson.build")
|
||||
;; Timeline tests may unexpectedly fail on missed frames, so
|
||||
;; let's disable them as well.
|
||||
;; See <https://gitlab.gnome.org/GNOME/mutter/-/issues/2125>
|
||||
(substitute* "src/tests/clutter/conform/meson.build"
|
||||
(("'timeline.*',") ""))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? test-options parallel-tests?
|
||||
#:allow-other-keys)
|
||||
|
@ -7679,14 +7686,13 @@ Microsoft Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
|
|||
'("addressbook-backends" "calendar-backends"
|
||||
"camel-providers" "credential-modules"
|
||||
"registry-modules"))))
|
||||
(list "-DENABLE_UOA=OFF" ;disable Ubuntu Online Accounts support
|
||||
"-DENABLE_GOOGLE=OFF" ;disable Google Contacts support
|
||||
"-DENABLE_GOOGLE_AUTH=OFF" ;disable Google authentication
|
||||
(list "-DENABLE_GOOGLE=OFF" ;disable Google Contacts support
|
||||
"-DENABLE_VALA_BINDINGS=ON"
|
||||
(string-append "-DCMAKE_INSTALL_RPATH=" lib ";"
|
||||
(string-append lib "/evolution-data-server;")
|
||||
(string-join runpaths ";"))
|
||||
"-DENABLE_INTROSPECTION=ON")) ;required for Vala bindings
|
||||
"-DENABLE_INTROSPECTION=ON" ;required for Vala bindings
|
||||
"-DWITH_PHONENUMBER=ON"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'disable-failing-tests
|
||||
|
@ -7716,6 +7722,7 @@ Microsoft Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
|
|||
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
|
||||
("intltool" ,intltool)
|
||||
("pkg-config" ,pkg-config)
|
||||
("protobuf" ,protobuf)
|
||||
("vala" ,vala)
|
||||
("python" ,python-wrapper)))
|
||||
(propagated-inputs
|
||||
|
@ -7728,11 +7735,13 @@ Microsoft Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.")
|
|||
("sqlite" ,sqlite)))
|
||||
(inputs
|
||||
`(("bdb" ,bdb)
|
||||
("boost" ,boost)
|
||||
("gcr" ,gcr)
|
||||
("gnome-online-accounts:lib" ,gnome-online-accounts "lib")
|
||||
("json-glib" ,json-glib)
|
||||
("libcanberra" ,libcanberra)
|
||||
("libgweather" ,libgweather)
|
||||
("libphonenumber" ,libphonenumber)
|
||||
("mit-krb5" ,mit-krb5)
|
||||
("openldap" ,openldap)
|
||||
("webkitgtk" ,webkitgtk-with-libsoup2)))
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Reference in a new issue