mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2026-07-02 15:54:04 +02:00
Merge branch 'master' into staging
This commit is contained in:
@@ -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 \
|
||||
|
||||
+38
-3
@@ -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
|
||||
|
||||
+360
-195
@@ -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
|
||||
|
||||
+2
-1
@@ -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
|
||||
|
||||
+73
-15
@@ -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
|
||||
|
||||
+5
-3
@@ -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)
|
||||
|
||||
@@ -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.")))
|
||||
+57
-37
@@ -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"
|
||||
|
||||
@@ -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)))))
|
||||
+9
-16
@@ -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.
|
||||
|
||||
+104
-18
@@ -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
|
||||
|
||||
+160
-10
@@ -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
|
||||
|
||||
+47
-57
@@ -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))
|
||||
|
||||
+60
-70
@@ -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."
|
||||
|
||||
+18
-1
@@ -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?
|
||||
|
||||
+135
-22
@@ -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))))))
|
||||
|
||||
+33
-5
@@ -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 \
|
||||
|
||||
+1
-1
@@ -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.
|
||||
;;;
|
||||
|
||||
+20
-3
@@ -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)
|
||||
|
||||
+205
-18
@@ -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
|
||||
|
||||
+85
-9
@@ -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
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
|
||||
+68
-3
@@ -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+)))
|
||||
|
||||
+101
-1
@@ -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
|
||||
|
||||
+40
-1
@@ -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))))
|
||||
|
||||
+77
-35
@@ -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"
|
||||
|
||||
+36
-63
@@ -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
|
||||
|
||||
+16
-16
@@ -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))
|
||||
|
||||
+208
-83
@@ -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))))
|
||||
|
||||
+312
-50
@@ -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
|
||||
|
||||
+1311
-49
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))
|
||||
|
||||
+279
-1
@@ -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")
|
||||
|
||||
+12
-2
@@ -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+)))
|
||||
|
||||
+53
-51
@@ -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/")
|
||||
|
||||
+921
-245
File diff suppressed because it is too large
Load Diff
+92
-102
@@ -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
|
||||
|
||||
+98
-106
@@ -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)
|
||||
|
||||
+34
-50
@@ -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
|
||||
|
||||
+186
-193
@@ -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
|
||||
|
||||
+31
-2
@@ -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
|
||||
|
||||
+51
-6
@@ -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"
|
||||
|
||||
+23
-14
@@ -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 New Issue
Block a user