diff options
| author | Efraim Flashner <efraim@flashner.co.il> | 2021-10-31 12:47:14 +0200 |
|---|---|---|
| committer | Efraim Flashner <efraim@flashner.co.il> | 2021-10-31 14:49:47 +0200 |
| commit | bc5155b952ae8bdbc56aded4d8d39768b4e2a7d4 (patch) | |
| tree | 6b55475d86c522543384dea7d1ab66bba32af63e | |
| parent | dac8d013bd1fc7f57b8ba3582eef6e0e01b23dfd (diff) | |
| parent | 4e5000114ec01b5e92a87c52f2a10f9ba7a601c8 (diff) | |
Merge remote-tracking branch 'origin/master' into core-updates-frozen
138 files changed, 6886 insertions, 2600 deletions
diff --git a/Makefile.am b/Makefile.am index a99ccabd0ff..135fbb5ccee 100644 --- a/Makefile.am +++ b/Makefile.am | |||
| @@ -317,6 +317,7 @@ MODULES = \ | |||
| 317 | guix/scripts/import/stackage.scm \ | 317 | guix/scripts/import/stackage.scm \ |
| 318 | guix/scripts/import/texlive.scm \ | 318 | guix/scripts/import/texlive.scm \ |
| 319 | guix/scripts/environment.scm \ | 319 | guix/scripts/environment.scm \ |
| 320 | guix/scripts/shell.scm \ | ||
| 320 | guix/scripts/publish.scm \ | 321 | guix/scripts/publish.scm \ |
| 321 | guix/scripts/edit.scm \ | 322 | guix/scripts/edit.scm \ |
| 322 | guix/scripts/size.scm \ | 323 | guix/scripts/size.scm \ |
| @@ -477,6 +478,7 @@ SCM_TESTS = \ | |||
| 477 | tests/graph.scm \ | 478 | tests/graph.scm \ |
| 478 | tests/gremlin.scm \ | 479 | tests/gremlin.scm \ |
| 479 | tests/hackage.scm \ | 480 | tests/hackage.scm \ |
| 481 | tests/home-import.scm \ | ||
| 480 | tests/import-git.scm \ | 482 | tests/import-git.scm \ |
| 481 | tests/import-utils.scm \ | 483 | tests/import-utils.scm \ |
| 482 | tests/inferior.scm \ | 484 | tests/inferior.scm \ |
| @@ -556,6 +558,7 @@ SH_TESTS = \ | |||
| 556 | tests/guix-authenticate.sh \ | 558 | tests/guix-authenticate.sh \ |
| 557 | tests/guix-environment.sh \ | 559 | tests/guix-environment.sh \ |
| 558 | tests/guix-environment-container.sh \ | 560 | tests/guix-environment-container.sh \ |
| 561 | tests/guix-shell.sh \ | ||
| 559 | tests/guix-graph.sh \ | 562 | tests/guix-graph.sh \ |
| 560 | tests/guix-describe.sh \ | 563 | tests/guix-describe.sh \ |
| 561 | tests/guix-repl.sh \ | 564 | tests/guix-repl.sh \ |
diff --git a/doc/build.scm b/doc/build.scm index 90fbf1f0e2c..bf32f854360 100644 --- a/doc/build.scm +++ b/doc/build.scm | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | ;;; GNU Guix --- Functional package management for GNU | 1 | ;;; GNU Guix --- Functional package management for GNU |
| 2 | ;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org> | 2 | ;;; Copyright © 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org> |
| 3 | ;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> | 3 | ;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> |
| 4 | ;;; | 4 | ;;; |
| 5 | ;;; This file is part of GNU Guix. | 5 | ;;; This file is part of GNU Guix. |
| @@ -59,6 +59,7 @@ | |||
| 59 | ;; failed" crash: <https://bugs.gnu.org/47428>. | 59 | ;; failed" crash: <https://bugs.gnu.org/47428>. |
| 60 | (computed-file (computed-file-name result) | 60 | (computed-file (computed-file-name result) |
| 61 | (computed-file-gexp result) | 61 | (computed-file-gexp result) |
| 62 | #:local-build? #f | ||
| 62 | #:options (computed-file-options result) | 63 | #:options (computed-file-options result) |
| 63 | #:guile guile-3.0-latest))))) | 64 | #:guile guile-3.0-latest))))) |
| 64 | 65 | ||
| @@ -699,7 +700,7 @@ makeinfo OPTIONS." | |||
| 699 | '#$languages))))) | 700 | '#$languages))))) |
| 700 | 701 | ||
| 701 | (let* ((name (string-append manual "-html-manual")) | 702 | (let* ((name (string-append manual "-html-manual")) |
| 702 | (manual (computed-file name build))) | 703 | (manual (computed-file name build #:local-build? #f))) |
| 703 | (syntax-highlighted-html manual | 704 | (syntax-highlighted-html manual |
| 704 | #:mono-node-indexes mono-node-indexes | 705 | #:mono-node-indexes mono-node-indexes |
| 705 | #:split-node-indexes split-node-indexes | 706 | #:split-node-indexes split-node-indexes |
| @@ -803,7 +804,8 @@ PDF for language '~a'!~%~%" | |||
| 803 | opts)))) | 804 | opts)))) |
| 804 | '#$languages)))) | 805 | '#$languages)))) |
| 805 | 806 | ||
| 806 | (computed-file (string-append manual "-pdf-manual") build)) | 807 | (computed-file (string-append manual "-pdf-manual") build |
| 808 | #:local-build? #f)) | ||
| 807 | 809 | ||
| 808 | (define (guix-manual-text-domain source languages) | 810 | (define (guix-manual-text-domain source languages) |
| 809 | "Return the PO files for LANGUAGES of the 'guix-manual' text domain taken | 811 | "Return the PO files for LANGUAGES of the 'guix-manual' text domain taken |
diff --git a/doc/contributing.texi b/doc/contributing.texi index 76ab913b0de..db0f8361577 100644 --- a/doc/contributing.texi +++ b/doc/contributing.texi | |||
| @@ -73,10 +73,10 @@ all the dependencies and appropriate environment variables are set up to | |||
| 73 | hack on Guix: | 73 | hack on Guix: |
| 74 | 74 | ||
| 75 | @example | 75 | @example |
| 76 | guix environment guix --pure | 76 | guix shell -D guix --pure |
| 77 | @end example | 77 | @end example |
| 78 | 78 | ||
| 79 | @xref{Invoking guix environment}, for more information on that command. | 79 | @xref{Invoking guix shell}, for more information on that command. |
| 80 | 80 | ||
| 81 | If you are unable to use Guix when building Guix from a checkout, the | 81 | If you are unable to use Guix when building Guix from a checkout, the |
| 82 | following are the required packages in addition to those mentioned in the | 82 | following are the required packages in addition to those mentioned in the |
| @@ -92,10 +92,10 @@ installation instructions (@pxref{Requirements}). | |||
| 92 | @end itemize | 92 | @end itemize |
| 93 | 93 | ||
| 94 | On Guix, extra dependencies can be added by instead running @command{guix | 94 | On Guix, extra dependencies can be added by instead running @command{guix |
| 95 | environment} with @option{--ad-hoc}: | 95 | shell}: |
| 96 | 96 | ||
| 97 | @example | 97 | @example |
| 98 | guix environment guix --pure --ad-hoc help2man git strace | 98 | guix shell -D guix help2man git strace --pure |
| 99 | @end example | 99 | @end example |
| 100 | 100 | ||
| 101 | Run @command{./bootstrap} to generate the build system infrastructure | 101 | Run @command{./bootstrap} to generate the build system infrastructure |
diff --git a/doc/guix.texi b/doc/guix.texi index 656dc357f59..85d834aca45 100644 --- a/doc/guix.texi +++ b/doc/guix.texi | |||
| @@ -120,6 +120,7 @@ Documentation License''. | |||
| 120 | 120 | ||
| 121 | @dircategory Software development | 121 | @dircategory Software development |
| 122 | @direntry | 122 | @direntry |
| 123 | * guix shell: (guix)Invoking guix shell. Creating software environments. | ||
| 123 | * guix environment: (guix)Invoking guix environment. Building development environments with Guix. | 124 | * guix environment: (guix)Invoking guix environment. Building development environments with Guix. |
| 124 | * guix build: (guix)Invoking guix build. Building packages. | 125 | * guix build: (guix)Invoking guix build. Building packages. |
| 125 | * guix pack: (guix)Invoking guix pack. Creating binary bundles. | 126 | * guix pack: (guix)Invoking guix pack. Creating binary bundles. |
| @@ -263,6 +264,7 @@ Channels | |||
| 263 | 264 | ||
| 264 | Development | 265 | Development |
| 265 | 266 | ||
| 267 | * Invoking guix shell:: Spawning one-off software environments. | ||
| 266 | * Invoking guix environment:: Setting up development environments. | 268 | * Invoking guix environment:: Setting up development environments. |
| 267 | * Invoking guix pack:: Creating software bundles. | 269 | * Invoking guix pack:: Creating software bundles. |
| 268 | * The GCC toolchain:: Working with languages supported by GCC. | 270 | * The GCC toolchain:: Working with languages supported by GCC. |
| @@ -3069,10 +3071,10 @@ substitutes: they can force a local build and @emph{challenge} providers | |||
| 3069 | (@pxref{Invoking guix challenge}). | 3071 | (@pxref{Invoking guix challenge}). |
| 3070 | 3072 | ||
| 3071 | Control over the build environment is a feature that is also useful for | 3073 | Control over the build environment is a feature that is also useful for |
| 3072 | developers. The @command{guix environment} command allows developers of | 3074 | developers. The @command{guix shell} command allows developers of |
| 3073 | a package to quickly set up the right development environment for their | 3075 | a package to quickly set up the right development environment for their |
| 3074 | package, without having to manually install the dependencies of the | 3076 | package, without having to manually install the dependencies of the |
| 3075 | package into their profile (@pxref{Invoking guix environment}). | 3077 | package into their profile (@pxref{Invoking guix shell}). |
| 3076 | 3078 | ||
| 3077 | @cindex replication, of software environments | 3079 | @cindex replication, of software environments |
| 3078 | @cindex provenance tracking, of software artifacts | 3080 | @cindex provenance tracking, of software artifacts |
| @@ -3236,7 +3238,7 @@ As an example, @var{file} might contain a definition like this | |||
| 3236 | Developers may find it useful to include such a @file{guix.scm} file | 3238 | Developers may find it useful to include such a @file{guix.scm} file |
| 3237 | in the root of their project source tree that can be used to test | 3239 | in the root of their project source tree that can be used to test |
| 3238 | development snapshots and create reproducible development environments | 3240 | development snapshots and create reproducible development environments |
| 3239 | (@pxref{Invoking guix environment}). | 3241 | (@pxref{Invoking guix shell}). |
| 3240 | 3242 | ||
| 3241 | The @var{file} may also contain a JSON representation of one or more | 3243 | The @var{file} may also contain a JSON representation of one or more |
| 3242 | package definitions. Running @code{guix package -f} on | 3244 | package definitions. Running @code{guix package -f} on |
| @@ -3343,6 +3345,17 @@ objects, like this: | |||
| 3343 | '("emacs" "guile@@2.2" "guile@@2.2:debug")) | 3345 | '("emacs" "guile@@2.2" "guile@@2.2:debug")) |
| 3344 | @end lisp | 3346 | @end lisp |
| 3345 | 3347 | ||
| 3348 | @findex package->development-manifest | ||
| 3349 | You might also want to create a manifest for all the dependencies of a | ||
| 3350 | package, rather than the package itself: | ||
| 3351 | |||
| 3352 | @lisp | ||
| 3353 | (package->development-manifest (specification->package "emacs")) | ||
| 3354 | @end lisp | ||
| 3355 | |||
| 3356 | The example above gives you all the software required to develop Emacs, | ||
| 3357 | similar to what @command{guix environment emacs} provides. | ||
| 3358 | |||
| 3346 | @xref{export-manifest, @option{--export-manifest}}, to learn how to | 3359 | @xref{export-manifest, @option{--export-manifest}}, to learn how to |
| 3347 | obtain a manifest file from an existing profile. | 3360 | obtain a manifest file from an existing profile. |
| 3348 | 3361 | ||
| @@ -5552,31 +5565,389 @@ If you are a software developer, Guix provides tools that you should find | |||
| 5552 | helpful---independently of the language you're developing in. This is what | 5565 | helpful---independently of the language you're developing in. This is what |
| 5553 | this chapter is about. | 5566 | this chapter is about. |
| 5554 | 5567 | ||
| 5555 | The @command{guix environment} command provides a convenient way to set up | 5568 | The @command{guix shell} command provides a convenient way to set up |
| 5556 | @dfn{development environments} containing all the dependencies and tools | 5569 | one-off software environments, be it for development purposes or to run |
| 5557 | necessary to work on the software package of your choice. The @command{guix | 5570 | a command without installing it in your profile. The @command{guix |
| 5558 | pack} command allows you to create @dfn{application bundles} that can be | 5571 | pack} command allows you to create @dfn{application bundles} that can be |
| 5559 | easily distributed to users who do not run Guix. | 5572 | easily distributed to users who do not run Guix. |
| 5560 | 5573 | ||
| 5561 | @menu | 5574 | @menu |
| 5575 | * Invoking guix shell:: Spawning one-off software environments. | ||
| 5562 | * Invoking guix environment:: Setting up development environments. | 5576 | * Invoking guix environment:: Setting up development environments. |
| 5563 | * Invoking guix pack:: Creating software bundles. | 5577 | * Invoking guix pack:: Creating software bundles. |
| 5564 | * The GCC toolchain:: Working with languages supported by GCC. | 5578 | * The GCC toolchain:: Working with languages supported by GCC. |
| 5565 | * Invoking guix git authenticate:: Authenticating Git repositories. | 5579 | * Invoking guix git authenticate:: Authenticating Git repositories. |
| 5566 | @end menu | 5580 | @end menu |
| 5567 | 5581 | ||
| 5568 | @node Invoking guix environment | 5582 | @node Invoking guix shell |
| 5569 | @section Invoking @command{guix environment} | 5583 | @section Invoking @command{guix shell} |
| 5570 | 5584 | ||
| 5571 | @cindex reproducible build environments | 5585 | @cindex reproducible build environments |
| 5572 | @cindex development environments | 5586 | @cindex development environments |
| 5573 | @cindex @command{guix environment} | 5587 | @cindex @command{guix environment} |
| 5574 | @cindex environment, package build environment | 5588 | @cindex environment, package build environment |
| 5575 | The purpose of @command{guix environment} is to assist hackers in | 5589 | The purpose of @command{guix shell} is to make it easy to create one-off |
| 5576 | creating reproducible development environments without polluting their | 5590 | software environments, without changing one's profile. It is typically |
| 5577 | package profile. The @command{guix environment} tool takes one or more | 5591 | used to create development environments; it is also a convenient way to |
| 5578 | packages, builds all of their inputs, and creates a shell | 5592 | run applications without ``polluting'' your profile. |
| 5579 | environment to use them. | 5593 | |
| 5594 | @quotation Note | ||
| 5595 | The @command{guix shell} command was recently introduced to supersede | ||
| 5596 | @command{guix environment} (@pxref{Invoking guix environment}). If you | ||
| 5597 | are familiar with @command{guix environment}, you will notice that it is | ||
| 5598 | similar but also---we hope!---more convenient. | ||
| 5599 | @end quotation | ||
| 5600 | |||
| 5601 | The general syntax is: | ||
| 5602 | |||
| 5603 | @example | ||
| 5604 | guix shell [@var{options}] [@var{package}@dots{}] | ||
| 5605 | @end example | ||
| 5606 | |||
| 5607 | The following example creates an environment containing Python and NumPy, | ||
| 5608 | building or downloading any missing package, and runs the | ||
| 5609 | @command{python3} command in that environment: | ||
| 5610 | |||
| 5611 | @example | ||
| 5612 | guix shell python python-numpy -- python3 | ||
| 5613 | @end example | ||
| 5614 | |||
| 5615 | Development environments can be created as in the example below, which | ||
| 5616 | spawns an interactive shell containing all the dependencies and | ||
| 5617 | environment variables needed to work on Inkscape: | ||
| 5618 | |||
| 5619 | @example | ||
| 5620 | guix shell --development inkscape | ||
| 5621 | @end example | ||
| 5622 | |||
| 5623 | Exiting the shell places the user back in the original environment | ||
| 5624 | before @command{guix shell} was invoked. The next garbage collection | ||
| 5625 | (@pxref{Invoking guix gc}) may clean up packages that were installed in | ||
| 5626 | the environment and that are no longer used outside of it. | ||
| 5627 | |||
| 5628 | As an added convenience, when running from a directory that contains a | ||
| 5629 | @file{manifest.scm} or a @file{guix.scm} file (in this order), possibly | ||
| 5630 | in a parent directory, @command{guix shell} automatically loads the | ||
| 5631 | file---provided the directory is listed in | ||
| 5632 | @file{~/.config/guix/shell-authorized-directories}, and only for | ||
| 5633 | interactive use: | ||
| 5634 | |||
| 5635 | @example | ||
| 5636 | guix shell | ||
| 5637 | @end example | ||
| 5638 | |||
| 5639 | This provides an easy way to define, share, and enter development | ||
| 5640 | environments. | ||
| 5641 | |||
| 5642 | By default, the shell session or command runs in an @emph{augmented} | ||
| 5643 | environment, where the new packages are added to search path environment | ||
| 5644 | variables such as @code{PATH}. You can, instead, choose to create an | ||
| 5645 | @emph{isolated} environment containing nothing but the packages you | ||
| 5646 | asked for. Passing the @option{--pure} option clears environment | ||
| 5647 | variable definitions found in the parent environment@footnote{Be sure to | ||
| 5648 | use the @option{--check} option the first time you use @command{guix | ||
| 5649 | shell} interactively to make sure the shell does not undo the effect of | ||
| 5650 | @option{--pure}.}; passing @option{--container} goes one step further by | ||
| 5651 | spawning a @dfn{container} isolated from the rest of the system: | ||
| 5652 | |||
| 5653 | @example | ||
| 5654 | guix shell --container emacs gcc-toolchain | ||
| 5655 | @end example | ||
| 5656 | |||
| 5657 | The command above spawns an interactive shell in a container when | ||
| 5658 | nothing but @code{emacs}, @code{gcc-toolchain}, and their dependencies | ||
| 5659 | is available. The container lacks network access and shares no files | ||
| 5660 | other than the current working directory with the surrounding | ||
| 5661 | environment. This is useful to prevent access to system-wide resources | ||
| 5662 | such as @file{/usr/bin} on foreign distros. | ||
| 5663 | |||
| 5664 | This @option{--container} option can also prove useful if you wish to | ||
| 5665 | run a security-sensitive application, such as a web browser, in an | ||
| 5666 | isolated environment. For example, the command below launches | ||
| 5667 | Ungoogled-Chromium in an isolated environment, this time sharing network | ||
| 5668 | access with the host and preserving its @code{DISPLAY} environment | ||
| 5669 | variable, but without even sharing the current directory: | ||
| 5670 | |||
| 5671 | @example | ||
| 5672 | guix shell --container --network --no-cwd ungoogled-chromium \ | ||
| 5673 | --preserve='^DISPLAY$' -- chromium | ||
| 5674 | @end example | ||
| 5675 | |||
| 5676 | @vindex GUIX_ENVIRONMENT | ||
| 5677 | @command{guix shell} defines the @env{GUIX_ENVIRONMENT} | ||
| 5678 | variable in the shell it spawns; its value is the file name of the | ||
| 5679 | profile of this environment. This allows users to, say, define a | ||
| 5680 | specific prompt for development environments in their @file{.bashrc} | ||
| 5681 | (@pxref{Bash Startup Files,,, bash, The GNU Bash Reference Manual}): | ||
| 5682 | |||
| 5683 | @example | ||
| 5684 | if [ -n "$GUIX_ENVIRONMENT" ] | ||
| 5685 | then | ||
| 5686 | export PS1="\u@@\h \w [dev]\$ " | ||
| 5687 | fi | ||
| 5688 | @end example | ||
| 5689 | |||
| 5690 | @noindent | ||
| 5691 | ...@: or to browse the profile: | ||
| 5692 | |||
| 5693 | @example | ||
| 5694 | $ ls "$GUIX_ENVIRONMENT/bin" | ||
| 5695 | @end example | ||
| 5696 | |||
| 5697 | The available options are summarized below. | ||
| 5698 | |||
| 5699 | @table @code | ||
| 5700 | @item --check | ||
| 5701 | Set up the environment and check whether the shell would clobber | ||
| 5702 | environment variables. It's a good idea to use this option the first | ||
| 5703 | time you run @command{guix shell} for an interactive session to make | ||
| 5704 | sure your setup is correct. | ||
| 5705 | |||
| 5706 | For example, if the shell modifies the @env{PATH} environment variable, | ||
| 5707 | report it since you would get a different environment than what you | ||
| 5708 | asked for. | ||
| 5709 | |||
| 5710 | Such problems usually indicate that the shell startup files are | ||
| 5711 | unexpectedly modifying those environment variables. For example, if you | ||
| 5712 | are using Bash, make sure that environment variables are set or modified | ||
| 5713 | in @file{~/.bash_profile} and @emph{not} in @file{~/.bashrc}---the | ||
| 5714 | former is sourced only by log-in shells. @xref{Bash Startup Files,,, | ||
| 5715 | bash, The GNU Bash Reference Manual}, for details on Bash start-up | ||
| 5716 | files. | ||
| 5717 | |||
| 5718 | @item --development | ||
| 5719 | @itemx -D | ||
| 5720 | Cause @command{guix shell} to include in the environment the | ||
| 5721 | dependencies of the following package rather than the package itself. | ||
| 5722 | This can be combined with other packages. For instance, the command | ||
| 5723 | below starts an interactive shell containing the build-time dependencies | ||
| 5724 | of GNU@tie{}Guile, plus Autoconf, Automake, and Libtool: | ||
| 5725 | |||
| 5726 | @example | ||
| 5727 | guix shell -D guile autoconf automake libtool | ||
| 5728 | @end example | ||
| 5729 | |||
| 5730 | @item --expression=@var{expr} | ||
| 5731 | @itemx -e @var{expr} | ||
| 5732 | Create an environment for the package or list of packages that | ||
| 5733 | @var{expr} evaluates to. | ||
| 5734 | |||
| 5735 | For example, running: | ||
| 5736 | |||
| 5737 | @example | ||
| 5738 | guix shell -D -e '(@@ (gnu packages maths) petsc-openmpi)' | ||
| 5739 | @end example | ||
| 5740 | |||
| 5741 | starts a shell with the environment for this specific variant of the | ||
| 5742 | PETSc package. | ||
| 5743 | |||
| 5744 | Running: | ||
| 5745 | |||
| 5746 | @example | ||
| 5747 | guix shell -e '(@@ (gnu) %base-packages)' | ||
| 5748 | @end example | ||
| 5749 | |||
| 5750 | starts a shell with all the base system packages available. | ||
| 5751 | |||
| 5752 | The above commands only use the default output of the given packages. | ||
| 5753 | To select other outputs, two element tuples can be specified: | ||
| 5754 | |||
| 5755 | @example | ||
| 5756 | guix shell -e '(list (@@ (gnu packages bash) bash) "include")' | ||
| 5757 | @end example | ||
| 5758 | |||
| 5759 | @item --file=@var{file} | ||
| 5760 | @itemx -f @var{file} | ||
| 5761 | Create an environment containing the package or list of packages that | ||
| 5762 | the code within @var{file} evaluates to. | ||
| 5763 | |||
| 5764 | As an example, @var{file} might contain a definition like this | ||
| 5765 | (@pxref{Defining Packages}): | ||
| 5766 | |||
| 5767 | @lisp | ||
| 5768 | @verbatiminclude environment-gdb.scm | ||
| 5769 | @end lisp | ||
| 5770 | |||
| 5771 | With the file above, you can enter a development environment for GDB by | ||
| 5772 | running: | ||
| 5773 | |||
| 5774 | @example | ||
| 5775 | guix shell -D -f gdb-devel.scm | ||
| 5776 | @end example | ||
| 5777 | |||
| 5778 | @item --manifest=@var{file} | ||
| 5779 | @itemx -m @var{file} | ||
| 5780 | Create an environment for the packages contained in the manifest object | ||
| 5781 | returned by the Scheme code in @var{file}. This option can be repeated | ||
| 5782 | several times, in which case the manifests are concatenated. | ||
| 5783 | |||
| 5784 | This is similar to the same-named option in @command{guix package} | ||
| 5785 | (@pxref{profile-manifest, @option{--manifest}}) and uses the same | ||
| 5786 | manifest files. | ||
| 5787 | |||
| 5788 | @item --rebuild-cache | ||
| 5789 | When using @option{--manifest}, @option{--file}, or when invoked without | ||
| 5790 | arguments, @command{guix shell} caches the environment so that | ||
| 5791 | subsequent uses are instantaneous. The cache is invalidated anytime the | ||
| 5792 | file is modified. | ||
| 5793 | |||
| 5794 | The @option{--rebuild-cache} forces the cached environment to be | ||
| 5795 | refreshed even if the file has not changed. This is useful if the | ||
| 5796 | @command{guix.scm} or @command{manifest.scm} has external dependencies, | ||
| 5797 | or if its behavior depends, say, on environment variables. | ||
| 5798 | |||
| 5799 | @item --pure | ||
| 5800 | Unset existing environment variables when building the new environment, except | ||
| 5801 | those specified with @option{--preserve} (see below). This has the effect of | ||
| 5802 | creating an environment in which search paths only contain package inputs. | ||
| 5803 | |||
| 5804 | @item --preserve=@var{regexp} | ||
| 5805 | @itemx -E @var{regexp} | ||
| 5806 | When used alongside @option{--pure}, preserve the environment variables | ||
| 5807 | matching @var{regexp}---in other words, put them on a ``white list'' of | ||
| 5808 | environment variables that must be preserved. This option can be repeated | ||
| 5809 | several times. | ||
| 5810 | |||
| 5811 | @example | ||
| 5812 | guix shell --pure --preserve=^SLURM openmpi @dots{} \ | ||
| 5813 | -- mpirun @dots{} | ||
| 5814 | @end example | ||
| 5815 | |||
| 5816 | This example runs @command{mpirun} in a context where the only environment | ||
| 5817 | variables defined are @env{PATH}, environment variables whose name starts | ||
| 5818 | with @samp{SLURM}, as well as the usual ``precious'' variables (@env{HOME}, | ||
| 5819 | @env{USER}, etc.). | ||
| 5820 | |||
| 5821 | @item --search-paths | ||
| 5822 | Display the environment variable definitions that make up the | ||
| 5823 | environment. | ||
| 5824 | |||
| 5825 | @item --system=@var{system} | ||
| 5826 | @itemx -s @var{system} | ||
| 5827 | Attempt to build for @var{system}---e.g., @code{i686-linux}. | ||
| 5828 | |||
| 5829 | @item --container | ||
| 5830 | @itemx -C | ||
| 5831 | @cindex container | ||
| 5832 | Run @var{command} within an isolated container. The current working | ||
| 5833 | directory outside the container is mapped inside the container. | ||
| 5834 | Additionally, unless overridden with @option{--user}, a dummy home | ||
| 5835 | directory is created that matches the current user's home directory, and | ||
| 5836 | @file{/etc/passwd} is configured accordingly. | ||
| 5837 | |||
| 5838 | The spawned process runs as the current user outside the container. Inside | ||
| 5839 | the container, it has the same UID and GID as the current user, unless | ||
| 5840 | @option{--user} is passed (see below). | ||
| 5841 | |||
| 5842 | @item --network | ||
| 5843 | @itemx -N | ||
| 5844 | For containers, share the network namespace with the host system. | ||
| 5845 | Containers created without this flag only have access to the loopback | ||
| 5846 | device. | ||
| 5847 | |||
| 5848 | @item --link-profile | ||
| 5849 | @itemx -P | ||
| 5850 | For containers, link the environment profile to @file{~/.guix-profile} | ||
| 5851 | within the container and set @code{GUIX_ENVIRONMENT} to that. | ||
| 5852 | This is equivalent to making @file{~/.guix-profile} a symlink to the | ||
| 5853 | actual profile within the container. | ||
| 5854 | Linking will fail and abort the environment if the directory already | ||
| 5855 | exists, which will certainly be the case if @command{guix shell} | ||
| 5856 | was invoked in the user's home directory. | ||
| 5857 | |||
| 5858 | Certain packages are configured to look in @file{~/.guix-profile} for | ||
| 5859 | configuration files and data;@footnote{For example, the | ||
| 5860 | @code{fontconfig} package inspects @file{~/.guix-profile/share/fonts} | ||
| 5861 | for additional fonts.} @option{--link-profile} allows these programs to | ||
| 5862 | behave as expected within the environment. | ||
| 5863 | |||
| 5864 | @item --user=@var{user} | ||
| 5865 | @itemx -u @var{user} | ||
| 5866 | For containers, use the username @var{user} in place of the current | ||
| 5867 | user. The generated @file{/etc/passwd} entry within the container will | ||
| 5868 | contain the name @var{user}, the home directory will be | ||
| 5869 | @file{/home/@var{user}}, and no user GECOS data will be copied. Furthermore, | ||
| 5870 | the UID and GID inside the container are 1000. @var{user} | ||
| 5871 | need not exist on the system. | ||
| 5872 | |||
| 5873 | Additionally, any shared or exposed path (see @option{--share} and | ||
| 5874 | @option{--expose} respectively) whose target is within the current user's | ||
| 5875 | home directory will be remapped relative to @file{/home/USER}; this | ||
| 5876 | includes the automatic mapping of the current working directory. | ||
| 5877 | |||
| 5878 | @example | ||
| 5879 | # will expose paths as /home/foo/wd, /home/foo/test, and /home/foo/target | ||
| 5880 | cd $HOME/wd | ||
| 5881 | guix shell --container --user=foo \ | ||
| 5882 | --expose=$HOME/test \ | ||
| 5883 | --expose=/tmp/target=$HOME/target | ||
| 5884 | @end example | ||
| 5885 | |||
| 5886 | While this will limit the leaking of user identity through home paths | ||
| 5887 | and each of the user fields, this is only one useful component of a | ||
| 5888 | broader privacy/anonymity solution---not one in and of itself. | ||
| 5889 | |||
| 5890 | @item --no-cwd | ||
| 5891 | For containers, the default behavior is to share the current working | ||
| 5892 | directory with the isolated container and immediately change to that | ||
| 5893 | directory within the container. If this is undesirable, | ||
| 5894 | @option{--no-cwd} will cause the current working directory to @emph{not} | ||
| 5895 | be automatically shared and will change to the user's home directory | ||
| 5896 | within the container instead. See also @option{--user}. | ||
| 5897 | |||
| 5898 | @item --expose=@var{source}[=@var{target}] | ||
| 5899 | @itemx --share=@var{source}[=@var{target}] | ||
| 5900 | For containers, @option{--expose} (resp. @option{--share}) exposes the | ||
| 5901 | file system @var{source} from the host system as the read-only | ||
| 5902 | (resp. writable) file system @var{target} within the container. If | ||
| 5903 | @var{target} is not specified, @var{source} is used as the target mount | ||
| 5904 | point in the container. | ||
| 5905 | |||
| 5906 | The example below spawns a Guile REPL in a container in which the user's | ||
| 5907 | home directory is accessible read-only via the @file{/exchange} | ||
| 5908 | directory: | ||
| 5909 | |||
| 5910 | @example | ||
| 5911 | guix shell --container --expose=$HOME=/exchange guile -- guile | ||
| 5912 | @end example | ||
| 5913 | |||
| 5914 | @item --root=@var{file} | ||
| 5915 | @itemx -r @var{file} | ||
| 5916 | @cindex persistent environment | ||
| 5917 | @cindex garbage collector root, for environments | ||
| 5918 | Make @var{file} a symlink to the profile for this environment, and | ||
| 5919 | register it as a garbage collector root. | ||
| 5920 | |||
| 5921 | This is useful if you want to protect your environment from garbage | ||
| 5922 | collection, to make it ``persistent''. | ||
| 5923 | |||
| 5924 | When this option is omitted, the environment is protected from garbage | ||
| 5925 | collection only for the duration of the @command{guix shell} | ||
| 5926 | session. This means that next time you recreate the same environment, | ||
| 5927 | you could have to rebuild or re-download packages. @xref{Invoking guix | ||
| 5928 | gc}, for more on GC roots. | ||
| 5929 | @end table | ||
| 5930 | |||
| 5931 | @command{guix shell} also supports all of the common build options that | ||
| 5932 | @command{guix build} supports (@pxref{Common Build Options}) as well as | ||
| 5933 | package transformation options (@pxref{Package Transformation Options}). | ||
| 5934 | |||
| 5935 | @node Invoking guix environment | ||
| 5936 | @section Invoking @command{guix environment} | ||
| 5937 | |||
| 5938 | The purpose of @command{guix environment} is to assist in creating | ||
| 5939 | development environments. | ||
| 5940 | |||
| 5941 | @quotation Deprecation warning | ||
| 5942 | The @command{guix environment} command is deprecated in favor of | ||
| 5943 | @command{guix shell}, which performs similar functions but is more | ||
| 5944 | convenient to use. @xref{Invoking guix shell}. | ||
| 5945 | |||
| 5946 | Being deprecated, @command{guix environment} is slated for eventual | ||
| 5947 | removal, but the Guix project is committed to keeping it until May 1st, | ||
| 5948 | 2023. Please get in touch with us at @email{guix-devel@@gnu.org} if you | ||
| 5949 | would like to discuss it. | ||
| 5950 | @end quotation | ||
| 5580 | 5951 | ||
| 5581 | The general syntax is: | 5952 | The general syntax is: |
| 5582 | 5953 | ||
| @@ -5710,6 +6081,11 @@ guix environment --preserve='^DISPLAY$' --container --network \ | |||
| 5710 | The available options are summarized below. | 6081 | The available options are summarized below. |
| 5711 | 6082 | ||
| 5712 | @table @code | 6083 | @table @code |
| 6084 | @item --check | ||
| 6085 | Set up the environment and check whether the shell would clobber | ||
| 6086 | environment variables. @xref{Invoking guix shell, @option{--check}}, | ||
| 6087 | for more info. | ||
| 6088 | |||
| 5713 | @item --root=@var{file} | 6089 | @item --root=@var{file} |
| 5714 | @itemx -r @var{file} | 6090 | @itemx -r @var{file} |
| 5715 | @cindex persistent environment | 6091 | @cindex persistent environment |
| @@ -6898,6 +7274,47 @@ In this example we obtain the @code{gmp} package that is among the | |||
| 6898 | direct inputs of @code{coreutils}. | 7274 | direct inputs of @code{coreutils}. |
| 6899 | @end deffn | 7275 | @end deffn |
| 6900 | 7276 | ||
| 7277 | @cindex development inputs, of a package | ||
| 7278 | @cindex implicit inputs, of a package | ||
| 7279 | Sometimes you will want to obtain the list of inputs needed to | ||
| 7280 | @emph{develop} a package---all the inputs that are visible when the | ||
| 7281 | package is compiled. This is what the @code{package-development-inputs} | ||
| 7282 | procedure returns. | ||
| 7283 | |||
| 7284 | @deffn {Scheme Procedure} package-development-inputs @var{package} @ | ||
| 7285 | [@var{system}] [#:target #f] | ||
| 7286 | Return the list of inputs required by @var{package} for development | ||
| 7287 | purposes on @var{system}. When @var{target} is true, return the inputs | ||
| 7288 | needed to cross-compile @var{package} from @var{system} to | ||
| 7289 | @var{triplet}, where @var{triplet} is a triplet such as | ||
| 7290 | @code{"aarch64-linux-gnu"}. | ||
| 7291 | |||
| 7292 | Note that the result includes both explicit inputs and implicit | ||
| 7293 | inputs---inputs automatically added by the build system (@pxref{Build | ||
| 7294 | Systems}). Let us take the @code{hello} package to illustrate that: | ||
| 7295 | |||
| 7296 | @lisp | ||
| 7297 | (use-modules (gnu packages base) (guix packages)) | ||
| 7298 | |||
| 7299 | hello | ||
| 7300 | @result{} #<package hello@@2.10 gnu/packages/base.scm:79 7f585d4f6790> | ||
| 7301 | |||
| 7302 | (package-direct-inputs hello) | ||
| 7303 | @result{} () | ||
| 7304 | |||
| 7305 | (package-development-inputs hello) | ||
| 7306 | @result{} (("source" @dots{}) ("tar" #<package tar@@1.32 @dots{}>) @dots{}) | ||
| 7307 | @end lisp | ||
| 7308 | |||
| 7309 | In this example, @code{package-direct-inputs} returns the empty list, | ||
| 7310 | because @code{hello} has zero explicit dependencies. Conversely, | ||
| 7311 | @code{package-development-inputs} includes inputs implicitly added by | ||
| 7312 | @code{gnu-build-system} that are required to build @code{hello}: tar, | ||
| 7313 | gzip, GCC, libc, Bash, and more. To visualize it, @command{guix graph | ||
| 7314 | hello} would show you explicit inputs, whereas @command{guix graph -t | ||
| 7315 | bag hello} would include implicit inputs (@pxref{Invoking guix graph}). | ||
| 7316 | @end deffn | ||
| 7317 | |||
| 6901 | Because packages are regular Scheme objects that capture a complete | 7318 | Because packages are regular Scheme objects that capture a complete |
| 6902 | dependency graph and associated build procedures, it is often useful to | 7319 | dependency graph and associated build procedures, it is often useful to |
| 6903 | write procedures that take a package and return a modified version | 7320 | write procedures that take a package and return a modified version |
| @@ -11152,14 +11569,14 @@ a container similar to the one the build daemon creates: | |||
| 11152 | $ guix build -K foo | 11569 | $ guix build -K foo |
| 11153 | @dots{} | 11570 | @dots{} |
| 11154 | $ cd /tmp/guix-build-foo.drv-0 | 11571 | $ cd /tmp/guix-build-foo.drv-0 |
| 11155 | $ guix environment --no-grafts -C foo --ad-hoc strace gdb | 11572 | $ guix shell --no-grafts -C foo strace gdb |
| 11156 | [env]# source ./environment-variables | 11573 | [env]# source ./environment-variables |
| 11157 | [env]# cd foo-1.2 | 11574 | [env]# cd foo-1.2 |
| 11158 | @end example | 11575 | @end example |
| 11159 | 11576 | ||
| 11160 | Here, @command{guix environment -C} creates a container and spawns a new | 11577 | Here, @command{guix shell -C} creates a container and spawns a new |
| 11161 | shell in it (@pxref{Invoking guix environment}). The @command{--ad-hoc | 11578 | shell in it (@pxref{Invoking guix shell}). The @command{strace gdb} |
| 11162 | strace gdb} part adds the @command{strace} and @command{gdb} commands to | 11579 | part adds the @command{strace} and @command{gdb} commands to |
| 11163 | the container, which you may find handy while debugging. The | 11580 | the container, which you may find handy while debugging. The |
| 11164 | @option{--no-grafts} option makes sure we get the exact same | 11581 | @option{--no-grafts} option makes sure we get the exact same |
| 11165 | environment, with ungrafted packages (@pxref{Security Updates}, for more | 11582 | environment, with ungrafted packages (@pxref{Security Updates}, for more |
| @@ -11173,7 +11590,7 @@ remove @file{/bin/sh}: | |||
| 11173 | @end example | 11590 | @end example |
| 11174 | 11591 | ||
| 11175 | (Don't worry, this is harmless: this is all happening in the throw-away | 11592 | (Don't worry, this is harmless: this is all happening in the throw-away |
| 11176 | container created by @command{guix environment}.) | 11593 | container created by @command{guix shell}.) |
| 11177 | 11594 | ||
| 11178 | The @command{strace} command is probably not in the search path, but we | 11595 | The @command{strace} command is probably not in the search path, but we |
| 11179 | can run: | 11596 | can run: |
| @@ -13468,8 +13885,8 @@ is subject to radical change in the future. | |||
| 13468 | 13885 | ||
| 13469 | The purpose of @command{guix container} is to manipulate processes | 13886 | The purpose of @command{guix container} is to manipulate processes |
| 13470 | running within an isolated environment, commonly known as a | 13887 | running within an isolated environment, commonly known as a |
| 13471 | ``container'', typically created by the @command{guix environment} | 13888 | ``container'', typically created by the @command{guix shell} |
| 13472 | (@pxref{Invoking guix environment}) and @command{guix system container} | 13889 | (@pxref{Invoking guix shell}) and @command{guix system container} |
| 13473 | (@pxref{Invoking guix system}) commands. | 13890 | (@pxref{Invoking guix system}) commands. |
| 13474 | 13891 | ||
| 13475 | The general syntax is: | 13892 | The general syntax is: |
| @@ -13655,7 +14072,7 @@ listed.}. Here's an example of the information it returns: | |||
| 13655 | $ sudo guix processes | 14072 | $ sudo guix processes |
| 13656 | SessionPID: 19002 | 14073 | SessionPID: 19002 |
| 13657 | ClientPID: 19090 | 14074 | ClientPID: 19090 |
| 13658 | ClientCommand: guix environment --ad-hoc python | 14075 | ClientCommand: guix shell python |
| 13659 | 14076 | ||
| 13660 | SessionPID: 19402 | 14077 | SessionPID: 19402 |
| 13661 | ClientPID: 19367 | 14078 | ClientPID: 19367 |
| @@ -17362,6 +17779,10 @@ Data type representing the configuration for @code{rsync-service}. | |||
| 17362 | @item @code{package} (default: @var{rsync}) | 17779 | @item @code{package} (default: @var{rsync}) |
| 17363 | @code{rsync} package to use. | 17780 | @code{rsync} package to use. |
| 17364 | 17781 | ||
| 17782 | @item @code{address} (default: @code{#f}) | ||
| 17783 | IP address on which @command{rsync} listens for incoming connections. | ||
| 17784 | If unspecified, it defaults to listening on all available addresses. | ||
| 17785 | |||
| 17365 | @item @code{port-number} (default: @code{873}) | 17786 | @item @code{port-number} (default: @code{873}) |
| 17366 | TCP port on which @command{rsync} listens for incoming connections. If port | 17787 | TCP port on which @command{rsync} listens for incoming connections. If port |
| 17367 | is less than @code{1024} @command{rsync} needs to be started as the | 17788 | is less than @code{1024} @command{rsync} needs to be started as the |
| @@ -29868,8 +30289,7 @@ When the service is running, you can view its console by connecting to | |||
| 29868 | it with a VNC client, for example with: | 30289 | it with a VNC client, for example with: |
| 29869 | 30290 | ||
| 29870 | @example | 30291 | @example |
| 29871 | guix environment --ad-hoc tigervnc-client -- \ | 30292 | guix shell tigervnc-client -- vncviewer localhost:5900 |
| 29872 | vncviewer localhost:5900 | ||
| 29873 | @end example | 30293 | @end example |
| 29874 | 30294 | ||
| 29875 | The default configuration (see @code{hurd-vm-configuration} below) | 30295 | The default configuration (see @code{hurd-vm-configuration} below) |
| @@ -34125,7 +34545,7 @@ guix system delete-generations | |||
| 34125 | @end example | 34545 | @end example |
| 34126 | 34546 | ||
| 34127 | You can also select the generations you want to delete. The example below | 34547 | You can also select the generations you want to delete. The example below |
| 34128 | deletes all the system generations that are more than two month old: | 34548 | deletes all the system generations that are more than two months old: |
| 34129 | 34549 | ||
| 34130 | @example | 34550 | @example |
| 34131 | guix system delete-generations 2m | 34551 | guix system delete-generations 2m |
| @@ -35657,12 +36077,27 @@ still in an experimental stage, though. | |||
| 35657 | @section Declaring the Home Environment | 36077 | @section Declaring the Home Environment |
| 35658 | The home environment is configured by providing a | 36078 | The home environment is configured by providing a |
| 35659 | @code{home-environment} declaration in a file that can be passed to the | 36079 | @code{home-environment} declaration in a file that can be passed to the |
| 35660 | @command{guix home} command (@pxref{Invoking guix home}). A simple | 36080 | @command{guix home} command (@pxref{Invoking guix home}). The easiest |
| 35661 | setup can include Bash and a custom text configuration, like in the | 36081 | way to get started is by generating an initial configuration with |
| 35662 | example below. Don't be afraid to declare home environment parts, which | 36082 | @command{guix home import}: |
| 35663 | overlaps with your current dotfiles, before installing any configuration | 36083 | |
| 35664 | files, Guix Home will back up existing config files to a separate place | 36084 | @example |
| 35665 | in the home folder. | 36085 | guix home import ~/src/guix-config |
| 36086 | @end example | ||
| 36087 | |||
| 36088 | The @command{guix home import} command reads some of the ``dot files'' | ||
| 36089 | such as @file{~/.bashrc} found in your home directory and copies them to | ||
| 36090 | the given directory, @file{~/src/guix-config} in this case; it also | ||
| 36091 | reads the contents of your profile, @file{~/.guix-profile}, and, based | ||
| 36092 | on that, it outputs a Home configuration that resembles your current | ||
| 36093 | configuration. You can dump that configuration to a file and you're | ||
| 36094 | ready to go! | ||
| 36095 | |||
| 36096 | A simple setup can include Bash and a custom text configuration, like in | ||
| 36097 | the example below. Don't be afraid to declare home environment parts, | ||
| 36098 | which overlaps with your current dot files: before installing any | ||
| 36099 | configuration files, Guix Home will back up existing config files to a | ||
| 36100 | separate place in the home directory. | ||
| 35666 | 36101 | ||
| 35667 | @quotation Note | 36102 | @quotation Note |
| 35668 | It is highly recommended that you manage your shell or shells with Guix | 36103 | It is highly recommended that you manage your shell or shells with Guix |
| @@ -35685,10 +36120,20 @@ There is no daemon (at least not necessarily) related to a home service, | |||
| 35685 | a home service is just an element that is used to declare part of home | 36120 | a home service is just an element that is used to declare part of home |
| 35686 | environment and extend other parts of it. The extension mechanism | 36121 | environment and extend other parts of it. The extension mechanism |
| 35687 | discussed in the previous chapter (@pxref{Defining Services}) should not | 36122 | discussed in the previous chapter (@pxref{Defining Services}) should not |
| 35688 | be confused with @ref{Shepherd Services}. Using this extension | 36123 | be confused with Shepherd services (@pxref{Shepherd Services}). Using this extension |
| 35689 | mechanism and some Scheme code that glues things together gives the user | 36124 | mechanism and some Scheme code that glues things together gives the user |
| 35690 | the freedom to declare their own, very custom, home environments. | 36125 | the freedom to declare their own, very custom, home environments. |
| 35691 | 36126 | ||
| 36127 | Once you have a configuration file that suits your needs, you can | ||
| 36128 | reconfigure your home by running: | ||
| 36129 | |||
| 36130 | @example | ||
| 36131 | guix home reconfigure config.scm | ||
| 36132 | @end example | ||
| 36133 | |||
| 36134 | This ``builds'' your home environment and creates @file{~/.guix-home} | ||
| 36135 | pointing to it. Voilà! | ||
| 36136 | |||
| 35692 | @node Configuring the Shell | 36137 | @node Configuring the Shell |
| 35693 | @section Configuring the Shell | 36138 | @section Configuring the Shell |
| 35694 | This section is safe to skip if your shell or shells are managed by | 36139 | This section is safe to skip if your shell or shells are managed by |
| @@ -36283,7 +36728,7 @@ guix home delete-generations | |||
| 36283 | @end example | 36728 | @end example |
| 36284 | 36729 | ||
| 36285 | You can also select the generations you want to delete. The example below | 36730 | You can also select the generations you want to delete. The example below |
| 36286 | deletes all the home generations that are more than two month old: | 36731 | deletes all the home generations that are more than two months old: |
| 36287 | 36732 | ||
| 36288 | @example | 36733 | @example |
| 36289 | guix home delete-generations 2m | 36734 | guix home delete-generations 2m |
| @@ -36313,6 +36758,38 @@ generations that are up to 10 days old: | |||
| 36313 | $ guix home list-generations 10d | 36758 | $ guix home list-generations 10d |
| 36314 | @end example | 36759 | @end example |
| 36315 | 36760 | ||
| 36761 | @item import | ||
| 36762 | Generate a @dfn{home environment} from the packages in the default | ||
| 36763 | profile and configuration files found in the user's home directory. The | ||
| 36764 | configuration files will be copied to the specified directory. Note | ||
| 36765 | that not every home service that exists is supported (@pxref{Home | ||
| 36766 | Services}). | ||
| 36767 | |||
| 36768 | @example | ||
| 36769 | $ guix home import ~/guix-config | ||
| 36770 | ;; This "home-environment" file can be passed to 'guix home reconfigure' | ||
| 36771 | ;; to reproduce the content of your profile. This is "symbolic": it only | ||
| 36772 | ;; specifies package names. To reproduce the exact same profile, you also | ||
| 36773 | ;; need to capture the channels being used, as returned by "guix describe". | ||
| 36774 | ;; See the "Replicating Guix" section in the manual. | ||
| 36775 | |||
| 36776 | (use-modules | ||
| 36777 | (gnu home) | ||
| 36778 | (gnu packages) | ||
| 36779 | (gnu home services shells)) | ||
| 36780 | |||
| 36781 | (home-environment | ||
| 36782 | (packages | ||
| 36783 | (map specification->package | ||
| 36784 | (list "glibc-locales" "nss-certs" "nss"))) | ||
| 36785 | (services | ||
| 36786 | (list (service | ||
| 36787 | home-bash-service-type | ||
| 36788 | (home-bash-configuration | ||
| 36789 | (bashrc | ||
| 36790 | (list (local-file "/home/charlie/guix-config/.bashrc")))))))) | ||
| 36791 | @end example | ||
| 36792 | |||
| 36316 | @end table | 36793 | @end table |
| 36317 | 36794 | ||
| 36318 | @var{options} can contain any of the common build options (@pxref{Common | 36795 | @var{options} can contain any of the common build options (@pxref{Common |
diff --git a/doc/local.mk b/doc/local.mk index fff11f81835..d0cab306a49 100644 --- a/doc/local.mk +++ b/doc/local.mk | |||
| @@ -110,18 +110,18 @@ endef | |||
| 110 | $(srcdir)/%D%/guix.%.texi: po/doc/guix-manual.%.po $(srcdir)/%D%/contributing.%.texi guix/build/po.go | 110 | $(srcdir)/%D%/guix.%.texi: po/doc/guix-manual.%.po $(srcdir)/%D%/contributing.%.texi guix/build/po.go |
| 111 | -$(AM_V_PO4A)$(PO4A_TRANSLATE) $(PO4A_PARAMS) -m "%D%/guix.texi" -p "$<" -l "$@.tmp" | 111 | -$(AM_V_PO4A)$(PO4A_TRANSLATE) $(PO4A_PARAMS) -m "%D%/guix.texi" -p "$<" -l "$@.tmp" |
| 112 | -sed -i "s|guix\.info|$$(basename "$@" | sed 's|texi$$|info|')|" "$@.tmp" | 112 | -sed -i "s|guix\.info|$$(basename "$@" | sed 's|texi$$|info|')|" "$@.tmp" |
| 113 | -$(AM_V_POXREF)$(xref_command) | 113 | -$(AM_V_POXREF)LC_ALL=en_US.UTF-8 $(xref_command) |
| 114 | -mv "$@.tmp" "$@" | 114 | -mv "$@.tmp" "$@" |
| 115 | 115 | ||
| 116 | $(srcdir)/%D%/guix-cookbook.%.texi: po/doc/guix-cookbook.%.po guix/build/po.go | 116 | $(srcdir)/%D%/guix-cookbook.%.texi: po/doc/guix-cookbook.%.po guix/build/po.go |
| 117 | -$(AM_V_PO4A)$(PO4A_TRANSLATE) $(PO4A_PARAMS) -m "%D%/guix-cookbook.texi" -p "$<" -l "$@.tmp" | 117 | -$(AM_V_PO4A)$(PO4A_TRANSLATE) $(PO4A_PARAMS) -m "%D%/guix-cookbook.texi" -p "$<" -l "$@.tmp" |
| 118 | -sed -i "s|guix-cookbook\.info|$$(basename "$@" | sed 's|texi$$|info|')|" "$@.tmp" | 118 | -sed -i "s|guix-cookbook\.info|$$(basename "$@" | sed 's|texi$$|info|')|" "$@.tmp" |
| 119 | -$(AM_V_POXREF)$(xref_command) | 119 | -$(AM_V_POXREF)LC_ALL=en_US.UTF-8 $(xref_command) |
| 120 | -mv "$@.tmp" "$@" | 120 | -mv "$@.tmp" "$@" |
| 121 | 121 | ||
| 122 | $(srcdir)/%D%/contributing.%.texi: po/doc/guix-manual.%.po guix/build/po.go | 122 | $(srcdir)/%D%/contributing.%.texi: po/doc/guix-manual.%.po guix/build/po.go |
| 123 | -$(AM_V_PO4A)$(PO4A_TRANSLATE) $(PO4A_PARAMS) -m "%D%/contributing.texi" -p "$<" -l "$@.tmp" | 123 | -$(AM_V_PO4A)$(PO4A_TRANSLATE) $(PO4A_PARAMS) -m "%D%/contributing.texi" -p "$<" -l "$@.tmp" |
| 124 | -$(AM_V_POXREF)$(xref_command) | 124 | -$(AM_V_POXREF)LC_ALL=en_US.UTF-8 $(xref_command) |
| 125 | -mv "$@.tmp" "$@" | 125 | -mv "$@.tmp" "$@" |
| 126 | 126 | ||
| 127 | %D%/os-config-%.texi: gnu/system/examples/%.tmpl | 127 | %D%/os-config-%.texi: gnu/system/examples/%.tmpl |
diff --git a/etc/completion/bash/guix b/etc/completion/bash/guix index 87d9911e53a..6a11e1b23b3 100644 --- a/etc/completion/bash/guix +++ b/etc/completion/bash/guix | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | # GNU Guix --- Functional package management for GNU | 1 | # GNU Guix --- Functional package management for GNU |
| 2 | # Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> | 2 | # Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org> |
| 3 | # Copyright © 2021 Tobias Geerinck-Rice <me@tobias.gr> | 3 | # Copyright © 2021 Tobias Geerinck-Rice <me@tobias.gr> |
| 4 | # | 4 | # |
| 5 | # This file is part of GNU Guix. | 5 | # This file is part of GNU Guix. |
| @@ -28,10 +28,11 @@ _guix_complete_command () | |||
| 28 | if [ -z "$_guix_commands" ] | 28 | if [ -z "$_guix_commands" ] |
| 29 | then | 29 | then |
| 30 | # Cache the list of commands to speed things up. | 30 | # Cache the list of commands to speed things up. |
| 31 | _guix_commands="$(guix --help 2> /dev/null \ | 31 | _guix_commands="$(${COMP_WORDS[0]} --help 2> /dev/null \ |
| 32 | | grep '^ ' \ | 32 | | grep '^ ' \ |
| 33 | | sed '-es/^ *\([a-z-]\+\).*$/\1/g')" | 33 | | sed '-es/^ *\([a-z-]\+\).*$/\1/g')" |
| 34 | fi | 34 | fi |
| 35 | |||
| 35 | COMPREPLY+=($(compgen -W "$_guix_commands" -- "$word_at_point")) | 36 | COMPREPLY+=($(compgen -W "$_guix_commands" -- "$word_at_point")) |
| 36 | } | 37 | } |
| 37 | 38 | ||
| @@ -71,10 +72,16 @@ _guix_complete_option () | |||
| 71 | { | 72 | { |
| 72 | local command="${COMP_WORDS[$1]}" | 73 | local command="${COMP_WORDS[$1]}" |
| 73 | local subcommand="${COMP_WORDS[$(($1 + 1))]}" | 74 | local subcommand="${COMP_WORDS[$(($1 + 1))]}" |
| 74 | if _guix_is_option "$subcommand" | 75 | |
| 76 | if [ $1 -le 1 ] | ||
| 77 | then | ||
| 78 | command="" | ||
| 79 | subcommand="" | ||
| 80 | elif _guix_is_option "$subcommand" | ||
| 75 | then | 81 | then |
| 76 | subcommand="" | 82 | subcommand="" |
| 77 | fi | 83 | fi |
| 84 | |||
| 78 | local options="$(${COMP_WORDS[0]} $command $subcommand --help 2> /dev/null \ | 85 | local options="$(${COMP_WORDS[0]} $command $subcommand --help 2> /dev/null \ |
| 79 | | grep '^ \+-' \ | 86 | | grep '^ \+-' \ |
| 80 | | sed -e's/^.*--\([a-zA-Z0-9_-]\+\)\(=\?\).*/--\1\2/g')" | 87 | | sed -e's/^.*--\([a-zA-Z0-9_-]\+\)\(=\?\).*/--\1\2/g')" |
| @@ -215,7 +222,7 @@ _guix_complete () | |||
| 215 | if [[ "$word" = "--" ]] | 222 | if [[ "$word" = "--" ]] |
| 216 | then | 223 | then |
| 217 | case "$command" in | 224 | case "$command" in |
| 218 | environment) | 225 | environment|shell) |
| 219 | break | 226 | break |
| 220 | ;; | 227 | ;; |
| 221 | time-machine) | 228 | time-machine) |
| @@ -228,6 +235,7 @@ _guix_complete () | |||
| 228 | case $COMP_CWORD in | 235 | case $COMP_CWORD in |
| 229 | $command_index) | 236 | $command_index) |
| 230 | _guix_complete_command | 237 | _guix_complete_command |
| 238 | _guix_complete_option 0 "$word_at_point" | ||
| 231 | ;; | 239 | ;; |
| 232 | *) | 240 | *) |
| 233 | if [[ "$command" = "package" ]] | 241 | if [[ "$command" = "package" ]] |
| @@ -265,7 +273,7 @@ _guix_complete () | |||
| 265 | else | 273 | else |
| 266 | _guix_complete_available_package_or_store_file "$word_at_point" | 274 | _guix_complete_available_package_or_store_file "$word_at_point" |
| 267 | fi | 275 | fi |
| 268 | elif [[ "$command" = "environment" ]] | 276 | elif [[ "$command" = "environment" || "$command" = "shell" ]] |
| 269 | then | 277 | then |
| 270 | if _guix_is_dash_L || _guix_is_dash_m || _guix_is_dash_p || _guix_is_dash_l | 278 | if _guix_is_dash_L || _guix_is_dash_m || _guix_is_dash_p || _guix_is_dash_l |
| 271 | then | 279 | then |
diff --git a/etc/completion/zsh/_guix b/etc/completion/zsh/_guix index bbc13c6ca1c..9b1f16c664e 100644 --- a/etc/completion/zsh/_guix +++ b/etc/completion/zsh/_guix | |||
| @@ -58,6 +58,7 @@ _guix_list_available_packages() | |||
| 58 | if ( [[ ${+_guix_available_packages} -eq 0 ]] || _cache_invalid GUIX_AVAILABLE_PACKAGES ) \ | 58 | if ( [[ ${+_guix_available_packages} -eq 0 ]] || _cache_invalid GUIX_AVAILABLE_PACKAGES ) \ |
| 59 | && ! _retrieve_cache GUIX_AVAILABLE_PACKAGES; then | 59 | && ! _retrieve_cache GUIX_AVAILABLE_PACKAGES; then |
| 60 | _guix_available_packages=(${${(f)"$(guix package -A | cut -f1)"}}) | 60 | _guix_available_packages=(${${(f)"$(guix package -A | cut -f1)"}}) |
| 61 | _guix_available_packages=("${_guix_available_packages[@]// /}") | ||
| 61 | _store_cache GUIX_AVAILABLE_PACKAGES _guix_available_packages | 62 | _store_cache GUIX_AVAILABLE_PACKAGES _guix_available_packages |
| 62 | fi | 63 | fi |
| 63 | } | 64 | } |
diff --git a/etc/news.scm b/etc/news.scm index d3a56865b60..494c78eded8 100644 --- a/etc/news.scm +++ b/etc/news.scm | |||
| @@ -23,7 +23,96 @@ | |||
| 23 | 23 | ||
| 24 | (channel-news | 24 | (channel-news |
| 25 | (version 0) | 25 | (version 0) |
| 26 | (entry (commit "a2324d8b56eabf8117bca220a507cc791edffd2e") | 26 | |
| 27 | (entry (commit "746584e0ca200e7bf51b139ceb36c19ea81d6ef1") | ||
| 28 | (title | ||
| 29 | (en "New @command{guix shell} command supersedes @command{guix | ||
| 30 | environment}") | ||
| 31 | (de "Neuer Befehl @command{guix shell} löst @command{guix | ||
| 32 | environment} ab") | ||
| 33 | (fr "Nouvelle commande @command{guix shell} en remplacement de | ||
| 34 | @command{guix environment}")) | ||
| 35 | (body | ||
| 36 | (en "A new @command{guix shell} command is now available. It is | ||
| 37 | similar to @command{guix environment}, but with a more convenient interface | ||
| 38 | (@command{guix environment} is deprecated but will remain available until May, | ||
| 39 | 1st 2023). The main difference compared to @command{guix environment} is that | ||
| 40 | the \"ad hoc\" mode is the default. Thus, to create an interactive | ||
| 41 | environment containing Python, NumPy, and SciPy, you would run: | ||
| 42 | |||
| 43 | @example | ||
| 44 | guix shell python python-numpy python-scipy | ||
| 45 | @end example | ||
| 46 | |||
| 47 | To get a development environment for, say, Inkscape, pass the @option{-D} | ||
| 48 | flag: | ||
| 49 | |||
| 50 | @example | ||
| 51 | guix shell -D inkscape | ||
| 52 | @end example | ||
| 53 | |||
| 54 | Another difference is that running @command{guix shell} without arguments | ||
| 55 | loads @file{manifest.scm} or @file{guix.scm} for the current directory or an | ||
| 56 | ancestor, provided you allowed it. The command maintains a cache to speed up | ||
| 57 | access to such environments. | ||
| 58 | |||
| 59 | Run @command{info \"(guix) Invoking guix shell\"} for more information.") | ||
| 60 | (de "Ein neuer Befehl @command{guix shell} ist ab jetzt | ||
| 61 | verfügbar. Er ähnelt @command{guix environment}, ist aber leichter zu | ||
| 62 | benutzen (@command{guix environment} gilt als veraltet, bleibt aber | ||
| 63 | bis zum 1.@: Mai 2023 verfügbar). Der größte Unterschied ist, dass das | ||
| 64 | Verhalten mit @option{--ad-hoc} nun der Normalfall ist. D.h.@: um eine | ||
| 65 | interaktive Umgebung mit Python, NumPy und SciPy zu bekommen, lautet | ||
| 66 | der Befehl: | ||
| 67 | |||
| 68 | @example | ||
| 69 | guix shell python python-numpy python-scipy | ||
| 70 | @end example | ||
| 71 | |||
| 72 | Wenn Sie eine Entwicklungsumgebung für, sagen wir, Inkscape schaffen | ||
| 73 | wollen, übergeben Sie die Option @option{-D}: | ||
| 74 | |||
| 75 | @example | ||
| 76 | guix shell -D inkscape | ||
| 77 | @end example | ||
| 78 | |||
| 79 | Noch ein Unterschied ist, dass wenn Sie @command{guix shell} ohne | ||
| 80 | Argumente ausführen, @file{manifest.scm} oder @file{guix.scm} aus dem | ||
| 81 | aktuellen Arbeitsverzeichnis oder einem übergeordneten Verzeichnis | ||
| 82 | geladen wird, wenn Sie die Berechtigung dazu erteilt haben. Für den | ||
| 83 | Befehl wird ein Zwischenspeicher vorgehalten, damit Sie schneller auf | ||
| 84 | solche Umgebungen zugreifen können. | ||
| 85 | |||
| 86 | Führen Sie @command{info \"(guix) Invoking guix shell\"} aus, um mehr | ||
| 87 | zu erfahren.") | ||
| 88 | (fr "Une nouvelle commande, @command{guix shell}, est maintenant | ||
| 89 | disponible. Elle est similaire à @command{guix environment}, mais avec une | ||
| 90 | interface plus pratique (@command{guix environment} est désuet mais restera | ||
| 91 | disponible jusqu'au 1er mai 2023). La principale différence par rapport à | ||
| 92 | @command{guix environment} est que le mode par défaut est le mode \"ad hoc\". | ||
| 93 | Pour créer un environnement interactif contenant Python, NumPy et SciPy, il | ||
| 94 | faut donc lancer : | ||
| 95 | |||
| 96 | @example | ||
| 97 | guix shell python python-numpy python-scipy | ||
| 98 | @end example | ||
| 99 | |||
| 100 | Pour obtenir un environnement de développement pour Inkscape, par exemple, | ||
| 101 | passer l'option @option{-D} : | ||
| 102 | |||
| 103 | @example | ||
| 104 | guix shell -D inkscape | ||
| 105 | @end example | ||
| 106 | |||
| 107 | Une autre différence est qu'en lançant @command{guix shell} sans argument, le | ||
| 108 | fichier @file{manifest.scm} ou @file{guix.scm} du répertoire courant ou d'un | ||
| 109 | parent est automatiquement chargé, à condition de l'avoir autorisé. La | ||
| 110 | commande garde un cache pour accélérer l'accès à ces environnements. | ||
| 111 | |||
| 112 | Lancer @command{info \"(guix.fr) Invoquer guix shell\"} pour plus | ||
| 113 | d'informations."))) | ||
| 114 | |||
| 115 | (entry (commit "a2324d8b56eabf8117bca220a507cc791edffd2e") | ||
| 27 | (title | 116 | (title |
| 28 | (en "Guix Home is a part of GNU Guix") | 117 | (en "Guix Home is a part of GNU Guix") |
| 29 | (de "Guix Home ist jetzt Teil von GNU Guix") | 118 | (de "Guix Home ist jetzt Teil von GNU Guix") |
diff --git a/gnu/installer/newt/partition.scm b/gnu/installer/newt/partition.scm index ea524eb4c3c..70c11ed8add 100644 --- a/gnu/installer/newt/partition.scm +++ b/gnu/installer/newt/partition.scm | |||
| @@ -131,7 +131,11 @@ Be careful, all data on the disk will be lost.") | |||
| 131 | (run-listbox-selection-page | 131 | (run-listbox-selection-page |
| 132 | #:info-text (G_ "Please select the file-system type for this partition.") | 132 | #:info-text (G_ "Please select the file-system type for this partition.") |
| 133 | #:title (G_ "File-system type") | 133 | #:title (G_ "File-system type") |
| 134 | #:listbox-items '(ext4 btrfs fat16 fat32 jfs ntfs xfs swap) | 134 | #:listbox-items '(btrfs ext4 jfs xfs |
| 135 | swap | ||
| 136 | ;; These lack basic Unix features. Their only use | ||
| 137 | ;; on GNU is for interoperation, e.g., with UEFI. | ||
| 138 | fat32 fat16 ntfs) | ||
| 135 | #:listbox-item->text user-fs-type-name | 139 | #:listbox-item->text user-fs-type-name |
| 136 | #:sort-listbox-items? #f | 140 | #:sort-listbox-items? #f |
| 137 | #:button-text (G_ "Exit") | 141 | #:button-text (G_ "Exit") |
diff --git a/gnu/local.mk b/gnu/local.mk index 3155338c39c..3c90bb2549e 100644 --- a/gnu/local.mk +++ b/gnu/local.mk | |||
| @@ -612,6 +612,7 @@ GNU_SYSTEM_MODULES = \ | |||
| 612 | %D%/packages/xdisorg.scm \ | 612 | %D%/packages/xdisorg.scm \ |
| 613 | %D%/packages/xorg.scm \ | 613 | %D%/packages/xorg.scm \ |
| 614 | %D%/packages/xfce.scm \ | 614 | %D%/packages/xfce.scm \ |
| 615 | %D%/packages/zig.scm \ | ||
| 615 | %D%/packages/zile.scm \ | 616 | %D%/packages/zile.scm \ |
| 616 | %D%/packages/zwave.scm \ | 617 | %D%/packages/zwave.scm \ |
| 617 | \ | 618 | \ |
| @@ -1000,9 +1001,8 @@ dist_patch_DATA = \ | |||
| 1000 | %D%/packages/patches/desmume-gcc6-fixes.patch \ | 1001 | %D%/packages/patches/desmume-gcc6-fixes.patch \ |
| 1001 | %D%/packages/patches/desmume-gcc7-fixes.patch \ | 1002 | %D%/packages/patches/desmume-gcc7-fixes.patch \ |
| 1002 | %D%/packages/patches/dfu-programmer-fix-libusb.patch \ | 1003 | %D%/packages/patches/dfu-programmer-fix-libusb.patch \ |
| 1003 | %D%/packages/patches/diffoscope-fix-test_item3_deflate_llvm_bitcode.patch \ | 1004 | %D%/packages/patches/diffoscope-fix-llvm-test.patch \ |
| 1004 | %D%/packages/patches/diffutils-gets-undeclared.patch \ | 1005 | %D%/packages/patches/diffutils-gets-undeclared.patch \ |
| 1005 | %D%/packages/patches/disarchive-cross-compilation.patch \ | ||
| 1006 | %D%/packages/patches/dkimproxy-add-ipv6-support.patch \ | 1006 | %D%/packages/patches/dkimproxy-add-ipv6-support.patch \ |
| 1007 | %D%/packages/patches/docbook-xsl-nonrecursive-string-subst.patch \ | 1007 | %D%/packages/patches/docbook-xsl-nonrecursive-string-subst.patch \ |
| 1008 | %D%/packages/patches/docbook-xsl-support-old-url.patch \ | 1008 | %D%/packages/patches/docbook-xsl-support-old-url.patch \ |
| @@ -1068,6 +1068,7 @@ dist_patch_DATA = \ | |||
| 1068 | %D%/packages/patches/fifo-map-remove-catch.hpp.patch \ | 1068 | %D%/packages/patches/fifo-map-remove-catch.hpp.patch \ |
| 1069 | %D%/packages/patches/findutils-localstatedir.patch \ | 1069 | %D%/packages/patches/findutils-localstatedir.patch \ |
| 1070 | %D%/packages/patches/flann-cmake-3.11.patch \ | 1070 | %D%/packages/patches/flann-cmake-3.11.patch \ |
| 1071 | %D%/packages/patches/flatpak-fix-path.patch \ | ||
| 1071 | %D%/packages/patches/fontconfig-cache-ignore-mtime.patch \ | 1072 | %D%/packages/patches/fontconfig-cache-ignore-mtime.patch \ |
| 1072 | %D%/packages/patches/foobillard++-pkg-config.patch \ | 1073 | %D%/packages/patches/foobillard++-pkg-config.patch \ |
| 1073 | %D%/packages/patches/foomatic-filters-CVE-2015-8327.patch \ | 1074 | %D%/packages/patches/foomatic-filters-CVE-2015-8327.patch \ |
| @@ -1267,6 +1268,7 @@ dist_patch_DATA = \ | |||
| 1267 | %D%/packages/patches/hurd-cross.patch \ | 1268 | %D%/packages/patches/hurd-cross.patch \ |
| 1268 | %D%/packages/patches/hurd-xattr.patch \ | 1269 | %D%/packages/patches/hurd-xattr.patch \ |
| 1269 | %D%/packages/patches/hydra-disable-darcs-test.patch \ | 1270 | %D%/packages/patches/hydra-disable-darcs-test.patch \ |
| 1271 | %D%/packages/patches/icecat-78-makeicecat.patch \ | ||
| 1270 | %D%/packages/patches/icecat-makeicecat.patch \ | 1272 | %D%/packages/patches/icecat-makeicecat.patch \ |
| 1271 | %D%/packages/patches/icecat-avoid-bundled-libraries.patch \ | 1273 | %D%/packages/patches/icecat-avoid-bundled-libraries.patch \ |
| 1272 | %D%/packages/patches/icecat-use-older-reveal-hidden-html.patch \ | 1274 | %D%/packages/patches/icecat-use-older-reveal-hidden-html.patch \ |
| @@ -1504,8 +1506,6 @@ dist_patch_DATA = \ | |||
| 1504 | %D%/packages/patches/mumps-shared-libseq.patch \ | 1506 | %D%/packages/patches/mumps-shared-libseq.patch \ |
| 1505 | %D%/packages/patches/mumps-shared-mumps.patch \ | 1507 | %D%/packages/patches/mumps-shared-mumps.patch \ |
| 1506 | %D%/packages/patches/mumps-shared-pord.patch \ | 1508 | %D%/packages/patches/mumps-shared-pord.patch \ |
| 1507 | %D%/packages/patches/mupdf-fix-linkage.patch \ | ||
| 1508 | %D%/packages/patches/mupdf-CVE-2021-3407.patch \ | ||
| 1509 | %D%/packages/patches/mupen64plus-ui-console-notice.patch \ | 1509 | %D%/packages/patches/mupen64plus-ui-console-notice.patch \ |
| 1510 | %D%/packages/patches/mupen64plus-video-z64-glew-correct-path.patch \ | 1510 | %D%/packages/patches/mupen64plus-video-z64-glew-correct-path.patch \ |
| 1511 | %D%/packages/patches/musl-cross-locale.patch \ | 1511 | %D%/packages/patches/musl-cross-locale.patch \ |
| @@ -1675,6 +1675,7 @@ dist_patch_DATA = \ | |||
| 1675 | %D%/packages/patches/python-fixtures-remove-monkeypatch-test.patch \ | 1675 | %D%/packages/patches/python-fixtures-remove-monkeypatch-test.patch \ |
| 1676 | %D%/packages/patches/python-flask-restful-werkzeug-compat.patch \ | 1676 | %D%/packages/patches/python-flask-restful-werkzeug-compat.patch \ |
| 1677 | %D%/packages/patches/python-keras-integration-test.patch \ | 1677 | %D%/packages/patches/python-keras-integration-test.patch \ |
| 1678 | %D%/packages/patches/python-peachpy-determinism.patch \ | ||
| 1678 | %D%/packages/patches/python-pep8-stdlib-tokenize-compat.patch \ | 1679 | %D%/packages/patches/python-pep8-stdlib-tokenize-compat.patch \ |
| 1679 | %D%/packages/patches/python-pyfakefs-remove-bad-test.patch \ | 1680 | %D%/packages/patches/python-pyfakefs-remove-bad-test.patch \ |
| 1680 | %D%/packages/patches/python-flint-includes.patch \ | 1681 | %D%/packages/patches/python-flint-includes.patch \ |
| @@ -1706,6 +1707,7 @@ dist_patch_DATA = \ | |||
| 1706 | %D%/packages/patches/qemu-CVE-2021-20203.patch \ | 1707 | %D%/packages/patches/qemu-CVE-2021-20203.patch \ |
| 1707 | %D%/packages/patches/qemu-glibc-2.27.patch \ | 1708 | %D%/packages/patches/qemu-glibc-2.27.patch \ |
| 1708 | %D%/packages/patches/qemu-glibc-2.30.patch \ | 1709 | %D%/packages/patches/qemu-glibc-2.30.patch \ |
| 1710 | %D%/packages/patches/qemu-fix-agent-paths.patch \ | ||
| 1709 | %D%/packages/patches/qpdfview-qt515-compat.patch \ | 1711 | %D%/packages/patches/qpdfview-qt515-compat.patch \ |
| 1710 | %D%/packages/patches/qrcodegen-cpp-make-install.patch \ | 1712 | %D%/packages/patches/qrcodegen-cpp-make-install.patch \ |
| 1711 | %D%/packages/patches/qt4-ldflags.patch \ | 1713 | %D%/packages/patches/qt4-ldflags.patch \ |
| @@ -1836,12 +1838,12 @@ dist_patch_DATA = \ | |||
| 1836 | %D%/packages/patches/tup-unbundle-dependencies.patch \ | 1838 | %D%/packages/patches/tup-unbundle-dependencies.patch \ |
| 1837 | %D%/packages/patches/tuxpaint-stamps-path.patch \ | 1839 | %D%/packages/patches/tuxpaint-stamps-path.patch \ |
| 1838 | %D%/packages/patches/twinkle-bcg729.patch \ | 1840 | %D%/packages/patches/twinkle-bcg729.patch \ |
| 1841 | %D%/packages/patches/u-boot-allow-disabling-openssl.patch \ | ||
| 1839 | %D%/packages/patches/u-boot-nintendo-nes-serial.patch \ | 1842 | %D%/packages/patches/u-boot-nintendo-nes-serial.patch \ |
| 1840 | %D%/packages/patches/u-boot-rockchip-inno-usb.patch \ | 1843 | %D%/packages/patches/u-boot-rockchip-inno-usb.patch \ |
| 1841 | %D%/packages/patches/u-boot-sifive-prevent-reloc-initrd-fdt.patch \ | 1844 | %D%/packages/patches/u-boot-sifive-prevent-reloc-initrd-fdt.patch \ |
| 1842 | %D%/packages/patches/u-boot-riscv64-fix-extlinux.patch \ | 1845 | %D%/packages/patches/u-boot-riscv64-fix-extlinux.patch \ |
| 1843 | %D%/packages/patches/ucx-tcp-iface-ioctl.patch \ | 1846 | %D%/packages/patches/ucx-tcp-iface-ioctl.patch \ |
| 1844 | %D%/packages/patches/udiskie-no-appindicator.patch \ | ||
| 1845 | %D%/packages/patches/ungoogled-chromium-extension-search-path.patch \ | 1847 | %D%/packages/patches/ungoogled-chromium-extension-search-path.patch \ |
| 1846 | %D%/packages/patches/ungoogled-chromium-ffmpeg-compat.patch \ | 1848 | %D%/packages/patches/ungoogled-chromium-ffmpeg-compat.patch \ |
| 1847 | %D%/packages/patches/ungoogled-chromium-system-nspr.patch \ | 1849 | %D%/packages/patches/ungoogled-chromium-system-nspr.patch \ |
| @@ -1939,7 +1941,9 @@ dist_patch_DATA = \ | |||
| 1939 | %D%/packages/patches/ytfzf-programs.patch \ | 1941 | %D%/packages/patches/ytfzf-programs.patch \ |
| 1940 | %D%/packages/patches/ytfzf-updates.patch \ | 1942 | %D%/packages/patches/ytfzf-updates.patch \ |
| 1941 | %D%/packages/patches/ytnef-CVE-2021-3403.patch \ | 1943 | %D%/packages/patches/ytnef-CVE-2021-3403.patch \ |
| 1942 | %D%/packages/patches/ytnef-CVE-2021-3404.patch | 1944 | %D%/packages/patches/ytnef-CVE-2021-3404.patch \ |
| 1945 | %D%/packages/patches/zig-disable-libc-note-test.patch \ | ||
| 1946 | %D%/packages/patches/zig-use-system-paths.patch | ||
| 1943 | 1947 | ||
| 1944 | MISC_DISTRO_FILES = \ | 1948 | MISC_DISTRO_FILES = \ |
| 1945 | %D%/packages/ld-wrapper.in | 1949 | %D%/packages/ld-wrapper.in |
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index f77db63999f..cc7cc812f8f 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm | |||
| @@ -12,7 +12,7 @@ | |||
| 12 | ;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> | 12 | ;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> |
| 13 | ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> | 13 | ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> |
| 14 | ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> | 14 | ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> |
| 15 | ;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> | 15 | ;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net> |
| 16 | ;;; Copyright © 2021 Lars-Dominik Braun <ldb@leibniz-psychology.org> | 16 | ;;; Copyright © 2021 Lars-Dominik Braun <ldb@leibniz-psychology.org> |
| 17 | ;;; | 17 | ;;; |
| 18 | ;;; This file is part of GNU Guix. | 18 | ;;; This file is part of GNU Guix. |
| @@ -343,7 +343,7 @@ precision.") | |||
| 343 | (define-public giac | 343 | (define-public giac |
| 344 | (package | 344 | (package |
| 345 | (name "giac") | 345 | (name "giac") |
| 346 | (version "1.7.0-37") | 346 | (version "1.7.0-39") |
| 347 | (source | 347 | (source |
| 348 | (origin | 348 | (origin |
| 349 | (method url-fetch) | 349 | (method url-fetch) |
| @@ -355,7 +355,7 @@ precision.") | |||
| 355 | "~parisse/debian/dists/stable/main/source/" | 355 | "~parisse/debian/dists/stable/main/source/" |
| 356 | "giac_" version ".tar.gz")) | 356 | "giac_" version ".tar.gz")) |
| 357 | (sha256 | 357 | (sha256 |
| 358 | (base32 "1mzqf7r40ppmzixf4s6sjk76y0wpcf6xp7hklzrn2l1910ld61pz")))) | 358 | (base32 "0mmdzhnahiz6hr7a4brnjdmmm4mcaqkigrh1b6n9z5l46bilaii3")))) |
| 359 | (build-system gnu-build-system) | 359 | (build-system gnu-build-system) |
| 360 | (arguments | 360 | (arguments |
| 361 | `(#:modules ((ice-9 ftw) | 361 | `(#:modules ((ice-9 ftw) |
| @@ -988,6 +988,36 @@ Optional thin wrappers allow usage of the library from other languages.") | |||
| 988 | (license (list license:expat ;SymEngine | 988 | (license (list license:expat ;SymEngine |
| 989 | license:bsd-3)))) ;3rd party code | 989 | license:bsd-3)))) ;3rd party code |
| 990 | 990 | ||
| 991 | (define-public ginac | ||
| 992 | (package | ||
| 993 | (name "ginac") | ||
| 994 | (version "1.8.1") | ||
| 995 | (source | ||
| 996 | (origin | ||
| 997 | (method url-fetch) | ||
| 998 | (uri (string-append "https://www.ginac.de/ginac-" | ||
| 999 | version ".tar.bz2")) | ||
| 1000 | (sha256 | ||
| 1001 | (base32 "1az1ypfcny4jdz0mic1kywwa9nynr547cl5s7zpn2w0qdfymssgi")))) | ||
| 1002 | (build-system gnu-build-system) | ||
| 1003 | (arguments | ||
| 1004 | `(#:configure-flags (list "--disable-static"))) | ||
| 1005 | (native-inputs | ||
| 1006 | `(("bison" ,bison) | ||
| 1007 | ("flex" ,flex) | ||
| 1008 | ("pkg-config" ,pkg-config) | ||
| 1009 | ("python" ,python-wrapper))) ; Python is required | ||
| 1010 | (inputs | ||
| 1011 | `(("cln" ,cln) | ||
| 1012 | ("readline" ,readline))) | ||
| 1013 | (home-page "https://www.ginac.de/") | ||
| 1014 | (synopsis "Library for symbolic computation") | ||
| 1015 | (description "GiNaC is a C++ library for symbolic computation. Contrary | ||
| 1016 | to other CAS it does not try to provide extensive algebraic capabilities and a | ||
| 1017 | simple programming language but instead accepts a given language (C++) and | ||
| 1018 | extends it by a set of algebraic capabilities.") | ||
| 1019 | (license license:gpl2+))) | ||
| 1020 | |||
| 991 | (define-public eigen | 1021 | (define-public eigen |
| 992 | (package | 1022 | (package |
| 993 | (name "eigen") | 1023 | (name "eigen") |
diff --git a/gnu/packages/animation.scm b/gnu/packages/animation.scm index 62619e9c09a..063103e4333 100644 --- a/gnu/packages/animation.scm +++ b/gnu/packages/animation.scm | |||
| @@ -179,7 +179,7 @@ C++ @dfn{Standard Template Library} (STL).") | |||
| 179 | ("libxml++" ,libxml++) | 179 | ("libxml++" ,libxml++) |
| 180 | ("libsigc++" ,libsigc++) | 180 | ("libsigc++" ,libsigc++) |
| 181 | ("mlt" ,mlt-6) | 181 | ("mlt" ,mlt-6) |
| 182 | ("openexr" ,openexr) | 182 | ("openexr" ,openexr-2) |
| 183 | ("pango" ,pango))) | 183 | ("pango" ,pango))) |
| 184 | (native-inputs | 184 | (native-inputs |
| 185 | `(("intltool" ,intltool) | 185 | `(("intltool" ,intltool) |
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index d1ab99528f8..be8c8f824c4 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm | |||
| @@ -5433,14 +5433,14 @@ while still staying in time.") | |||
| 5433 | (define-public butt | 5433 | (define-public butt |
| 5434 | (package | 5434 | (package |
| 5435 | (name "butt") | 5435 | (name "butt") |
| 5436 | (version "0.1.31") | 5436 | (version "0.1.32") |
| 5437 | (source (origin | 5437 | (source (origin |
| 5438 | (method url-fetch) | 5438 | (method url-fetch) |
| 5439 | (uri (string-append "mirror://sourceforge/butt/butt/butt-" | 5439 | (uri (string-append "mirror://sourceforge/butt/butt/butt-" |
| 5440 | version "/butt-" version ".tar.gz")) | 5440 | version "/butt-" version ".tar.gz")) |
| 5441 | (sha256 | 5441 | (sha256 |
| 5442 | (base32 | 5442 | (base32 |
| 5443 | "19zvdi5vr6vqnrpc60jir7550nz9a5x1c61lh13355cdny2zp28z")) | 5443 | "1qwllkx9p1gb3syhbbck3agrk375m82l18fb81aqygi4g3dg3s9r")) |
| 5444 | (modules '((guix build utils))) | 5444 | (modules '((guix build utils))) |
| 5445 | (snippet | 5445 | (snippet |
| 5446 | '(substitute* "src/butt.cpp" | 5446 | '(substitute* "src/butt.cpp" |
| @@ -5481,7 +5481,7 @@ while still staying in time.") | |||
| 5481 | version "_manual.pdf")) | 5481 | version "_manual.pdf")) |
| 5482 | (sha256 | 5482 | (sha256 |
| 5483 | (base32 | 5483 | (base32 |
| 5484 | "0a0kgd069whfp1v8xgw6qm67w02n8b7b4h5ay5665wgq947hxanp")))))) | 5484 | "0g70jyyxbx5nin3xs9q9zf878b2kyy7rn8gn9w91x1ychbjd6dhh")))))) |
| 5485 | (home-page "https://danielnoethen.de/butt/") | 5485 | (home-page "https://danielnoethen.de/butt/") |
| 5486 | (synopsis "Audio streaming tool") | 5486 | (synopsis "Audio streaming tool") |
| 5487 | (description "Butt is a tool to stream audio to a ShoutCast or | 5487 | (description "Butt is a tool to stream audio to a ShoutCast or |
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 8c5ea07a9f5..801d570bf41 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm | |||
| @@ -1141,21 +1141,15 @@ backup.") | |||
| 1141 | (define-public disarchive | 1141 | (define-public disarchive |
| 1142 | (package | 1142 | (package |
| 1143 | (name "disarchive") | 1143 | (name "disarchive") |
| 1144 | (version "0.2.1") | 1144 | (version "0.3.0") |
| 1145 | (source (origin | 1145 | (source (origin |
| 1146 | (method url-fetch) | 1146 | (method url-fetch) |
| 1147 | (uri (string-append "https://files.ngyro.com/disarchive/" | 1147 | (uri (string-append "https://files.ngyro.com/disarchive/" |
| 1148 | "disarchive-" version ".tar.gz")) | 1148 | "disarchive-" version ".tar.gz")) |
| 1149 | (sha256 | 1149 | (sha256 |
| 1150 | (base32 | 1150 | (base32 |
| 1151 | "1jypk0gdwxqbqxiblww863nzq0kwnc676q68j32sprqd7ilnq02s")) | 1151 | "0jgc53rrbas8i4z13l2ii99cpav1ma73spsjg70ygihf0635r3dh")))) |
| 1152 | (patches (search-patches "disarchive-cross-compilation.patch")))) | ||
| 1153 | (build-system gnu-build-system) | 1152 | (build-system gnu-build-system) |
| 1154 | (arguments | ||
| 1155 | `(#:phases (modify-phases %standard-phases | ||
| 1156 | (add-after 'unpack 'delete-configure | ||
| 1157 | (lambda _ | ||
| 1158 | (delete-file "configure")))))) | ||
| 1159 | (native-inputs | 1153 | (native-inputs |
| 1160 | `(("autoconf" ,autoconf) | 1154 | `(("autoconf" ,autoconf) |
| 1161 | ("automake" ,automake) | 1155 | ("automake" ,automake) |
diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 4cbffac0007..90a0e1f2883 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm | |||
| @@ -7331,6 +7331,37 @@ specified group of genes for a pathway has a coordinated association with a | |||
| 7331 | phenotype of interest.") | 7331 | phenotype of interest.") |
| 7332 | (license license:gpl2))) | 7332 | (license license:gpl2))) |
| 7333 | 7333 | ||
| 7334 | (define-public r-fcscan | ||
| 7335 | (package | ||
| 7336 | (name "r-fcscan") | ||
| 7337 | (version "1.6.0") | ||
| 7338 | (source | ||
| 7339 | (origin | ||
| 7340 | (method url-fetch) | ||
| 7341 | (uri (bioconductor-uri "fcScan" version)) | ||
| 7342 | (sha256 | ||
| 7343 | (base32 "10fcz741dr3wbb9f63qywlrays4cnvfnsm6yw4bmkrwk6ccijg8h")))) | ||
| 7344 | (properties `((upstream-name . "fcScan"))) | ||
| 7345 | (build-system r-build-system) | ||
| 7346 | (propagated-inputs | ||
| 7347 | `(("r-genomicranges" ,r-genomicranges) | ||
| 7348 | ("r-iranges" ,r-iranges) | ||
| 7349 | ("r-plyr" ,r-plyr) | ||
| 7350 | ("r-rtracklayer" ,r-rtracklayer) | ||
| 7351 | ("r-summarizedexperiment" ,r-summarizedexperiment) | ||
| 7352 | ("r-variantannotation" ,r-variantannotation))) | ||
| 7353 | (native-inputs `(("r-knitr" ,r-knitr))) | ||
| 7354 | (home-page "https://bioconductor.org/packages/fcScan") | ||
| 7355 | (synopsis "Detect clusters of coordinates with user defined options") | ||
| 7356 | (description | ||
| 7357 | "This package is used to detect combination of genomic coordinates | ||
| 7358 | falling within a user defined window size along with user defined overlap | ||
| 7359 | between identified neighboring clusters. It can be used for genomic data | ||
| 7360 | where the clusters are built on a specific chromosome or specific strand. | ||
| 7361 | Clustering can be performed with a \"greedy\" option allowing thus the | ||
| 7362 | presence of additional sites within the allowed window size.") | ||
| 7363 | (license license:artistic2.0))) | ||
| 7364 | |||
| 7334 | (define-public r-fgsea | 7365 | (define-public r-fgsea |
| 7335 | (package | 7366 | (package |
| 7336 | (name "r-fgsea") | 7367 | (name "r-fgsea") |
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 229fd34d2a9..3ddb91714a3 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm | |||
| @@ -106,6 +106,7 @@ | |||
| 106 | #:use-module (gnu packages java-compression) | 106 | #:use-module (gnu packages java-compression) |
| 107 | #:use-module (gnu packages jemalloc) | 107 | #:use-module (gnu packages jemalloc) |
| 108 | #:use-module (gnu packages jupyter) | 108 | #:use-module (gnu packages jupyter) |
| 109 | #:use-module (gnu packages libffi) | ||
| 109 | #:use-module (gnu packages linux) | 110 | #:use-module (gnu packages linux) |
| 110 | #:use-module (gnu packages logging) | 111 | #:use-module (gnu packages logging) |
| 111 | #:use-module (gnu packages lsof) | 112 | #:use-module (gnu packages lsof) |
| @@ -1216,14 +1217,14 @@ sequencing.") | |||
| 1216 | (define-public python-biopython | 1217 | (define-public python-biopython |
| 1217 | (package | 1218 | (package |
| 1218 | (name "python-biopython") | 1219 | (name "python-biopython") |
| 1219 | (version "1.73") | 1220 | (version "1.76") |
| 1220 | (source (origin | 1221 | (source (origin |
| 1221 | (method url-fetch) | 1222 | (method url-fetch) |
| 1222 | ;; use PyPi rather than biopython.org to ease updating | 1223 | ;; use PyPi rather than biopython.org to ease updating |
| 1223 | (uri (pypi-uri "biopython" version)) | 1224 | (uri (pypi-uri "biopython" version)) |
| 1224 | (sha256 | 1225 | (sha256 |
| 1225 | (base32 | 1226 | (base32 |
| 1226 | "1q55jhf76z3k6is3psis0ckbki7df26x7dikpcc3vhk1vhkwribh")))) | 1227 | "0wlch9xpa0fpgjzyxi6jsfca6iakaq9a05927xg8vqnmvaccnwrq")))) |
| 1227 | (build-system python-build-system) | 1228 | (build-system python-build-system) |
| 1228 | (arguments | 1229 | (arguments |
| 1229 | `(#:phases | 1230 | `(#:phases |
| @@ -1244,6 +1245,18 @@ dealing with alignments; code making it easy to split up parallelizable tasks | |||
| 1244 | into separate processes; and more.") | 1245 | into separate processes; and more.") |
| 1245 | (license (license:non-copyleft "http://www.biopython.org/DIST/LICENSE")))) | 1246 | (license (license:non-copyleft "http://www.biopython.org/DIST/LICENSE")))) |
| 1246 | 1247 | ||
| 1248 | (define-public python-biopython-1.73 | ||
| 1249 | (package | ||
| 1250 | (inherit python-biopython) | ||
| 1251 | (version "1.73") | ||
| 1252 | (source (origin | ||
| 1253 | (method url-fetch) | ||
| 1254 | ;; use PyPi rather than biopython.org to ease updating | ||
| 1255 | (uri (pypi-uri "biopython" version)) | ||
| 1256 | (sha256 | ||
| 1257 | (base32 | ||
| 1258 | "1q55jhf76z3k6is3psis0ckbki7df26x7dikpcc3vhk1vhkwribh")))))) | ||
| 1259 | |||
| 1247 | (define-public python2-biopython | 1260 | (define-public python2-biopython |
| 1248 | (package-with-python2 python-biopython)) | 1261 | (package-with-python2 python-biopython)) |
| 1249 | 1262 | ||
| @@ -1270,6 +1283,133 @@ relying on a complex dependency tree.") | |||
| 1270 | (define-public python2-fastalite | 1283 | (define-public python2-fastalite |
| 1271 | (package-with-python2 python-fastalite)) | 1284 | (package-with-python2 python-fastalite)) |
| 1272 | 1285 | ||
| 1286 | (define-public ciri-long | ||
| 1287 | (package | ||
| 1288 | (name "ciri-long") | ||
| 1289 | (version "1.0.2") | ||
| 1290 | (source | ||
| 1291 | (origin | ||
| 1292 | (method git-fetch) | ||
| 1293 | (uri (git-reference | ||
| 1294 | (url "https://github.com/bioinfo-biols/CIRI-long") | ||
| 1295 | (commit (string-append "v" version)))) | ||
| 1296 | (file-name (git-file-name name version)) | ||
| 1297 | (sha256 | ||
| 1298 | (base32 | ||
| 1299 | "10k88i1fcqchrrjv82rmylwvbwqfba0n51palhig9hsg71xs0dbi")) | ||
| 1300 | ;; Delete bundled binary | ||
| 1301 | (snippet '(delete-file "libs/ccs")))) | ||
| 1302 | (build-system python-build-system) | ||
| 1303 | (arguments | ||
| 1304 | `(#:phases | ||
| 1305 | (modify-phases %standard-phases | ||
| 1306 | (add-after 'unpack 'relax-requirements | ||
| 1307 | (lambda _ | ||
| 1308 | (substitute* "setup.py" | ||
| 1309 | (("'argparse[^']*',") "") ; only for python2 | ||
| 1310 | (("==") ">=")))) | ||
| 1311 | (add-before 'build 'build-libssw | ||
| 1312 | (lambda _ | ||
| 1313 | (with-directory-excursion "libs/striped_smith_waterman" | ||
| 1314 | (invoke "make" "libssw.so"))))))) | ||
| 1315 | (inputs | ||
| 1316 | `(("python-biopython" ,python-biopython) | ||
| 1317 | ("python-bwapy" ,python-bwapy) | ||
| 1318 | ("python-cython" ,python-cython) | ||
| 1319 | ("python-levenshtein" ,python-levenshtein) | ||
| 1320 | ("python-mappy" ,python-mappy) | ||
| 1321 | ("python-numpy" ,python-numpy) | ||
| 1322 | ("python-pandas" ,python-pandas) | ||
| 1323 | ("python-pysam" ,python-pysam) | ||
| 1324 | ("python-pyspoa" ,python-pyspoa) | ||
| 1325 | ("python-scikit-learn" ,python-scikit-learn) | ||
| 1326 | ("python-scipy" ,python-scipy))) | ||
| 1327 | (native-inputs | ||
| 1328 | `(("python-nose" ,python-nose) | ||
| 1329 | ("python-setuptools" ,python-setuptools))) | ||
| 1330 | (home-page "https://ciri-cookbook.readthedocs.io/") | ||
| 1331 | (synopsis "Circular RNA identification for Nanopore sequencing") | ||
| 1332 | (description "CIRI-long is a package for circular RNA identification using | ||
| 1333 | long-read sequencing data.") | ||
| 1334 | (license license:expat))) | ||
| 1335 | |||
| 1336 | (define-public qtltools | ||
| 1337 | (package | ||
| 1338 | (name "qtltools") | ||
| 1339 | (version "1.3.1") | ||
| 1340 | (source (origin | ||
| 1341 | (method url-fetch/tarbomb) | ||
| 1342 | (uri (string-append "https://qtltools.github.io/qtltools/" | ||
| 1343 | "binaries/QTLtools_" version | ||
| 1344 | "_source.tar.gz")) | ||
| 1345 | (sha256 | ||
| 1346 | (base32 | ||
| 1347 | "13gdry5l43abn3464fmk8qzrxgxnxah2612r66p9dzhhl92j30cd")))) | ||
| 1348 | (build-system gnu-build-system) | ||
| 1349 | (arguments | ||
| 1350 | `(#:tests? #f ; no tests included | ||
| 1351 | #:make-flags | ||
| 1352 | (list (string-append "BOOST_INC=" | ||
| 1353 | (assoc-ref %build-inputs "boost") "/include") | ||
| 1354 | (string-append "BOOST_LIB=" | ||
| 1355 | (assoc-ref %build-inputs "boost") "/lib") | ||
| 1356 | (string-append "HTSLD_INC=" | ||
| 1357 | (assoc-ref %build-inputs "htslib") "/include") | ||
| 1358 | (string-append "HTSLD_LIB=" | ||
| 1359 | (assoc-ref %build-inputs "htslib") "/lib") | ||
| 1360 | (string-append "RMATH_INC=" | ||
| 1361 | (assoc-ref %build-inputs "rmath-standalone") | ||
| 1362 | "/include") | ||
| 1363 | (string-append "RMATH_LIB=" | ||
| 1364 | (assoc-ref %build-inputs "rmath-standalone") | ||
| 1365 | "/lib")) | ||
| 1366 | #:phases | ||
| 1367 | (modify-phases %standard-phases | ||
| 1368 | (add-after 'unpack 'fix-linkage | ||
| 1369 | (lambda _ | ||
| 1370 | (substitute* "qtltools/Makefile" | ||
| 1371 | (("libboost_iostreams.a") | ||
| 1372 | "libboost_iostreams.so") | ||
| 1373 | (("libboost_program_options.a") | ||
| 1374 | "libboost_program_options.so") | ||
| 1375 | (("-lblas") "-lopenblas")))) | ||
| 1376 | (add-before 'build 'chdir | ||
| 1377 | (lambda _ (chdir "qtltools"))) | ||
| 1378 | (replace 'configure | ||
| 1379 | (lambda _ | ||
| 1380 | (substitute* "qtltools/Makefile" | ||
| 1381 | (("LIB_FLAGS=-lz") | ||
| 1382 | "LIB_FLAGS=-lz -lcrypto -lssl") | ||
| 1383 | (("LIB_FILES=\\$\\(RMATH_LIB\\)/libRmath.a \ | ||
| 1384 | \\$\\(HTSLD_LIB\\)/libhts.a \ | ||
| 1385 | \\$\\(BOOST_LIB\\)/libboost_iostreams.a \ | ||
| 1386 | \\$\\(BOOST_LIB\\)/libboost_program_options.a") | ||
| 1387 | "LIB_FILES=$(RMATH_LIB)/libRmath.so \ | ||
| 1388 | $(HTSLD_LIB)/libhts.so \ | ||
| 1389 | $(BOOST_LIB)/libboost_iostreams.so \ | ||
| 1390 | $(BOOST_LIB)/libboost_program_options.so")))) | ||
| 1391 | (replace 'install | ||
| 1392 | (lambda* (#:key outputs #:allow-other-keys) | ||
| 1393 | (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) | ||
| 1394 | (mkdir-p bin) | ||
| 1395 | (install-file "bin/QTLtools" bin))))))) | ||
| 1396 | (inputs | ||
| 1397 | `(("curl" ,curl) | ||
| 1398 | ("gsl" ,gsl) | ||
| 1399 | ("boost" ,boost) | ||
| 1400 | ("rmath-standalone" ,rmath-standalone) | ||
| 1401 | ("htslib" ,htslib-1.3) | ||
| 1402 | ("openssl" ,openssl) | ||
| 1403 | ("openblas" ,openblas) | ||
| 1404 | ("zlib" ,zlib))) | ||
| 1405 | (home-page "https://qtltools.github.io/qtltools/") | ||
| 1406 | (synopsis "Tool set for molecular QTL discovery and analysis") | ||
| 1407 | (description "QTLtools is a tool set for molecular QTL discovery | ||
| 1408 | and analysis. It allows to go from the raw genetic sequence data to | ||
| 1409 | collection of molecular @dfn{Quantitative Trait Loci} (QTLs) in few | ||
| 1410 | easy-to-perform steps.") | ||
| 1411 | (license license:gpl3+))) | ||
| 1412 | |||
| 1273 | (define-public bpp-core | 1413 | (define-public bpp-core |
| 1274 | ;; The last release was in 2014 and the recommended way to install from source | 1414 | ;; The last release was in 2014 and the recommended way to install from source |
| 1275 | ;; is to clone the git repository, so we do this. | 1415 | ;; is to clone the git repository, so we do this. |
| @@ -7448,6 +7588,33 @@ clustering analysis, differential analysis, motif inference and exploration of | |||
| 7448 | single cell ATAC-seq sequencing data.") | 7588 | single cell ATAC-seq sequencing data.") |
| 7449 | (license license:gpl3))) | 7589 | (license license:gpl3))) |
| 7450 | 7590 | ||
| 7591 | (define-public r-umi4cpackage | ||
| 7592 | (let ((commit "88b07d896a137418ba6c31c2474b9dbe1d86fc20") | ||
| 7593 | (revision "1")) | ||
| 7594 | (package | ||
| 7595 | (name "r-umi4cpackage") | ||
| 7596 | (version (git-version "0.0.1" revision commit)) | ||
| 7597 | (source | ||
| 7598 | (origin | ||
| 7599 | (method git-fetch) | ||
| 7600 | (uri (git-reference | ||
| 7601 | (url "https://github.com/tanaylab/umi4cpackage") | ||
| 7602 | (commit commit))) | ||
| 7603 | (file-name (git-file-name name version)) | ||
| 7604 | (sha256 | ||
| 7605 | (base32 "0bjzamdw2lcfhlbzc0vdva87c3wwnij8jsvnrpx4wyyxvpcz13m5")))) | ||
| 7606 | (properties `((upstream-name . "umi4cPackage"))) | ||
| 7607 | (build-system r-build-system) | ||
| 7608 | (propagated-inputs | ||
| 7609 | `(("r-misha" ,r-misha) | ||
| 7610 | ("r-zoo" ,r-zoo))) | ||
| 7611 | (native-inputs `(("r-knitr" ,r-knitr))) | ||
| 7612 | (home-page "https://github.com/tanaylab/umi4cpackage") | ||
| 7613 | (synopsis "Processing and analysis of UMI-4C contact profiles.") | ||
| 7614 | (description "This is a package that lets you process UMI-4C data from | ||
| 7615 | scratch to produce nice plots.") | ||
| 7616 | (license license:expat)))) | ||
| 7617 | |||
| 7451 | (define-public r-shinycell | 7618 | (define-public r-shinycell |
| 7452 | (let ((commit | 7619 | (let ((commit |
| 7453 | "aecbd56e66802f28e397f5ae1f19403aadd12163") | 7620 | "aecbd56e66802f28e397f5ae1f19403aadd12163") |
| @@ -7576,6 +7743,86 @@ of transcriptional heterogeneity among single cells.") | |||
| 7576 | ;; See https://github.com/hms-dbmi/scde/issues/38 | 7743 | ;; See https://github.com/hms-dbmi/scde/issues/38 |
| 7577 | (license license:gpl2))) | 7744 | (license license:gpl2))) |
| 7578 | 7745 | ||
| 7746 | (define-public r-misha | ||
| 7747 | (package | ||
| 7748 | (name "r-misha") | ||
| 7749 | (version "4.1.0") | ||
| 7750 | (source | ||
| 7751 | (origin | ||
| 7752 | (method git-fetch) | ||
| 7753 | (uri (git-reference | ||
| 7754 | (url "https://github.com/tanaylab/misha") | ||
| 7755 | (commit version))) | ||
| 7756 | (file-name (git-file-name name version)) | ||
| 7757 | (sha256 | ||
| 7758 | (base32 | ||
| 7759 | "0bgivx3lzjh3173jsfrhb5kvhjsn53br0n4hmyx7i3dwy2cnnp2p")) | ||
| 7760 | ;; Delete bundled executable. | ||
| 7761 | (snippet | ||
| 7762 | '(delete-file "exec/bigWigToWig")))) | ||
| 7763 | (build-system r-build-system) | ||
| 7764 | (arguments | ||
| 7765 | `(#:phases | ||
| 7766 | (modify-phases %standard-phases | ||
| 7767 | (add-after 'unpack 'do-not-use-bundled-bigWigToWig | ||
| 7768 | (lambda* (#:key inputs #:allow-other-keys) | ||
| 7769 | (substitute* "R/misha.R" | ||
| 7770 | (("get\\(\".GLIBDIR\"\\), \"/exec/bigWigToWig") | ||
| 7771 | (string-append "\"" | ||
| 7772 | (assoc-ref inputs "kentutils") | ||
| 7773 | "/bin/bigWigToWig")))))))) | ||
| 7774 | (inputs | ||
| 7775 | `(("kentutils" ,kentutils))) | ||
| 7776 | (home-page "https://github.com/tanaylab/misha") | ||
| 7777 | (synopsis "Toolkit for analysis of genomic data") | ||
| 7778 | (description "This package is intended to help users to efficiently | ||
| 7779 | analyze genomic data resulting from various experiments.") | ||
| 7780 | (license license:gpl2))) | ||
| 7781 | |||
| 7782 | (define-public r-shaman | ||
| 7783 | (let ((commit "d6944e8ac7bd1dbd5c6cec646eafc1d19d0ca96f") | ||
| 7784 | (release "2.0") | ||
| 7785 | (revision "2")) | ||
| 7786 | (package | ||
| 7787 | (name "r-shaman") | ||
| 7788 | (version (git-version release revision commit)) | ||
| 7789 | (source (origin | ||
| 7790 | (method git-fetch) | ||
| 7791 | (uri (git-reference | ||
| 7792 | (url "https://github.com/tanaylab/shaman") | ||
| 7793 | (commit commit))) | ||
| 7794 | (file-name (git-file-name name version)) | ||
| 7795 | (sha256 | ||
| 7796 | (base32 | ||
| 7797 | "03sx138dzpfiq23j49z0m0s4j79855mrg64hpj9c83408wzphxi6")) | ||
| 7798 | (snippet | ||
| 7799 | ;; This file will be generated. | ||
| 7800 | '(delete-file "inst/doc/shaman-package.R")))) | ||
| 7801 | (build-system r-build-system) | ||
| 7802 | (propagated-inputs | ||
| 7803 | `(("r-data-table" ,r-data-table) | ||
| 7804 | ("r-domc" ,r-domc) | ||
| 7805 | ("r-ggplot2" ,r-ggplot2) | ||
| 7806 | ("r-gviz" ,r-gviz) | ||
| 7807 | ("r-misha" ,r-misha) | ||
| 7808 | ("r-plyr" ,r-plyr) | ||
| 7809 | ("r-rann" ,r-rann) | ||
| 7810 | ("r-rcpp" ,r-rcpp) | ||
| 7811 | ("r-reshape2" ,r-reshape2) | ||
| 7812 | ;; For vignettes | ||
| 7813 | ("r-rmarkdown" ,r-rmarkdown) | ||
| 7814 | ("r-knitr" ,r-knitr))) | ||
| 7815 | (home-page "https://github.com/tanaylab/shaman") | ||
| 7816 | (synopsis "Sampling HiC contact matrices for a-parametric normalization") | ||
| 7817 | (description "The Shaman package implements functions for | ||
| 7818 | resampling Hi-C matrices in order to generate expected contact | ||
| 7819 | distributions given constraints on marginal coverage and | ||
| 7820 | contact-distance probability distributions. The package also provides | ||
| 7821 | support for visualizing normalized matrices and statistical analysis | ||
| 7822 | of contact distributions around selected landmarks.") | ||
| 7823 | ;; Any version of the GPL | ||
| 7824 | (license license:gpl3+)))) | ||
| 7825 | |||
| 7579 | (define-public r-centipede | 7826 | (define-public r-centipede |
| 7580 | (package | 7827 | (package |
| 7581 | (name "r-centipede") | 7828 | (name "r-centipede") |
| @@ -7639,6 +7886,46 @@ includes software to | |||
| 7639 | ") | 7886 | ") |
| 7640 | (license license:cc0)))) | 7887 | (license license:cc0)))) |
| 7641 | 7888 | ||
| 7889 | (define-public gdc-client | ||
| 7890 | (package | ||
| 7891 | (name "gdc-client") | ||
| 7892 | (version "1.6.0") | ||
| 7893 | (source | ||
| 7894 | (origin | ||
| 7895 | (method git-fetch) | ||
| 7896 | (uri (git-reference | ||
| 7897 | (url "https://github.com/NCI-GDC/gdc-client.git") | ||
| 7898 | (commit version))) | ||
| 7899 | (file-name (git-file-name name version)) | ||
| 7900 | (sha256 | ||
| 7901 | (base32 | ||
| 7902 | "0cagawlzjwj3wam10lv64xgbfx4zcnzxi5sjpsdhq7rn4z24mzc2")))) | ||
| 7903 | (build-system python-build-system) | ||
| 7904 | (arguments | ||
| 7905 | `(#:phases | ||
| 7906 | (modify-phases %standard-phases | ||
| 7907 | (add-after 'unpack 'relax-requirements | ||
| 7908 | (lambda _ | ||
| 7909 | (substitute* "requirements.txt" | ||
| 7910 | (("==") ">="))))))) | ||
| 7911 | (inputs | ||
| 7912 | `(("python-cryptography" ,python-cryptography) | ||
| 7913 | ("python-intervaltree" ,python-intervaltree) | ||
| 7914 | ("python-jsonschema" ,python-jsonschema) | ||
| 7915 | ("python-lxml" ,python-lxml) | ||
| 7916 | ("python-ndg-httpsclient" ,python-ndg-httpsclient) | ||
| 7917 | ("python-progressbar2" ,python-progressbar2) | ||
| 7918 | ("python-pyasn1" ,python-pyasn1) | ||
| 7919 | ("python-pyopenssl" ,python-pyopenssl) | ||
| 7920 | ("python-pyyaml" ,python-pyyaml) | ||
| 7921 | ("python-requests" ,python-requests) | ||
| 7922 | ("python-termcolor" ,python-termcolor))) | ||
| 7923 | (home-page "https://gdc.nci.nih.gov/access-data/gdc-data-transfer-tool") | ||
| 7924 | (synopsis "GDC data transfer tool") | ||
| 7925 | (description "The gdc-client provides several convenience functions over | ||
| 7926 | the GDC API which provides general download/upload via HTTPS.") | ||
| 7927 | (license license:asl2.0))) | ||
| 7928 | |||
| 7642 | (define-public vsearch | 7929 | (define-public vsearch |
| 7643 | (package | 7930 | (package |
| 7644 | (name "vsearch") | 7931 | (name "vsearch") |
| @@ -11642,14 +11929,14 @@ set.") | |||
| 11642 | (define-public instrain | 11929 | (define-public instrain |
| 11643 | (package | 11930 | (package |
| 11644 | (name "instrain") | 11931 | (name "instrain") |
| 11645 | (version "1.5.2") | 11932 | (version "1.5.4") |
| 11646 | (source | 11933 | (source |
| 11647 | (origin | 11934 | (origin |
| 11648 | (method url-fetch) | 11935 | (method url-fetch) |
| 11649 | (uri (pypi-uri "inStrain" version)) | 11936 | (uri (pypi-uri "inStrain" version)) |
| 11650 | (sha256 | 11937 | (sha256 |
| 11651 | (base32 | 11938 | (base32 |
| 11652 | "0ykqlpf6yz4caihsaz3ys00cyvlr7wdj4s9a8rh56q5r8xf80ic0")))) | 11939 | "05w1lw75x4lwkzg4qpi055g7hdjp9rnc4ksbxg2hfgksq9djk0hx")))) |
| 11653 | (build-system python-build-system) | 11940 | (build-system python-build-system) |
| 11654 | (arguments | 11941 | (arguments |
| 11655 | `(#:phases | 11942 | `(#:phases |
| @@ -11662,7 +11949,7 @@ set.") | |||
| 11662 | (("from job_utils") | 11949 | (("from job_utils") |
| 11663 | "from .job_utils"))))))) | 11950 | "from .job_utils"))))))) |
| 11664 | (inputs | 11951 | (inputs |
| 11665 | `(("python-biopython" ,python-biopython) | 11952 | `(("python-biopython" ,python-biopython-1.73) |
| 11666 | ("python-boto3" ,python-boto3) | 11953 | ("python-boto3" ,python-boto3) |
| 11667 | ("python-h5py" ,python-h5py) | 11954 | ("python-h5py" ,python-h5py) |
| 11668 | ("python-lmfit" ,python-lmfit) | 11955 | ("python-lmfit" ,python-lmfit) |
| @@ -14995,6 +15282,78 @@ line, interactively explore genomic data within Jupyter environment or web | |||
| 14995 | browser.") | 15282 | browser.") |
| 14996 | (license license:gpl3+))) | 15283 | (license license:gpl3+))) |
| 14997 | 15284 | ||
| 15285 | (define-public python-pyspoa | ||
| 15286 | (package | ||
| 15287 | (name "python-pyspoa") | ||
| 15288 | (version "0.0.5") | ||
| 15289 | (source | ||
| 15290 | (origin | ||
| 15291 | (method git-fetch) | ||
| 15292 | (uri (git-reference | ||
| 15293 | (url "https://github.com/nanoporetech/pyspoa") | ||
| 15294 | (commit (string-append "v" version)) | ||
| 15295 | (recursive? #true))) | ||
| 15296 | (file-name (git-file-name name version)) | ||
| 15297 | (sha256 | ||
| 15298 | (base32 | ||
| 15299 | "1lgf2shzhxkcsircd6vy46h27pjljd5q95fyz1cm3lkk702qbnzx")))) | ||
| 15300 | (build-system python-build-system) | ||
| 15301 | (arguments | ||
| 15302 | `(#:phases | ||
| 15303 | (modify-phases %standard-phases | ||
| 15304 | (add-before 'build 'build-libspoa | ||
| 15305 | (lambda _ | ||
| 15306 | (mkdir-p "src/build") | ||
| 15307 | (with-directory-excursion "src/build" | ||
| 15308 | (invoke "cmake" | ||
| 15309 | "-Dspoa_optimize_for_portability=ON" | ||
| 15310 | "-DCMAKE_BUILD_TYPE=Release" | ||
| 15311 | "-DCMAKE_CXX_FLAGS=\"-I ../vendor/cereal/include/\" -fPIC" | ||
| 15312 | "..") | ||
| 15313 | (invoke "make")))) | ||
| 15314 | (replace 'check | ||
| 15315 | (lambda* (#:key inputs outputs tests? #:allow-other-keys) | ||
| 15316 | (when tests? | ||
| 15317 | (add-installed-pythonpath inputs outputs) | ||
| 15318 | (invoke "python" "tests/test_pyspoa.py"))))))) | ||
| 15319 | (propagated-inputs | ||
| 15320 | `(("pybind11" ,pybind11))) | ||
| 15321 | (native-inputs | ||
| 15322 | `(("cmake" ,cmake-minimal))) | ||
| 15323 | (home-page "https://github.com/nanoporetech/pyspoa") | ||
| 15324 | (synopsis "Python bindings for the SIMD partial order alignment library ") | ||
| 15325 | (description | ||
| 15326 | "This package provides Python bindings for spoa, a C++ implementation of | ||
| 15327 | the @dfn{partial order alignment} (POA) algorithm (as described in | ||
| 15328 | 10.1093/bioinformatics/18.3.452) which is used to generate consensus | ||
| 15329 | sequences") | ||
| 15330 | (license license:expat))) | ||
| 15331 | |||
| 15332 | (define-public python-bwapy | ||
| 15333 | (package | ||
| 15334 | (name "python-bwapy") | ||
| 15335 | (version "0.1.4") | ||
| 15336 | (source | ||
| 15337 | (origin | ||
| 15338 | (method url-fetch) | ||
| 15339 | (uri (pypi-uri "bwapy" version)) | ||
| 15340 | (sha256 | ||
| 15341 | (base32 "090qwx3vl729zn3a7sksbviyg04kc71gpbm3nd8dalqp673x1npw")))) | ||
| 15342 | (build-system python-build-system) | ||
| 15343 | (propagated-inputs | ||
| 15344 | `(("python-cffi" ,python-cffi) | ||
| 15345 | ("python-setuptools" ,python-setuptools) | ||
| 15346 | ("python-wheel" ,python-wheel))) | ||
| 15347 | (inputs | ||
| 15348 | `(("zlib" ,zlib))) | ||
| 15349 | (home-page "https://github.com/ACEnglish/bwapy") | ||
| 15350 | (synopsis "Python bindings to bwa alinger") | ||
| 15351 | (description "This package provides Python bindings to the bwa mem | ||
| 15352 | aligner.") | ||
| 15353 | ;; These Python bindings are licensed under Mozilla Public License 2.0, | ||
| 15354 | ;; bwa itself is licenced under GNU General Public License v3.0. | ||
| 15355 | (license license:mpl2.0))) | ||
| 15356 | |||
| 14998 | (define-public scregseg | 15357 | (define-public scregseg |
| 14999 | (package | 15358 | (package |
| 15000 | (name "scregseg") | 15359 | (name "scregseg") |
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 54d1f0acfe0..bb668681ebb 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm | |||
| @@ -504,13 +504,19 @@ tree binary files. These are board description files used by Linux and BSD.") | |||
| 504 | ;; https://bugs.launchpad.net/ubuntu/+source/u-boot/+bug/1937246 | 504 | ;; https://bugs.launchpad.net/ubuntu/+source/u-boot/+bug/1937246 |
| 505 | (search-patch "u-boot-sifive-prevent-reloc-initrd-fdt.patch")) | 505 | (search-patch "u-boot-sifive-prevent-reloc-initrd-fdt.patch")) |
| 506 | 506 | ||
| 507 | (define %u-boot-allow-disabling-openssl-patch | ||
| 508 | ;; Fixes build of u-boot 2021.10 without openssl | ||
| 509 | ;; https://lists.denx.de/pipermail/u-boot/2021-October/462728.html | ||
| 510 | (search-patch "u-boot-allow-disabling-openssl.patch")) | ||
| 511 | |||
| 507 | (define u-boot | 512 | (define u-boot |
| 508 | (package | 513 | (package |
| 509 | (name "u-boot") | 514 | (name "u-boot") |
| 510 | (version "2021.07") | 515 | (version "2021.10") |
| 511 | (source (origin | 516 | (source (origin |
| 512 | (patches | 517 | (patches |
| 513 | (list %u-boot-rockchip-inno-usb-patch | 518 | (list %u-boot-rockchip-inno-usb-patch |
| 519 | %u-boot-allow-disabling-openssl-patch | ||
| 514 | %u-boot-sifive-prevent-relocating-initrd-fdt)) | 520 | %u-boot-sifive-prevent-relocating-initrd-fdt)) |
| 515 | (method url-fetch) | 521 | (method url-fetch) |
| 516 | (uri (string-append | 522 | (uri (string-append |
| @@ -518,7 +524,7 @@ tree binary files. These are board description files used by Linux and BSD.") | |||
| 518 | "u-boot-" version ".tar.bz2")) | 524 | "u-boot-" version ".tar.bz2")) |
| 519 | (sha256 | 525 | (sha256 |
| 520 | (base32 | 526 | (base32 |
| 521 | "0zm7igkdnz0w4ir8rfl2dislfrl0ip104grs5hvd30a5wkm7wari")))) | 527 | "1m0bvwv8r62s4wk4w3cmvs888dhv9gnfa98dczr4drk2jbhj7ryd")))) |
| 522 | (native-inputs | 528 | (native-inputs |
| 523 | `(("bc" ,bc) | 529 | `(("bc" ,bc) |
| 524 | ("bison" ,bison) | 530 | ("bison" ,bison) |
| @@ -590,7 +596,7 @@ def test_ctrl_c")) | |||
| 590 | ;; See https://bugs.gnu.org/34717 for | 596 | ;; See https://bugs.gnu.org/34717 for |
| 591 | ;; details. | 597 | ;; details. |
| 592 | (("CONFIG_FIT_SIGNATURE=y") | 598 | (("CONFIG_FIT_SIGNATURE=y") |
| 593 | "CONFIG_FIT_SIGNATURE=n\nCONFIG_UT_LIB_ASN1=n") | 599 | "CONFIG_FIT_SIGNATURE=n\nCONFIG_UT_LIB_ASN1=n\nCONFIG_TOOLS_LIBCRYPTO=n") |
| 594 | ;; This test requires a sound system, which is un-used | 600 | ;; This test requires a sound system, which is un-used |
| 595 | ;; in u-boot-tools. | 601 | ;; in u-boot-tools. |
| 596 | (("CONFIG_SOUND=y") "CONFIG_SOUND=n"))) | 602 | (("CONFIG_SOUND=y") "CONFIG_SOUND=n"))) |
| @@ -689,6 +695,12 @@ board-independent tools."))) | |||
| 689 | suffix-len)))) | 695 | suffix-len)))) |
| 690 | (sort entries string-ci<))) | 696 | (sort entries string-ci<))) |
| 691 | (error "Invalid boardname ~s." ,board)))))) | 697 | (error "Invalid boardname ~s." ,board)))))) |
| 698 | (add-after 'configure 'disable-tools-libcrypto | ||
| 699 | ;; Disable libcrypto due to GPL and OpenSSL license | ||
| 700 | ;; incompatibilities | ||
| 701 | (lambda _ | ||
| 702 | (substitute* ".config" | ||
| 703 | (("CONFIG_TOOLS_LIBCRYPTO=.*$") "CONFIG_TOOLS_LIBCRYPTO=n")))) | ||
| 692 | (replace 'install | 704 | (replace 'install |
| 693 | (lambda* (#:key outputs #:allow-other-keys) | 705 | (lambda* (#:key outputs #:allow-other-keys) |
| 694 | (let* ((out (assoc-ref outputs "out")) | 706 | (let* ((out (assoc-ref outputs "out")) |
| @@ -899,7 +911,8 @@ to Novena upstream, does not load u-boot.img from the first partition.") | |||
| 899 | (source (origin | 911 | (source (origin |
| 900 | (inherit (package-source u-boot)) | 912 | (inherit (package-source u-boot)) |
| 901 | (patches | 913 | (patches |
| 902 | (search-patches "u-boot-riscv64-fix-extlinux.patch"))))))) | 914 | (search-patches "u-boot-riscv64-fix-extlinux.patch" |
| 915 | %u-boot-allow-disabling-openssl-patch))))))) | ||
| 903 | 916 | ||
| 904 | (define-public u-boot-sifive-unleashed | 917 | (define-public u-boot-sifive-unleashed |
| 905 | (make-u-boot-package "sifive_unleashed" "riscv64-linux-gnu")) | 918 | (make-u-boot-package "sifive_unleashed" "riscv64-linux-gnu")) |
diff --git a/gnu/packages/browser-extensions.scm b/gnu/packages/browser-extensions.scm index b643f40843c..183b44f2c39 100644 --- a/gnu/packages/browser-extensions.scm +++ b/gnu/packages/browser-extensions.scm | |||
| @@ -51,7 +51,7 @@ supported content to the Kodi media center.") | |||
| 51 | (define ublock-origin | 51 | (define ublock-origin |
| 52 | (package | 52 | (package |
| 53 | (name "ublock-origin") | 53 | (name "ublock-origin") |
| 54 | (version "1.38.4") | 54 | (version "1.38.6") |
| 55 | (home-page "https://github.com/gorhill/uBlock") | 55 | (home-page "https://github.com/gorhill/uBlock") |
| 56 | (source (origin | 56 | (source (origin |
| 57 | (method git-fetch) | 57 | (method git-fetch) |
| @@ -60,7 +60,7 @@ supported content to the Kodi media center.") | |||
| 60 | (file-name (git-file-name name version)) | 60 | (file-name (git-file-name name version)) |
| 61 | (sha256 | 61 | (sha256 |
| 62 | (base32 | 62 | (base32 |
| 63 | "127b5mg54zfci86q66fss701y20b0mjpa4flx7iar7nviqg9fa1h")))) | 63 | "1jdi7p537dj0bpxsdnvs722cw8xv5ifh8mjj1ndwjvgasvj18fsd")))) |
| 64 | (build-system gnu-build-system) | 64 | (build-system gnu-build-system) |
| 65 | (outputs '("xpi" "firefox" "chromium")) | 65 | (outputs '("xpi" "firefox" "chromium")) |
| 66 | (arguments | 66 | (arguments |
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm index c6399280f63..93d829391c7 100644 --- a/gnu/packages/c.scm +++ b/gnu/packages/c.scm | |||
| @@ -838,7 +838,7 @@ Service (S3) protocol for object storage.") | |||
| 838 | (define-public aws-c-mqtt | 838 | (define-public aws-c-mqtt |
| 839 | (package | 839 | (package |
| 840 | (name "aws-c-mqtt") | 840 | (name "aws-c-mqtt") |
| 841 | (version "0.7.6") | 841 | (version "0.7.8") |
| 842 | (source (origin | 842 | (source (origin |
| 843 | (method git-fetch) | 843 | (method git-fetch) |
| 844 | (uri (git-reference | 844 | (uri (git-reference |
| @@ -847,7 +847,7 @@ Service (S3) protocol for object storage.") | |||
| 847 | (file-name (git-file-name name version)) | 847 | (file-name (git-file-name name version)) |
| 848 | (sha256 | 848 | (sha256 |
| 849 | (base32 | 849 | (base32 |
| 850 | "0qgblakp9n281z5w1kmmy9sjiz6s44kg487l76w7p43p1dp7s401")) | 850 | "19j6nw2v36c4yff4p0fbf0748s06fd5r9cp2yakry9ybn1ada99c")) |
| 851 | (patches (search-patches "aws-c-mqtt-cmake-prefix.patch")))) | 851 | (patches (search-patches "aws-c-mqtt-cmake-prefix.patch")))) |
| 852 | (build-system cmake-build-system) | 852 | (build-system cmake-build-system) |
| 853 | (arguments | 853 | (arguments |
diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index 6c3873a21df..8faeedcfe90 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm | |||
| @@ -231,13 +231,15 @@ files.") | |||
| 231 | '(begin | 231 | '(begin |
| 232 | ;; Make libraries respect LDFLAGS. | 232 | ;; Make libraries respect LDFLAGS. |
| 233 | (substitute* '("paranoia/Makefile.in" "interface/Makefile.in") | 233 | (substitute* '("paranoia/Makefile.in" "interface/Makefile.in") |
| 234 | (("-Wl,-soname") "$(LDFLAGS) -Wl,-soname")) | 234 | (("-Wl,-soname") "$(LDFLAGS) -Wl,-soname")))))) |
| 235 | #t)))) | ||
| 236 | (build-system gnu-build-system) | 235 | (build-system gnu-build-system) |
| 237 | (arguments | 236 | (arguments |
| 238 | `(#:tests? #f ; there is no check target | 237 | `(#:tests? #f ; there is no check target |
| 239 | #:configure-flags ; Add $libdir to the RUNPATH of all the executables. | 238 | #:configure-flags ; Add $libdir to the RUNPATH of all the executables. |
| 240 | (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib")))) | 239 | (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib")) |
| 240 | ;; Building in parallel is flaky: “ld: […]/cachetest.c:393: undefined | ||
| 241 | ;; reference to `paranoia_free'”. | ||
| 242 | #:parallel-build? #f)) | ||
| 241 | (home-page "https://www.xiph.org/paranoia/") | 243 | (home-page "https://www.xiph.org/paranoia/") |
| 242 | (synopsis "Audio CD reading utility") | 244 | (synopsis "Audio CD reading utility") |
| 243 | (description "Cdparanoia retrieves audio tracks from CDDA capable CDROM | 245 | (description "Cdparanoia retrieves audio tracks from CDDA capable CDROM |
diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm index 534b9a4ad92..9e5e516af53 100644 --- a/gnu/packages/chromium.scm +++ b/gnu/packages/chromium.scm | |||
| @@ -336,8 +336,8 @@ | |||
| 336 | (string-append "ungoogled-chromium-" category "-" name)))) | 336 | (string-append "ungoogled-chromium-" category "-" name)))) |
| 337 | (sha256 (base32 hash)))) | 337 | (sha256 (base32 hash)))) |
| 338 | 338 | ||
| 339 | (define %chromium-version "94.0.4606.81") | 339 | (define %chromium-version "95.0.4638.69") |
| 340 | (define %ungoogled-revision "94.0.4606.81-1") | 340 | (define %ungoogled-revision (string-append %chromium-version "-1")) |
| 341 | (define %arch-revision "db2157b84924ce84201a8245e68a02f7d55f6491") | 341 | (define %arch-revision "db2157b84924ce84201a8245e68a02f7d55f6491") |
| 342 | (define %debian-revision "debian/90.0.4430.85-1") | 342 | (define %debian-revision "debian/90.0.4430.85-1") |
| 343 | 343 | ||
| @@ -367,7 +367,7 @@ | |||
| 367 | (file-name (git-file-name "ungoogled-chromium" %ungoogled-revision)) | 367 | (file-name (git-file-name "ungoogled-chromium" %ungoogled-revision)) |
| 368 | (sha256 | 368 | (sha256 |
| 369 | (base32 | 369 | (base32 |
| 370 | "113abybh8kkw9a92lj6jww6dl6rc1sv5x7a7a1gjwsihzd2r0cik")))) | 370 | "19azr4m4rd6za9vgcggijyq9x54jrjp0n07y4falgjrdz9q4f7aj")))) |
| 371 | 371 | ||
| 372 | (define %guix-patches | 372 | (define %guix-patches |
| 373 | (list (local-file | 373 | (list (local-file |
| @@ -502,7 +502,7 @@ | |||
| 502 | %chromium-version ".tar.xz")) | 502 | %chromium-version ".tar.xz")) |
| 503 | (sha256 | 503 | (sha256 |
| 504 | (base32 | 504 | (base32 |
| 505 | "16755mfqxxmvslm9ix060safrnml91ckj5p85960jj5g5hmslwbh")) | 505 | "1rzg48mbd5n75nq2rfwknyxpmfrddds199ic82c736kcgirpv8rq")) |
| 506 | (modules '((guix build utils))) | 506 | (modules '((guix build utils))) |
| 507 | (snippet (force ungoogled-chromium-snippet)))) | 507 | (snippet (force ungoogled-chromium-snippet)))) |
| 508 | (build-system gnu-build-system) | 508 | (build-system gnu-build-system) |
| @@ -598,7 +598,6 @@ | |||
| 598 | "rtc_use_h264=true" | 598 | "rtc_use_h264=true" |
| 599 | "rtc_use_pipewire=true" | 599 | "rtc_use_pipewire=true" |
| 600 | "rtc_link_pipewire=true" | 600 | "rtc_link_pipewire=true" |
| 601 | "rtc_pipewire_version=\"0.3\"" | ||
| 602 | ;; Don't use bundled sources. | 601 | ;; Don't use bundled sources. |
| 603 | "rtc_build_json=true" ;FIXME: libc++ std::string ABI difference | 602 | "rtc_build_json=true" ;FIXME: libc++ std::string ABI difference |
| 604 | "rtc_build_libevent=false" | 603 | "rtc_build_libevent=false" |
| @@ -651,15 +650,16 @@ | |||
| 651 | "")) | 650 | "")) |
| 652 | 651 | ||
| 653 | ;; XXX: Should be unnecessary when use_system_lcms2=true. | 652 | ;; XXX: Should be unnecessary when use_system_lcms2=true. |
| 654 | (substitute* "third_party/pdfium/core/fxcodec/icc/iccmodule.h" | 653 | (substitute* "third_party/pdfium/core/fxcodec/icc/icc_transform.h" |
| 655 | (("include \"third_party/lcms/include/lcms2\\.h\"") | 654 | (("include \"third_party/lcms/include/lcms2\\.h\"") |
| 656 | "include \"lcms2.h\"")) | 655 | "include \"lcms2.h\"")) |
| 657 | 656 | ||
| 658 | ;; Add missing include statement. | 657 | ;; Chromium bundles a pre-release of Harfbuzz 3.0 and uses an |
| 659 | (substitute* "third_party/pdfium/core/fxcodec/png/png_decoder.cpp" | 658 | ;; experimental API that was removed in 3.0. Adjust to use |
| 660 | (("#include \"core/fxcodec/fx_codec.h\"" all) | 659 | ;; the updated API (taken from <https://crrev.com/c/3076563>). |
| 661 | (string-append all | 660 | (substitute* "components/paint_preview/common/subset_font.cc" |
| 662 | "\n#include \"core/fxcodec/fx_codec_def.h\""))) | 661 | (("hb_subset_input_no_subset_tables_set\\(input\\.get\\(\\)\\)") |
| 662 | "hb_subset_input_set(input.get(), HB_SUBSET_SETS_NO_SUBSET_TABLE_TAG)")) | ||
| 663 | 663 | ||
| 664 | (substitute* | 664 | (substitute* |
| 665 | "third_party/breakpad/breakpad/src/common/linux/libcurl_wrapper.h" | 665 | "third_party/breakpad/breakpad/src/common/linux/libcurl_wrapper.h" |
diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 5ef8813dd52..0280a51be5a 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm | |||
| @@ -31,7 +31,7 @@ | |||
| 31 | ;;; Copyright © 2020 Antoine Côté <antoine.cote@posteo.net> | 31 | ;;; Copyright © 2020 Antoine Côté <antoine.cote@posteo.net> |
| 32 | ;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net> | 32 | ;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net> |
| 33 | ;;; Copyright © 2020 Magali Lemes <magalilemes00@gmail.com> | 33 | ;;; Copyright © 2020 Magali Lemes <magalilemes00@gmail.com> |
| 34 | ;;; Copyright © 2020 Simon Tournier <zimon.toutoune@gmail.com> | 34 | ;;; Copyright © 2020, 2021 Simon Tournier <zimon.toutoune@gmail.com> |
| 35 | ;;; Copyright © 2020 Aniket Patil <aniket112.patil@gmail.com> | 35 | ;;; Copyright © 2020 Aniket Patil <aniket112.patil@gmail.com> |
| 36 | ;;; Copyright © 2021 Marcel Schilling <marcel.schilling@uni-luebeck.de> | 36 | ;;; Copyright © 2021 Marcel Schilling <marcel.schilling@uni-luebeck.de> |
| 37 | ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> | 37 | ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> |
| @@ -906,6 +906,27 @@ functions which can speed up workflow.") | |||
| 906 | control over dimensions and appearance.") | 906 | control over dimensions and appearance.") |
| 907 | (license license:gpl2+))) | 907 | (license license:gpl2+))) |
| 908 | 908 | ||
| 909 | (define-public r-pnwcolors | ||
| 910 | (package | ||
| 911 | (name "r-pnwcolors") | ||
| 912 | (version "0.1.0") | ||
| 913 | (source | ||
| 914 | (origin | ||
| 915 | (method url-fetch) | ||
| 916 | (uri (cran-uri "PNWColors" version)) | ||
| 917 | (sha256 | ||
| 918 | (base32 | ||
| 919 | "1phplnclkficfv8s6wsyrckk4ixzbayiy5iix6dddg40485l9nyj")))) | ||
| 920 | (properties `((upstream-name . "PNWColors"))) | ||
| 921 | (build-system r-build-system) | ||
| 922 | (home-page "https://github.com/jakelawlor/PNWColors") | ||
| 923 | (synopsis "Color palettes for data visualizations") | ||
| 924 | (description | ||
| 925 | "This package provides color palettes. They are checked for colorblind | ||
| 926 | accessibility from hue, saturation, and lightness value scaling using the | ||
| 927 | Chroma.js Color Palette Helper. See @url{https://gka.github.io/palettes}.") | ||
| 928 | (license license:cc0))) | ||
| 929 | |||
| 909 | (define-public r-ecp | 930 | (define-public r-ecp |
| 910 | (package | 931 | (package |
| 911 | (name "r-ecp") | 932 | (name "r-ecp") |
| @@ -23649,6 +23670,35 @@ univariate time series forecasts including exponential smoothing via state | |||
| 23649 | space models and automatic ARIMA modelling.") | 23670 | space models and automatic ARIMA modelling.") |
| 23650 | (license license:gpl3))) | 23671 | (license license:gpl3))) |
| 23651 | 23672 | ||
| 23673 | (define-public r-formattable | ||
| 23674 | (package | ||
| 23675 | (name "r-formattable") | ||
| 23676 | (version "0.2.1") | ||
| 23677 | (source | ||
| 23678 | (origin | ||
| 23679 | (method url-fetch) | ||
| 23680 | (uri (cran-uri "formattable" version)) | ||
| 23681 | (sha256 | ||
| 23682 | (base32 "1vdxi0xmg019qyzjrp8bkjxciz245jcxsrkhfzd44ynqcwi4s3ag")))) | ||
| 23683 | (properties `((upstream-name . "formattable"))) | ||
| 23684 | (build-system r-build-system) | ||
| 23685 | (propagated-inputs | ||
| 23686 | `(("r-htmltools" ,r-htmltools) | ||
| 23687 | ("r-htmlwidgets" ,r-htmlwidgets) | ||
| 23688 | ("r-lifecycle" ,r-lifecycle) | ||
| 23689 | ("r-rmarkdown" ,r-rmarkdown))) | ||
| 23690 | (native-inputs | ||
| 23691 | `(("r-knitr" ,r-knitr))) | ||
| 23692 | (home-page "https://github.com/renkun-ken/formattable") | ||
| 23693 | (synopsis "Print vectors and data frames with text fromatting") | ||
| 23694 | (description | ||
| 23695 | "This R package provides functions to create formattable vectors and data | ||
| 23696 | frames. @emph{Formattable} vectors are printed with text formatting, and | ||
| 23697 | formattable data frames are printed with multiple types of formatting in HTML | ||
| 23698 | to improve the readability of data presented in tabular form rendered in web | ||
| 23699 | pages.") | ||
| 23700 | (license license:expat))) | ||
| 23701 | |||
| 23652 | (define-public r-xmisc | 23702 | (define-public r-xmisc |
| 23653 | (package | 23703 | (package |
| 23654 | (name "r-xmisc") | 23704 | (name "r-xmisc") |
| @@ -28581,6 +28631,49 @@ algorithms; density clustering, hierarchical clustering, k-means, and the | |||
| 28581 | discovery of differentially expressed genes and markers.") | 28631 | discovery of differentially expressed genes and markers.") |
| 28582 | (license license:gpl3))) | 28632 | (license license:gpl3))) |
| 28583 | 28633 | ||
| 28634 | (define-public r-seuratdisk | ||
| 28635 | (let ((commit "163f1aade5bac38ed1e9e9c912283a7e74781610") | ||
| 28636 | (revision "1")) | ||
| 28637 | (package | ||
| 28638 | (name "r-seuratdisk") | ||
| 28639 | (version (git-version "0.0.0.9019" revision commit)) | ||
| 28640 | (source | ||
| 28641 | (origin | ||
| 28642 | (method git-fetch) | ||
| 28643 | (uri (git-reference | ||
| 28644 | (url "https://github.com/mojaveazure/seurat-disk") | ||
| 28645 | (commit commit))) | ||
| 28646 | (file-name (git-file-name name version)) | ||
| 28647 | (sha256 | ||
| 28648 | (base32 "1d1v8qi6kknzy5fj6bl8akwy74h5h143i00lyidsnqjbwp9n4qnw")))) | ||
| 28649 | (properties `((upstream-name . "SeuratDisk"))) | ||
| 28650 | (build-system r-build-system) | ||
| 28651 | (propagated-inputs | ||
| 28652 | `(("r-cli" ,r-cli) | ||
| 28653 | ("r-crayon" ,r-crayon) | ||
| 28654 | ("r-hdf5r" ,r-hdf5r) | ||
| 28655 | ("r-matrix" ,r-matrix) | ||
| 28656 | ("r-r6" ,r-r6) | ||
| 28657 | ("r-rlang" ,r-rlang) | ||
| 28658 | ("r-seurat" ,r-seurat) | ||
| 28659 | ("r-seuratobject" ,r-seuratobject) | ||
| 28660 | ("r-stringi" ,r-stringi) | ||
| 28661 | ("r-withr" ,r-withr))) | ||
| 28662 | (native-inputs | ||
| 28663 | `(("r-knitr" ,r-knitr))) | ||
| 28664 | (home-page "https://github.com/mojaveazure/seurat-disk") | ||
| 28665 | (synopsis "Interfaces for HDF5-based single cell file formats") | ||
| 28666 | (description | ||
| 28667 | "The h5Seurat file format is specifically designed for the storage and | ||
| 28668 | analysis of multi-modal single-cell and spatially-resolved expression | ||
| 28669 | experiments, for example, from CITE-seq or 10X Visium technologies. It holds | ||
| 28670 | all molecular information and associated metadata, including (for example) | ||
| 28671 | nearest-neighbor graphs, dimensional reduction information, spatial | ||
| 28672 | coordinates and image data, and cluster labels. This package also supports | ||
| 28673 | rapid and on-disk conversion between h5Seurat and AnnData objects, with the | ||
| 28674 | goal of enhancing interoperability between Seurat and Scanpy.") | ||
| 28675 | (license license:gpl3)))) | ||
| 28676 | |||
| 28584 | (define-public r-phangorn | 28677 | (define-public r-phangorn |
| 28585 | (package | 28678 | (package |
| 28586 | (name "r-phangorn") | 28679 | (name "r-phangorn") |
| @@ -28836,6 +28929,26 @@ logging to plaintext, JSON, (rotating) files, memory buffers, and databases, as | |||
| 28836 | well as email and push notifications.") | 28929 | well as email and push notifications.") |
| 28837 | (license license:expat))) | 28930 | (license license:expat))) |
| 28838 | 28931 | ||
| 28932 | (define-public r-mhg | ||
| 28933 | (package | ||
| 28934 | (name "r-mhg") | ||
| 28935 | (version "1.1") | ||
| 28936 | (source | ||
| 28937 | (origin | ||
| 28938 | (method url-fetch) | ||
| 28939 | (uri (cran-uri "mHG" version)) | ||
| 28940 | (sha256 | ||
| 28941 | (base32 | ||
| 28942 | "1rz5ncrvvv9h9grls15apa63v2nh9j87fmp4mwjjil37jx6a5zki")))) | ||
| 28943 | (properties `((upstream-name . "mHG"))) | ||
| 28944 | (build-system r-build-system) | ||
| 28945 | (home-page "https://cran.r-project.org/package=mHG") | ||
| 28946 | (synopsis "Minimum-hypergeometric test") | ||
| 28947 | (description | ||
| 28948 | "This package runs a minimum-hypergeometric (mHG) test as described in | ||
| 28949 | \"Discovering Motifs in Ranked Lists of DNA Sequences\" by Eran Eden.") | ||
| 28950 | (license license:gpl2))) | ||
| 28951 | |||
| 28839 | (define-public r-mlr3measures | 28952 | (define-public r-mlr3measures |
| 28840 | (package | 28953 | (package |
| 28841 | (name "r-mlr3measures") | 28954 | (name "r-mlr3measures") |
| @@ -32033,6 +32146,71 @@ Python module, this utility provides a flexible and extensible way of | |||
| 32033 | formatting and delivering log messages with low overhead.") | 32146 | formatting and delivering log messages with low overhead.") |
| 32034 | (license license:agpl3+))) | 32147 | (license license:agpl3+))) |
| 32035 | 32148 | ||
| 32149 | (define-public r-fasterize | ||
| 32150 | (package | ||
| 32151 | (name "r-fasterize") | ||
| 32152 | (version "1.0.3") | ||
| 32153 | (source | ||
| 32154 | (origin | ||
| 32155 | (method url-fetch) | ||
| 32156 | (uri (cran-uri "fasterize" version)) | ||
| 32157 | (sha256 | ||
| 32158 | (base32 "10bzl77c1b9jhcn1xp467qzp2n8c7s3wpxn53qjh1nwvbri5kd32")))) | ||
| 32159 | (properties `((upstream-name . "fasterize"))) | ||
| 32160 | (build-system r-build-system) | ||
| 32161 | (propagated-inputs | ||
| 32162 | `(("r-raster" ,r-raster) | ||
| 32163 | ("r-rcpp" ,r-rcpp) | ||
| 32164 | ("r-rcpparmadillo" ,r-rcpparmadillo) | ||
| 32165 | ("r-sp" ,r-sp))) | ||
| 32166 | (native-inputs `(("r-knitr" ,r-knitr))) | ||
| 32167 | (home-page "https://github.com/ecohealthalliance/fasterize") | ||
| 32168 | (synopsis "Fast Polygon to Raster Conversion") | ||
| 32169 | (description | ||
| 32170 | "This package provides a drop-in replacement for @code{rasterize} from | ||
| 32171 | the @code{raster} package that takes sf-type objects, and is much faster. | ||
| 32172 | There is support for the main options provided by the @code{rasterize} | ||
| 32173 | function, including setting the field used and background value, and | ||
| 32174 | options for aggregating multi-layer rasters.") | ||
| 32175 | (license license:expat))) | ||
| 32176 | |||
| 32177 | (define-public r-bien | ||
| 32178 | (package | ||
| 32179 | (name "r-bien") | ||
| 32180 | (version "1.2.4") | ||
| 32181 | (source | ||
| 32182 | (origin | ||
| 32183 | (method url-fetch) | ||
| 32184 | (uri (cran-uri "BIEN" version)) | ||
| 32185 | (sha256 | ||
| 32186 | (base32 "1dagrs54ciagm2mgqrvxl6k2akahr0qk63ifxqnks7iljm0x1gw6")))) | ||
| 32187 | (properties `((upstream-name . "BIEN"))) | ||
| 32188 | (build-system r-build-system) | ||
| 32189 | (native-inputs | ||
| 32190 | `(("r-knitr" ,r-knitr) | ||
| 32191 | ("r-testthat" ,r-testthat))) | ||
| 32192 | (propagated-inputs | ||
| 32193 | `(("r-ape" ,r-ape) | ||
| 32194 | ("r-dbi" ,r-dbi) | ||
| 32195 | ("r-doparallel" ,r-doparallel) | ||
| 32196 | ("r-fasterize" ,r-fasterize) | ||
| 32197 | ("r-foreach" ,r-foreach) | ||
| 32198 | ("r-raster" ,r-raster) | ||
| 32199 | ("r-rgdal" ,r-rgdal) | ||
| 32200 | ("r-rgeos" ,r-rgeos) | ||
| 32201 | ("r-rpostgresql" ,r-rpostgresql) | ||
| 32202 | ("r-sf" ,r-sf) | ||
| 32203 | ("r-sp" ,r-sp))) | ||
| 32204 | (home-page "https://cran.r-project.org/package=BIEN") | ||
| 32205 | (synopsis "Tools for accessing the BIEN database") | ||
| 32206 | (description | ||
| 32207 | "This package provides tools for accessing the Botanical Information and | ||
| 32208 | Ecology Network (BIEN) database. The BIEN database contains cleaned and | ||
| 32209 | standardized botanical data including occurrence, trait, plot and taxonomic | ||
| 32210 | data. This package provides functions that query the BIEN database by | ||
| 32211 | constructing and executing optimized SQL queries.") | ||
| 32212 | (license license:expat))) | ||
| 32213 | |||
| 32036 | (define-public r-ggh4x | 32214 | (define-public r-ggh4x |
| 32037 | (package | 32215 | (package |
| 32038 | (name "r-ggh4x") | 32216 | (name "r-ggh4x") |
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 87b165580cd..78d2a226003 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm | |||
| @@ -20509,7 +20509,7 @@ IEEE 754-2008 binary16 type.") | |||
| 20509 | (("rust-winapi" ,rust-winapi-0.3)))) | 20509 | (("rust-winapi" ,rust-winapi-0.3)))) |
| 20510 | (home-page "https://github.com/brson/home") | 20510 | (home-page "https://github.com/brson/home") |
| 20511 | (synopsis "Shared definitions of home directories") | 20511 | (synopsis "Shared definitions of home directories") |
| 20512 | (description "This packages provides the definition of @code{home_dir} | 20512 | (description "This package provides the definition of @code{home_dir} |
| 20513 | used by @command{cargo} and @command{rustup}, as well as functions to find the | 20513 | used by @command{cargo} and @command{rustup}, as well as functions to find the |
| 20514 | correct value of @samp{CARGO_HOME} and @samp{RUSTUP_HOME}.") | 20514 | correct value of @samp{CARGO_HOME} and @samp{RUSTUP_HOME}.") |
| 20515 | (license (list license:expat license:asl2.0)))) | 20515 | (license (list license:expat license:asl2.0)))) |
diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index 79086a9620d..0f413b8b742 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | ;;; GNU Guix --- Functional package management for GNU | 1 | ;;; GNU Guix --- Functional package management for GNU |
| 2 | ;;; Copyright © 2014 David Thompson <davet@gnu.org> | 2 | ;;; Copyright © 2014 David Thompson <davet@gnu.org> |
| 3 | ;;; Copyright © 2015, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> | 3 | ;;; Copyright © 2015, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> |
| 4 | ;;; Copyright © 2016, 2017, 2018, 2019 Leo Famulari <leo@famulari.name> | 4 | ;;; Copyright © 2016, 2017, 2018, 2019, 2021 Leo Famulari <leo@famulari.name> |
| 5 | ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox> | 5 | ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox> |
| 6 | ;;; Copyright © 2016–2021 Tobias Geerinckx-Rice <me@tobias.gr> | 6 | ;;; Copyright © 2016–2021 Tobias Geerinckx-Rice <me@tobias.gr> |
| 7 | ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is> | 7 | ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is> |
| @@ -841,6 +841,41 @@ as the latest standard, SHA-3. It is an improved version of the SHA-3 finalist | |||
| 841 | BLAKE.") | 841 | BLAKE.") |
| 842 | (license license:public-domain))) | 842 | (license license:public-domain))) |
| 843 | 843 | ||
| 844 | (define-public b2sum | ||
| 845 | ;; Upstream doesn't seem to use a versioned release workflow, so build from | ||
| 846 | ;; a recent commit. | ||
| 847 | (let ((commit "54f4faa4c16ea34bcd59d16e8da46a64b259fc07") | ||
| 848 | (revision "0")) | ||
| 849 | (package | ||
| 850 | (name "b2sum") | ||
| 851 | (version (git-version "20190724" revision commit)) | ||
| 852 | (source (origin | ||
| 853 | (method git-fetch) | ||
| 854 | (uri (git-reference | ||
| 855 | (url "https://github.com/BLAKE2/BLAKE2") | ||
| 856 | (commit commit))) | ||
| 857 | (file-name (git-file-name name version)) | ||
| 858 | (sha256 | ||
| 859 | (base32 "04z631v0vzl52g73v390ask5fnzi5wg83lcjkjhpmmymaz0jn152")))) | ||
| 860 | (build-system gnu-build-system) | ||
| 861 | (arguments | ||
| 862 | `(#:make-flags (list (string-append "CC=" ,(cc-for-target)) | ||
| 863 | (string-append "PREFIX=" (assoc-ref %outputs "out"))) | ||
| 864 | #:tests? #f ; No test suite | ||
| 865 | #:phases | ||
| 866 | (modify-phases %standard-phases | ||
| 867 | (add-before 'build 'change-directory | ||
| 868 | (lambda _ | ||
| 869 | (chdir "b2sum"))) | ||
| 870 | (delete 'configure)))) ; No ./configure script | ||
| 871 | (home-page "https://www.blake2.net/") | ||
| 872 | (synopsis "BLAKE2 checksum tool") | ||
| 873 | (description "BLAKE2 is a cryptographic hash function faster than MD5, | ||
| 874 | SHA-1, SHA-2, and SHA-3, yet is at least as secure as SHA-3.") | ||
| 875 | ;; You may also choose to redistribute this program as Apache 2.0 or the | ||
| 876 | ;; OpenSSL license. See 'b2sum/b2sum.c' in the source distribution. | ||
| 877 | (license license:cc0)))) | ||
| 878 | |||
| 844 | (define-public rhash | 879 | (define-public rhash |
| 845 | (package | 880 | (package |
| 846 | (name "rhash") | 881 | (name "rhash") |
| @@ -898,14 +933,14 @@ SHA256, SHA512, SHA3, AICH, ED2K, Tiger, DC++ TTH, BitTorrent BTIH, GOST R | |||
| 898 | (define-public botan | 933 | (define-public botan |
| 899 | (package | 934 | (package |
| 900 | (name "botan") | 935 | (name "botan") |
| 901 | (version "2.18.1") | 936 | (version "2.18.2") |
| 902 | (source (origin | 937 | (source (origin |
| 903 | (method url-fetch) | 938 | (method url-fetch) |
| 904 | (uri (string-append "https://botan.randombit.net/releases/" | 939 | (uri (string-append "https://botan.randombit.net/releases/" |
| 905 | "Botan-" version ".tar.xz")) | 940 | "Botan-" version ".tar.xz")) |
| 906 | (sha256 | 941 | (sha256 |
| 907 | (base32 | 942 | (base32 |
| 908 | "0adf53drhk1hlpfih0175c9081bqpclw6p2afn51cmx849ib9izq")))) | 943 | "0zih8agygp39ff0dwi3fv8y7dnnzpz3y86kcgjbhzlxry49kn6jl")))) |
| 909 | (build-system gnu-build-system) | 944 | (build-system gnu-build-system) |
| 910 | (arguments | 945 | (arguments |
| 911 | '(#:phases | 946 | '(#:phases |
| @@ -918,6 +953,8 @@ SHA256, SHA512, SHA3, AICH, ED2K, Tiger, DC++ TTH, BitTorrent BTIH, GOST R | |||
| 918 | (setenv "CXXFLAGS" "-O3") | 953 | (setenv "CXXFLAGS" "-O3") |
| 919 | (invoke "python" "./configure.py" | 954 | (invoke "python" "./configure.py" |
| 920 | (string-append "--prefix=" out) | 955 | (string-append "--prefix=" out) |
| 956 | "--disable-static" | ||
| 957 | |||
| 921 | ;; Otherwise, the `botan` executable cannot find | 958 | ;; Otherwise, the `botan` executable cannot find |
| 922 | ;; libbotan. | 959 | ;; libbotan. |
| 923 | (string-append "--ldflags=-Wl,-rpath=" lib) | 960 | (string-append "--ldflags=-Wl,-rpath=" lib) |
| @@ -974,8 +1011,8 @@ security.") | |||
| 974 | (license license:gpl2))) | 1011 | (license license:gpl2))) |
| 975 | 1012 | ||
| 976 | (define-public asignify | 1013 | (define-public asignify |
| 977 | (let ((commit "f58e7977a599f040797975d649ed318e25cbd2d5") | 1014 | (let ((commit "08af003e1f4833713db28b871759d94f9b2b1469") |
| 978 | (revision "0")) | 1015 | (revision "1")) |
| 979 | (package | 1016 | (package |
| 980 | (name "asignify") | 1017 | (name "asignify") |
| 981 | (version (git-version "1.1" revision commit)) | 1018 | (version (git-version "1.1" revision commit)) |
| @@ -987,7 +1024,7 @@ security.") | |||
| 987 | (file-name (git-file-name name version)) | 1024 | (file-name (git-file-name name version)) |
| 988 | (sha256 | 1025 | (sha256 |
| 989 | (base32 | 1026 | (base32 |
| 990 | "1zl68qq6js6fdahxzyhvhrpyrwlv8c2zhdplycnfxyr1ckkhq8dw")))) | 1027 | "1zacpqa8b5lg270z1g06r5ik9vnb91crb4ivyy20381dny82xvr1")))) |
| 991 | (build-system gnu-build-system) | 1028 | (build-system gnu-build-system) |
| 992 | (arguments | 1029 | (arguments |
| 993 | `(#:configure-flags | 1030 | `(#:configure-flags |
diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm index fa3a449b7ba..ffcbbe9eb4d 100644 --- a/gnu/packages/debug.scm +++ b/gnu/packages/debug.scm | |||
| @@ -5,7 +5,7 @@ | |||
| 5 | ;;; Copyright © 2018, 2019 Rutger Helling <rhelling@mykolab.com> | 5 | ;;; Copyright © 2018, 2019 Rutger Helling <rhelling@mykolab.com> |
| 6 | ;;; Copyright © 2019 Pkill -9 <pkill9@runbox.com> | 6 | ;;; Copyright © 2019 Pkill -9 <pkill9@runbox.com> |
| 7 | ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> | 7 | ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> |
| 8 | ;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com> | 8 | ;;; Copyright © 2020, 2021 Morgan Smith <Morgan.J.Smith@outlook.com> |
| 9 | ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> | 9 | ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> |
| 10 | ;;; Copyright © 2021 Felix Gruber <felgru@posteo.net> | 10 | ;;; Copyright © 2021 Felix Gruber <felgru@posteo.net> |
| 11 | ;;; | 11 | ;;; |
| @@ -756,35 +756,38 @@ use than similar tools like @command{mtrace}.") | |||
| 756 | (license license:gpl2+))) | 756 | (license license:gpl2+))) |
| 757 | 757 | ||
| 758 | (define-public mspdebug | 758 | (define-public mspdebug |
| 759 | (package | 759 | ;; Last official release was 24 July 2017 |
| 760 | (name "mspdebug") | 760 | (let ((commit "4c4d94e43bc4a18ecf82070ff81cd38dd5641e3b") |
| 761 | (version "0.25") | 761 | (revision "0")) |
| 762 | (source (origin | 762 | (package |
| 763 | (method git-fetch) | 763 | (name "mspdebug") |
| 764 | (uri (git-reference | 764 | (version (git-version "0.25" revision commit)) |
| 765 | (url "https://github.com/dlbeer/mspdebug") | 765 | (source (origin |
| 766 | (commit (string-append "v" version)))) | 766 | (method git-fetch) |
| 767 | (file-name (git-file-name name version)) | 767 | (uri (git-reference |
| 768 | (sha256 | 768 | (url "https://github.com/dlbeer/mspdebug") |
| 769 | (base32 "0prgwb5vx6fd4bj12ss1bbb6axj2kjyriyjxqrzd58s5jyyy8d3c")))) | 769 | (commit commit))) |
| 770 | (build-system gnu-build-system) | 770 | (file-name (git-file-name name version)) |
| 771 | (arguments | 771 | (sha256 |
| 772 | `(#:tests? #f ; no test suite | 772 | (base32 "1lgw1dsc1aglyja610ichadvgs5b0df3wlarinczb0ykf431gjln")))) |
| 773 | #:phases | 773 | (build-system gnu-build-system) |
| 774 | (modify-phases %standard-phases | 774 | (arguments |
| 775 | (delete 'configure)) ; no configure script | 775 | `(#:tests? #f ; no test suite |
| 776 | #:make-flags | 776 | #:phases |
| 777 | (list (string-append "CC=" ,(cc-for-target)) | 777 | (modify-phases %standard-phases |
| 778 | "INSTALL=install" | 778 | (delete 'configure)) ; no configure script |
| 779 | (string-append "PREFIX=" %output)))) | 779 | #:make-flags |
| 780 | (inputs | 780 | (list (string-append "CC=" ,(cc-for-target)) |
| 781 | `(("libusb-compat" ,libusb-compat) | 781 | "INSTALL=install" |
| 782 | ("readline" ,readline))) | 782 | (string-append "PREFIX=" %output)))) |
| 783 | (synopsis "Debugging tool for MSP430 MCUs") | 783 | (inputs |
| 784 | (description "MspDebug supports FET430UIF, eZ430, RF2500 and Olimex | 784 | `(("libusb-compat" ,libusb-compat) |
| 785 | ("readline" ,readline))) | ||
| 786 | (synopsis "Debugging tool for MSP430 MCUs") | ||
| 787 | (description "MspDebug supports FET430UIF, eZ430, RF2500 and Olimex | ||
| 785 | MSP430-JTAG-TINY programmers, as well as many other compatible | 788 | MSP430-JTAG-TINY programmers, as well as many other compatible |
| 786 | devices. It can be used as a proxy for gdb or as an independent | 789 | devices. It can be used as a proxy for gdb or as an independent |
| 787 | debugger with support for programming, disassembly and reverse | 790 | debugger with support for programming, disassembly and reverse |
| 788 | engineering.") | 791 | engineering.") |
| 789 | (home-page "https://github.com/dlbeer/mspdebug") | 792 | (home-page "https://github.com/dlbeer/mspdebug") |
| 790 | (license license:gpl2+))) | 793 | (license license:gpl2+)))) |
diff --git a/gnu/packages/diffoscope.scm b/gnu/packages/diffoscope.scm index b27ff40340a..fb22381673f 100644 --- a/gnu/packages/diffoscope.scm +++ b/gnu/packages/diffoscope.scm | |||
| @@ -49,6 +49,7 @@ | |||
| 49 | #:use-module (gnu packages mono) | 49 | #:use-module (gnu packages mono) |
| 50 | #:use-module (gnu packages ocaml) | 50 | #:use-module (gnu packages ocaml) |
| 51 | #:use-module (gnu packages package-management) | 51 | #:use-module (gnu packages package-management) |
| 52 | #:use-module (gnu packages pascal) | ||
| 52 | #:use-module (gnu packages patchutils) | 53 | #:use-module (gnu packages patchutils) |
| 53 | #:use-module (gnu packages pdf) | 54 | #:use-module (gnu packages pdf) |
| 54 | #:use-module (gnu packages python-web) | 55 | #:use-module (gnu packages python-web) |
| @@ -72,7 +73,7 @@ | |||
| 72 | (define-public diffoscope | 73 | (define-public diffoscope |
| 73 | (package | 74 | (package |
| 74 | (name "diffoscope") | 75 | (name "diffoscope") |
| 75 | (version "188") | 76 | (version "189") |
| 76 | (source | 77 | (source |
| 77 | (origin | 78 | (origin |
| 78 | (method git-fetch) | 79 | (method git-fetch) |
| @@ -81,9 +82,9 @@ | |||
| 81 | (commit version))) | 82 | (commit version))) |
| 82 | (file-name (git-file-name name version)) | 83 | (file-name (git-file-name name version)) |
| 83 | (sha256 | 84 | (sha256 |
| 84 | (base32 "1byd28ihni5g0ikjjcsq68smj1rw33vv9z0cymqa4ds670c77yvn")) | 85 | (base32 "0dai9gwsr9xnficjy8myq6xr301y4iy82aidm936qsqjwrp8q1sm")) |
| 85 | (patches | 86 | (patches |
| 86 | (search-patches "diffoscope-fix-test_item3_deflate_llvm_bitcode.patch")))) | 87 | (search-patches "diffoscope-fix-llvm-test.patch")))) |
| 87 | (build-system python-build-system) | 88 | (build-system python-build-system) |
| 88 | (arguments | 89 | (arguments |
| 89 | `(#:phases (modify-phases %standard-phases | 90 | `(#:phases (modify-phases %standard-phases |
| @@ -183,6 +184,7 @@ | |||
| 183 | ("dtc" ,dtc) | 184 | ("dtc" ,dtc) |
| 184 | ("e2fsprogs" ,e2fsprogs) | 185 | ("e2fsprogs" ,e2fsprogs) |
| 185 | ("ffmpeg" ,ffmpeg) | 186 | ("ffmpeg" ,ffmpeg) |
| 187 | ("fpc" ,fpc) | ||
| 186 | ("gettext" ,gettext-minimal) | 188 | ("gettext" ,gettext-minimal) |
| 187 | ("ghostscript" ,ghostscript) | 189 | ("ghostscript" ,ghostscript) |
| 188 | ("giflib:bin" ,giflib "bin") | 190 | ("giflib:bin" ,giflib "bin") |
| @@ -229,7 +231,7 @@ install.") | |||
| 229 | (define-public reprotest | 231 | (define-public reprotest |
| 230 | (package | 232 | (package |
| 231 | (name "reprotest") | 233 | (name "reprotest") |
| 232 | (version "0.7.16") | 234 | (version "0.7.18") |
| 233 | (source | 235 | (source |
| 234 | (origin | 236 | (origin |
| 235 | (method git-fetch) | 237 | (method git-fetch) |
| @@ -239,7 +241,7 @@ install.") | |||
| 239 | (file-name (git-file-name name version)) | 241 | (file-name (git-file-name name version)) |
| 240 | (sha256 | 242 | (sha256 |
| 241 | (base32 | 243 | (base32 |
| 242 | "0s7gyixk868dw6yqxsb1sq24mgg9ilz5s2yidd5j0zhl683n7dw9")))) | 244 | "19lwsxq53isgfkvlxvxqqmbjfcim3lhcxwk7m9ddfjiynhq74949")))) |
| 243 | (inputs | 245 | (inputs |
| 244 | `(("python-debian" ,python-debian) | 246 | `(("python-debian" ,python-debian) |
| 245 | ("python-distro" ,python-distro) | 247 | ("python-distro" ,python-distro) |
diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm index a3095f8bfa3..1bfd85beae4 100644 --- a/gnu/packages/display-managers.scm +++ b/gnu/packages/display-managers.scm | |||
| @@ -41,6 +41,7 @@ | |||
| 41 | #:use-module (guix gexp) | 41 | #:use-module (guix gexp) |
| 42 | #:use-module (gnu packages) | 42 | #:use-module (gnu packages) |
| 43 | #:use-module (gnu packages admin) | 43 | #:use-module (gnu packages admin) |
| 44 | #:use-module (gnu packages bash) | ||
| 44 | #:use-module (gnu packages fontutils) | 45 | #:use-module (gnu packages fontutils) |
| 45 | #:use-module (gnu packages freedesktop) | 46 | #:use-module (gnu packages freedesktop) |
| 46 | #:use-module (gnu packages gl) | 47 | #:use-module (gnu packages gl) |
| @@ -262,16 +263,16 @@ display manager which supports different greeters.") | |||
| 262 | (define-public lightdm-gtk-greeter | 263 | (define-public lightdm-gtk-greeter |
| 263 | (package | 264 | (package |
| 264 | (name "lightdm-gtk-greeter") | 265 | (name "lightdm-gtk-greeter") |
| 265 | (version "2.0.7") | 266 | (version "2.0.8") |
| 266 | (source (origin | 267 | (source (origin |
| 267 | (method url-fetch) | 268 | (method url-fetch) |
| 268 | (uri (string-append | 269 | (uri (string-append |
| 269 | "https://launchpad.net/lightdm-gtk-greeter/" | 270 | "https://github.com/xubuntu/lightdm-gtk-greeter" |
| 270 | (version-major+minor version) "/" version | 271 | "/releases/download/lightdm-gtk-greeter-" version "/" |
| 271 | "/+download/lightdm-gtk-greeter-" version ".tar.gz")) | 272 | "lightdm-gtk-greeter-" version ".tar.gz")) |
| 272 | (sha256 | 273 | (sha256 |
| 273 | (base32 | 274 | (base32 |
| 274 | "1g7wc3d3vqfa7mrdhx1w9ywydgjbffla6rbrxq9k3sc62br97qms")))) | 275 | "04q62mvr97l9gv8h37hfarygqc7p0498ig7xclcg4kxkqw0b7yxy")))) |
| 275 | (build-system gnu-build-system) | 276 | (build-system gnu-build-system) |
| 276 | (arguments | 277 | (arguments |
| 277 | `(#:configure-flags | 278 | `(#:configure-flags |
| @@ -306,14 +307,16 @@ display manager which supports different greeters.") | |||
| 306 | (native-inputs | 307 | (native-inputs |
| 307 | `(("exo" ,exo) | 308 | `(("exo" ,exo) |
| 308 | ("intltool" ,intltool) | 309 | ("intltool" ,intltool) |
| 309 | ("pkg-config" ,pkg-config))) | 310 | ("pkg-config" ,pkg-config) |
| 311 | ("xfce4-dev-tools" ,xfce4-dev-tools))) | ||
| 310 | (inputs | 312 | (inputs |
| 311 | `(("lightdm" ,lightdm) | 313 | `(("bash" ,bash-minimal) ; for wrap-program |
| 314 | ("lightdm" ,lightdm) | ||
| 312 | ("shared-mime-info" ,shared-mime-info) | 315 | ("shared-mime-info" ,shared-mime-info) |
| 313 | ("at-spi2-core" ,at-spi2-core) | 316 | ("at-spi2-core" ,at-spi2-core) |
| 314 | ("gtk+" ,gtk+))) | 317 | ("gtk+" ,gtk+))) |
| 315 | (synopsis "GTK+ greeter for LightDM") | 318 | (synopsis "GTK+ greeter for LightDM") |
| 316 | (home-page "https://launchpad.net/lightdm-gtk-greeter") | 319 | (home-page "https://github.com/xubuntu/lightdm-gtk-greeter") |
| 317 | (description "This package provides a LightDM greeter implementation using | 320 | (description "This package provides a LightDM greeter implementation using |
| 318 | GTK+, lets you select a desktop session and log in to it.") | 321 | GTK+, lets you select a desktop session and log in to it.") |
| 319 | (license license:gpl3+))) | 322 | (license license:gpl3+))) |
diff --git a/gnu/packages/djvu.scm b/gnu/packages/djvu.scm index 0d1cdf2b1d7..39c2b20d7ec 100644 --- a/gnu/packages/djvu.scm +++ b/gnu/packages/djvu.scm | |||
| @@ -151,7 +151,7 @@ a continuous layout.") | |||
| 151 | (define-public pdf2djvu | 151 | (define-public pdf2djvu |
| 152 | (package | 152 | (package |
| 153 | (name "pdf2djvu") | 153 | (name "pdf2djvu") |
| 154 | (version "0.9.18") | 154 | (version "0.9.18.1") |
| 155 | (source | 155 | (source |
| 156 | (origin | 156 | (origin |
| 157 | (method url-fetch) | 157 | (method url-fetch) |
| @@ -159,7 +159,7 @@ a continuous layout.") | |||
| 159 | "https://github.com/jwilk/pdf2djvu/releases/download/" version | 159 | "https://github.com/jwilk/pdf2djvu/releases/download/" version |
| 160 | "/pdf2djvu-" version ".tar.xz")) | 160 | "/pdf2djvu-" version ".tar.xz")) |
| 161 | (sha256 | 161 | (sha256 |
| 162 | (base32 "0vxa0b3g7zhflc5m6ln4f0hi0shsqyqc3344y7azlllibxc5ba22")))) | 162 | (base32 "0c595yziz81c9izf9s5sskd00qmgz2n1hp2vdcgg0dx81g3xfidb")))) |
| 163 | (build-system gnu-build-system) | 163 | (build-system gnu-build-system) |
| 164 | (native-inputs | 164 | (native-inputs |
| 165 | `(("gettext" ,gettext-minimal) | 165 | `(("gettext" ,gettext-minimal) |
| @@ -177,9 +177,12 @@ a continuous layout.") | |||
| 177 | `(#:test-target "test" | 177 | `(#:test-target "test" |
| 178 | #:phases | 178 | #:phases |
| 179 | (modify-phases %standard-phases | 179 | (modify-phases %standard-phases |
| 180 | (add-before 'check 'set-home-for-tests | 180 | (add-after 'unpack 'fix-tests |
| 181 | (lambda _ | 181 | (lambda _ |
| 182 | (setenv "HOME" "/tmp")))))) | 182 | (substitute* "tests/test-xmp-broken.py" |
| 183 | ;; Error message changed in recent versions of XML parser | ||
| 184 | (("XML parsing failure") | ||
| 185 | "Error in XMLValidator"))))))) | ||
| 183 | (synopsis "PDF to DjVu converter") | 186 | (synopsis "PDF to DjVu converter") |
| 184 | (description | 187 | (description |
| 185 | "@code{pdf2djvu} creates DjVu files from PDF files. | 188 | "@code{pdf2djvu} creates DjVu files from PDF files. |
diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index c770b880c80..89ebe588fdb 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm | |||
| @@ -1062,14 +1062,14 @@ synthesis, and on-the-fly re-configuration.") | |||
| 1062 | (define-public knot-resolver | 1062 | (define-public knot-resolver |
| 1063 | (package | 1063 | (package |
| 1064 | (name "knot-resolver") | 1064 | (name "knot-resolver") |
| 1065 | (version "5.4.1") | 1065 | (version "5.4.2") |
| 1066 | (source (origin | 1066 | (source (origin |
| 1067 | (method url-fetch) | 1067 | (method url-fetch) |
| 1068 | (uri (string-append "https://secure.nic.cz/files/knot-resolver/" | 1068 | (uri (string-append "https://secure.nic.cz/files/knot-resolver/" |
| 1069 | "knot-resolver-" version ".tar.xz")) | 1069 | "knot-resolver-" version ".tar.xz")) |
| 1070 | (sha256 | 1070 | (sha256 |
| 1071 | (base32 | 1071 | (base32 |
| 1072 | "0rixiqfj53rfabrz8qpnq4whx8y29d2m5w64a4jlwx7gv4nrd2zv")))) | 1072 | "12x5cd09rv530pak5f2smxcfq2zdqg0g5qxsd5k0alm7f6aj2spa")))) |
| 1073 | (build-system meson-build-system) | 1073 | (build-system meson-build-system) |
| 1074 | (outputs '("out" "doc")) | 1074 | (outputs '("out" "doc")) |
| 1075 | (arguments | 1075 | (arguments |
diff --git a/gnu/packages/docbook.scm b/gnu/packages/docbook.scm index ee12f7edeb7..4d15ac4812e 100644 --- a/gnu/packages/docbook.scm +++ b/gnu/packages/docbook.scm | |||
| @@ -459,8 +459,7 @@ the in DocBook SGML DTDs.") | |||
| 459 | (string-append (assoc-ref inputs input) | 459 | (string-append (assoc-ref inputs input) |
| 460 | "/bin")) | 460 | "/bin")) |
| 461 | '("libxslt" "texlive" | 461 | '("libxslt" "texlive" |
| 462 | "imagemagick" "inkscape")))) | 462 | "imagemagick" "inkscape")))))))))) |
| 463 | #t)))))) | ||
| 464 | (home-page "http://dblatex.sourceforge.net") | 463 | (home-page "http://dblatex.sourceforge.net") |
| 465 | (synopsis "DocBook to LaTeX Publishing") | 464 | (synopsis "DocBook to LaTeX Publishing") |
| 466 | (description | 465 | (description |
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index c8515d729c8..c901f7e7119 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm | |||
| @@ -102,6 +102,7 @@ | |||
| 102 | ;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org> | 102 | ;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org> |
| 103 | ;;; Copyright © 2021 Noisytoot <noisytoot@disroot.org> | 103 | ;;; Copyright © 2021 Noisytoot <noisytoot@disroot.org> |
| 104 | ;;; Copyright © 2021 Simon South <simon@simonsouth.net> | 104 | ;;; Copyright © 2021 Simon South <simon@simonsouth.net> |
| 105 | ;;; Copyright © 2021 la snesne <lasnesne@lagunposprasihopre.org> | ||
| 105 | ;;; | 106 | ;;; |
| 106 | ;;; This file is part of GNU Guix. | 107 | ;;; This file is part of GNU Guix. |
| 107 | ;;; | 108 | ;;; |
| @@ -456,16 +457,16 @@ a generic Scheme interaction mode for the GNU Emacs editor.") | |||
| 456 | (define-public emacs-vc-hgcmd | 457 | (define-public emacs-vc-hgcmd |
| 457 | (package | 458 | (package |
| 458 | (name "emacs-vc-hgcmd") | 459 | (name "emacs-vc-hgcmd") |
| 459 | (version "1.14") | 460 | (version "1.14.1") |
| 460 | (source (origin | 461 | (source |
| 461 | (method git-fetch) | 462 | (origin |
| 462 | (uri (git-reference | 463 | (method git-fetch) |
| 463 | (url "https://github.com/muffinmad/emacs-vc-hgcmd") | 464 | (uri (git-reference |
| 464 | (commit (string-append "v" version)))) | 465 | (url "https://github.com/muffinmad/emacs-vc-hgcmd") |
| 465 | (file-name (git-file-name name version)) | 466 | (commit (string-append "v" version)))) |
| 466 | (sha256 | 467 | (file-name (git-file-name name version)) |
| 467 | (base32 | 468 | (sha256 |
| 468 | "1mm8lnwii53j32v54aahl8sf3ciwymrvc1rgy4nw2m7hcrnjsb78")))) | 469 | (base32 "1nlaicza4ds325827ks5gb7zn0nc536k2chq8jwbq34ybvxi93wj")))) |
| 469 | (build-system emacs-build-system) | 470 | (build-system emacs-build-system) |
| 470 | (home-page "https://github.com/muffinmad/emacs-vc-hgcmd") | 471 | (home-page "https://github.com/muffinmad/emacs-vc-hgcmd") |
| 471 | (synopsis "Version control (VC) backend for the Mercurial command server") | 472 | (synopsis "Version control (VC) backend for the Mercurial command server") |
| @@ -1718,7 +1719,7 @@ directly.") | |||
| 1718 | (home-page "https://bitbucket.org/agriggio/ahg") | 1719 | (home-page "https://bitbucket.org/agriggio/ahg") |
| 1719 | (synopsis "Emacs front-end for the Mercurial SCM") | 1720 | (synopsis "Emacs front-end for the Mercurial SCM") |
| 1720 | (description | 1721 | (description |
| 1721 | "This packages provides a simple Emacs front-end for the Mercurial | 1722 | "This package provides a simple Emacs front-end for the Mercurial |
| 1722 | Distributed @acronym{Source Control Management, SCM} system.") | 1723 | Distributed @acronym{Source Control Management, SCM} system.") |
| 1723 | (license license:gpl3+)))) | 1724 | (license license:gpl3+)))) |
| 1724 | 1725 | ||
| @@ -6414,31 +6415,27 @@ for the current function or variable in the minibuffer.") | |||
| 6414 | (license license:gpl3+))) | 6415 | (license license:gpl3+))) |
| 6415 | 6416 | ||
| 6416 | (define-public emacs-company-quickhelp | 6417 | (define-public emacs-company-quickhelp |
| 6417 | ;; XXX: release version 2.3.0 is on an unmaintained branch for some reason, | 6418 | (package |
| 6418 | ;; so we use the latest 2.2.0 commit instead | 6419 | (name "emacs-company-quickhelp") |
| 6419 | (let ((commit "479676cade80a9f03802ca3d956591820ed5c537") | 6420 | (version "2.3.0") |
| 6420 | (revision "1")) | 6421 | (source |
| 6421 | (package | 6422 | (origin |
| 6422 | (name "emacs-company-quickhelp") | 6423 | (method git-fetch) |
| 6423 | (version (git-version "2.2.0" revision commit)) | 6424 | (uri (git-reference |
| 6424 | (source | 6425 | (url "https://github.com/expez/company-quickhelp") |
| 6425 | (origin | 6426 | (commit version))) |
| 6426 | (method git-fetch) | 6427 | (file-name (git-file-name name version)) |
| 6427 | (uri (git-reference | 6428 | (sha256 |
| 6428 | (url "https://github.com/expez/company-quickhelp") | 6429 | (base32 "08ccsfvwdpzpj0gai3xrdb2bv1nl6myjkxsc5774pbvlq9nkfdvr")))) |
| 6429 | (commit commit))) | 6430 | (build-system emacs-build-system) |
| 6430 | (file-name (git-file-name name version)) | 6431 | (propagated-inputs |
| 6431 | (sha256 | 6432 | `(("emacs-pos-tip" ,emacs-pos-tip) |
| 6432 | (base32 "0hbqpnaf4hnin3nmdzmfj3v22kk9a97b6zssqs96ns36d9h52xcp")))) | 6433 | ("emacs-company" ,emacs-company))) |
| 6433 | (build-system emacs-build-system) | 6434 | (home-page "https://github.com/expez/company-quickhelp") |
| 6434 | (propagated-inputs | 6435 | (synopsis "Popup documentation for completion candidates") |
| 6435 | `(("emacs-pos-tip" ,emacs-pos-tip) | 6436 | (description "@code{company-quickhelp} shows documentation for the |
| 6436 | ("emacs-company" ,emacs-company))) | ||
| 6437 | (home-page "https://github.com/expez/company-quickhelp") | ||
| 6438 | (synopsis "Popup documentation for completion candidates") | ||
| 6439 | (description "@code{company-quickhelp} shows documentation for the | ||
| 6440 | completion candidate when using the Company text completion framework.") | 6437 | completion candidate when using the Company text completion framework.") |
| 6441 | (license license:gpl3+)))) | 6438 | (license license:gpl3+))) |
| 6442 | 6439 | ||
| 6443 | (define-public emacs-math-symbol-lists | 6440 | (define-public emacs-math-symbol-lists |
| 6444 | (package | 6441 | (package |
| @@ -8208,7 +8205,7 @@ them easier to distinguish from other, less important buffers.") | |||
| 8208 | (define-public emacs-embark | 8205 | (define-public emacs-embark |
| 8209 | (package | 8206 | (package |
| 8210 | (name "emacs-embark") | 8207 | (name "emacs-embark") |
| 8211 | (version "0.10") | 8208 | (version "0.12") |
| 8212 | (source | 8209 | (source |
| 8213 | (origin | 8210 | (origin |
| 8214 | (method git-fetch) | 8211 | (method git-fetch) |
| @@ -8216,7 +8213,7 @@ them easier to distinguish from other, less important buffers.") | |||
| 8216 | (url "https://github.com/oantolin/embark") | 8213 | (url "https://github.com/oantolin/embark") |
| 8217 | (commit version))) | 8214 | (commit version))) |
| 8218 | (sha256 | 8215 | (sha256 |
| 8219 | (base32 "063hc0hganws11vjdk3ic0mxm9i0vpw6s7hzbgxvja0gjkdxjldz")) | 8216 | (base32 "16z7g6ynj4d64wsg49skhwypn5j6awlpsawbz61djsmpzlzjnv36")) |
| 8220 | (file-name (git-file-name name version)))) | 8217 | (file-name (git-file-name name version)))) |
| 8221 | (build-system emacs-build-system) | 8218 | (build-system emacs-build-system) |
| 8222 | (propagated-inputs | 8219 | (propagated-inputs |
| @@ -18954,7 +18951,7 @@ powerful Org contents.") | |||
| 18954 | (define-public emacs-org-re-reveal | 18951 | (define-public emacs-org-re-reveal |
| 18955 | (package | 18952 | (package |
| 18956 | (name "emacs-org-re-reveal") | 18953 | (name "emacs-org-re-reveal") |
| 18957 | (version "3.12.1") | 18954 | (version "3.12.3") |
| 18958 | (source | 18955 | (source |
| 18959 | (origin | 18956 | (origin |
| 18960 | (method git-fetch) | 18957 | (method git-fetch) |
| @@ -18963,7 +18960,7 @@ powerful Org contents.") | |||
| 18963 | (commit version))) | 18960 | (commit version))) |
| 18964 | (file-name (git-file-name name version)) | 18961 | (file-name (git-file-name name version)) |
| 18965 | (sha256 | 18962 | (sha256 |
| 18966 | (base32 "0hi8lq9rj6i2m14dh75dzq7lq41i4f6qj4xbp2b8krqw6mk9xg7z")))) | 18963 | (base32 "08ai87b6nybg0l7y8falb53wwvdv8hr3jzj5q995x48ylw6r1582")))) |
| 18967 | (build-system emacs-build-system) | 18964 | (build-system emacs-build-system) |
| 18968 | (propagated-inputs | 18965 | (propagated-inputs |
| 18969 | `(("emacs-htmlize" ,emacs-htmlize) | 18966 | `(("emacs-htmlize" ,emacs-htmlize) |
| @@ -21139,7 +21136,7 @@ file.") | |||
| 21139 | (define-public emacs-packed | 21136 | (define-public emacs-packed |
| 21140 | (package | 21137 | (package |
| 21141 | (name "emacs-packed") | 21138 | (name "emacs-packed") |
| 21142 | (version "3.0.3") | 21139 | (version "3.0.4") |
| 21143 | (source | 21140 | (source |
| 21144 | (origin | 21141 | (origin |
| 21145 | (method git-fetch) | 21142 | (method git-fetch) |
| @@ -21148,8 +21145,7 @@ file.") | |||
| 21148 | (commit version))) | 21145 | (commit version))) |
| 21149 | (file-name (git-file-name name version)) | 21146 | (file-name (git-file-name name version)) |
| 21150 | (sha256 | 21147 | (sha256 |
| 21151 | (base32 | 21148 | (base32 "1gpv2vaci0m48fzn0sy7iwl1mnkkqc30bf05jjrqlpn9kpbjyf1p")))) |
| 21152 | "06blk8parnpq3qi6y5628q3v59c8dyi41glb289a0l16248qwphk")))) | ||
| 21153 | (build-system emacs-build-system) | 21149 | (build-system emacs-build-system) |
| 21154 | (home-page "https://github.com/emacscollective/packed") | 21150 | (home-page "https://github.com/emacscollective/packed") |
| 21155 | (synopsis "Package manager agnostic Emacs Lisp package utilities") | 21151 | (synopsis "Package manager agnostic Emacs Lisp package utilities") |
| @@ -23439,16 +23435,16 @@ buffer and launches Magit from the status buffer for the project at point.") | |||
| 23439 | (define-public emacs-alect-themes | 23435 | (define-public emacs-alect-themes |
| 23440 | (package | 23436 | (package |
| 23441 | (name "emacs-alect-themes") | 23437 | (name "emacs-alect-themes") |
| 23442 | (version "0.9") | 23438 | (version "0.10") |
| 23443 | (source (origin | 23439 | (source |
| 23444 | (method git-fetch) | 23440 | (origin |
| 23445 | (uri (git-reference | 23441 | (method git-fetch) |
| 23446 | (url "https://github.com/alezost/alect-themes") | 23442 | (uri (git-reference |
| 23447 | (commit (string-append "v" version)))) | 23443 | (url "https://github.com/alezost/alect-themes") |
| 23448 | (file-name (git-file-name name version)) | 23444 | (commit (string-append "v" version)))) |
| 23449 | (sha256 | 23445 | (file-name (git-file-name name version)) |
| 23450 | (base32 | 23446 | (sha256 |
| 23451 | "0nffxpdm0sa7bynwi0rmlwpc4qmvbda5ankhzz7fmk4ap9fkjxv9")))) | 23447 | (base32 "190clnm5x4hpzrq2wp18vxg6614ly3ciyv0y1sm9rfr9w9z5i0ya")))) |
| 23452 | (build-system emacs-build-system) | 23448 | (build-system emacs-build-system) |
| 23453 | (home-page "https://github.com/alezost/alect-themes") | 23449 | (home-page "https://github.com/alezost/alect-themes") |
| 23454 | (synopsis "Low contrast, light, dark and black color theme for Emacs") | 23450 | (synopsis "Low contrast, light, dark and black color theme for Emacs") |
| @@ -23814,7 +23810,7 @@ processes for Emacs") | |||
| 23814 | (define-public emacs-treemacs | 23810 | (define-public emacs-treemacs |
| 23815 | (package | 23811 | (package |
| 23816 | (name "emacs-treemacs") | 23812 | (name "emacs-treemacs") |
| 23817 | (version "2.9.3") | 23813 | (version "2.9.4") |
| 23818 | (source | 23814 | (source |
| 23819 | (origin | 23815 | (origin |
| 23820 | (method git-fetch) | 23816 | (method git-fetch) |
| @@ -23823,7 +23819,7 @@ processes for Emacs") | |||
| 23823 | (commit version))) | 23819 | (commit version))) |
| 23824 | (file-name (git-file-name name version)) | 23820 | (file-name (git-file-name name version)) |
| 23825 | (sha256 | 23821 | (sha256 |
| 23826 | (base32 "0ik7wkv6w5vga29pmj8zzn3lq9a2ww26gkl380hmaak809in6k65")))) | 23822 | (base32 "1g2fy2qkscqx01av92hpjbr6qld8s1gk59cdjbff8fm0vlx8xk2p")))) |
| 23827 | (build-system emacs-build-system) | 23823 | (build-system emacs-build-system) |
| 23828 | (propagated-inputs | 23824 | (propagated-inputs |
| 23829 | `(("emacs-ace-window" ,emacs-ace-window) | 23825 | `(("emacs-ace-window" ,emacs-ace-window) |
| @@ -23895,9 +23891,11 @@ utilities.") | |||
| 23895 | (name "emacs-treemacs-extra") | 23891 | (name "emacs-treemacs-extra") |
| 23896 | (propagated-inputs | 23892 | (propagated-inputs |
| 23897 | `(,@(package-propagated-inputs emacs-treemacs) | 23893 | `(,@(package-propagated-inputs emacs-treemacs) |
| 23894 | ("emacs-all-the-icons" ,emacs-all-the-icons) | ||
| 23898 | ("emacs-evil" ,emacs-evil) | 23895 | ("emacs-evil" ,emacs-evil) |
| 23899 | ("emacs-magit" ,emacs-magit) | 23896 | ("emacs-magit" ,emacs-magit) |
| 23900 | ("emacs-projectile" ,emacs-projectile) | 23897 | ("emacs-projectile" ,emacs-projectile) |
| 23898 | ("emacs-perspective" ,emacs-perspective) | ||
| 23901 | ("emacs-persp-mode" ,emacs-persp-mode))) | 23899 | ("emacs-persp-mode" ,emacs-persp-mode))) |
| 23902 | (arguments | 23900 | (arguments |
| 23903 | (substitute-keyword-arguments | 23901 | (substitute-keyword-arguments |
| @@ -26066,14 +26064,14 @@ federated microblogging social network.") | |||
| 26066 | (define-public emacs-ebdb | 26064 | (define-public emacs-ebdb |
| 26067 | (package | 26065 | (package |
| 26068 | (name "emacs-ebdb") | 26066 | (name "emacs-ebdb") |
| 26069 | (version "0.8.6") | 26067 | (version "0.8.8") |
| 26070 | (source | 26068 | (source |
| 26071 | (origin | 26069 | (origin |
| 26072 | (method url-fetch) | 26070 | (method url-fetch) |
| 26073 | (uri (string-append "https://elpa.gnu.org/packages/" | 26071 | (uri (string-append "https://elpa.gnu.org/packages/" |
| 26074 | "ebdb-" version ".tar")) | 26072 | "ebdb-" version ".tar")) |
| 26075 | (sha256 | 26073 | (sha256 |
| 26076 | (base32 "0amr1s1q5w4513qw31qsr8gpsfgj5b2j7qn017rmwbaf1mj0k6z0")))) | 26074 | (base32 "035xakji5vypdpc06qp9yhg8ny7qn80h8kax6cl80p0lljplzrnn")))) |
| 26077 | (build-system emacs-build-system) | 26075 | (build-system emacs-build-system) |
| 26078 | (home-page "https://github.com/girzel/ebdb") | 26076 | (home-page "https://github.com/girzel/ebdb") |
| 26079 | (synopsis "EIEIO port of BBDB, Emacs's contact-management package") | 26077 | (synopsis "EIEIO port of BBDB, Emacs's contact-management package") |
| @@ -28655,26 +28653,29 @@ rather excellent completion provided by both Bash and Zsh.") | |||
| 28655 | (license license:gpl3+))) | 28653 | (license license:gpl3+))) |
| 28656 | 28654 | ||
| 28657 | (define-public emacs-shell-command+ | 28655 | (define-public emacs-shell-command+ |
| 28658 | (package | 28656 | ;; XXX: Upstream did not tag last release. The commit below corresponds to |
| 28659 | (name "emacs-shell-command+") | 28657 | ;; the exact version bump. |
| 28660 | (version "2.2.0") | 28658 | (let ((commit "bf744c63bbd1e3bbb93407bd32d6da670b23e67e")) |
| 28661 | (source (origin | 28659 | (package |
| 28662 | (method git-fetch) | 28660 | (name "emacs-shell-command+") |
| 28663 | (uri (git-reference | 28661 | (version "2.3.2") |
| 28664 | (url "https://git.sr.ht/~pkal/shell-command-plus") | 28662 | (source (origin |
| 28665 | (commit version))) | 28663 | (method git-fetch) |
| 28666 | (file-name (git-file-name name version)) | 28664 | (uri (git-reference |
| 28667 | (sha256 | 28665 | (url "https://git.sr.ht/~pkal/shell-command-plus") |
| 28668 | (base32 "1micvz6smhjma7qbka8h3w0crb3sgrxf9lz2548iqfgww50gb0lj")))) | 28666 | (commit commit))) |
| 28669 | (build-system emacs-build-system) | 28667 | (file-name (git-file-name name version)) |
| 28670 | (home-page "http://elpa.gnu.org/packages/shell-command+.html") | 28668 | (sha256 |
| 28671 | (synopsis "Extended Emacs @code{shell-command}") | 28669 | (base32 "0prlvcryq5ngrzn5f45rkw09wbr99v7nnwps2bjrjc3wvr2rp6h0")))) |
| 28672 | (description | 28670 | (build-system emacs-build-system) |
| 28673 | "Shell-command+ is a @code{shell-command} substitute that extends the | 28671 | (home-page "http://elpa.gnu.org/packages/shell-command+.html") |
| 28672 | (synopsis "Extended Emacs @code{shell-command}") | ||
| 28673 | (description | ||
| 28674 | "Shell-command+ is a @code{shell-command} substitute that extends the | ||
| 28674 | regular Emacs command with several features. You can for example count all | 28675 | regular Emacs command with several features. You can for example count all |
| 28675 | the lines in a buffer with @code{> wc -l}, or delete all lower case letters in | 28676 | the lines in a buffer with @code{> wc -l}, or delete all lower case letters in |
| 28676 | the selected region with @code{| tr -d a-z}.") | 28677 | the selected region with @code{| tr -d a-z}.") |
| 28677 | (license license:gpl3+))) | 28678 | (license license:gpl3+)))) |
| 28678 | 28679 | ||
| 28679 | (define-public emacs-shell-pop | 28680 | (define-public emacs-shell-pop |
| 28680 | (let ((commit "4b4394037940a890a313d715d203d9ead2d156a6") | 28681 | (let ((commit "4b4394037940a890a313d715d203d9ead2d156a6") |
| @@ -29204,14 +29205,14 @@ work on alists, hash-table and arrays. All functions are prefixed with | |||
| 29204 | (define-public emacs-xref | 29205 | (define-public emacs-xref |
| 29205 | (package | 29206 | (package |
| 29206 | (name "emacs-xref") | 29207 | (name "emacs-xref") |
| 29207 | (version "1.3.0") | 29208 | (version "1.3.2") |
| 29208 | (source | 29209 | (source |
| 29209 | (origin | 29210 | (origin |
| 29210 | (method url-fetch) | 29211 | (method url-fetch) |
| 29211 | (uri (string-append "https://elpa.gnu.org/packages/xref-" | 29212 | (uri (string-append "https://elpa.gnu.org/packages/xref-" |
| 29212 | version ".tar")) | 29213 | version ".tar")) |
| 29213 | (sha256 | 29214 | (sha256 |
| 29214 | (base32 "0bw2cbxmjavzhmpd9gyl41d4c201p535jrfz3b7jb5zw12jdnppl")))) | 29215 | (base32 "13bsaxdxwn14plaam0hsrswngh3rm2k29v5ybjgjyjy4d5vwz78j")))) |
| 29215 | (build-system emacs-build-system) | 29216 | (build-system emacs-build-system) |
| 29216 | (home-page "http://elpa.gnu.org/packages/xref.html") | 29217 | (home-page "http://elpa.gnu.org/packages/xref.html") |
| 29217 | (synopsis "Cross-referencing commands") | 29218 | (synopsis "Cross-referencing commands") |
| @@ -29499,7 +29500,7 @@ shorter than usual, using mostly unprefixed keys.") | |||
| 29499 | `(("emacs-yaml-mode" ,emacs-yaml-mode))) | 29500 | `(("emacs-yaml-mode" ,emacs-yaml-mode))) |
| 29500 | (home-page "https://github.com/tom-tan/cwl-mode") | 29501 | (home-page "https://github.com/tom-tan/cwl-mode") |
| 29501 | (synopsis "Emacs mode for @acronym{CWL, Common Workflow Language} files") | 29502 | (synopsis "Emacs mode for @acronym{CWL, Common Workflow Language} files") |
| 29502 | (description "This packages provides a major mode for editing | 29503 | (description "This package provides a major mode for editing |
| 29503 | @acronym{CWL, Common Workflow Language} files.") | 29504 | @acronym{CWL, Common Workflow Language} files.") |
| 29504 | (license license:gpl3+))) | 29505 | (license license:gpl3+))) |
| 29505 | 29506 | ||
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 61748d09e66..734f3dfaa3a 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm | |||
| @@ -183,15 +183,13 @@ | |||
| 183 | (lambda* (#:key outputs target #:allow-other-keys) | 183 | (lambda* (#:key outputs target #:allow-other-keys) |
| 184 | (let* ((libexec (string-append (assoc-ref outputs "out") | 184 | (let* ((libexec (string-append (assoc-ref outputs "out") |
| 185 | "/libexec")) | 185 | "/libexec")) |
| 186 | ;; each of these find-files should return one file | 186 | ;; each of these ought to only match a single file, |
| 187 | (pdmp (find-files libexec "^emacs\\.pdmp$")) | 187 | ;; but even if not (find-files) sorts by string<, |
| 188 | (pdmp-real (find-files libexec | 188 | ;; so the Nth element in one maps to the Nth element of |
| 189 | "^\\.emacs\\.pdmp-real$"))) | 189 | ;; the other |
| 190 | (for-each (lambda (wrapper real) | 190 | (pdmp (find-files libexec "\\.pdmp$")) |
| 191 | (delete-file wrapper) | 191 | (pdmp-real (find-files libexec "\\.pdmp-real$"))) |
| 192 | (rename-file real wrapper)) | 192 | (for-each rename-file pdmp-real pdmp)))) |
| 193 | pdmp pdmp-real)) | ||
| 194 | #t)) | ||
| 195 | (add-after 'glib-or-gtk-wrap 'strip-double-wrap | 193 | (add-after 'glib-or-gtk-wrap 'strip-double-wrap |
| 196 | (lambda* (#:key outputs #:allow-other-keys) | 194 | (lambda* (#:key outputs #:allow-other-keys) |
| 197 | ;; Directly copy emacs-X.Y to emacs, so that it is not wrapped | 195 | ;; Directly copy emacs-X.Y to emacs, so that it is not wrapped |
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 3489b8eddbd..407e9bec535 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm | |||
| @@ -1752,7 +1752,7 @@ This is a part of the TiLP project.") | |||
| 1752 | (define-public mame | 1752 | (define-public mame |
| 1753 | (package | 1753 | (package |
| 1754 | (name "mame") | 1754 | (name "mame") |
| 1755 | (version "0.236") | 1755 | (version "0.237") |
| 1756 | (source | 1756 | (source |
| 1757 | (origin | 1757 | (origin |
| 1758 | (method git-fetch) | 1758 | (method git-fetch) |
| @@ -1761,7 +1761,7 @@ This is a part of the TiLP project.") | |||
| 1761 | (commit (apply string-append "mame" (string-split version #\.))))) | 1761 | (commit (apply string-append "mame" (string-split version #\.))))) |
| 1762 | (file-name (git-file-name name version)) | 1762 | (file-name (git-file-name name version)) |
| 1763 | (sha256 | 1763 | (sha256 |
| 1764 | (base32 "0pxvvdirbwakl5cy7lp0zib6z176ckxx8c3mazsd7q1ddxxd3l8x")) | 1764 | (base32 "0syj7l262s2ac70dfg47pakd6fk8x3p3sasixmcwdmvnzkiqvmj4")) |
| 1765 | (modules '((guix build utils))) | 1765 | (modules '((guix build utils))) |
| 1766 | (snippet | 1766 | (snippet |
| 1767 | ;; Remove bundled libraries. | 1767 | ;; Remove bundled libraries. |
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index c698299b132..1cce0149a6d 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm | |||
| @@ -995,7 +995,7 @@ Emacs).") | |||
| 995 | ("python" ,python-wrapper) | 995 | ("python" ,python-wrapper) |
| 996 | ("wxwidgets" ,wxwidgets) | 996 | ("wxwidgets" ,wxwidgets) |
| 997 | ("wxpython" ,python-wxpython))) | 997 | ("wxpython" ,python-wxpython))) |
| 998 | (home-page "https://kicad-pcb.org/") | 998 | (home-page "https://www.kicad.org/") |
| 999 | (synopsis "Electronics Design Automation Suite") | 999 | (synopsis "Electronics Design Automation Suite") |
| 1000 | (description "Kicad is a program for the formation of printed circuit | 1000 | (description "Kicad is a program for the formation of printed circuit |
| 1001 | boards and electrical circuits. The software has a number of programs that | 1001 | boards and electrical circuits. The software has a number of programs that |
diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm index 2304482b330..7f88c34671c 100644 --- a/gnu/packages/file-systems.scm +++ b/gnu/packages/file-systems.scm | |||
| @@ -88,7 +88,7 @@ | |||
| 88 | (define-public autofs | 88 | (define-public autofs |
| 89 | (package | 89 | (package |
| 90 | (name "autofs") | 90 | (name "autofs") |
| 91 | (version "5.1.7") | 91 | (version "5.1.8") |
| 92 | (source | 92 | (source |
| 93 | (origin | 93 | (origin |
| 94 | (method url-fetch) | 94 | (method url-fetch) |
| @@ -96,7 +96,7 @@ | |||
| 96 | "v" (version-major version) "/" | 96 | "v" (version-major version) "/" |
| 97 | "autofs-" version ".tar.xz")) | 97 | "autofs-" version ".tar.xz")) |
| 98 | (sha256 | 98 | (sha256 |
| 99 | (base32 "1myfz6a3wj2c4j9h5g44zj796fdi82jhp1s92w2hg6xp2632csx3")))) | 99 | (base32 "1zf0fgf6kr9amxq5amlgsp1v13sizwl3wvx2xl7b4r2nhmci0gdk")))) |
| 100 | (build-system gnu-build-system) | 100 | (build-system gnu-build-system) |
| 101 | (arguments | 101 | (arguments |
| 102 | `(#:configure-flags | 102 | `(#:configure-flags |
| @@ -118,8 +118,7 @@ | |||
| 118 | (lambda _ | 118 | (lambda _ |
| 119 | (substitute* "configure" | 119 | (substitute* "configure" |
| 120 | (("^searchpath=\".*\"") | 120 | (("^searchpath=\".*\"") |
| 121 | "searchpath=\"$PATH\"")) | 121 | "searchpath=\"$PATH\"")))) |
| 122 | #t)) | ||
| 123 | (add-before 'configure 'fix-rpath | 122 | (add-before 'configure 'fix-rpath |
| 124 | (lambda* (#:key outputs #:allow-other-keys) | 123 | (lambda* (#:key outputs #:allow-other-keys) |
| 125 | (let ((out (assoc-ref outputs "out"))) | 124 | (let ((out (assoc-ref outputs "out"))) |
| @@ -132,8 +131,7 @@ | |||
| 132 | (lambda _ | 131 | (lambda _ |
| 133 | (substitute* "modules/Makefile" | 132 | (substitute* "modules/Makefile" |
| 134 | (("ln -fs lookup_yp.so" match) | 133 | (("ln -fs lookup_yp.so" match) |
| 135 | (string-append "# " match))) | 134 | (string-append "# " match)))))))) |
| 136 | #t))))) | ||
| 137 | (native-inputs | 135 | (native-inputs |
| 138 | `(("bison" ,bison) | 136 | `(("bison" ,bison) |
| 139 | ("flex" ,flex) | 137 | ("flex" ,flex) |
| @@ -416,8 +414,8 @@ from a mounted file system.") | |||
| 416 | (license license:gpl2+))) | 414 | (license license:gpl2+))) |
| 417 | 415 | ||
| 418 | (define-public bcachefs-tools | 416 | (define-public bcachefs-tools |
| 419 | (let ((commit "37850436dd7dfbe67738749c4d4a2506ffff1ec3") | 417 | (let ((commit "f9f57789de567726f7cfa46bd13df4b0815d137a") |
| 420 | (revision "11")) | 418 | (revision "12")) |
| 421 | (package | 419 | (package |
| 422 | (name "bcachefs-tools") | 420 | (name "bcachefs-tools") |
| 423 | (version (git-version "0.1" revision commit)) | 421 | (version (git-version "0.1" revision commit)) |
| @@ -429,7 +427,7 @@ from a mounted file system.") | |||
| 429 | (commit commit))) | 427 | (commit commit))) |
| 430 | (file-name (git-file-name name version)) | 428 | (file-name (git-file-name name version)) |
| 431 | (sha256 | 429 | (sha256 |
| 432 | (base32 "040vgxrimahmfs9rhlggfwg0bzl7h9j2ksx3563rh63asjwlhnhi")))) | 430 | (base32 "13442qpmv7hywkpbnbwlg2sfhlfh16qxry1xwlv35vch2qnzlhrq")))) |
| 433 | (build-system gnu-build-system) | 431 | (build-system gnu-build-system) |
| 434 | (arguments | 432 | (arguments |
| 435 | `(#:make-flags | 433 | `(#:make-flags |
| @@ -509,7 +507,17 @@ performance and other characteristics.") | |||
| 509 | (substitute-keyword-arguments (package-arguments bcachefs-tools) | 507 | (substitute-keyword-arguments (package-arguments bcachefs-tools) |
| 510 | ((#:make-flags make-flags) | 508 | ((#:make-flags make-flags) |
| 511 | `(append ,make-flags | 509 | `(append ,make-flags |
| 512 | (list "LDFLAGS=-static"))))) | 510 | (list "LDFLAGS=-static"))) |
| 511 | ((#:phases phases) | ||
| 512 | `(modify-phases ,phases | ||
| 513 | (add-after 'unpack 'skip-shared-library | ||
| 514 | (lambda _ | ||
| 515 | (substitute* "Makefile" | ||
| 516 | ;; Building the shared library with ‘-static’ obviously fails… | ||
| 517 | (("^((all|install):.*)\\blib\\b(.*)" _ prefix suffix) | ||
| 518 | (string-append prefix suffix "\n")) | ||
| 519 | ;; …as does installing a now non-existent file. | ||
| 520 | ((".*\\$\\(INSTALL\\).* lib.*") "")))))))) | ||
| 513 | (inputs | 521 | (inputs |
| 514 | `(("eudev:static" ,eudev "static") | 522 | `(("eudev:static" ,eudev "static") |
| 515 | ("libscrypt:static" ,libscrypt "static") | 523 | ("libscrypt:static" ,libscrypt "static") |
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 09b6646787d..6cda53dc940 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm | |||
| @@ -116,7 +116,7 @@ | |||
| 116 | (define-public bitcoin-core-0.21 | 116 | (define-public bitcoin-core-0.21 |
| 117 | (package | 117 | (package |
| 118 | (name "bitcoin-core") | 118 | (name "bitcoin-core") |
| 119 | (version "0.21.1") | 119 | (version "0.21.2") |
| 120 | (source (origin | 120 | (source (origin |
| 121 | (method url-fetch) | 121 | (method url-fetch) |
| 122 | (uri | 122 | (uri |
| @@ -124,7 +124,7 @@ | |||
| 124 | version "/bitcoin-" version ".tar.gz")) | 124 | version "/bitcoin-" version ".tar.gz")) |
| 125 | (sha256 | 125 | (sha256 |
| 126 | (base32 | 126 | (base32 |
| 127 | "1q51nqv64lhng5wh1cqb01jar7iswpnyyb1i7xslbkr0j9227zya")))) | 127 | "17nvir1yc6mf4wr1fn4xsabw49cd5p9vig8wj77vv4anzi8zfij1")))) |
| 128 | (build-system gnu-build-system) | 128 | (build-system gnu-build-system) |
| 129 | (native-inputs | 129 | (native-inputs |
| 130 | `(("autoconf" ,autoconf) | 130 | `(("autoconf" ,autoconf) |
| @@ -1778,7 +1778,17 @@ editing on the Web.") | |||
| 1778 | (base32 "0lf69nna0aahwpgd9m9yjzbv2fbfn081djfznssa84f0n7y1xx4z")))) | 1778 | (base32 "0lf69nna0aahwpgd9m9yjzbv2fbfn081djfznssa84f0n7y1xx4z")))) |
| 1779 | (build-system gnu-build-system) | 1779 | (build-system gnu-build-system) |
| 1780 | (arguments | 1780 | (arguments |
| 1781 | `(;; Parallel build fails with: | 1781 | `(#:phases |
| 1782 | (modify-phases %standard-phases | ||
| 1783 | (add-after 'unpack 'link-math-library | ||
| 1784 | (lambda _ | ||
| 1785 | (substitute* "src/Makefile.am" | ||
| 1786 | (("ta_common/libta_common.la") | ||
| 1787 | "ta_common/libta_common.la -lm")) | ||
| 1788 | (substitute* "src/Makefile.in" | ||
| 1789 | (("\\$\\(libta_lib_la_LDFLAGS\\) \\$\\(LDFLAGS\\) -o \\$@") | ||
| 1790 | "$(libta_lib_la_LDFLAGS) $(LDFLAGS) -lm -o $@"))))) | ||
| 1791 | ;; Parallel build fails with: | ||
| 1782 | ;; mv -f .deps/gen_code-gen_code.Tpo .deps/gen_code-gen_code.Po | 1792 | ;; mv -f .deps/gen_code-gen_code.Tpo .deps/gen_code-gen_code.Po |
| 1783 | ;; mv: cannot stat '.deps/gen_code-gen_code.Tpo': No such file or directory | 1793 | ;; mv: cannot stat '.deps/gen_code-gen_code.Tpo': No such file or directory |
| 1784 | ;; Makefile:254: recipe for target 'gen_code-gen_code.o' failed | 1794 | ;; Makefile:254: recipe for target 'gen_code-gen_code.o' failed |
diff --git a/gnu/packages/firmware.scm b/gnu/packages/firmware.scm index ebcb89923ce..e9083bc1c40 100644 --- a/gnu/packages/firmware.scm +++ b/gnu/packages/firmware.scm | |||
| @@ -465,7 +465,7 @@ Virtual Machines. OVMF contains a sample UEFI firmware for QEMU and KVM.") | |||
| 465 | (define* (make-arm-trusted-firmware platform #:optional (arch "aarch64")) | 465 | (define* (make-arm-trusted-firmware platform #:optional (arch "aarch64")) |
| 466 | (package | 466 | (package |
| 467 | (name (string-append "arm-trusted-firmware-" platform)) | 467 | (name (string-append "arm-trusted-firmware-" platform)) |
| 468 | (version "2.4") | 468 | (version "2.5") |
| 469 | (source | 469 | (source |
| 470 | (origin | 470 | (origin |
| 471 | (method git-fetch) | 471 | (method git-fetch) |
| @@ -476,7 +476,7 @@ Virtual Machines. OVMF contains a sample UEFI firmware for QEMU and KVM.") | |||
| 476 | (file-name (git-file-name "arm-trusted-firmware" version)) | 476 | (file-name (git-file-name "arm-trusted-firmware" version)) |
| 477 | (sha256 | 477 | (sha256 |
| 478 | (base32 | 478 | (base32 |
| 479 | "12k0n79j156bdzqws18kpbli04kn00nh6dy42pjv6gakqrkx9px3")))) | 479 | "0w3blkqgmyb5bahlp04hmh8abrflbzy0qg83kmj1x9nv4mw66f3b")))) |
| 480 | (build-system gnu-build-system) | 480 | (build-system gnu-build-system) |
| 481 | (arguments | 481 | (arguments |
| 482 | `(#:phases | 482 | `(#:phases |
diff --git a/gnu/packages/flashing-tools.scm b/gnu/packages/flashing-tools.scm index f4379e614a6..bd65d01aa11 100644 --- a/gnu/packages/flashing-tools.scm +++ b/gnu/packages/flashing-tools.scm | |||
| @@ -8,6 +8,7 @@ | |||
| 8 | ;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu> | 8 | ;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu> |
| 9 | ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr> | 9 | ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr> |
| 10 | ;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net> | 10 | ;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net> |
| 11 | ;;; Copyright © 2021 Mathieu Othacehe <othacehe@gnu.org> | ||
| 11 | ;;; | 12 | ;;; |
| 12 | ;;; This file is part of GNU Guix. | 13 | ;;; This file is part of GNU Guix. |
| 13 | ;;; | 14 | ;;; |
| @@ -50,7 +51,8 @@ | |||
| 50 | #:use-module (gnu packages libusb) | 51 | #:use-module (gnu packages libusb) |
| 51 | #:use-module (gnu packages libftdi) | 52 | #:use-module (gnu packages libftdi) |
| 52 | #:use-module (gnu packages pciutils) | 53 | #:use-module (gnu packages pciutils) |
| 53 | #:use-module (gnu packages qt)) | 54 | #:use-module (gnu packages qt) |
| 55 | #:use-module (gnu packages tls)) | ||
| 54 | 56 | ||
| 55 | (define-public flashrom | 57 | (define-public flashrom |
| 56 | (package | 58 | (package |
| @@ -196,7 +198,7 @@ ISP.") | |||
| 196 | (define-public dfu-util | 198 | (define-public dfu-util |
| 197 | (package | 199 | (package |
| 198 | (name "dfu-util") | 200 | (name "dfu-util") |
| 199 | (version "0.10") | 201 | (version "0.11") |
| 200 | (source (origin | 202 | (source (origin |
| 201 | (method url-fetch) | 203 | (method url-fetch) |
| 202 | (uri (string-append | 204 | (uri (string-append |
| @@ -204,7 +206,7 @@ ISP.") | |||
| 204 | version ".tar.gz")) | 206 | version ".tar.gz")) |
| 205 | (sha256 | 207 | (sha256 |
| 206 | (base32 | 208 | (base32 |
| 207 | "0hlvc47ccf5hry13saqhc1j5cdq5jyjv4i05kj0mdh3rzj6wagd0")))) | 209 | "17piiyp08pccqmbhnswv957lkypmmm92kps79hypxvw23ai3pddl")))) |
| 208 | (build-system gnu-build-system) | 210 | (build-system gnu-build-system) |
| 209 | (inputs | 211 | (inputs |
| 210 | `(("libusb" ,libusb))) | 212 | `(("libusb" ,libusb))) |
| @@ -526,3 +528,55 @@ Unifinished Extensible Firmware Interface (UEFI) images.") | |||
| 526 | manipulating EPROM load files. It reads and writes numerous EPROM file | 528 | manipulating EPROM load files. It reads and writes numerous EPROM file |
| 527 | formats, and can perform many different manipulations.") | 529 | formats, and can perform many different manipulations.") |
| 528 | (license license:gpl3+))) | 530 | (license license:gpl3+))) |
| 531 | |||
| 532 | (define-public uuu | ||
| 533 | (package | ||
| 534 | (name "uuu") | ||
| 535 | (version "1.4.165") | ||
| 536 | (source | ||
| 537 | (origin | ||
| 538 | (method git-fetch) | ||
| 539 | (uri (git-reference | ||
| 540 | (url "https://github.com/NXPmicro/mfgtools") | ||
| 541 | (commit (string-append "uuu_" version)))) | ||
| 542 | (file-name (git-file-name name version)) | ||
| 543 | (sha256 | ||
| 544 | (base32 | ||
| 545 | "0k309lp27d4k6x4qq0badbk8i47xsc6f3fffz73650iyfs4hcniw")))) | ||
| 546 | (arguments | ||
| 547 | `(#:tests? #f ; no tests | ||
| 548 | #:modules ((guix build utils) | ||
| 549 | (ice-9 popen) | ||
| 550 | (srfi srfi-26) | ||
| 551 | (guix build cmake-build-system)) | ||
| 552 | #:phases | ||
| 553 | (modify-phases %standard-phases | ||
| 554 | (add-before 'configure 'fix-version-gen | ||
| 555 | (lambda _ | ||
| 556 | (call-with-output-file ".tarball-version" | ||
| 557 | (lambda (port) | ||
| 558 | (display ,version port))))) | ||
| 559 | (add-after 'install 'install-udev-rules | ||
| 560 | (lambda* (#:key outputs #:allow-other-keys) | ||
| 561 | (let* ((out (assoc-ref outputs "out")) | ||
| 562 | (uuu (string-append out "/bin/uuu")) | ||
| 563 | (pipe (open-pipe* OPEN_READ uuu "-udev")) | ||
| 564 | (rules | ||
| 565 | (string-append out "/lib/udev/rules.d/70-uuu.rules"))) | ||
| 566 | (mkdir-p (string-append out "/lib/udev/rules.d")) | ||
| 567 | (call-with-output-file rules | ||
| 568 | (cut dump-port pipe <>)))))))) | ||
| 569 | (build-system cmake-build-system) | ||
| 570 | (native-inputs | ||
| 571 | `(("pkg-config" ,pkg-config))) | ||
| 572 | (inputs | ||
| 573 | `(("libusb" ,libusb) | ||
| 574 | ("bzip2" ,bzip2) | ||
| 575 | ("zlib" ,zlib) | ||
| 576 | ("libzip" ,libzip) | ||
| 577 | ("openssl" ,openssl))) | ||
| 578 | (home-page "https://github.com/NXPmicro/mfgtools") | ||
| 579 | (synopsis "Freescale/NXP I.MX chip image deploy tools") | ||
| 580 | (description "@code{uuu} is a command line tool, evolved out of MFGTools. | ||
| 581 | It can be used to upload images to I.MX SoC's using at least their boot ROM.") | ||
| 582 | (license license:bsd-3))) | ||
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index dc7add86673..793b86ced84 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm | |||
| @@ -743,7 +743,7 @@ for use at smaller text sizes"))) | |||
| 743 | (define-public font-gnu-unifont | 743 | (define-public font-gnu-unifont |
| 744 | (package | 744 | (package |
| 745 | (name "font-gnu-unifont") | 745 | (name "font-gnu-unifont") |
| 746 | (version "13.0.06") | 746 | (version "14.0.01") |
| 747 | (source | 747 | (source |
| 748 | (origin | 748 | (origin |
| 749 | (method url-fetch) | 749 | (method url-fetch) |
| @@ -753,22 +753,21 @@ for use at smaller text sizes"))) | |||
| 753 | (string-append "mirror://gnu/unifont/unifont-" | 753 | (string-append "mirror://gnu/unifont/unifont-" |
| 754 | version "/unifont-" version ".tar.gz"))) | 754 | version "/unifont-" version ".tar.gz"))) |
| 755 | (sha256 | 755 | (sha256 |
| 756 | (base32 "09g91g0gv76sadslp70m5xwfk3jf8kh7rpk2pz3l2hpldnjggpk8")))) | 756 | (base32 "0wkdn8h20pprna5a3hbny0qk2mgksrbxs2y6ng6qarj6rkpdmlbs")))) |
| 757 | (build-system gnu-build-system) | 757 | (build-system gnu-build-system) |
| 758 | (outputs '("out" ; TrueType version | 758 | (outputs '("out" ; TrueType version |
| 759 | "pcf" ; PCF (bitmap) version | 759 | "pcf" ; PCF (bitmap) version |
| 760 | "psf" ; PSF (console) version | 760 | "psf" ; PSF (console) version |
| 761 | "bin")) ; Utilities to manipulate '.hex' format | 761 | "bin")) ; Utilities to manipulate '.hex' format |
| 762 | (arguments | 762 | (arguments |
| 763 | '(#:tests? #f ; no check target | 763 | `(#:tests? #f ; no check target |
| 764 | #:make-flags | ||
| 765 | (list (string-append "CC=" ,(cc-for-target))) | ||
| 764 | #:phases | 766 | #:phases |
| 765 | (modify-phases %standard-phases | 767 | (modify-phases %standard-phases |
| 766 | (replace | 768 | (delete 'configure) |
| 767 | 'configure | 769 | (replace 'install |
| 768 | (lambda _ (setenv "CC" "gcc") #t)) | 770 | (lambda* (#:key make-flags outputs #:allow-other-keys) |
| 769 | (replace | ||
| 770 | 'install | ||
| 771 | (lambda* (#:key outputs #:allow-other-keys) | ||
| 772 | (let* ((ttf (string-append (assoc-ref outputs "out") | 771 | (let* ((ttf (string-append (assoc-ref outputs "out") |
| 773 | "/share/fonts/truetype")) | 772 | "/share/fonts/truetype")) |
| 774 | (pcf (string-append (assoc-ref outputs "pcf") | 773 | (pcf (string-append (assoc-ref outputs "pcf") |
| @@ -776,18 +775,17 @@ for use at smaller text sizes"))) | |||
| 776 | (psf (string-append (assoc-ref outputs "psf") | 775 | (psf (string-append (assoc-ref outputs "psf") |
| 777 | "/share/consolefonts")) | 776 | "/share/consolefonts")) |
| 778 | (bin (assoc-ref outputs "bin"))) | 777 | (bin (assoc-ref outputs "bin"))) |
| 779 | (invoke "make" | 778 | (apply invoke "make" "install" |
| 780 | (string-append "PREFIX=" bin) | 779 | (string-append "PREFIX=" bin) |
| 781 | (string-append "TTFDEST=" ttf) | 780 | (string-append "TTFDEST=" ttf) |
| 782 | (string-append "PCFDEST=" pcf) | 781 | (string-append "PCFDEST=" pcf) |
| 783 | (string-append "CONSOLEDEST=" psf) | 782 | (string-append "CONSOLEDEST=" psf) |
| 784 | "install") | 783 | make-flags) |
| 785 | ;; Move Texinfo file to the right place. | 784 | ;; Move Texinfo file to the right place. |
| 786 | (mkdir (string-append bin "/share/info")) | 785 | (mkdir (string-append bin "/share/info")) |
| 787 | (invoke "gzip" "-9n" "doc/unifont.info") | 786 | (invoke "gzip" "-9n" "doc/unifont.info") |
| 788 | (install-file "doc/unifont.info.gz" | 787 | (install-file "doc/unifont.info.gz" |
| 789 | (string-append bin "/share/info")) | 788 | (string-append bin "/share/info")))))))) |
| 790 | #t)))))) | ||
| 791 | (inputs | 789 | (inputs |
| 792 | `(("perl" ,perl))) ; for utilities | 790 | `(("perl" ,perl))) ; for utilities |
| 793 | (synopsis | 791 | (synopsis |
| @@ -845,7 +843,7 @@ visual language \"Material Design\".") | |||
| 845 | (define-public font-borg-sans-mono | 843 | (define-public font-borg-sans-mono |
| 846 | (package | 844 | (package |
| 847 | (name "font-borg-sans-mono") | 845 | (name "font-borg-sans-mono") |
| 848 | (version "0.3.2") | 846 | (version "0.3.3") |
| 849 | (source | 847 | (source |
| 850 | (origin | 848 | (origin |
| 851 | (method url-fetch) | 849 | (method url-fetch) |
| @@ -854,7 +852,7 @@ visual language \"Material Design\".") | |||
| 854 | "/releases/download/v" version "/borg-sans-mono.zip")) | 852 | "/releases/download/v" version "/borg-sans-mono.zip")) |
| 855 | (sha256 | 853 | (sha256 |
| 856 | (base32 | 854 | (base32 |
| 857 | "0q16gw3ry9hpgbl2636qq00ap59xyx15jf3gzvx2ybz3gja164c4")))) | 855 | "0xzi866ag9w4q114bn984yjfy72pmfs563v5yy1rkbqycphgwwyp")))) |
| 858 | (build-system font-build-system) | 856 | (build-system font-build-system) |
| 859 | (home-page "https://github.com/charje/borg-sans-mono") | 857 | (home-page "https://github.com/charje/borg-sans-mono") |
| 860 | (synopsis "The Borg Sans Mono font") | 858 | (synopsis "The Borg Sans Mono font") |
| @@ -1968,25 +1966,25 @@ in small sizes, the text looks crisper.") | |||
| 1968 | (define-public font-juliamono | 1966 | (define-public font-juliamono |
| 1969 | (package | 1967 | (package |
| 1970 | (name "font-juliamono") | 1968 | (name "font-juliamono") |
| 1971 | (version "0.031") | 1969 | (version "0.043") |
| 1972 | (source | 1970 | (source |
| 1973 | (origin | 1971 | (origin |
| 1974 | (method git-fetch) | 1972 | (method url-fetch) |
| 1975 | (uri (git-reference | 1973 | (uri (string-append |
| 1976 | (url "https://github.com/cormullion/juliamono") | 1974 | "https://github.com/cormullion/juliamono/releases/download/" |
| 1977 | (commit (string-append "v" version)))) | 1975 | "v" version "/JuliaMono-ttf.tar.gz")) |
| 1978 | (file-name (git-file-name name version)) | ||
| 1979 | (sha256 | 1976 | (sha256 |
| 1980 | (base32 "0pcz2qaw0g0gak4plvhgg3m76h4gamffa373r52dzx0qwn1i1cf1")))) | 1977 | (base32 |
| 1978 | "0vb7n9yqgasnxzps13ckklay5bla6b0i79pzmfqvjms1r37079gh")))) | ||
| 1981 | (build-system font-build-system) | 1979 | (build-system font-build-system) |
| 1982 | (arguments | 1980 | (arguments |
| 1983 | `(#:phases | 1981 | `(#:phases (modify-phases %standard-phases |
| 1984 | (modify-phases %standard-phases | 1982 | (replace 'unpack |
| 1985 | (add-after 'unpack 'delete-website-folder | 1983 | (lambda* (#:key source #:allow-other-keys) |
| 1986 | ;; This folder contains other unrelated fonts. | 1984 | (mkdir "source") |
| 1987 | (lambda _ | 1985 | (chdir "source") |
| 1988 | (delete-file-recursively "website") | 1986 | (invoke "tar" "xzf" source)))))) |
| 1989 | #t))))) | 1987 | (native-inputs `(("tar" ,tar))) |
| 1990 | (home-page "https://github.com/cormullion/juliamono") | 1988 | (home-page "https://github.com/cormullion/juliamono") |
| 1991 | (synopsis "Monospaced font for programming") | 1989 | (synopsis "Monospaced font for programming") |
| 1992 | (description | 1990 | (description |
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index 053dc18a25b..264450650d1 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm | |||
| @@ -846,7 +846,7 @@ maintain the Noto Fonts project.") | |||
| 846 | (define-public fcft | 846 | (define-public fcft |
| 847 | (package | 847 | (package |
| 848 | (name "fcft") | 848 | (name "fcft") |
| 849 | (version "2.4.5") | 849 | (version "2.4.6") |
| 850 | (home-page "https://codeberg.org/dnkl/fcft") | 850 | (home-page "https://codeberg.org/dnkl/fcft") |
| 851 | (source (origin | 851 | (source (origin |
| 852 | (method git-fetch) | 852 | (method git-fetch) |
| @@ -854,7 +854,7 @@ maintain the Noto Fonts project.") | |||
| 854 | (file-name (git-file-name name version)) | 854 | (file-name (git-file-name name version)) |
| 855 | (sha256 | 855 | (sha256 |
| 856 | (base32 | 856 | (base32 |
| 857 | "0z4bqap88pydkgcxrsvm3fmcyhi9x7z8knliarvdcvqlk7qnyzfh")))) | 857 | "0jh05wzrif7z1xf9jzs8bgf49lpj5zs55agj414bmmwdddk7my7j")))) |
| 858 | (build-system meson-build-system) | 858 | (build-system meson-build-system) |
| 859 | (native-inputs | 859 | (native-inputs |
| 860 | `(("check" ,check) | 860 | `(("check" ,check) |
| @@ -888,7 +888,7 @@ generated list of fallback fonts are checked.") | |||
| 888 | (define-public fontmanager | 888 | (define-public fontmanager |
| 889 | (package | 889 | (package |
| 890 | (name "fontmanager") | 890 | (name "fontmanager") |
| 891 | (version "0.8.4") | 891 | (version "0.8.7") |
| 892 | (source | 892 | (source |
| 893 | (origin | 893 | (origin |
| 894 | (method git-fetch) | 894 | (method git-fetch) |
| @@ -897,8 +897,7 @@ generated list of fallback fonts are checked.") | |||
| 897 | (commit version))) | 897 | (commit version))) |
| 898 | (file-name (git-file-name name version)) | 898 | (file-name (git-file-name name version)) |
| 899 | (sha256 | 899 | (sha256 |
| 900 | (base32 | 900 | (base32 "0nyda2a6vbzyz4sn9mmrr8bkifzxmmjp7x9a3c4s6n925ccy79cn")))) |
| 901 | "09rv0srpj8ann2n1zpv1frlpxz0x10d2y21c5lys7pmfngljlxi9")))) | ||
| 902 | (build-system meson-build-system) | 901 | (build-system meson-build-system) |
| 903 | (arguments | 902 | (arguments |
| 904 | `(#:glib-or-gtk? #t | 903 | `(#:glib-or-gtk? #t |
| @@ -935,7 +934,7 @@ work well with other GTK+ desktop environments.") | |||
| 935 | (define-public fntsample | 934 | (define-public fntsample |
| 936 | (package | 935 | (package |
| 937 | (name "fntsample") | 936 | (name "fntsample") |
| 938 | (version "5.3") | 937 | (version "5.4") |
| 939 | (source (origin | 938 | (source (origin |
| 940 | (method git-fetch) | 939 | (method git-fetch) |
| 941 | (uri (git-reference | 940 | (uri (git-reference |
| @@ -944,7 +943,7 @@ work well with other GTK+ desktop environments.") | |||
| 944 | (file-name (git-file-name name version)) | 943 | (file-name (git-file-name name version)) |
| 945 | (sha256 | 944 | (sha256 |
| 946 | (base32 | 945 | (base32 |
| 947 | "02rx3gp7k472304vhjwb129nw10a29s4nvgs7i2m6bpjhlk2xgs5")))) | 946 | "0pcqqdriv6hq64zrqd9vhdd9p2vhimjnajcxdz10qnqgrkmm751v")))) |
| 948 | (build-system cmake-build-system) | 947 | (build-system cmake-build-system) |
| 949 | (arguments | 948 | (arguments |
| 950 | `(#:tests? #f ; There are no tests. | 949 | `(#:tests? #f ; There are no tests. |
| @@ -965,8 +964,7 @@ work well with other GTK+ desktop environments.") | |||
| 965 | "/lib/perl5/site_perl/" | 964 | "/lib/perl5/site_perl/" |
| 966 | ,(package-version perl)))) | 965 | ,(package-version perl)))) |
| 967 | (wrap-program (string-append out "/bin/pdfoutline") | 966 | (wrap-program (string-append out "/bin/pdfoutline") |
| 968 | `("PERL5LIB" ":" prefix (,perllib))) | 967 | `("PERL5LIB" ":" prefix (,perllib))))))))) |
| 969 | #t)))))) | ||
| 970 | (native-inputs | 968 | (native-inputs |
| 971 | `(("pkg-config" ,pkg-config) | 969 | `(("pkg-config" ,pkg-config) |
| 972 | ("gettext" ,gettext-minimal))) | 970 | ("gettext" ,gettext-minimal))) |
| @@ -979,13 +977,15 @@ work well with other GTK+ desktop environments.") | |||
| 979 | ("perl-pdf-api2" ,perl-pdf-api2) | 977 | ("perl-pdf-api2" ,perl-pdf-api2) |
| 980 | ("perl-libintl-perl" ,perl-libintl-perl) | 978 | ("perl-libintl-perl" ,perl-libintl-perl) |
| 981 | ("unicode-blocks" | 979 | ("unicode-blocks" |
| 982 | ,(origin | 980 | ,(let ((version "14.0.0")) |
| 983 | (method url-fetch) | 981 | (origin |
| 984 | (uri "https://unicode.org/Public/UNIDATA/Blocks.txt") | 982 | (method url-fetch) |
| 985 | (file-name "unicode-blocks.txt") | 983 | (uri (string-append "https://unicode.org/Public/" |
| 986 | (sha256 | 984 | version "/ucd/Blocks.txt")) |
| 987 | (base32 | 985 | (file-name (string-append "unicode-blocks-" version ".txt")) |
| 988 | "1xs8fnhh48gs41wg004r7m4r2azh9khmyjjlnvyzy9c6zrd212x2")))))) | 986 | (sha256 |
| 987 | (base32 | ||
| 988 | "05vzgrvfp35mgxjgkm4wnxjjgzva8n6545i9jxd4pczpvvfp122r"))))))) | ||
| 989 | (home-page "https://github.com/eugmes/fntsample") | 989 | (home-page "https://github.com/eugmes/fntsample") |
| 990 | (synopsis "PDF and PostScript font samples generator") | 990 | (synopsis "PDF and PostScript font samples generator") |
| 991 | (description "This package provides a tool that can be used to make font | 991 | (description "This package provides a tool that can be used to make font |
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 4e1fa2e8635..3c61e0b52c6 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm | |||
| @@ -26,6 +26,7 @@ | |||
| 26 | ;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev> | 26 | ;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev> |
| 27 | ;;; Copyright © 2021 Robby Zambito <contact@robbyzambito.me> | 27 | ;;; Copyright © 2021 Robby Zambito <contact@robbyzambito.me> |
| 28 | ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> | 28 | ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> |
| 29 | ;;; Copyright © 2021 John Kehayias <john.kehayias@protonmail.com> | ||
| 29 | ;;; | 30 | ;;; |
| 30 | ;;; This file is part of GNU Guix. | 31 | ;;; This file is part of GNU Guix. |
| 31 | ;;; | 32 | ;;; |
| @@ -2055,17 +2056,14 @@ Python, that binds to the C library @code{uchardet} to increase performance.") | |||
| 2055 | (define-public udiskie | 2056 | (define-public udiskie |
| 2056 | (package | 2057 | (package |
| 2057 | (name "udiskie") | 2058 | (name "udiskie") |
| 2058 | (version "2.1.0") | 2059 | (version "2.3.3") |
| 2059 | (source | 2060 | (source |
| 2060 | (origin | 2061 | (origin |
| 2061 | (method url-fetch) | 2062 | (method url-fetch) |
| 2062 | (uri (pypi-uri "udiskie" version)) | 2063 | (uri (pypi-uri "udiskie" version)) |
| 2063 | (sha256 | 2064 | (sha256 |
| 2064 | (base32 | 2065 | (base32 |
| 2065 | "0smib8vbs9q37n7ynhzyw97q16fgdkcdw7fw69lci0xvyq00v1dz")) | 2066 | "0sagdmsc5km32h3jvgj843p8bicrrgfz26qhl04ibxmas6725zr0")))) |
| 2066 | ;; Remove support for the libappindicator library of the | ||
| 2067 | ;; Unity desktop environment which is not in Guix. | ||
| 2068 | (patches (search-patches "udiskie-no-appindicator.patch")))) | ||
| 2069 | (build-system python-build-system) | 2067 | (build-system python-build-system) |
| 2070 | (native-inputs | 2068 | (native-inputs |
| 2071 | `(("asciidoc" ,asciidoc) | 2069 | `(("asciidoc" ,asciidoc) |
| @@ -2074,6 +2072,7 @@ Python, that binds to the C library @code{uchardet} to increase performance.") | |||
| 2074 | (inputs | 2072 | (inputs |
| 2075 | `(("gobject-introspection" ,gobject-introspection) | 2073 | `(("gobject-introspection" ,gobject-introspection) |
| 2076 | ("gtk+" ,gtk+) | 2074 | ("gtk+" ,gtk+) |
| 2075 | ("libappindicator" ,libappindicator) | ||
| 2077 | ("libnotify" ,libnotify) | 2076 | ("libnotify" ,libnotify) |
| 2078 | ("udisks" ,udisks))) | 2077 | ("udisks" ,udisks))) |
| 2079 | (propagated-inputs | 2078 | (propagated-inputs |
| @@ -2350,16 +2349,15 @@ fallback to generic Systray support if none of those are available.") | |||
| 2350 | (define-public xdg-desktop-portal | 2349 | (define-public xdg-desktop-portal |
| 2351 | (package | 2350 | (package |
| 2352 | (name "xdg-desktop-portal") | 2351 | (name "xdg-desktop-portal") |
| 2353 | (version "1.8.1") | 2352 | (version "1.10.1") |
| 2354 | (source (origin | 2353 | (source (origin |
| 2355 | (method git-fetch) | 2354 | (method url-fetch) |
| 2356 | (uri (git-reference | 2355 | (uri (string-append |
| 2357 | (url "https://github.com/flatpak/xdg-desktop-portal") | 2356 | "https://github.com/flatpak/xdg-desktop-portal/releases/download/" |
| 2358 | (commit version))) | 2357 | version "/xdg-desktop-portal-" version ".tar.xz")) |
| 2359 | (file-name (git-file-name name version)) | ||
| 2360 | (sha256 | 2358 | (sha256 |
| 2361 | (base32 | 2359 | (base32 |
| 2362 | "0pq0kmvzk56my396vh97pzw4wizwmlmzvv2kr2xv047x3044mr5n")))) | 2360 | "199lqr2plsy9qqnxx5a381ml8ygcbz4nkjla5pvljjcrwzlqsygd")))) |
| 2363 | (build-system gnu-build-system) | 2361 | (build-system gnu-build-system) |
| 2364 | (native-inputs | 2362 | (native-inputs |
| 2365 | `(("pkg-config" ,pkg-config) | 2363 | `(("pkg-config" ,pkg-config) |
| @@ -2410,16 +2408,15 @@ and others.") | |||
| 2410 | (define-public xdg-desktop-portal-gtk | 2408 | (define-public xdg-desktop-portal-gtk |
| 2411 | (package | 2409 | (package |
| 2412 | (name "xdg-desktop-portal-gtk") | 2410 | (name "xdg-desktop-portal-gtk") |
| 2413 | (version "1.7.1") | 2411 | (version "1.10.0") |
| 2414 | (source (origin | 2412 | (source (origin |
| 2415 | (method git-fetch) | 2413 | (method url-fetch) |
| 2416 | (uri (git-reference | 2414 | (uri (string-append |
| 2417 | (url "https://github.com/flatpak/xdg-desktop-portal-gtk") | 2415 | "https://github.com/flatpak/xdg-desktop-portal-gtk/releases/download/" |
| 2418 | (commit version))) | 2416 | version "/xdg-desktop-portal-gtk-" version ".tar.xz")) |
| 2419 | (file-name (git-file-name name version)) | ||
| 2420 | (sha256 | 2417 | (sha256 |
| 2421 | (base32 | 2418 | (base32 |
| 2422 | "183iha9dxmvprn99ymgz17jx1lyn1fj5jyj6ghxl716zn9mxmird")))) | 2419 | "0nlbnd6qvs92fanrmmn123vy0y2ml0v3ndxyk5x0cpfbnmxpa2f8")))) |
| 2423 | (build-system glib-or-gtk-build-system) | 2420 | (build-system glib-or-gtk-build-system) |
| 2424 | (arguments | 2421 | (arguments |
| 2425 | `(#:phases | 2422 | `(#:phases |
| @@ -2430,13 +2427,21 @@ and others.") | |||
| 2430 | (for-each (lambda (po) | 2427 | (for-each (lambda (po) |
| 2431 | (chmod po #o666)) | 2428 | (chmod po #o666)) |
| 2432 | (find-files "po" "\\.po$")) | 2429 | (find-files "po" "\\.po$")) |
| 2433 | #t))))) | 2430 | #t))) |
| 2431 | ;; Enable Gnome portal backends | ||
| 2432 | #:configure-flags | ||
| 2433 | (list | ||
| 2434 | "--enable-appchooser" | ||
| 2435 | "--enable-wallpaper" | ||
| 2436 | "--enable-screenshot" | ||
| 2437 | "--enable-screencast" | ||
| 2438 | "--enable-background" | ||
| 2439 | "--enable-settings"))) | ||
| 2434 | (native-inputs | 2440 | (native-inputs |
| 2435 | `(("pkg-config" ,pkg-config) | 2441 | `(("pkg-config" ,pkg-config) |
| 2436 | ("autoconf" ,autoconf) | 2442 | ("autoconf" ,autoconf) |
| 2437 | ("automake" ,automake) | 2443 | ("automake" ,automake) |
| 2438 | ("libtool" ,libtool) | 2444 | ("libtool" ,libtool) |
| 2439 | ("xdg-desktop-portal" ,xdg-desktop-portal) | ||
| 2440 | ("glib:bin" ,glib "bin") | 2445 | ("glib:bin" ,glib "bin") |
| 2441 | ("which" ,which) | 2446 | ("which" ,which) |
| 2442 | ("gettext" ,gettext-minimal))) | 2447 | ("gettext" ,gettext-minimal))) |
| @@ -2446,10 +2451,8 @@ and others.") | |||
| 2446 | ("fontconfig" ,fontconfig) | 2451 | ("fontconfig" ,fontconfig) |
| 2447 | ("gnome-desktop" ,gnome-desktop) | 2452 | ("gnome-desktop" ,gnome-desktop) |
| 2448 | ("gsettings-desktop-schemas" ,gsettings-desktop-schemas))) | 2453 | ("gsettings-desktop-schemas" ,gsettings-desktop-schemas))) |
| 2449 | (native-search-paths | 2454 | (propagated-inputs |
| 2450 | (list (search-path-specification | 2455 | `(("xdg-desktop-portal" ,xdg-desktop-portal))) |
| 2451 | (variable "XDG_DESKTOP_PORTAL_DIR") | ||
| 2452 | (files '("share/xdg-desktop-portal/portals"))))) | ||
| 2453 | (home-page "https://github.com/flatpak/xdg-desktop-portal-gtk") | 2456 | (home-page "https://github.com/flatpak/xdg-desktop-portal-gtk") |
| 2454 | (synopsis "GTK implementation of xdg-desktop-portal") | 2457 | (synopsis "GTK implementation of xdg-desktop-portal") |
| 2455 | (description | 2458 | (description |
| @@ -2499,7 +2502,7 @@ compositors.") | |||
| 2499 | (define-public waypipe | 2502 | (define-public waypipe |
| 2500 | (package | 2503 | (package |
| 2501 | (name "waypipe") | 2504 | (name "waypipe") |
| 2502 | (version "0.8.0") | 2505 | (version "0.8.1") |
| 2503 | (source | 2506 | (source |
| 2504 | (origin | 2507 | (origin |
| 2505 | (method git-fetch) | 2508 | (method git-fetch) |
| @@ -2508,22 +2511,13 @@ compositors.") | |||
| 2508 | (commit (string-append "v" version)))) | 2511 | (commit (string-append "v" version)))) |
| 2509 | (file-name (git-file-name name version)) | 2512 | (file-name (git-file-name name version)) |
| 2510 | (sha256 | 2513 | (sha256 |
| 2511 | (base32 "1qa47ljfvb1vv3h647xwn1j5j8gfmcmdfaz4j8ygnkvj36y87vnz")))) | 2514 | (base32 "1v08dv3dfz420v51ahz7qgv3429073kmgrf8f66s4c3jlpch2pa1")))) |
| 2512 | (build-system meson-build-system) | 2515 | (build-system meson-build-system) |
| 2513 | (arguments | ||
| 2514 | `(#:phases | ||
| 2515 | (modify-phases %standard-phases | ||
| 2516 | (add-after 'unpack 'fix-sleep-path | ||
| 2517 | (lambda* (#:key inputs #:allow-other-keys) | ||
| 2518 | (let ((coreutils (assoc-ref inputs "coreutils"))) | ||
| 2519 | (substitute* "./test/startup_failure.py" | ||
| 2520 | (("sleep") (string-append coreutils "/bin/sleep"))))))))) | ||
| 2521 | (native-inputs | 2516 | (native-inputs |
| 2522 | `(("pkg-config" ,pkg-config) | 2517 | `(("pkg-config" ,pkg-config) |
| 2523 | ("scdoc" ,scdoc) | 2518 | ("scdoc" ,scdoc) |
| 2524 | ;; For tests | 2519 | ;; For tests |
| 2525 | ("python" ,python) | 2520 | ("python" ,python))) |
| 2526 | ("coreutils" ,coreutils))) | ||
| 2527 | (home-page "https://gitlab.freedesktop.org/mstoeckl/waypipe") | 2521 | (home-page "https://gitlab.freedesktop.org/mstoeckl/waypipe") |
| 2528 | (synopsis "Proxy for Wayland protocol applications") | 2522 | (synopsis "Proxy for Wayland protocol applications") |
| 2529 | (description | 2523 | (description |
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 4e0f75e79c9..b74573ec110 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm | |||
| @@ -866,7 +866,7 @@ package is the Nuklear bindings for LÖVE created by Kevin Harrison.") | |||
| 866 | (define-public allegro-4 | 866 | (define-public allegro-4 |
| 867 | (package | 867 | (package |
| 868 | (name "allegro") | 868 | (name "allegro") |
| 869 | (version "4.4.3") | 869 | (version "4.4.3.1") |
| 870 | (source (origin | 870 | (source (origin |
| 871 | (method url-fetch) | 871 | (method url-fetch) |
| 872 | (uri (string-append "https://github.com/liballeg/allegro5/" | 872 | (uri (string-append "https://github.com/liballeg/allegro5/" |
| @@ -874,7 +874,7 @@ package is the Nuklear bindings for LÖVE created by Kevin Harrison.") | |||
| 874 | version ".tar.gz")) | 874 | version ".tar.gz")) |
| 875 | (sha256 | 875 | (sha256 |
| 876 | (base32 | 876 | (base32 |
| 877 | "1d5ws3ihvpa6f4qc6a6drq31pajw6bblxifr4kcxzqj9br1nw28y")))) | 877 | "1m6lz35nk07dli26kkwz3wa50jsrxs1kb6w1nj14a911l34xn6gc")))) |
| 878 | (build-system cmake-build-system) | 878 | (build-system cmake-build-system) |
| 879 | (arguments | 879 | (arguments |
| 880 | '(#:phases | 880 | '(#:phases |
| @@ -886,8 +886,7 @@ package is the Nuklear bindings for LÖVE created by Kevin Harrison.") | |||
| 886 | ;; unconditionally clobbered in the build script. | 886 | ;; unconditionally clobbered in the build script. |
| 887 | (substitute* '("CMakeLists.txt") | 887 | (substitute* '("CMakeLists.txt") |
| 888 | (("ADDON_LINKAGE STATIC") | 888 | (("ADDON_LINKAGE STATIC") |
| 889 | "ADDON_LINKAGE SHARED")) | 889 | "ADDON_LINKAGE SHARED"))))))) |
| 890 | #t))))) | ||
| 891 | (inputs | 890 | (inputs |
| 892 | `(("glu" ,glu) | 891 | `(("glu" ,glu) |
| 893 | ("libpng" ,libpng) | 892 | ("libpng" ,libpng) |
| @@ -1184,7 +1183,7 @@ to create fully featured games and multimedia programs in the python language.") | |||
| 1184 | 1183 | ||
| 1185 | (define-public python-pygame-sdl2 | 1184 | (define-public python-pygame-sdl2 |
| 1186 | (let ((real-version "2.1.0") | 1185 | (let ((real-version "2.1.0") |
| 1187 | (renpy-version "7.4.8")) | 1186 | (renpy-version "7.4.10")) |
| 1188 | (package | 1187 | (package |
| 1189 | (inherit python-pygame) | 1188 | (inherit python-pygame) |
| 1190 | (name "python-pygame-sdl2") | 1189 | (name "python-pygame-sdl2") |
| @@ -1194,7 +1193,7 @@ to create fully featured games and multimedia programs in the python language.") | |||
| 1194 | (method url-fetch) | 1193 | (method url-fetch) |
| 1195 | (uri (string-append "https://www.renpy.org/dl/" renpy-version | 1194 | (uri (string-append "https://www.renpy.org/dl/" renpy-version |
| 1196 | "/pygame_sdl2-" version ".tar.gz")) | 1195 | "/pygame_sdl2-" version ".tar.gz")) |
| 1197 | (sha256 (base32 "1yyqcg7khac17jif86vi2d4j9l8x2vfg4h5pasrwwsy0g8386zsm")) | 1196 | (sha256 (base32 "0m0asrr722a4v24fm8199b0c53igagylay8bn9bz9rmc0r4v8si4")) |
| 1198 | (modules '((guix build utils))) | 1197 | (modules '((guix build utils))) |
| 1199 | (snippet | 1198 | (snippet |
| 1200 | '(begin | 1199 | '(begin |
| @@ -1240,21 +1239,19 @@ developed mainly for Ren'py.") | |||
| 1240 | (define-public python2-renpy | 1239 | (define-public python2-renpy |
| 1241 | (package | 1240 | (package |
| 1242 | (name "python2-renpy") | 1241 | (name "python2-renpy") |
| 1243 | (version "7.4.8") | 1242 | (version "7.4.10") |
| 1244 | (source | 1243 | (source |
| 1245 | (origin | 1244 | (origin |
| 1246 | (method url-fetch) | 1245 | (method url-fetch) |
| 1247 | (uri (string-append "https://www.renpy.org/dl/" version | 1246 | (uri (string-append "https://www.renpy.org/dl/" version |
| 1248 | "/renpy-" version "-source.tar.bz2")) | 1247 | "/renpy-" version "-source.tar.bz2")) |
| 1249 | (sha256 (base32 "1ml3gs87xxk1iflrg5ivffr4q8fi7d65l1cx462bvvpm1rs2sa8d")) | 1248 | (sha256 (base32 "1yngs2kh1l8micg28mcp9580qsvgq3aa8bkhv2xqfkg9qqrbr8y4")) |
| 1250 | (modules '((guix build utils))) | 1249 | (modules '((guix build utils))) |
| 1251 | (patches | 1250 | (patches |
| 1252 | (search-patches | 1251 | (search-patches |
| 1253 | "renpy-use-system-fribidi.patch")) | 1252 | "renpy-use-system-fribidi.patch")) |
| 1254 | (snippet | 1253 | (snippet |
| 1255 | '(with-directory-excursion "module" | 1254 | '(with-directory-excursion "module" |
| 1256 | ;; drop generated sources | ||
| 1257 | (delete-file-recursively "gen") | ||
| 1258 | ;; drop fribidi sources | 1255 | ;; drop fribidi sources |
| 1259 | (delete-file-recursively "fribidi-src") | 1256 | (delete-file-recursively "fribidi-src") |
| 1260 | #t)))) | 1257 | #t)))) |
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index c913d99334c..34051b8fda7 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm | |||
| @@ -4136,7 +4136,7 @@ falling, themeable graphics and sounds, and replays.") | |||
| 4136 | (define-public wesnoth | 4136 | (define-public wesnoth |
| 4137 | (package | 4137 | (package |
| 4138 | (name "wesnoth") | 4138 | (name "wesnoth") |
| 4139 | (version "1.14.17") | 4139 | (version "1.16.0") |
| 4140 | (source (origin | 4140 | (source (origin |
| 4141 | (method url-fetch) | 4141 | (method url-fetch) |
| 4142 | (uri (string-append "mirror://sourceforge/wesnoth/wesnoth-" | 4142 | (uri (string-append "mirror://sourceforge/wesnoth/wesnoth-" |
| @@ -4145,7 +4145,7 @@ falling, themeable graphics and sounds, and replays.") | |||
| 4145 | "wesnoth-" version ".tar.bz2")) | 4145 | "wesnoth-" version ".tar.bz2")) |
| 4146 | (sha256 | 4146 | (sha256 |
| 4147 | (base32 | 4147 | (base32 |
| 4148 | "1qc4ylhc4ab51milclzhflpmzw6bg35knwqaj3b157700jkcniin")))) | 4148 | "0qs102ws46z0cqyk3maxd1c4bywswlacbqkpmb51x9jd8c746vhz")))) |
| 4149 | (build-system cmake-build-system) | 4149 | (build-system cmake-build-system) |
| 4150 | (arguments | 4150 | (arguments |
| 4151 | `(#:tests? #f)) ;no check target | 4151 | `(#:tests? #f)) ;no check target |
| @@ -6397,18 +6397,17 @@ with the mouse isn’t always trivial.") | |||
| 6397 | (define-public chroma | 6397 | (define-public chroma |
| 6398 | (package | 6398 | (package |
| 6399 | (name "chroma") | 6399 | (name "chroma") |
| 6400 | (version "1.18") | 6400 | (version "1.19") |
| 6401 | (source (origin | 6401 | (source (origin |
| 6402 | (method url-fetch) | 6402 | (method url-fetch) |
| 6403 | (uri (string-append "http://level7.org.uk/chroma/download/chroma-" | 6403 | (uri (string-append "http://level7.org.uk/chroma/download/chroma-" |
| 6404 | version ".tar.bz2")) | 6404 | version ".tar.bz2")) |
| 6405 | (sha256 | 6405 | (sha256 |
| 6406 | (base32 | 6406 | (base32 |
| 6407 | "12bjisf5nlqinw8n4r223vld52p0p2mw3fca92vi175c46bycbzn")))) | 6407 | "19ybvv0dkql913xpgjgxyyy50s72vajc7hm83zsvy2lsq8lhg76q")))) |
| 6408 | (build-system gnu-build-system) | 6408 | (build-system gnu-build-system) |
| 6409 | (arguments | 6409 | (arguments |
| 6410 | `(#:tests? #f ; no tests included | 6410 | `(#:tests? #f)) ; no tests included |
| 6411 | #:configure-flags '("CFLAGS=-fgnu89-inline"))) ; fix inlines | ||
| 6412 | (inputs | 6411 | (inputs |
| 6413 | `(("sdl-union" ,(sdl-union (list sdl sdl-image sdl-mixer sdl-ttf))) | 6412 | `(("sdl-union" ,(sdl-union (list sdl sdl-image sdl-mixer sdl-ttf))) |
| 6414 | ("freetype" ,freetype) | 6413 | ("freetype" ,freetype) |
diff --git a/gnu/packages/genimage.scm b/gnu/packages/genimage.scm index bd77e4dc338..fb994231dd9 100644 --- a/gnu/packages/genimage.scm +++ b/gnu/packages/genimage.scm | |||
| @@ -1,6 +1,7 @@ | |||
| 1 | ;;; GNU Guix --- Functional package management for GNU | 1 | ;;; GNU Guix --- Functional package management for GNU |
| 2 | ;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org> | 2 | ;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org> |
| 3 | ;;; Copyright © 2021 Vincent Legoll <vincent.legoll@gmail.com> | 3 | ;;; Copyright © 2021 Vincent Legoll <vincent.legoll@gmail.com> |
| 4 | ;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr> | ||
| 4 | ;;; | 5 | ;;; |
| 5 | ;;; This file is part of GNU Guix. | 6 | ;;; This file is part of GNU Guix. |
| 6 | ;;; | 7 | ;;; |
| @@ -56,97 +57,37 @@ | |||
| 56 | (patches (search-patches "genimage-signedness.patch")))) | 57 | (patches (search-patches "genimage-signedness.patch")))) |
| 57 | (build-system gnu-build-system) | 58 | (build-system gnu-build-system) |
| 58 | (arguments | 59 | (arguments |
| 59 | `(#:phases | 60 | `(#:modules |
| 61 | ((ice-9 match) | ||
| 62 | ,@%gnu-build-system-modules) | ||
| 63 | #:phases | ||
| 60 | (modify-phases %standard-phases | 64 | (modify-phases %standard-phases |
| 61 | (add-after 'unpack 'guixify | 65 | (add-after 'unpack 'guixify |
| 62 | (lambda* (#:key inputs #:allow-other-keys) | 66 | (lambda* (#:key inputs #:allow-other-keys) |
| 63 | ;; Note to maintainers: Check ".def =" lines in source. | 67 | (map (match-lambda |
| 64 | (substitute* "config.c" | 68 | ((input directory regexp) |
| 65 | (("\\.def = \"cpio\"") | 69 | (substitute* "config.c" |
| 66 | (string-append ".def = \"" | 70 | (((format #f "\\.def = \"(~a)\"" regexp) _ command) |
| 67 | (assoc-ref inputs "cpio") | 71 | (format #f ".def = \"~a/~a/~a\"" |
| 68 | "/bin/cpio\"")) | 72 | (assoc-ref inputs input) directory command))))) |
| 69 | (("\\.def = \"dd\"") | 73 | '(("cpio" "bin" "cpio") |
| 70 | (string-append ".def = \"" | 74 | ("coreutils" "bin" "dd") |
| 71 | (assoc-ref inputs "coreutils") | 75 | ("e2fsprogs" "sbin" "debugfs|e2fsck|mke2fs|tune2fs") |
| 72 | "/bin/dd\"")) | 76 | ("genext2fs" "bin" "genext2fs") |
| 73 | (("\\.def = \"debugfs\"") | 77 | ("cdrkit-libre" "bin" "genisoimage") |
| 74 | (string-append ".def = \"" | 78 | ("mtools" "bin" "mcopy|mmd") |
| 75 | (assoc-ref inputs "e2fsprogs") | 79 | ;; mkcramfs is obsolete. |
| 76 | "/sbin/debugfs\"")) | 80 | ("dosfstools" "sbin" "mkdosfs") |
| 77 | (("\\.def = \"e2fsck\"") | 81 | ("mtd-utils" "sbin" "mkfs.(jffs2|ubifs)|ubinize") |
| 78 | (string-append ".def = \"" | 82 | ("squashfs-tools" "bin" "mksquashfs") |
| 79 | (assoc-ref inputs "e2fsprogs") | 83 | ("qemu" "bin" "qemu-img") |
| 80 | "/sbin/e2fsck\"")) | 84 | ("tar" "bin" "tar") |
| 81 | (("\\.def = \"genext2fs\"") | 85 | ("u-boot-tools" "bin" "mkimage"))) |
| 82 | (string-append ".def = \"" | ||
| 83 | (assoc-ref inputs "genext2fs") | ||
| 84 | "/bin/genext2fs\"")) | ||
| 85 | (("\\.def = \"genisoimage\"") | ||
| 86 | (string-append ".def = \"" | ||
| 87 | (assoc-ref inputs "cdrkit-libre") | ||
| 88 | "/bin/genisoimage\"")) | ||
| 89 | (("\\.def = \"mcopy\"") | ||
| 90 | (string-append ".def = \"" | ||
| 91 | (assoc-ref inputs "mtools") | ||
| 92 | "/bin/mcopy\"")) | ||
| 93 | (("\\.def = \"mmd\"") | ||
| 94 | (string-append ".def = \"" | ||
| 95 | (assoc-ref inputs "mtools") | ||
| 96 | "/bin/mmd\"")) | ||
| 97 | ;;; Note: mkcramfs is obsolete. | ||
| 98 | (("\\.def = \"mkdosfs\"") | ||
| 99 | (string-append ".def = \"" | ||
| 100 | (assoc-ref inputs "dosfstools") | ||
| 101 | "/sbin/mkfs.fat\"")) | ||
| 102 | (("\\.def = \"mke2fs\"") | ||
| 103 | (string-append ".def = \"" | ||
| 104 | (assoc-ref inputs "e2fsprogs") | ||
| 105 | "/sbin/mke2fs\"")) | ||
| 106 | (("\\.def = \"mkfs\\.jffs2\"") | ||
| 107 | (string-append ".def = \"" | ||
| 108 | (assoc-ref inputs "mtd-utils") | ||
| 109 | "/sbin/mkfs.jffs2\"")) | ||
| 110 | (("\\.def = \"mkfs\\.ubifs\"") | ||
| 111 | (string-append ".def = \"" | ||
| 112 | (assoc-ref inputs "mtd-utils") | ||
| 113 | "/sbin/mkfs.ubifs\"")) | ||
| 114 | (("\\.def = \"mksquashfs\"") | ||
| 115 | (string-append ".def = \"" | ||
| 116 | (assoc-ref inputs "squashfs-tools") | ||
| 117 | "/bin/mksquashfs\"")) | ||
| 118 | (("\\.def = \"qemu-img\"") | ||
| 119 | (string-append ".def = \"" | ||
| 120 | (assoc-ref inputs "qemu") | ||
| 121 | "/bin/qemu-img\"")) | ||
| 122 | (("\\.def = \"tar\"") | ||
| 123 | (string-append ".def = \"" | ||
| 124 | (assoc-ref inputs "tar") | ||
| 125 | "/bin/tar\"")) | ||
| 126 | (("\\.def = \"tune2fs\"") | ||
| 127 | (string-append ".def = \"" | ||
| 128 | (assoc-ref inputs "e2fsprogs") | ||
| 129 | "/sbin/tune2fs\"")) | ||
| 130 | (("\\.def = \"ubinize\"") | ||
| 131 | (string-append ".def = \"" | ||
| 132 | (assoc-ref inputs "mtd-utils") | ||
| 133 | "/sbin/ubinize\"")) | ||
| 134 | (("\\.def = \"mkimage\"") | ||
| 135 | (string-append ".def = \"" | ||
| 136 | (assoc-ref inputs "u-boot-tools") | ||
| 137 | "/bin/mkimage\""))) | ||
| 138 | (substitute* "test/basic-images.test" | ||
| 139 | ;; Work around bug in sharness.sh. | ||
| 140 | (("mkdosfs") | ||
| 141 | "mkfs.fat") | ||
| 142 | ;; Work around bug in sharness.sh. | ||
| 143 | (("dd,mkfs\\.fat,mcopy") | ||
| 144 | "dd,mkfs_fat,mcopy") | ||
| 145 | ;; Should be in the next upstream release. | ||
| 146 | (("qemu_img") "qemu-img")) | ||
| 147 | (substitute* "util.c" | 86 | (substitute* "util.c" |
| 148 | (("\"/bin/sh\"") | 87 | (("\"/bin/sh\"") |
| 149 | (string-append "\"" (assoc-ref inputs "bash") "/bin/sh\""))) | 88 | (string-append "\"" (assoc-ref inputs "bash") "/bin/sh\""))))) |
| 89 | (add-before 'check 'fix-failing-tests | ||
| 90 | (lambda _ | ||
| 150 | ;; We don't have /etc/passwd so uid 0 is not known as "root". | 91 | ;; We don't have /etc/passwd so uid 0 is not known as "root". |
| 151 | ;; Thus patch it out. | 92 | ;; Thus patch it out. |
| 152 | (substitute* '("test/ext2test.dump" | 93 | (substitute* '("test/ext2test.dump" |
| @@ -154,16 +95,14 @@ | |||
| 154 | "test/ext4test.dump" | 95 | "test/ext4test.dump" |
| 155 | "test/ext2test-percent.dump" | 96 | "test/ext2test-percent.dump" |
| 156 | "test/mke2fs.dump") | 97 | "test/mke2fs.dump") |
| 157 | (("root") "unknown")) | 98 | (("root") "unknown")))) |
| 158 | #t)) | ||
| 159 | (add-before 'check 'setenv-check | 99 | (add-before 'check 'setenv-check |
| 160 | (lambda _ | 100 | (lambda _ |
| 161 | ;; Our container doesn't provide access to /etc/mtab | 101 | ;; Our container doesn't provide access to /etc/mtab |
| 162 | (setenv "EXT2FS_NO_MTAB_OK" "1") | 102 | (setenv "EXT2FS_NO_MTAB_OK" "1") |
| 163 | ;; Make test reproducible | 103 | ;; Make test reproducible |
| 164 | (setenv "GENIMAGE_MKFJFFS2" "mkfs.jffs2 -U") | 104 | (setenv "GENIMAGE_MKFJFFS2" "mkfs.jffs2 -U") |
| 165 | (setenv "GENIMAGE_MKE2FS" "mke2fs -E no_copy_xattrs") | 105 | (setenv "GENIMAGE_MKE2FS" "mke2fs -E no_copy_xattrs"))) |
| 166 | #t)) | ||
| 167 | (replace 'check | 106 | (replace 'check |
| 168 | (lambda _ | 107 | (lambda _ |
| 169 | (invoke "make" "TEST_LOG_COMPILER=" "check")))))) | 108 | (invoke "make" "TEST_LOG_COMPILER=" "check")))))) |
diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index 5f949a5af95..8c4f19d0795 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm | |||
| @@ -268,7 +268,7 @@ provided, as well as a framework to add new color models and data types.") | |||
| 268 | ("libtiff" ,libtiff) | 268 | ("libtiff" ,libtiff) |
| 269 | ("libwebp" ,libwebp) | 269 | ("libwebp" ,libwebp) |
| 270 | ("maxflow" ,maxflow) | 270 | ("maxflow" ,maxflow) |
| 271 | ("openexr" ,openexr) | 271 | ("openexr" ,openexr-2) |
| 272 | ("pango" ,pango) | 272 | ("pango" ,pango) |
| 273 | ("poppler" ,poppler) | 273 | ("poppler" ,poppler) |
| 274 | ("sdl2" ,sdl2))) | 274 | ("sdl2" ,sdl2))) |
| @@ -355,7 +355,7 @@ buffers.") | |||
| 355 | ("libmng" ,libmng) ; optional, MNG support | 355 | ("libmng" ,libmng) ; optional, MNG support |
| 356 | ("librsvg" ,librsvg) ; optional, SVG support | 356 | ("librsvg" ,librsvg) ; optional, SVG support |
| 357 | ("libxcursor" ,libxcursor) ; optional, Mouse Cursor support | 357 | ("libxcursor" ,libxcursor) ; optional, Mouse Cursor support |
| 358 | ("openexr" ,openexr) ; optional, EXR support | 358 | ("openexr" ,openexr-2) ; optional, EXR support |
| 359 | ("openjpeg" ,openjpeg) ; optional, JPEG 2000 support | 359 | ("openjpeg" ,openjpeg) ; optional, JPEG 2000 support |
| 360 | ("poppler" ,poppler) ; optional, PDF support | 360 | ("poppler" ,poppler) ; optional, PDF support |
| 361 | ("poppler-data" ,poppler-data) ; optional, PDF support | 361 | ("poppler-data" ,poppler-data) ; optional, PDF support |
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index b3553196dd0..fe53c837411 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm | |||
| @@ -4588,8 +4588,7 @@ and RDP protocols.") | |||
| 4588 | ;; much longer than the default of 30 seconds. | 4588 | ;; much longer than the default of 30 seconds. |
| 4589 | (substitute* "tests/meson.build" | 4589 | (substitute* "tests/meson.build" |
| 4590 | (("test\\(unit_test\\[0\\], exe" all) | 4590 | (("test\\(unit_test\\[0\\], exe" all) |
| 4591 | (string-append all ", timeout : 90"))) | 4591 | (string-append all ", timeout: 300")))))))) |
| 4592 | #t))))) | ||
| 4593 | (home-page "https://developer.gnome.org/dconf/") | 4592 | (home-page "https://developer.gnome.org/dconf/") |
| 4594 | (synopsis "Low-level GNOME configuration system") | 4593 | (synopsis "Low-level GNOME configuration system") |
| 4595 | (description "Dconf is a low-level configuration system. Its main purpose | 4594 | (description "Dconf is a low-level configuration system. Its main purpose |
| @@ -12251,7 +12250,7 @@ integrated profiler via Sysprof, debugging support, and more.") | |||
| 12251 | (define-public komikku | 12250 | (define-public komikku |
| 12252 | (package | 12251 | (package |
| 12253 | (name "komikku") | 12252 | (name "komikku") |
| 12254 | (version "0.35.1") | 12253 | (version "0.35.2") |
| 12255 | (source | 12254 | (source |
| 12256 | (origin | 12255 | (origin |
| 12257 | (method git-fetch) | 12256 | (method git-fetch) |
| @@ -12261,7 +12260,7 @@ integrated profiler via Sysprof, debugging support, and more.") | |||
| 12261 | (file-name (git-file-name name version)) | 12260 | (file-name (git-file-name name version)) |
| 12262 | (sha256 | 12261 | (sha256 |
| 12263 | (base32 | 12262 | (base32 |
| 12264 | "0975c55lmiwaqm0wj0ci91a90syjan3i99akrp0hl9m7r73jnfh9")))) | 12263 | "11iq2mc8k7ny70vb0iqfjhj1hii0wvr4cv2p6b5rnjqdp6hc63n9")))) |
| 12265 | (build-system meson-build-system) | 12264 | (build-system meson-build-system) |
| 12266 | (arguments | 12265 | (arguments |
| 12267 | `(#:glib-or-gtk? #t | 12266 | `(#:glib-or-gtk? #t |
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index ce53695f873..db1c9b09c8c 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm | |||
| @@ -52,6 +52,7 @@ | |||
| 52 | #:use-module (gnu packages admin) | 52 | #:use-module (gnu packages admin) |
| 53 | #:use-module (gnu packages audio) | 53 | #:use-module (gnu packages audio) |
| 54 | #:use-module (gnu packages autotools) | 54 | #:use-module (gnu packages autotools) |
| 55 | #:use-module (gnu packages m4) | ||
| 55 | #:use-module (gnu packages base) | 56 | #:use-module (gnu packages base) |
| 56 | #:use-module (gnu packages bash) | 57 | #:use-module (gnu packages bash) |
| 57 | #:use-module (gnu packages databases) | 58 | #:use-module (gnu packages databases) |
| @@ -66,6 +67,7 @@ | |||
| 66 | #:use-module (gnu packages pkg-config) | 67 | #:use-module (gnu packages pkg-config) |
| 67 | #:use-module (gnu packages compression) | 68 | #:use-module (gnu packages compression) |
| 68 | #:use-module (gnu packages fontutils) | 69 | #:use-module (gnu packages fontutils) |
| 70 | #:use-module (gnu packages fonts) | ||
| 69 | #:use-module (gnu packages libevent) | 71 | #:use-module (gnu packages libevent) |
| 70 | #:use-module (gnu packages libreoffice) ;for hunspell | 72 | #:use-module (gnu packages libreoffice) ;for hunspell |
| 71 | #:use-module (gnu packages image) | 73 | #:use-module (gnu packages image) |
| @@ -76,6 +78,7 @@ | |||
| 76 | #:use-module (gnu packages node) | 78 | #:use-module (gnu packages node) |
| 77 | #:use-module (gnu packages xorg) | 79 | #:use-module (gnu packages xorg) |
| 78 | #:use-module (gnu packages gl) | 80 | #:use-module (gnu packages gl) |
| 81 | #:use-module (gnu packages pciutils) | ||
| 79 | #:use-module (gnu packages assembly) | 82 | #:use-module (gnu packages assembly) |
| 80 | #:use-module (gnu packages rust) | 83 | #:use-module (gnu packages rust) |
| 81 | #:use-module (gnu packages rust-apps) | 84 | #:use-module (gnu packages rust-apps) |
| @@ -583,9 +586,9 @@ in C/C++.") | |||
| 583 | (method hg-fetch) | 586 | (method hg-fetch) |
| 584 | (uri (hg-reference | 587 | (uri (hg-reference |
| 585 | (url "https://hg.mozilla.org/l10n/compare-locales/") | 588 | (url "https://hg.mozilla.org/l10n/compare-locales/") |
| 586 | (changeset "RELEASE_8_0_0"))) | 589 | (changeset "RELEASE_8_1_0"))) |
| 587 | (file-name "mozilla-compare-locales") | 590 | (file-name "mozilla-compare-locales") |
| 588 | (sha256 (base32 "0052wq92sg4i776x407b5838jx9h3phl9xy69m2q34f31n3gdyk2")))) | 591 | (sha256 (base32 "00bpkaqf2ng1nn9ajyb5mli0jq58q5fm2n3yy90jy0hp4q2gbs50")))) |
| 589 | 592 | ||
| 590 | (define (mozilla-locale locale changeset hash-string) | 593 | (define (mozilla-locale locale changeset hash-string) |
| 591 | (origin | 594 | (origin |
| @@ -605,108 +608,110 @@ in C/C++.") | |||
| 605 | (mozilla-locales | 608 | (mozilla-locales |
| 606 | ;; sha256 changeset locale | 609 | ;; sha256 changeset locale |
| 607 | ;;--------------------------------------------------------------------------- | 610 | ;;--------------------------------------------------------------------------- |
| 608 | ("1q1p7nl97478hkf1msbbcdh98k6fn87xwqihbw8np00ll5gk9k4v" "97cf3c155484" "ach") | 611 | ("0f2lkv79gqf46f74905mab3zwyz1532chxlf9d28s548p1hw6lv9" "8312cd2e0777" "ach") |
| 609 | ("0sajpblp639l448xywx7xlybjr5dm0rfrzx511a8pa9wn7dma4mf" "46929b4dda4e" "af") | 612 | ("1v5jpmd0b04mizm9pjffp4r9q121vpq3yzkkxcgmrcwj4gc5jb2y" "21bf766c19d8" "af") |
| 610 | ("04s756aaf1yyli1dn1vfdjymgyjs1pz2n7jvz76j27x4nzdgss7l" "96ffd2b04ba3" "an") | 613 | ("1fqjiq2la543z5pbbvd9kfs0wdc2phmqjbxascfsak854qy1z9f9" "34b6a4f0790d" "an") |
| 611 | ("16nw7slm7irsnjf81r6zl273kbzri8sdbimzgzxwm0vh6xr61rgs" "1c4231166ddf" "ar") | 614 | ("0pl6j99xnali25glyr3g9fmj67v9vqmhd9k74i97f8q5n4xmv3ym" "513c3e8dac97" "ar") |
| 612 | ("0i0qrj4j8zjv55cisbmr21dp8mz933hc9wkpn3abz5k5pn84gpry" "bc4384b8be78" "ast") | 615 | ("0d1fbk9jcai19pi8b7i4y4r0gscqi1inr9dbahd6h0xbxfwc0zif" "19ca0cd0d1bf" "ast") |
| 613 | ("1r77mmwg9x1jfa7g5lqa31rgyfrnix1zj80ibn5rq9gyhhsdrwbd" "dd56aead51fa" "az") | 616 | ("08f9b63wxxy28zaimjn1ab9w51bvrarc3pp75s7v6kzm5bk1jwic" "44aa0dad7964" "az") |
| 614 | ("1kzjpy5bnvps8di72ksynhbhc9bpw1ml6hvphm74z8dz55ai4c18" "9d2bff64ddfb" "be") | 617 | ("15pksy9bgaxcbcnvvp8jwqnqxvvhq9vnljpai6jlh52yyrsglbwi" "5e4499355167" "be") |
| 615 | ("1fygvjgph3siknfm7l0fh9y4ava72z1rxkip1zgmcdgq7jz8wzpf" "3808f4fe4db6" "bg") | 618 | ("0gdg84jp1i4il4nc6gwaswdhc4ljbb9inyip7vhkng09v3pmwm0h" "98d006107851" "bg") |
| 616 | ("1x9nlqia441xh04rhkmkw6qrgpwnyqw0grrf5n2qw96939wnmgl7" "5ca8752ed8df" "bn") | 619 | ("0i6vl0ag74phj4l38cvds1ds3jjdal1c8d7hy6pf4aqrp4ai32mh" "2ca52cbb680a" "bn") |
| 617 | ("18yyxqzab44bgqx7h052d5nxyhv0l5bidgr16z1b3ak2crsfyx9q" "4c5d30ca9bf2" "br") | 620 | ("16yavargwq8rhipzpmrrvyh68g3a6disz9g5m8xbhxvixhcsi5fr" "ce92556a0a90" "br") |
| 618 | ("11bschjz7pgsm4r1qan5l4s3nkzm5jb0kivpp186wd1xsjci5bjb" "cf2478a7eae1" "bs") | 621 | ("1512dzp394pj66i13nsz76qh6fmjpz7r7fmvk8d0h7pjk0d6n0dy" "1c79dabdb120" "bs") |
| 619 | ("12bak64nl6qi092l55xv330vh38mfsicrrf4wi693nn7zqb3mbpw" "4aa2cc349211" "ca") | 622 | ("19wg0kbr2ihbn4lscsxg9agz04r8bsih4692vfgb6nyn1z8vx2i0" "a22912c01617" "ca") |
| 620 | ("0p97d7pnxqs971rr5c57i6cw3mx1mp3iasa0xdmdk0zpz9pjd3s4" "806914072144" "ca-valencia") | 623 | ("1ixpzjb7caq1d9c7c044rxg3ymxs3hjw120kq85v004jrrb4d9c6" "34bf3fd631d4" "ca-valencia") |
| 621 | ("1rligf98h9r16mw3r3n5jalzi74xn2dnh6hkiixp7s2bvhjicwa4" "db2163383129" "cak") | 624 | ("1abizdmd1c56syni1aanwwrfvmgzz25fmimbj2324bcw801ma9h0" "e2e4ba2c37bc" "cak") |
| 622 | ("18y5j8ljh72mj2nbx0m64mi3fyjbwyx992i004sv3zvs4d4z18w4" "d1d09eedddde" "cs") | 625 | ("0wgrg2wiz1jcj52nd4zl4shfkjhbngfj6p1gw1ywj266hk8g6pvw" "a60792bff6ff" "cs") |
| 623 | ("12i4m9q6f8sl8arm8ja4gs4sl9m59p3kddlqi68srpz9mk66rqxz" "1caf58c64227" "cy") | 626 | ("132f29111jd2z9yxpakkyri80mi2ggnik6zxaxqrp4vlcrd1fxd2" "66369fcad8c7" "cy") |
| 624 | ("16wacsd23zd4j0yi6vbj033wylia8hlpswx949x5hy1h9817j4vn" "9ef3b56aa243" "da") | 627 | ("04lpic3cxdj1imcwjkbk81avp9dpa1c9b1zcchrr1a4vyy4yfjpy" "af198d43f7d6" "da") |
| 625 | ("1ddxnqpfi1wnciwmzkvvjinb51h22bg70r0dn7db17q64p4271rk" "a050b0eaec0a" "de") | 628 | ("1h0rkwlsqls8k1qi1y68plw6xk0z2c5xc2y4nqywiirl71yz7fi5" "816fcef20c05" "de") |
| 626 | ("0gw5h52rw3bc2lwffnv845sjwwj22gmabchmpa1rw2y6087dc7zk" "613135cb0759" "dsb") | 629 | ("11lzdyl1h42zb1x2yxiv3r0wih8jy1gr0gzs5d1isdq53sa9cqnq" "962e5a544415" "dsb") |
| 627 | ("0v17da37w1kbs73i6xql4c9xng6rfachyylpy3w8hpibpvi7i30n" "903db7c76b31" "el") | 630 | ("146jgrhl41k6zbxg58hxh1s088padsjz7ny8nm59i9i8d00jpv0a" "e7c49fd88463" "el") |
| 628 | ("0ky1nj4kp070nriw0igsa64l39plcv2365zl8lqpbydyp6clwc3m" "6bb74673e9aa" "en-CA") | 631 | ("1qppr44hdnrb1z1igcd1p0w5sy9vpihzilkl2w44y0v0v9rigppv" "5a0e35b08a48" "en-CA") |
| 629 | ("15jck6si2l4h5lrs8zjx56y97p70njpi26nnq6xfmvj1dk5qb4g2" "c06bd83a9295" "en-GB") | 632 | ("1v2irfms24cx9g5s6r1glmp2c000wi91axyca1pn37s7c01r0n4b" "72f8c5d8305d" "en-GB") |
| 630 | ("1gc400n8j8qk70vdw7fkf4m9yviia35cmj6361pxnyvsjrgm4qvm" "ae0fda5114c4" "eo") | 633 | ("1y0rbbmax1w6jy4jacy27xgy4aqnd43izysw8qjwm0qhhfjvf3xh" "40994fca693d" "eo") |
| 631 | ("0y01lahdrd3krsh6nrr3iw36r2x4advh5qw54vf92w11l3aiyvfz" "0c294dc9ce40" "es-AR") | 634 | ("0kmjvinqpb3y81mqda1qq8k202aa36as9z1z775745bx6sbvkggz" "6cf3c836995d" "es-AR") |
| 632 | ("16jjbsfa62dxk36ccziv7nmh26c1s0b05960in6zs5nnfrv4yh35" "7c30b2981fb4" "es-CL") | 635 | ("06rvd1z3l0r7hwnsnw90i0f5j2ysbv6wd3cl64g0bgifmwjk75hi" "8727dda3935e" "es-CL") |
| 633 | ("0qh8c8f8dsv1v56n1mcpn84l39bpnqfl8v8iacq12zh322srr549" "ad1444f4f833" "es-ES") | 636 | ("0gzw1rn9nzpgcrrc10indnbqqpax87azczrfxv8mn5n56j734hc0" "5351aba49895" "es-ES") |
| 634 | ("1vh3hm5r4ch6mk3ymbk12b9rppwc75fmbi0i7cml82kxsi77bzw5" "0a26cdb23536" "es-MX") | 637 | ("0bnmgisxfkb6rb12avhipbsj1yr0dyv56qjj9471gnc2ppq7k3c9" "dd834a4af402" "es-MX") |
| 635 | ("159l92jxx48lgba1g8ig3mdzhwsf3jpg3nx1g9blq4majk5hqr6q" "65a38a830795" "et") | 638 | ("1951975h9w813qxanbk3frjz7c8knzx5rvq9i82j9i6x6a3fh6fi" "1f2150796079" "et") |
| 636 | ("1ha8y1wbgb66dqm26x1q2xwygy7bblkjz40y9vh5d2qlpr3fn0av" "21e0930b221d" "eu") | 639 | ("1vkb5rd0k6vh9dbll3fhyzg8rfpkxxkd2rxwf66b8l3hg4fqd7f2" "2911663f4a7c" "eu") |
| 637 | ("0rq4pcw6klm0bbljm1wdfvna8bpa35cm47hh2s63i2xdax4scahf" "5a4bb020cf09" "fa") | 640 | ("1cj9zblfp94h86m7zd762bfmcfz0yxc1q4ra35s4wnnlqajarzwj" "04ec3c3bbe92" "fa") |
| 638 | ("1py2594gsvpgrxnplz278ffb7grsf384kzjskrl1zyps0jw8fb1x" "4a4f712cd4aa" "ff") | 641 | ("1ininsyzaj7xd8ppmklm3zglgw1i0nhdy43iiyva32hb592zxy4m" "0cf866f9bc4e" "ff") |
| 639 | ("1dyd55ngsglp1w2gh0yaacwb0vsq23gdvnj76f2x6g39h1li9s0z" "9c51cd915e2b" "fi") | 642 | ("1hc308d71iygarrpliv7pxjz49gxwqg10d0pv8j4sbb2pw39bprl" "04a600fc54a4" "fi") |
| 640 | ("0kimwivpq6pr63jh1k9fszsv8bi8vns3scg76mmnvbhh2ca8q7wj" "4f9e24a696ee" "fr") | 643 | ("02nl54db9130rg59wmrrnh0z726fg5ir1njfcnhxagb4g5b7s69f" "64a3576df276" "fr") |
| 641 | ("1sbbnnp12lgy5qan2kix02942830b1969bd7jxrv7piwqfch9i06" "9e21a0eeb5b1" "fy-NL") | 644 | ("1qbby23qlkxjz3vwlk8pd2w1w4cxdff8cq7j0ipk44mijkxkry0c" "c84177dfa254" "fy-NL") |
| 642 | ("0dsvvyfrzkx5h44gqgdci7arb8h4lq48w20cnr8fc7j17grvnkzz" "999a995bc09d" "ga-IE") | 645 | ("1x23pg36ld5qnrmdn149rkl85ia8lmiqbzcac2bm0iqprnjdszii" "31590cffac56" "ga-IE") |
| 643 | ("1487msbsgrfzmyijhf6a4wbqdjpd7b7ki9nwrjjjjlnbw0h0ljpb" "6a9ddcab3240" "gd") | 646 | ("005fpyr1lvw23dja3yrzx4y8wdih7vx6ljjpisf4pd3k5zai4x81" "ba4f274ac4a1" "gd") |
| 644 | ("1kzc4fwr18kgisdzba2acj1ag8mxbifqpk5p30jv68nmvqfsvl8d" "51eb5e352db9" "gl") | 647 | ("0kdlb5q74n0fl5fxfy873s392kry69dmdl8b4gvqdyh5sy66vsqm" "56b41bdcd401" "gl") |
| 645 | ("13gy3wn44kcxr7j3sbl69fp415875f4vb0gm91hx0fysqlvryhcs" "b9de1ffe3224" "gn") | 648 | ("0v8r8b0nrk1l4xipzhq16klmh0pinzcrma0s0gyhgzqqli6z7aym" "59e2afb65c08" "gn") |
| 646 | ("0w5nvzpjn5vr35c1852rlff581vpy71nc096cz125852kyqkzkc3" "5b3307475ada" "gu-IN") | 649 | ("1grb1lq1f9p5jxgh9v78jl1wswxmsqxkcssm35l30k6y24pglr0m" "33b4409fb615" "gu-IN") |
| 647 | ("1ycakc4qpy9vcy50j3ricryjfnjr9v3a5ijj6bbfl4y6aks157fy" "c742df968ffd" "he") | 650 | ("172fg55y8l90ix4c8s5x7f8mg6rc7779p6l852cnnkfqjgqa5a5f" "92f9f8238189" "he") |
| 648 | ("1b2jf83c500wm5wcdnijq0b7y4m8n6271smq8pygahn5nq17f0gq" "1a3039a52b8a" "hi-IN") | 651 | ("0i52nmg0yv3y1y3rkinxcyh51mgjksk7c3jlc8014801m3zvyxj7" "00090f7a2a3f" "hi-IN") |
| 649 | ("19bbw8ix5m83cf4yarcmjl7jqa8xfabwqnh3nj6vi52rwvn7whk5" "8dc50e269ef3" "hr") | 652 | ("074q8n00yq54kzk632dwbs64r0sygvybbvwpd6hbvfpn38lz8hxf" "6e4a3fdc01f3" "hr") |
| 650 | ("12rrsvgg6bb2h8fhni7jbx8pv983q8ym5fhfjim957n9q2yp5db6" "67e40f48dec7" "hsb") | 653 | ("1jxiz8zyxbpnwgk5xkwfxlr5f1zfyc88jcsajy8wcaifdkld3cwn" "7fd9bc25e49d" "hsb") |
| 651 | ("0apyh713p3hrlj8041xwblcssahbmsqp9v9hbmb50ayf4z850kr1" "40073a597b1b" "hu") | 654 | ("0ca11pmkzyd9ccrnrbmk0jrpcb03k88v4zivxblnxj4w03g0hyhq" "ce3b378ce950" "hu") |
| 652 | ("0q0r076lq250d3vmnz9d92wj137c2v8i362c2avmkgp5zr3mcl0z" "2ea33335afdb" "hy-AM") | 655 | ("1yszljbh8f7w6lckfw22jwximy3yhis4430lfynfb8lh9nm0fw59" "c91a4a3e8821" "hy-AM") |
| 653 | ("0qza33gdc1i9259dwd2f7vd78s0a6rg34aqdkhcn7f2l6ybw6xd6" "930041db15eb" "ia") | 656 | ("0hhl8b8szqlhjdxhsa81zmgr303kr0jx5d6rzbi840qwf01h12sz" "4f235acc839e" "ia") |
| 654 | ("1211h0gp7gianh3qf76w04gfzk4n2bnyc9i8dviyz0vh4cjbx11m" "08811a49b41c" "id") | 657 | ("063yfk3nz3kignbri7r9sr3jwr5p9yyqc6sckgqs94hx6lvc355p" "fface86a34e4" "id") |
| 655 | ("12lcr841g1j7453s7gb51vrvxmshx4ha3h1jx4vh8wr891xv8l6a" "2f7a8d31e0ba" "is") | 658 | ("1qszxkgliall4haaq6v0xayxikq43ddcdsn1d4m1mwyp7gdpbry5" "5978ae767b44" "is") |
| 656 | ("1x585g0r2kcv0d3phnxx85bk5g0pi1yl0hwp4idv19yc9hslr04s" "188357cc04b4" "it") | 659 | ("1fsfz9iz5pdd5r9ckdal6grvddchsc4r3r8gn4w6f2bja6vpbs05" "0c7d2a0e1304" "it") |
| 657 | ("09v35g9v7j6x0p1hggydm3a1rmq2fh4z7g1l88z3w5k6wq2nhj1b" "45cee0ba4771" "ja") | 660 | ("1phkw0apiicgbw2nq3g392xncw1v2c4yac595h3nchs4q6rp9pd9" "1c923f3e88b9" "ja") |
| 658 | ("0prs3vycfvvaffjigdgyxiq41ak2rc34lnan5a6cwdqjgy7z450s" "d60a19d9bf17" "ja-JP-mac") | 661 | ("1y4gc4l6g72nphhsw4aqhcl80a7wi9qdy61h66c6jc6h14i7278d" "66f700940cfa" "ja-JP-mac") |
| 659 | ("1nskzm8rgczrbgcxlzzq5zqdfd456ad0cylq27nf0wjiyq6kjzcm" "00cb00e78672" "ka") | 662 | ("0iqwj0y19zqcdclnn92z490s1g9vh2qr9gmkyfnpsz69llxidx1j" "49b4a7c6bb2c" "ka") |
| 660 | ("0g6zznmhiam172nm7g2qzfpk415mna8kiihm73z2sdns64xb3ymg" "77a293a4bced" "kab") | 663 | ("111nm2khff0zxnqqfc68rbi3j0b1nx5r4xai7b8yymyv1i0qbsxd" "4854facbd60b" "kab") |
| 661 | ("17dld9lrym7rpvpvnkssivp4wx1f11zpk86wczbq1h52qgd70p55" "2c9b33a56d5d" "kk") | 664 | ("12p7lg2p6pcqdlb4bqbz5isxilw2r9vb8344sh8zrvv9cb9jq04f" "d2fda8a1b287" "kk") |
| 662 | ("1nlzl8930c8ql3yq425wyqlxvq8arrjv20xpm5g7yfxd54av89ac" "9cddd42af05c" "km") | 665 | ("142vpw9npqgc8b5zcg5cy2lh07s4mg8xfbaymg44fb4j3s6agw88" "3a5a1cae9b93" "km") |
| 663 | ("07hkrcdksvrqk816yimd036dlw15nc4sjk4gmw16ywbp093v0mqq" "e0c2969a8398" "kn") | 666 | ("00v1sd2byj2ksxw1020z142cdlxa7ri2v1rzjrhay9l465bj3k8x" "6ed122b33cac" "kn") |
| 664 | ("08aqggvk3qbv5bzks9i1iba9akhkpm01d2c9k0zf41mpr2r5yfg2" "827567d0dafc" "ko") | 667 | ("1s07yhwzpxj0l5vj5lzbvgw115sjx1g2zgbqca5wln95dds39npl" "49bc07645a47" "ko") |
| 665 | ("0vagaiwy80bs1k3gkacshlzb5zchkcshx0ypwirvayc63sw4yl8l" "694b2a24e868" "lij") | 668 | ("1b4brfww0w7x1h3ff19i6xi8xq2cb1hxysilira6yq4rb6vhlmly" "93f04df12616" "lij") |
| 666 | ("1r43kp1kzahrbza0hiyavqplk9h08pzsb6rpjy79jr6l1iqb89sy" "d6728db7e060" "lt") | 669 | ("1i30my0bbgm9z02rxxi7x4vc69bs3bnjs9l2q6jd8xvs1ga3vc7n" "e1f4e0d87509" "lt") |
| 667 | ("0sq2wbsj79xl7fi454k6q5xdhxyck1whjz315rv37vphqpx86b9b" "61e9b33f4d94" "lv") | 670 | ("1bjh4xlx6562hxq527cqcn4b5295dsdpwn4c4y5ci902nlh6fc8l" "daea4ba4e7f4" "lv") |
| 668 | ("0q8jxg1af22hs9wjdf0jd3bqk4rafxyzvsjl35k75am7l2y1fl3c" "9e482f6dd72c" "mk") | 671 | ("0vig42slcx6bhpisyc1bnyklr95lbv7vqd1ckiywp5c5qzfa9afi" "0c4ca0f4fc17" "mk") |
| 669 | ("1zsfzjrzbc58d30a9yz12h5vphywgpw8xg6y6zn3677a785dvr20" "1fd2763336a4" "mr") | 672 | ("10qfnkqi2snmgvm4vcrmp2489klchv3hn2c4rmkdhi5bilfk42jx" "9be8d5951976" "mr") |
| 670 | ("1rzygkkpn1a59daygd3hdaqph2np6sqvpgh68j0xr4il958ymnsm" "67ddab62dab4" "ms") | 673 | ("1bkn8ds3fyz710ck4gg4g5vpv23bi573ssm9xbiyl8y59pvbig9b" "0f44d0bcfda2" "ms") |
| 671 | ("16jp6w5gizfxs7jvncg3ly13m59vqvh4rlmjd0q23m5g5ff9sklc" "3ed015b51bf3" "my") | 674 | ("1j9af3axbijn0s8y96310mvgaq5a36m0r3ij550jv5bv52862crj" "ccbf0c4355d6" "my") |
| 672 | ("1wfv023j67lb4iyf49fsknwm4z3xy0xqcf25b2nzanggxj26n01x" "d01801233a8f" "nb-NO") | 675 | ("0lspnp9jn3rrgz3djnmc0qrb6ymigvqnr3fb0jbhmf83r4yfs8z1" "a6cf2c6e3594" "nb-NO") |
| 673 | ("1946vfia58vbjfippb5pfsskbjj95w7hb340smn6ry2vmza99mxp" "582defb08fb2" "ne-NP") | 676 | ("1xp2884m9gqm9gaakc747bd9j55wssrh3qsf4y4k02ijh08sfmwb" "c1636a1a7507" "ne-NP") |
| 674 | ("12w5ywh4c3s55y3zqc48cp1gcpwwjg444yfh1bghhhb9ni1xkh5i" "05f6359a29a6" "nl") | 677 | ("0y1fxp9pxia6x2wxdharh2ynvzdqcmzpya1gdb89pcv5qyrzqgcl" "60ed1c2397a6" "nl") |
| 675 | ("17jb076320cgkw1ypwmws2vjxsqlv2ww8aaisa3j334vbrw1m4zx" "50b41a1ddded" "nn-NO") | 678 | ("1nbp924p7fp2c76ym71wp34vk96z89i4g2rfgpsi54cgv42a6vgq" "a7f9a3d35875" "nn-NO") |
| 676 | ("1y840j0v5zdgj94cbacy6j1snf44rynmzxq3yk8i26arcar62akl" "a6a138531a44" "oc") | 679 | ("1yrmhyvb6skypcyvi6j3py51sdkq9vn35zkryx6rdp8ygqwm1va7" "9ac29828960e" "oc") |
| 677 | ("0jq1hq4xhqxpa26r8pb1bgbaljgfkhn9l6p5pbnslkllpbh70q6l" "e70a3afaef25" "pa-IN") | 680 | ("0rn2414ji1icar627arf5rjwl9r9vxhznbfsyxgrmrf0p6dp72fv" "87720cc32205" "pa-IN") |
| 678 | ("1hih138skwy2gb8q10ngg6zalrk3aa3d549mg79gqzxbi5zy19fw" "e035f33389eb" "pl") | 681 | ("09lam6yaprc8zyisq0pcdj4afpg930c2x3x47gdxnqfyhmcfygs7" "56b2c592ffba" "pl") |
| 679 | ("1hhif4hx4k351wm1bzykzycfzb5q8msxmiwh5r1cy32rh8wkxwhh" "54098495f37f" "pt-BR") | 682 | ("0mbc1a8wvjs3k928qh0k800d230251i0rw0myhdpc6mk3xjna7i5" "89f1b173c9b1" "pt-BR") |
| 680 | ("0gkjs12rxjml1m3mljskpz1gr6aph0c31nwpwdqybfg54w9qslib" "3fdf021f624e" "pt-PT") | 683 | ("1v1qa5slllz78222rlqr4b8k7c8dapmx8d7s5nb90wdffic0zcqy" "27adc5dad781" "pt-PT") |
| 681 | ("0anyvwd9v6mr8y3ww33s6qnxkawqn5lz65vrxx3m3kzky63ai1xk" "794f9374eb87" "rm") | 684 | ("04k6h5d7c740lz1hx1vavj6p0fmhgn9mm3nwvk4p9iccy5nw5pmf" "83e2e4833fc3" "rm") |
| 682 | ("1p4drj25gsfv7lwgm5saazh38iqrh53952n8i4bmxpn0nadbm2n5" "71ce18bcf6cc" "ro") | 685 | ("0f0hz792wr17mgi6n190dliqx67479aqg3y2ak0jg0fiz2c8qr7p" "69cdc288966f" "ro") |
| 683 | ("17yssf4axd3zvncl4ka4wkfnwcn0z0arp3390vb9cps67na29p36" "3a9587227699" "ru") | 686 | ("17yngj0v30687m7fa1ls0g86vjg8jzxs7bnsca91jpxf3ij44xp6" "03046775600f" "ru") |
| 684 | ("0xk6rksspcw1222v4rgk5a6gzrpx64k29hm7p9qkqwd70s34yj46" "c020582a72ce" "si") | 687 | ("1fvz23nphs9i4gdkx9fcy5ahdk2f879281pchclwi0qlciq7digr" "61ea93a50fff" "sco") |
| 685 | ("1ax5ibydyn7sj208r66zcxlcr8dxdqrw28vqyjif4jx583rp4lfp" "745a699b7f51" "sk") | 688 | ("0yc1iwqbnpnf1i7yz3zqrx6g8pinc7l53pvbczywfkq3rz6wmmf5" "2b134d24c046" "si") |
| 686 | ("13rin7hm1dv8g0hbcv8mp2hiwpk1k5bhzvkqpqajkkik4lx523mc" "8e437e2351ef" "sl") | 689 | ("0kizljksn2vn4yw7qlv7c8h2m75f7n9ddg6n6ag3hwxxip83hn4y" "6d69c24dc8db" "sk") |
| 687 | ("0yh5jkl5zw3f7x1w2w6zfj3dyvcl4wj1zv4di7qsq2nl2yyizf7x" "2d99e2eff94f" "son") | 690 | ("1ll936b18wy464623jc5smf3c6dpimh0qwn28a991h7zcw31n3kp" "29e195d1d160" "sl") |
| 688 | ("0vzq7s27jsdbw5k59wfykysg1kd8w229ab5d4zjdf30l59igkahh" "69bbdf07bd80" "sq") | 691 | ("14w9n994z9gf0wx7vrqisyxkngvhmmnayx8r0vwiq8k7jy81sxlm" "60a3b235fe1d" "son") |
| 689 | ("1mwivvs8vrk6vjq6i33kwlrlisra7dy35521ayps9p2rz2dll4rr" "215df5c5125c" "sr") | 692 | ("0z7bcfvq6x6dxf4d4bbjsg36r5npkr89087b0j360ljampk6c2fn" "8588cbc89847" "sq") |
| 690 | ("0g97yz1rg5cfflj8vvq3sqliyvm06x818z9yldfh5rjg1y6n9fjd" "8be00a1a50d4" "sv-SE") | 693 | ("1fcq9g89lhzckzr2qb6x0w0z6q486n9jdqfi6h70dx8b069b3jfj" "198f7e89f10d" "sr") |
| 691 | ("0ii02jn3lh2i6d0s95whx9aj6w3x8axc7w1rlzj0lc2s9n52krz3" "170a84339dbe" "ta") | 694 | ("0ap3m1sbibnaj9s2l139m7l8cc8s2ky4jlxwgzbxdzvqxfz7n954" "b098e2ebc049" "sv-SE") |
| 692 | ("1ss7symad2crapxjqc0xhc0n17l79r5vf7flvkgk7npjky4vb7nv" "72a79a304f7f" "te") | 695 | ("0k93gnwfs5mahb9vz1c65ddcbkav0cwhxnrww3qk7gcmn7q88gqk" "25951b964d5b" "szl") |
| 693 | ("11iqmg8zamgscnvs4n2xpw3g9azn6w38qs313wiwm86pyx6694ss" "8e91ce3064c5" "th") | 696 | ("0b0v5pcwvhvhg8vlzy26g3j0m1r8svrpq07hq0q7lxldwlb48phz" "94659c83c9d8" "ta") |
| 694 | ("1zgkvn9flb8by62ip9r3gmpgxwgkww1zhml5mwa0djq3ppfdgi1c" "0f914d0cda56" "tl") | 697 | ("1v35cl6m3ikzsriq6zkjzjs3p9bhl8zmbp2gl14mga1f1zy4kcah" "eb59646a5d36" "te") |
| 695 | ("1filkhdak6dbrd83q602x1qw1703nlm53nm9gcyab8s16gsx6ylz" "62ca6a8eaeba" "tr") | 698 | ("0y3r30mjgxngjraqmf5cm00kgqx2pvhbvy8sfxb3fhypv9vda3yr" "10d257301a2d" "th") |
| 696 | ("0cgagdy0ixprk3knczdmkqxkmx4ybmshhh0956kxbd0iab0dfcf6" "f110ccac4cde" "trs") | 699 | ("1inyqk495py20jwjvs4yl0n5ncf3hhb896bs1lwfsgpvbvr5hbq1" "9be6adca0e51" "tl") |
| 697 | ("1f1ghk67zwnwc5x3nk82vcv94nf8glngkfya1hg074q3088sj9pa" "56c0102d5f1c" "uk") | 700 | ("0vsirjs655cia9n8dys2r84bvg303hcxkk2w6a9j3dkbifq5ymk6" "51354c936bf6" "tr") |
| 698 | ("0iyw1b2jjylkdwxv9sxvj4ikxl64sx612b2dvvmf1di8bw86w74r" "7d53bce5ae98" "ur") | 701 | ("050x882c0ywil290k4g861njw70ffw2y55dqk3w0kffi972mm909" "d7510f2d01dc" "trs") |
| 699 | ("1q83cp5pfgs8l03zirwi8r5qp8qyh4zvxdx1ilgaqqlyg42yql7c" "9b500e1a054d" "uz") | 702 | ("001ykwxkwibavbi1k42b1hmysb3gmrwcs68zmw96m1vc80p29nz1" "4d1fa878042b" "uk") |
| 700 | ("1d4nkybz2hk64ay04k965b9lc5nhhpmzcs5ww3b6q4n93rf9c2z7" "2a000025928a" "vi") | 703 | ("0lsz6jlmmsqdg47pdx8b1djjvcavi0wlyr0mkpyhjgpginag21zx" "ad3035f28183" "ur") |
| 701 | ("1cnrsfnyl3sw3sxsggmjwydvphb2diy0vzknvxdhpnvq3ln18hga" "74724087c25b" "xh") | 704 | ("0d3ggm3q76pkpg4n3lz2ji4pbb47n885byqxbp7sk6n9vlgzir7l" "8ea7a5a051db" "uz") |
| 702 | ("1j6l66v1xw27z8w78mpsnmqgv8m277mf4r0hgqcrb4zx7xc2vqyy" "527e5e090608" "zh-CN") | 705 | ("0v7d8y6xsr6yf2s1sjxnsjmw0hdnj91f0w2da6spkifb52lmbv6v" "67fe2acb306f" "vi") |
| 703 | ("1frwx35klpyz3sdwrkz7945ivb2dwaawhhyfnz4092h9hn7rc4ky" "6cd366ad2947" "zh-TW"))) | 706 | ("0j8l09vzqlw4zlkyp6wkh44c5gr1xgbcmnawks1zj7xz02ambwii" "abc22dfb6d84" "xh") |
| 707 | ("1c01pbyswixkjg42714fvfy33b09mpdbf4d8f8kcs88c86jpf07z" "d6d6f9bb6113" "zh-CN") | ||
| 708 | ("0yq8fqdz862pnlbvfsqfc152rhpsqgncvp8bqkd653mdfv4qkwr4" "0cbdc5f1a048" "zh-TW"))) | ||
| 704 | 709 | ||
| 705 | ;; XXXX: Workaround 'snippet' limitations. | 710 | ;; XXXX: Workaround 'snippet' limitations. |
| 706 | (define computed-origin-method (@@ (guix packages) computed-origin-method)) | 711 | (define computed-origin-method (@@ (guix packages) computed-origin-method)) |
| 707 | 712 | ||
| 708 | (define %icecat-version "78.15.0-guix0-preview1") | 713 | (define %icecat-version "91.2.0-guix0-preview1") |
| 709 | (define %icecat-build-id "20211005000000") ;must be of the form YYYYMMDDhhmmss | 714 | (define %icecat-build-id "20211006000000") ;must be of the form YYYYMMDDhhmmss |
| 710 | 715 | ||
| 711 | ;; 'icecat-source' is a "computed" origin that generates an IceCat tarball | 716 | ;; 'icecat-source' is a "computed" origin that generates an IceCat tarball |
| 712 | ;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat' | 717 | ;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat' |
| @@ -728,11 +733,11 @@ in C/C++.") | |||
| 728 | "firefox-" upstream-firefox-version ".source.tar.xz")) | 733 | "firefox-" upstream-firefox-version ".source.tar.xz")) |
| 729 | (sha256 | 734 | (sha256 |
| 730 | (base32 | 735 | (base32 |
| 731 | "0l91cxdc5v9fps79ckb1kid4gw6v5qng1jd9zvaacwaiv628shx4")))) | 736 | "1hs2bvzl0d4kfir3gq997kwxm90ygapqn6xlw47cihnh479wzwry")))) |
| 732 | 737 | ||
| 733 | (upstream-icecat-base-version "78.7.0") ; maybe older than base-version | 738 | (upstream-icecat-base-version "91.2.0") ; maybe older than base-version |
| 734 | ;;(gnuzilla-commit (string-append "v" upstream-icecat-base-version)) | 739 | ;;(gnuzilla-commit (string-append "v" upstream-icecat-base-version)) |
| 735 | (gnuzilla-commit "abfe5eebaca3c2787f1a9505669393674493c177") | 740 | (gnuzilla-commit "1537880dac3087d3779543303f0df83432831166") |
| 736 | (gnuzilla-source | 741 | (gnuzilla-source |
| 737 | (origin | 742 | (origin |
| 738 | (method git-fetch) | 743 | (method git-fetch) |
| @@ -744,7 +749,7 @@ in C/C++.") | |||
| 744 | (string-take gnuzilla-commit 8))) | 749 | (string-take gnuzilla-commit 8))) |
| 745 | (sha256 | 750 | (sha256 |
| 746 | (base32 | 751 | (base32 |
| 747 | "00ws3540x5whpicc5fx4k949ff73cqvajz6jp13ahn49wqdads47")))) | 752 | "16r42hp05qmiifw8ym89328w5b4flp3hngpjwbrzgq23q1qmixa9")))) |
| 748 | 753 | ||
| 749 | ;; 'search-patch' returns either a valid file name or #f, so wrap it | 754 | ;; 'search-patch' returns either a valid file name or #f, so wrap it |
| 750 | ;; in 'assume-valid-file-name' to avoid 'local-file' warnings. | 755 | ;; in 'assume-valid-file-name' to avoid 'local-file' warnings. |
| @@ -769,10 +774,10 @@ in C/C++.") | |||
| 769 | (icecat-dir | 774 | (icecat-dir |
| 770 | (string-append "icecat-" #$%icecat-version))) | 775 | (string-append "icecat-" #$%icecat-version))) |
| 771 | 776 | ||
| 772 | (mkdir "/tmp/bin") | ||
| 773 | (set-path-environment-variable | 777 | (set-path-environment-variable |
| 774 | "PATH" '("bin") | 778 | "PATH" '("bin") |
| 775 | (list "/tmp" | 779 | (list #+rename |
| 780 | #+python | ||
| 776 | #+(canonical-package bash) | 781 | #+(canonical-package bash) |
| 777 | #+(canonical-package coreutils) | 782 | #+(canonical-package coreutils) |
| 778 | #+(canonical-package findutils) | 783 | #+(canonical-package findutils) |
| @@ -782,11 +787,20 @@ in C/C++.") | |||
| 782 | #+(canonical-package grep) | 787 | #+(canonical-package grep) |
| 783 | #+(canonical-package bzip2) | 788 | #+(canonical-package bzip2) |
| 784 | #+(canonical-package gzip) | 789 | #+(canonical-package gzip) |
| 785 | #+(canonical-package tar) | 790 | #+(canonical-package tar))) |
| 786 | #+rename)) | ||
| 787 | 791 | ||
| 788 | (symlink #+(file-append rename "/bin/rename") | 792 | (set-path-environment-variable |
| 789 | "/tmp/bin/prename") | 793 | "PYTHONPATH" |
| 794 | (list #+(format #f "lib/python~a/site-packages" | ||
| 795 | (version-major+minor | ||
| 796 | (package-version python)))) | ||
| 797 | '#+(cons python-jsonschema | ||
| 798 | (map second | ||
| 799 | (package-transitive-propagated-inputs | ||
| 800 | python-jsonschema)))) | ||
| 801 | |||
| 802 | ;; Needed by the 'makeicecat' script. | ||
| 803 | (setenv "RENAME_CMD" "rename") | ||
| 790 | 804 | ||
| 791 | ;; We copy the gnuzilla source directory because it is | 805 | ;; We copy the gnuzilla source directory because it is |
| 792 | ;; read-only in 'gnuzilla-source', and the makeicecat script | 806 | ;; read-only in 'gnuzilla-source', and the makeicecat script |
| @@ -803,20 +817,22 @@ in C/C++.") | |||
| 803 | "-p1" "--input" #+makeicecat-patch) | 817 | "-p1" "--input" #+makeicecat-patch) |
| 804 | (patch-shebang "makeicecat") | 818 | (patch-shebang "makeicecat") |
| 805 | (substitute* "makeicecat" | 819 | (substitute* "makeicecat" |
| 806 | (("^FFMAJOR=(.*)" all ffmajor) | 820 | (("^readonly FFMAJOR=(.*)" all ffmajor) |
| 807 | (unless (string=? #$major-version | 821 | (unless (string=? #$major-version |
| 808 | (string-trim-both ffmajor)) | 822 | (string-trim-both ffmajor)) |
| 809 | ;; The makeicecat script cannot be expected to work | 823 | ;; The makeicecat script cannot be expected to work |
| 810 | ;; properly on a different version of Firefox, even if | 824 | ;; properly on a different version of Firefox, even if |
| 811 | ;; no errors occur during execution. | 825 | ;; no errors occur during execution. |
| 812 | (error "makeicecat major version mismatch")) | 826 | (error "makeicecat major version mismatch")) |
| 813 | (string-append "FFMAJOR=" #$major-version "\n")) | 827 | (string-append "readonly FFMAJOR=" #$major-version "\n")) |
| 814 | (("^FFMINOR=.*") | 828 | (("^readonly FFMINOR=.*") |
| 815 | (string-append "FFMINOR=" #$minor-version "\n")) | 829 | (string-append "readonly FFMINOR=" #$minor-version "\n")) |
| 816 | (("^FFSUB=.*") | 830 | (("^readonly FFSUB=.*") |
| 817 | (string-append "FFSUB=" #$sub-version "\n")) | 831 | (string-append "readonly FFSUB=" #$sub-version "\n")) |
| 818 | (("^DATA=.*") | 832 | (("^readonly DATADIR=.*") |
| 819 | "DATA=/tmp/gnuzilla/data\n") | 833 | "readonly DATADIR=/tmp/gnuzilla/data\n") |
| 834 | (("^readonly SOURCEDIR=.*") | ||
| 835 | (string-append "readonly SOURCEDIR=" icecat-dir "\n")) | ||
| 820 | (("/bin/sed") | 836 | (("/bin/sed") |
| 821 | #+(file-append (canonical-package sed) "/bin/sed")))) | 837 | #+(file-append (canonical-package sed) "/bin/sed")))) |
| 822 | 838 | ||
| @@ -854,11 +870,11 @@ in C/C++.") | |||
| 854 | #:log (%make-void-port "w")) | 870 | #:log (%make-void-port "w")) |
| 855 | (delete-file "compare-locales/.gitignore") | 871 | (delete-file "compare-locales/.gitignore") |
| 856 | (delete-file "compare-locales/.hgignore") | 872 | (delete-file "compare-locales/.hgignore") |
| 857 | (delete-file "compare-locales/.hgtags")) | 873 | (delete-file "compare-locales/.hgtags"))) |
| 858 | 874 | ||
| 859 | (format #t "Running makeicecat script...~%") | 875 | (format #t "Running makeicecat script...~%") |
| 860 | (force-output) | 876 | (force-output) |
| 861 | (invoke "bash" "/tmp/gnuzilla/makeicecat")) | 877 | (invoke "bash" "/tmp/gnuzilla/makeicecat") |
| 862 | 878 | ||
| 863 | (format #t "Packing IceCat source tarball...~%") | 879 | (format #t "Packing IceCat source tarball...~%") |
| 864 | (force-output) | 880 | (force-output) |
| @@ -892,12 +908,15 @@ in C/C++.") | |||
| 892 | ("gtk+" ,gtk+) | 908 | ("gtk+" ,gtk+) |
| 893 | ("gtk+-2" ,gtk+-2) | 909 | ("gtk+-2" ,gtk+-2) |
| 894 | ;; UNBUNDLE-ME! ("graphite2" ,graphite2) | 910 | ;; UNBUNDLE-ME! ("graphite2" ,graphite2) |
| 911 | ("cairo" ,cairo) | ||
| 895 | ("pango" ,pango) | 912 | ("pango" ,pango) |
| 896 | ("freetype" ,freetype) | 913 | ("freetype" ,freetype) |
| 914 | ("font-dejavu" ,font-dejavu) | ||
| 897 | ;; UNBUNDLE-ME! ("harfbuzz" ,harfbuzz) | 915 | ;; UNBUNDLE-ME! ("harfbuzz" ,harfbuzz) |
| 898 | ("libcanberra" ,libcanberra) | 916 | ("libcanberra" ,libcanberra) |
| 899 | ("libgnome" ,libgnome) | 917 | ("libgnome" ,libgnome) |
| 900 | ("libjpeg-turbo" ,libjpeg-turbo) | 918 | ("libjpeg-turbo" ,libjpeg-turbo) |
| 919 | ("libpng-apng" ,libpng-apng) | ||
| 901 | ;; UNBUNDLE-ME! ("libogg" ,libogg) | 920 | ;; UNBUNDLE-ME! ("libogg" ,libogg) |
| 902 | ;; UNBUNDLE-ME! ("libtheora" ,libtheora) ; wants theora-1.2, not yet released | 921 | ;; UNBUNDLE-ME! ("libtheora" ,libtheora) ; wants theora-1.2, not yet released |
| 903 | ;; UNBUNDLE-ME! ("libvorbis" ,libvorbis) | 922 | ;; UNBUNDLE-ME! ("libvorbis" ,libvorbis) |
| @@ -909,29 +928,31 @@ in C/C++.") | |||
| 909 | ("libxt" ,libxt) | 928 | ("libxt" ,libxt) |
| 910 | ("libffi" ,libffi) | 929 | ("libffi" ,libffi) |
| 911 | ("ffmpeg" ,ffmpeg) | 930 | ("ffmpeg" ,ffmpeg) |
| 912 | ;; UNBUNDLE-ME! ("libvpx" ,libvpx) | 931 | ("libvpx" ,libvpx) |
| 913 | ("icu4c" ,icu4c-67) | 932 | ("icu4c" ,icu4c) |
| 914 | ("pixman" ,pixman) | 933 | ("pixman" ,pixman) |
| 915 | ("pulseaudio" ,pulseaudio) | 934 | ("pulseaudio" ,pulseaudio) |
| 916 | ("mesa" ,mesa) | 935 | ("mesa" ,mesa) |
| 936 | ("pciutils" ,pciutils) | ||
| 917 | ("mit-krb5" ,mit-krb5) | 937 | ("mit-krb5" ,mit-krb5) |
| 938 | ("hunspell" ,hunspell) | ||
| 939 | ("libnotify" ,libnotify) | ||
| 918 | ;; See <https://bugs.gnu.org/32833> | 940 | ;; See <https://bugs.gnu.org/32833> |
| 919 | ;; and related comments in the 'remove-bundled-libraries' phase. | 941 | ;; and related comments in the 'remove-bundled-libraries' phase. |
| 920 | ;; UNBUNDLE-ME! ("nspr" ,nspr) | 942 | ;; UNBUNDLE-ME! ("nspr" ,nspr) |
| 921 | ;; UNBUNDLE-ME! ("nss" ,nss) | 943 | ;; UNBUNDLE-ME! ("nss" ,nss) |
| 922 | ("shared-mime-info" ,shared-mime-info) | 944 | ("shared-mime-info" ,shared-mime-info) |
| 923 | ;; UNBUNDLE-ME! ("sqlite" ,sqlite) | 945 | ("sqlite" ,sqlite) |
| 924 | ("eudev" ,eudev) | 946 | ("eudev" ,eudev) |
| 925 | ("unzip" ,unzip) | 947 | ("unzip" ,unzip) |
| 926 | ("zip" ,zip) | 948 | ("zip" ,zip) |
| 927 | ;; UNBUNDLE-ME! ("zlib" ,zlib) | 949 | ("zlib" ,zlib))) |
| 928 | )) | ||
| 929 | (native-inputs | 950 | (native-inputs |
| 930 | ;; The following patches are specific to the Guix packaging of IceCat, | 951 | ;; The following patches are specific to the Guix packaging of IceCat, |
| 931 | ;; and therefore we prefer to leave them out of 'source', which should be | 952 | ;; and therefore we prefer to leave them out of 'source', which should be |
| 932 | ;; a tarball suitable for compilation on any system that IceCat supports. | 953 | ;; a tarball suitable for compilation on any system that IceCat supports. |
| 933 | ;; (Bug fixes and security fixes, however, should go in 'source'). | 954 | ;; (Bug fixes and security fixes, however, should go in 'source'). |
| 934 | `(;; XXX TODO: Adapt these patches to IceCat 68. | 955 | `(;; XXX TODO: Adapt these patches to IceCat 91. |
| 935 | ;; ("icecat-avoid-bundled-libraries.patch" | 956 | ;; ("icecat-avoid-bundled-libraries.patch" |
| 936 | ;; ,(search-patch "icecat-avoid-bundled-libraries.patch")) | 957 | ;; ,(search-patch "icecat-avoid-bundled-libraries.patch")) |
| 937 | ;; ("icecat-use-system-graphite2+harfbuzz.patch" | 958 | ;; ("icecat-use-system-graphite2+harfbuzz.patch" |
| @@ -941,11 +962,11 @@ in C/C++.") | |||
| 941 | 962 | ||
| 942 | ("patch" ,(canonical-package patch)) | 963 | ("patch" ,(canonical-package patch)) |
| 943 | 964 | ||
| 944 | ("rust" ,rust) | 965 | ("rust" ,rust-1.51) |
| 945 | ("cargo" ,rust "cargo") | 966 | ("cargo" ,rust-1.51 "cargo") |
| 946 | ("rust-cbindgen" ,rust-cbindgen-0.14) | 967 | ("rust-cbindgen" ,rust-cbindgen-0.19) |
| 947 | ("llvm" ,llvm) | 968 | ("llvm" ,llvm-11) |
| 948 | ("clang" ,clang) | 969 | ("clang" ,clang-11) |
| 949 | ("perl" ,perl) | 970 | ("perl" ,perl) |
| 950 | ("node" ,node) | 971 | ("node" ,node) |
| 951 | ("python" ,python) | 972 | ("python" ,python) |
| @@ -954,14 +975,15 @@ in C/C++.") | |||
| 954 | ("yasm" ,yasm) | 975 | ("yasm" ,yasm) |
| 955 | ("nasm" ,nasm) ; XXX FIXME: only needed on x86_64 and i686 | 976 | ("nasm" ,nasm) ; XXX FIXME: only needed on x86_64 and i686 |
| 956 | ("pkg-config" ,pkg-config) | 977 | ("pkg-config" ,pkg-config) |
| 957 | ("autoconf" ,autoconf-2.13) | 978 | ("m4" ,m4) |
| 958 | ("which" ,which))) | 979 | ("which" ,which))) |
| 959 | (arguments | 980 | (arguments |
| 960 | `(#:tests? #f ; no check target | 981 | `(#:tests? #f ;not worth the cost |
| 961 | #:out-of-source? #t ; must be built outside of the source directory | ||
| 962 | 982 | ||
| 963 | #:configure-flags `("--enable-default-toolkit=cairo-gtk3-wayland" | 983 | ;; Some dynamic lib was determined at runtime, so rpath check may fail. |
| 984 | #:validate-runpath? #f | ||
| 964 | 985 | ||
| 986 | #:configure-flags `("--enable-application=browser" | ||
| 965 | "--with-distribution-id=org.gnu" | 987 | "--with-distribution-id=org.gnu" |
| 966 | 988 | ||
| 967 | ;; Do not require addons in the global app or | 989 | ;; Do not require addons in the global app or |
| @@ -981,6 +1003,12 @@ in C/C++.") | |||
| 981 | "--disable-debug" | 1003 | "--disable-debug" |
| 982 | "--disable-debug-symbols" | 1004 | "--disable-debug-symbols" |
| 983 | 1005 | ||
| 1006 | "--enable-rust-simd" | ||
| 1007 | "--enable-release" | ||
| 1008 | "--enable-optimize" | ||
| 1009 | "--enable-strip" | ||
| 1010 | "--disable-elf-hack" | ||
| 1011 | |||
| 984 | ;; Clang is needed to build Stylo, Mozilla's new | 1012 | ;; Clang is needed to build Stylo, Mozilla's new |
| 985 | ;; CSS engine. We must specify the clang paths | 1013 | ;; CSS engine. We must specify the clang paths |
| 986 | ;; manually, because otherwise the Mozilla build | 1014 | ;; manually, because otherwise the Mozilla build |
| @@ -1001,7 +1029,8 @@ in C/C++.") | |||
| 1001 | 1029 | ||
| 1002 | ;; Avoid bundled libraries. | 1030 | ;; Avoid bundled libraries. |
| 1003 | "--with-system-jpeg" ; must be libjpeg-turbo | 1031 | "--with-system-jpeg" ; must be libjpeg-turbo |
| 1004 | ;; UNBUNDLE-ME! "--with-system-zlib" | 1032 | "--with-system-png" ; must be libpng-apng |
| 1033 | "--with-system-zlib" | ||
| 1005 | ;; UNBUNDLE-ME! "--with-system-bz2" | 1034 | ;; UNBUNDLE-ME! "--with-system-bz2" |
| 1006 | ;; UNBUNDLE-ME! "--with-system-libevent" | 1035 | ;; UNBUNDLE-ME! "--with-system-libevent" |
| 1007 | ;; UNBUNDLE-ME! "--with-system-ogg" | 1036 | ;; UNBUNDLE-ME! "--with-system-ogg" |
| @@ -1021,26 +1050,14 @@ in C/C++.") | |||
| 1021 | "--enable-system-pixman" | 1050 | "--enable-system-pixman" |
| 1022 | "--enable-system-ffi" | 1051 | "--enable-system-ffi" |
| 1023 | ;; UNBUNDLE-ME! "--enable-system-sqlite" | 1052 | ;; UNBUNDLE-ME! "--enable-system-sqlite" |
| 1024 | |||
| 1025 | ;; Fails with "--with-system-png won't work because | ||
| 1026 | ;; the system's libpng doesn't have APNG support". | ||
| 1027 | ;; According to | ||
| 1028 | ;; http://sourceforge.net/projects/libpng-apng/ , | ||
| 1029 | ;; "the Animated Portable Network Graphics (APNG) | ||
| 1030 | ;; is an unofficial extension of the Portable | ||
| 1031 | ;; Network Graphics (PNG) format"; | ||
| 1032 | ;; we probably do not wish to support it. | ||
| 1033 | ;; "--with-system-png" | ||
| 1034 | ) | 1053 | ) |
| 1035 | 1054 | ||
| 1036 | #:imported-modules ,%cargo-utils-modules ;for `generate-all-checksums' | 1055 | #:imported-modules ,%cargo-utils-modules ;for `generate-all-checksums' |
| 1037 | 1056 | ||
| 1038 | #:modules ((ice-9 ftw) | 1057 | #:modules ((ice-9 ftw) |
| 1039 | (ice-9 rdelim) | ||
| 1040 | (ice-9 regex) | ||
| 1041 | (ice-9 match) | 1058 | (ice-9 match) |
| 1042 | (srfi srfi-34) | 1059 | (srfi srfi-1) |
| 1043 | (srfi srfi-35) | 1060 | (srfi srfi-26) |
| 1044 | (rnrs bytevectors) | 1061 | (rnrs bytevectors) |
| 1045 | (rnrs io ports) | 1062 | (rnrs io ports) |
| 1046 | (guix elf) | 1063 | (guix elf) |
| @@ -1112,22 +1129,7 @@ in C/C++.") | |||
| 1112 | ;; UNBUNDLE-ME! "db/sqlite3" | 1129 | ;; UNBUNDLE-ME! "db/sqlite3" |
| 1113 | )) | 1130 | )) |
| 1114 | #t)) | 1131 | #t)) |
| 1115 | (add-after 'remove-bundled-libraries 'link-libxul-with-libraries | 1132 | (add-after 'remove-bundled-libraries 'fix-ffmpeg-runtime-linker |
| 1116 | (lambda _ | ||
| 1117 | ;; libxul.so dynamically opens libraries, so here we explicitly | ||
| 1118 | ;; link them into libxul.so instead. | ||
| 1119 | ;; | ||
| 1120 | ;; TODO: It might be preferable to patch in absolute file names in | ||
| 1121 | ;; calls to dlopen or PR_LoadLibrary, but that didn't seem to | ||
| 1122 | ;; work. More investigation is needed. | ||
| 1123 | (substitute* "toolkit/library/moz.build" | ||
| 1124 | (("^# This library needs to be last" all) | ||
| 1125 | (string-append "OS_LIBS += [ | ||
| 1126 | 'GL', 'gnome-2', 'canberra', 'Xss', 'cups', 'gssapi_krb5', | ||
| 1127 | 'avcodec', 'avutil', 'pulse' ]\n\n" | ||
| 1128 | all))) | ||
| 1129 | #t)) | ||
| 1130 | (add-after 'link-libxul-with-libraries 'fix-ffmpeg-runtime-linker | ||
| 1131 | (lambda* (#:key inputs #:allow-other-keys) | 1133 | (lambda* (#:key inputs #:allow-other-keys) |
| 1132 | (let* ((ffmpeg (assoc-ref inputs "ffmpeg")) | 1134 | (let* ((ffmpeg (assoc-ref inputs "ffmpeg")) |
| 1133 | (libavcodec (string-append ffmpeg "/lib/libavcodec.so"))) | 1135 | (libavcodec (string-append ffmpeg "/lib/libavcodec.so"))) |
| @@ -1135,31 +1137,37 @@ in C/C++.") | |||
| 1135 | (substitute* "dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp" | 1137 | (substitute* "dom/media/platforms/ffmpeg/FFmpegRuntimeLinker.cpp" |
| 1136 | (("libavcodec\\.so") | 1138 | (("libavcodec\\.so") |
| 1137 | libavcodec)) | 1139 | libavcodec)) |
| 1138 | ;; Populate the sandbox read-path whitelist as needed by ffmpeg. | ||
| 1139 | (let* ((mime-info (assoc-ref inputs "shared-mime-info")) | ||
| 1140 | (libavcodec-runpath (call-with-input-file libavcodec | ||
| 1141 | (compose elf-dynamic-info-runpath | ||
| 1142 | elf-dynamic-info | ||
| 1143 | parse-elf | ||
| 1144 | get-bytevector-all))) | ||
| 1145 | (whitelist (cons (string-append mime-info "/share/mime/") | ||
| 1146 | (map (lambda (dir) | ||
| 1147 | (string-append dir "/")) | ||
| 1148 | libavcodec-runpath))) | ||
| 1149 | (whitelist-string (string-join whitelist ",")) | ||
| 1150 | (port (open-file "browser/app/profile/icecat.js" "a"))) | ||
| 1151 | (format #t "setting 'security.sandbox.content.read_path_whitelist' to '~a'~%" | ||
| 1152 | whitelist-string) | ||
| 1153 | (format port "~%pref(\"security.sandbox.content.read_path_whitelist\", ~S);~%" | ||
| 1154 | whitelist-string) | ||
| 1155 | (close-output-port port)) | ||
| 1156 | #t))) | 1140 | #t))) |
| 1157 | (replace 'bootstrap | 1141 | (add-after 'fix-ffmpeg-runtime-linker 'build-sandbox-whitelist |
| 1158 | (lambda _ | 1142 | (lambda* (#:key inputs #:allow-other-keys) |
| 1159 | (invoke "sh" "-c" "autoconf old-configure.in > old-configure") | 1143 | (define (runpath-of lib) |
| 1160 | ;; 'configure' must be newer than 'old-configure.in', or else the | 1144 | (call-with-input-file lib |
| 1161 | ;; build system will raise an alarm and abort. | 1145 | (compose elf-dynamic-info-runpath |
| 1162 | (invoke "touch" "configure"))) | 1146 | elf-dynamic-info |
| 1147 | parse-elf | ||
| 1148 | get-bytevector-all))) | ||
| 1149 | (define (runpaths-of-input label) | ||
| 1150 | (let* ((dir (string-append (assoc-ref inputs label) "/lib")) | ||
| 1151 | (libs (find-files dir "\\.so$"))) | ||
| 1152 | (append-map runpath-of libs))) | ||
| 1153 | ;; Populate the sandbox read-path whitelist as needed by ffmpeg. | ||
| 1154 | (let* ((whitelist | ||
| 1155 | (map (cut string-append <> "/") | ||
| 1156 | (delete-duplicates | ||
| 1157 | `(,(string-append (assoc-ref inputs "shared-mime-info") | ||
| 1158 | "/share/mime") | ||
| 1159 | ,(string-append (assoc-ref inputs "font-dejavu") | ||
| 1160 | "/share/fonts") | ||
| 1161 | ,@(append-map runpaths-of-input | ||
| 1162 | '("mesa" "ffmpeg")))))) | ||
| 1163 | (whitelist-string (string-join whitelist ",")) | ||
| 1164 | (port (open-file "browser/app/profile/icecat.js" "a"))) | ||
| 1165 | (format #t "setting 'security.sandbox.content.read_path_whitelist' to '~a'~%" | ||
| 1166 | whitelist-string) | ||
| 1167 | (format port "~%pref(\"security.sandbox.content.read_path_whitelist\", ~S);~%" | ||
| 1168 | whitelist-string) | ||
| 1169 | (close-output-port port)) | ||
| 1170 | #t)) | ||
| 1163 | (add-after 'patch-source-shebangs 'patch-cargo-checksums | 1171 | (add-after 'patch-source-shebangs 'patch-cargo-checksums |
| 1164 | (lambda _ | 1172 | (lambda _ |
| 1165 | (use-modules (guix build cargo-utils)) | 1173 | (use-modules (guix build cargo-utils)) |
| @@ -1190,6 +1198,7 @@ in C/C++.") | |||
| 1190 | "security/manager/ssl" | 1198 | "security/manager/ssl" |
| 1191 | "build"))) | 1199 | "build"))) |
| 1192 | #t)) | 1200 | #t)) |
| 1201 | (delete 'bootstrap) | ||
| 1193 | (replace 'configure | 1202 | (replace 'configure |
| 1194 | ;; configure does not work followed by both "SHELL=..." and | 1203 | ;; configure does not work followed by both "SHELL=..." and |
| 1195 | ;; "CONFIG_SHELL=..."; set environment variables instead | 1204 | ;; "CONFIG_SHELL=..."; set environment variables instead |
| @@ -1197,57 +1206,88 @@ in C/C++.") | |||
| 1197 | (let* ((out (assoc-ref outputs "out")) | 1206 | (let* ((out (assoc-ref outputs "out")) |
| 1198 | (bash (which "bash")) | 1207 | (bash (which "bash")) |
| 1199 | (abs-srcdir (getcwd)) | 1208 | (abs-srcdir (getcwd)) |
| 1200 | (srcdir (string-append "../" (basename abs-srcdir))) | ||
| 1201 | (flags `(,(string-append "--prefix=" out) | 1209 | (flags `(,(string-append "--prefix=" out) |
| 1202 | ,(string-append "--with-l10n-base=" | 1210 | ,(string-append "--with-l10n-base=" |
| 1203 | abs-srcdir "/l10n") | 1211 | abs-srcdir "/l10n") |
| 1204 | ,@configure-flags))) | 1212 | ,@configure-flags))) |
| 1205 | (setenv "SHELL" bash) | 1213 | (setenv "SHELL" bash) |
| 1206 | (setenv "CONFIG_SHELL" bash) | 1214 | (setenv "CONFIG_SHELL" bash) |
| 1207 | (setenv "AUTOCONF" (which "autoconf")) ; must be autoconf-2.13 | 1215 | |
| 1208 | (setenv "CC" "gcc") ; apparently needed when Stylo is enabled | 1216 | (setenv "AR" "llvm-ar") |
| 1209 | (setenv "MOZ_BUILD_DATE" ,%icecat-build-id) ; avoid timestamp | 1217 | (setenv "NM" "llvm-nm") |
| 1218 | (setenv "CC" "clang") | ||
| 1219 | (setenv "CXX" "clang++") | ||
| 1210 | (setenv "LDFLAGS" (string-append "-Wl,-rpath=" | 1220 | (setenv "LDFLAGS" (string-append "-Wl,-rpath=" |
| 1211 | (assoc-ref outputs "out") | 1221 | (assoc-ref outputs "out") |
| 1212 | "/lib/icecat")) | 1222 | "/lib/icecat")) |
| 1213 | (mkdir "../build") | 1223 | |
| 1214 | (chdir "../build") | 1224 | (setenv "MACH_USE_SYSTEM_PYTHON" "1") |
| 1225 | (setenv "MOZ_NOSPAM" "1") | ||
| 1226 | (setenv "MOZ_BUILD_DATE" ,%icecat-build-id) ; avoid timestamp | ||
| 1227 | |||
| 1215 | (format #t "build directory: ~s~%" (getcwd)) | 1228 | (format #t "build directory: ~s~%" (getcwd)) |
| 1216 | (format #t "configure flags: ~s~%" flags) | 1229 | (format #t "configure flags: ~s~%" flags) |
| 1217 | (apply invoke bash | 1230 | |
| 1218 | (string-append srcdir "/configure") | 1231 | (call-with-output-file "mozconfig" |
| 1219 | flags)))) | 1232 | (lambda (out) |
| 1233 | (for-each (lambda (flag) | ||
| 1234 | (format out "ac_add_options ~a\n" flag)) | ||
| 1235 | flags))) | ||
| 1236 | |||
| 1237 | (invoke "./mach" "configure")))) | ||
| 1220 | (replace 'build | 1238 | (replace 'build |
| 1221 | ;; The build system often spuriously fails. See | 1239 | (lambda* (#:key (make-flags '()) (parallel-build? #t) |
| 1222 | ;; <https://bugs.gentoo.org/show_bug.cgi?id=680934>. To | 1240 | #:allow-other-keys) |
| 1223 | ;; work around this, we try the standard 'build' phase up | 1241 | (apply invoke "./mach" "build" |
| 1224 | ;; to 5 times. | 1242 | ;; mach will use parallel build if possible by default |
| 1225 | (lambda args | 1243 | `(,@(if parallel-build? |
| 1226 | (let ((build (assoc-ref %standard-phases 'build))) | 1244 | '() |
| 1227 | (let retry ((remaining-attempts 5)) | 1245 | '("-j1")) |
| 1228 | (if (= remaining-attempts 1) | 1246 | ,@make-flags)))) |
| 1229 | (apply build args) | ||
| 1230 | (guard (c ((invoke-error? c) | ||
| 1231 | (format #t "~%Retrying build! (~a attempts remaining)~%~%" | ||
| 1232 | (- remaining-attempts 1)) | ||
| 1233 | (force-output) | ||
| 1234 | (retry (- remaining-attempts 1)))) | ||
| 1235 | (apply build args))))))) | ||
| 1236 | (add-after 'build 'neutralise-store-references | 1247 | (add-after 'build 'neutralise-store-references |
| 1237 | (lambda _ | 1248 | (lambda _ |
| 1238 | ;; Mangle the store references to compilers & other build tools in | 1249 | ;; Mangle the store references to compilers & other build tools in |
| 1239 | ;; about:buildconfig, reducing IceCat's closure by 1 GiB on x86-64. | 1250 | ;; about:buildconfig, reducing IceCat's closure by 1 GiB on x86-64. |
| 1240 | (substitute* | 1251 | (let* ((obj-dir (match (scandir "." (cut string-prefix? "obj-" <>)) |
| 1241 | "dist/bin/chrome/toolkit/content/global/buildconfig.html" | 1252 | ((dir) dir))) |
| 1242 | (((format #f "(~a/)([0-9a-df-np-sv-z]{32})" | 1253 | (file (string-append |
| 1243 | (regexp-quote (%store-directory))) | 1254 | obj-dir |
| 1244 | _ store hash) | 1255 | "/dist/bin/chrome/toolkit/content/global/buildconfig.html"))) |
| 1245 | (string-append store | 1256 | (substitute* file |
| 1246 | (string-take hash 8) | 1257 | (("[0-9a-df-np-sv-z]{32}" hash) |
| 1247 | "<!-- Guix: not a runtime dependency -->" | 1258 | (string-append (string-take hash 8) |
| 1248 | (string-drop hash 8)))) | 1259 | "<!-- Guix: not a runtime dependency -->" |
| 1260 | (string-drop hash 8))))) | ||
| 1249 | #t)) | 1261 | #t)) |
| 1250 | (add-before 'configure 'install-desktop-entry | 1262 | (replace 'install |
| 1263 | (lambda _ (invoke "./mach" "install"))) | ||
| 1264 | (add-after 'install 'wrap-program | ||
| 1265 | (lambda* (#:key inputs outputs #:allow-other-keys) | ||
| 1266 | (let* ((out (assoc-ref outputs "out")) | ||
| 1267 | (lib (string-append out "/lib")) | ||
| 1268 | (gtk (assoc-ref inputs "gtk+")) | ||
| 1269 | (gtk-share (string-append gtk "/share")) | ||
| 1270 | (ld-libs (map (lambda (label) | ||
| 1271 | (string-append (assoc-ref inputs label) | ||
| 1272 | "/lib")) | ||
| 1273 | '("libpng-apng" | ||
| 1274 | "libxscrnsaver" | ||
| 1275 | "mesa" | ||
| 1276 | "pciutils" | ||
| 1277 | "mit-krb5" | ||
| 1278 | "eudev" | ||
| 1279 | "pulseaudio" | ||
| 1280 | ;; For the integration of native notifications | ||
| 1281 | "libnotify")))) | ||
| 1282 | (wrap-program (car (find-files lib "^icecat$")) | ||
| 1283 | `("XDG_DATA_DIRS" prefix (,gtk-share)) | ||
| 1284 | ;; The following line is commented out because the icecat | ||
| 1285 | ;; package on guix has been observed to be unstable when | ||
| 1286 | ;; using wayland, and the bundled extensions stop working. | ||
| 1287 | ;; `("MOZ_ENABLE_WAYLAND" = ("1")) | ||
| 1288 | `("LD_LIBRARY_PATH" prefix ,ld-libs)) | ||
| 1289 | #t))) | ||
| 1290 | (add-after 'wrap-program 'install-desktop-entry | ||
| 1251 | (lambda* (#:key outputs #:allow-other-keys) | 1291 | (lambda* (#:key outputs #:allow-other-keys) |
| 1252 | ;; Install the '.desktop' file. | 1292 | ;; Install the '.desktop' file. |
| 1253 | (let* ((desktop-file "taskcluster/docker/icecat-snap/icecat.desktop") | 1293 | (let* ((desktop-file "taskcluster/docker/icecat-snap/icecat.desktop") |
| @@ -1275,30 +1315,7 @@ in C/C++.") | |||
| 1275 | '("default16.png" "default22.png" "default24.png" | 1315 | '("default16.png" "default22.png" "default24.png" |
| 1276 | "default32.png" "default48.png" "content/icon64.png" | 1316 | "default32.png" "default48.png" "content/icon64.png" |
| 1277 | "mozicon128.png" "default256.png")) | 1317 | "mozicon128.png" "default256.png")) |
| 1278 | #t)))) | 1318 | #t))))))) |
| 1279 | ;; This fixes the file chooser crash that happens with GTK 3. | ||
| 1280 | (add-after 'install 'wrap-program | ||
| 1281 | (lambda* (#:key inputs outputs #:allow-other-keys) | ||
| 1282 | (let* ((out (assoc-ref outputs "out")) | ||
| 1283 | (lib (string-append out "/lib")) | ||
| 1284 | (gtk (assoc-ref inputs "gtk+")) | ||
| 1285 | (gtk-share (string-append gtk "/share")) | ||
| 1286 | (ld-libs (map (lambda (lib) | ||
| 1287 | (string-append (assoc-ref inputs lib) | ||
| 1288 | "/lib")) | ||
| 1289 | '("libxscrnsaver" | ||
| 1290 | "mesa" | ||
| 1291 | "mit-krb5" | ||
| 1292 | "eudev" | ||
| 1293 | "pulseaudio")))) | ||
| 1294 | (wrap-program (car (find-files lib "^icecat$")) | ||
| 1295 | `("XDG_DATA_DIRS" prefix (,gtk-share)) | ||
| 1296 | ;; The following line is commented out because the icecat | ||
| 1297 | ;; package on guix has been observed to be unstable when | ||
| 1298 | ;; using wayland, and the bundled extensions stop working. | ||
| 1299 | ;; `("MOZ_ENABLE_WAYLAND" = ("1")) | ||
| 1300 | `("LD_LIBRARY_PATH" prefix ,ld-libs)) | ||
| 1301 | #t)))))) | ||
| 1302 | (home-page "https://www.gnu.org/software/gnuzilla/") | 1319 | (home-page "https://www.gnu.org/software/gnuzilla/") |
| 1303 | (synopsis "Entirely free browser derived from Mozilla Firefox") | 1320 | (synopsis "Entirely free browser derived from Mozilla Firefox") |
| 1304 | (description | 1321 | (description |
| @@ -1306,7 +1323,7 @@ in C/C++.") | |||
| 1306 | software, which does not recommend non-free plugins and addons. It also | 1323 | software, which does not recommend non-free plugins and addons. It also |
| 1307 | features built-in privacy-protecting features. | 1324 | features built-in privacy-protecting features. |
| 1308 | 1325 | ||
| 1309 | WARNING: IceCat 78 has not yet been released by the upstream IceCat project. | 1326 | WARNING: IceCat 91 has not yet been released by the upstream IceCat project. |
| 1310 | This is a preview release, and does not currently meet the privacy-respecting | 1327 | This is a preview release, and does not currently meet the privacy-respecting |
| 1311 | standards of the IceCat project.") | 1328 | standards of the IceCat project.") |
| 1312 | (license license:mpl2.0) ;and others, see toolkit/content/license.html | 1329 | (license license:mpl2.0) ;and others, see toolkit/content/license.html |
| @@ -1315,13 +1332,290 @@ standards of the IceCat project.") | |||
| 1315 | (cpe-name . "firefox_esr") | 1332 | (cpe-name . "firefox_esr") |
| 1316 | (cpe-version . ,(first (string-split version #\-))))))) | 1333 | (cpe-version . ,(first (string-split version #\-))))))) |
| 1317 | 1334 | ||
| 1335 | (define mozilla-78-compare-locales | ||
| 1336 | (origin | ||
| 1337 | (method hg-fetch) | ||
| 1338 | (uri (hg-reference | ||
| 1339 | (url "https://hg.mozilla.org/l10n/compare-locales/") | ||
| 1340 | (changeset "RELEASE_8_0_0"))) | ||
| 1341 | (file-name "mozilla-compare-locales") | ||
| 1342 | (sha256 (base32 "0052wq92sg4i776x407b5838jx9h3phl9xy69m2q34f31n3gdyk2")))) | ||
| 1343 | |||
| 1344 | (define all-mozilla-78-locales | ||
| 1345 | (mozilla-locales | ||
| 1346 | ;; sha256 changeset locale | ||
| 1347 | ;;--------------------------------------------------------------------------- | ||
| 1348 | ("1q1p7nl97478hkf1msbbcdh98k6fn87xwqihbw8np00ll5gk9k4v" "97cf3c155484" "ach") | ||
| 1349 | ("0sajpblp639l448xywx7xlybjr5dm0rfrzx511a8pa9wn7dma4mf" "46929b4dda4e" "af") | ||
| 1350 | ("04s756aaf1yyli1dn1vfdjymgyjs1pz2n7jvz76j27x4nzdgss7l" "96ffd2b04ba3" "an") | ||
| 1351 | ("16nw7slm7irsnjf81r6zl273kbzri8sdbimzgzxwm0vh6xr61rgs" "1c4231166ddf" "ar") | ||
| 1352 | ("0i0qrj4j8zjv55cisbmr21dp8mz933hc9wkpn3abz5k5pn84gpry" "bc4384b8be78" "ast") | ||
| 1353 | ("1r77mmwg9x1jfa7g5lqa31rgyfrnix1zj80ibn5rq9gyhhsdrwbd" "dd56aead51fa" "az") | ||
| 1354 | ("1kzjpy5bnvps8di72ksynhbhc9bpw1ml6hvphm74z8dz55ai4c18" "9d2bff64ddfb" "be") | ||
| 1355 | ("1fygvjgph3siknfm7l0fh9y4ava72z1rxkip1zgmcdgq7jz8wzpf" "3808f4fe4db6" "bg") | ||
| 1356 | ("1x9nlqia441xh04rhkmkw6qrgpwnyqw0grrf5n2qw96939wnmgl7" "5ca8752ed8df" "bn") | ||
| 1357 | ("18yyxqzab44bgqx7h052d5nxyhv0l5bidgr16z1b3ak2crsfyx9q" "4c5d30ca9bf2" "br") | ||
| 1358 | ("11bschjz7pgsm4r1qan5l4s3nkzm5jb0kivpp186wd1xsjci5bjb" "cf2478a7eae1" "bs") | ||
| 1359 | ("12bak64nl6qi092l55xv330vh38mfsicrrf4wi693nn7zqb3mbpw" "4aa2cc349211" "ca") | ||
| 1360 | ("0p97d7pnxqs971rr5c57i6cw3mx1mp3iasa0xdmdk0zpz9pjd3s4" "806914072144" "ca-valencia") | ||
| 1361 | ("1rligf98h9r16mw3r3n5jalzi74xn2dnh6hkiixp7s2bvhjicwa4" "db2163383129" "cak") | ||
| 1362 | ("18y5j8ljh72mj2nbx0m64mi3fyjbwyx992i004sv3zvs4d4z18w4" "d1d09eedddde" "cs") | ||
| 1363 | ("12i4m9q6f8sl8arm8ja4gs4sl9m59p3kddlqi68srpz9mk66rqxz" "1caf58c64227" "cy") | ||
| 1364 | ("16wacsd23zd4j0yi6vbj033wylia8hlpswx949x5hy1h9817j4vn" "9ef3b56aa243" "da") | ||
| 1365 | ("1ddxnqpfi1wnciwmzkvvjinb51h22bg70r0dn7db17q64p4271rk" "a050b0eaec0a" "de") | ||
| 1366 | ("0gw5h52rw3bc2lwffnv845sjwwj22gmabchmpa1rw2y6087dc7zk" "613135cb0759" "dsb") | ||
| 1367 | ("0v17da37w1kbs73i6xql4c9xng6rfachyylpy3w8hpibpvi7i30n" "903db7c76b31" "el") | ||
| 1368 | ("0ky1nj4kp070nriw0igsa64l39plcv2365zl8lqpbydyp6clwc3m" "6bb74673e9aa" "en-CA") | ||
| 1369 | ("15jck6si2l4h5lrs8zjx56y97p70njpi26nnq6xfmvj1dk5qb4g2" "c06bd83a9295" "en-GB") | ||
| 1370 | ("1gc400n8j8qk70vdw7fkf4m9yviia35cmj6361pxnyvsjrgm4qvm" "ae0fda5114c4" "eo") | ||
| 1371 | ("0y01lahdrd3krsh6nrr3iw36r2x4advh5qw54vf92w11l3aiyvfz" "0c294dc9ce40" "es-AR") | ||
| 1372 | ("16jjbsfa62dxk36ccziv7nmh26c1s0b05960in6zs5nnfrv4yh35" "7c30b2981fb4" "es-CL") | ||
| 1373 | ("0qh8c8f8dsv1v56n1mcpn84l39bpnqfl8v8iacq12zh322srr549" "ad1444f4f833" "es-ES") | ||
| 1374 | ("1vh3hm5r4ch6mk3ymbk12b9rppwc75fmbi0i7cml82kxsi77bzw5" "0a26cdb23536" "es-MX") | ||
| 1375 | ("159l92jxx48lgba1g8ig3mdzhwsf3jpg3nx1g9blq4majk5hqr6q" "65a38a830795" "et") | ||
| 1376 | ("1ha8y1wbgb66dqm26x1q2xwygy7bblkjz40y9vh5d2qlpr3fn0av" "21e0930b221d" "eu") | ||
| 1377 | ("0rq4pcw6klm0bbljm1wdfvna8bpa35cm47hh2s63i2xdax4scahf" "5a4bb020cf09" "fa") | ||
| 1378 | ("1py2594gsvpgrxnplz278ffb7grsf384kzjskrl1zyps0jw8fb1x" "4a4f712cd4aa" "ff") | ||
| 1379 | ("1dyd55ngsglp1w2gh0yaacwb0vsq23gdvnj76f2x6g39h1li9s0z" "9c51cd915e2b" "fi") | ||
| 1380 | ("0kimwivpq6pr63jh1k9fszsv8bi8vns3scg76mmnvbhh2ca8q7wj" "4f9e24a696ee" "fr") | ||
| 1381 | ("1sbbnnp12lgy5qan2kix02942830b1969bd7jxrv7piwqfch9i06" "9e21a0eeb5b1" "fy-NL") | ||
| 1382 | ("0dsvvyfrzkx5h44gqgdci7arb8h4lq48w20cnr8fc7j17grvnkzz" "999a995bc09d" "ga-IE") | ||
| 1383 | ("1487msbsgrfzmyijhf6a4wbqdjpd7b7ki9nwrjjjjlnbw0h0ljpb" "6a9ddcab3240" "gd") | ||
| 1384 | ("1kzc4fwr18kgisdzba2acj1ag8mxbifqpk5p30jv68nmvqfsvl8d" "51eb5e352db9" "gl") | ||
| 1385 | ("13gy3wn44kcxr7j3sbl69fp415875f4vb0gm91hx0fysqlvryhcs" "b9de1ffe3224" "gn") | ||
| 1386 | ("0w5nvzpjn5vr35c1852rlff581vpy71nc096cz125852kyqkzkc3" "5b3307475ada" "gu-IN") | ||
| 1387 | ("1ycakc4qpy9vcy50j3ricryjfnjr9v3a5ijj6bbfl4y6aks157fy" "c742df968ffd" "he") | ||
| 1388 | ("1b2jf83c500wm5wcdnijq0b7y4m8n6271smq8pygahn5nq17f0gq" "1a3039a52b8a" "hi-IN") | ||
| 1389 | ("19bbw8ix5m83cf4yarcmjl7jqa8xfabwqnh3nj6vi52rwvn7whk5" "8dc50e269ef3" "hr") | ||
| 1390 | ("12rrsvgg6bb2h8fhni7jbx8pv983q8ym5fhfjim957n9q2yp5db6" "67e40f48dec7" "hsb") | ||
| 1391 | ("0apyh713p3hrlj8041xwblcssahbmsqp9v9hbmb50ayf4z850kr1" "40073a597b1b" "hu") | ||
| 1392 | ("0q0r076lq250d3vmnz9d92wj137c2v8i362c2avmkgp5zr3mcl0z" "2ea33335afdb" "hy-AM") | ||
| 1393 | ("0qza33gdc1i9259dwd2f7vd78s0a6rg34aqdkhcn7f2l6ybw6xd6" "930041db15eb" "ia") | ||
| 1394 | ("1211h0gp7gianh3qf76w04gfzk4n2bnyc9i8dviyz0vh4cjbx11m" "08811a49b41c" "id") | ||
| 1395 | ("12lcr841g1j7453s7gb51vrvxmshx4ha3h1jx4vh8wr891xv8l6a" "2f7a8d31e0ba" "is") | ||
| 1396 | ("1x585g0r2kcv0d3phnxx85bk5g0pi1yl0hwp4idv19yc9hslr04s" "188357cc04b4" "it") | ||
| 1397 | ("09v35g9v7j6x0p1hggydm3a1rmq2fh4z7g1l88z3w5k6wq2nhj1b" "45cee0ba4771" "ja") | ||
| 1398 | ("0prs3vycfvvaffjigdgyxiq41ak2rc34lnan5a6cwdqjgy7z450s" "d60a19d9bf17" "ja-JP-mac") | ||
| 1399 | ("1nskzm8rgczrbgcxlzzq5zqdfd456ad0cylq27nf0wjiyq6kjzcm" "00cb00e78672" "ka") | ||
| 1400 | ("0g6zznmhiam172nm7g2qzfpk415mna8kiihm73z2sdns64xb3ymg" "77a293a4bced" "kab") | ||
| 1401 | ("17dld9lrym7rpvpvnkssivp4wx1f11zpk86wczbq1h52qgd70p55" "2c9b33a56d5d" "kk") | ||
| 1402 | ("1nlzl8930c8ql3yq425wyqlxvq8arrjv20xpm5g7yfxd54av89ac" "9cddd42af05c" "km") | ||
| 1403 | ("07hkrcdksvrqk816yimd036dlw15nc4sjk4gmw16ywbp093v0mqq" "e0c2969a8398" "kn") | ||
| 1404 | ("08aqggvk3qbv5bzks9i1iba9akhkpm01d2c9k0zf41mpr2r5yfg2" "827567d0dafc" "ko") | ||
| 1405 | ("0vagaiwy80bs1k3gkacshlzb5zchkcshx0ypwirvayc63sw4yl8l" "694b2a24e868" "lij") | ||
| 1406 | ("1r43kp1kzahrbza0hiyavqplk9h08pzsb6rpjy79jr6l1iqb89sy" "d6728db7e060" "lt") | ||
| 1407 | ("0sq2wbsj79xl7fi454k6q5xdhxyck1whjz315rv37vphqpx86b9b" "61e9b33f4d94" "lv") | ||
| 1408 | ("0q8jxg1af22hs9wjdf0jd3bqk4rafxyzvsjl35k75am7l2y1fl3c" "9e482f6dd72c" "mk") | ||
| 1409 | ("1zsfzjrzbc58d30a9yz12h5vphywgpw8xg6y6zn3677a785dvr20" "1fd2763336a4" "mr") | ||
| 1410 | ("1rzygkkpn1a59daygd3hdaqph2np6sqvpgh68j0xr4il958ymnsm" "67ddab62dab4" "ms") | ||
| 1411 | ("16jp6w5gizfxs7jvncg3ly13m59vqvh4rlmjd0q23m5g5ff9sklc" "3ed015b51bf3" "my") | ||
| 1412 | ("1wfv023j67lb4iyf49fsknwm4z3xy0xqcf25b2nzanggxj26n01x" "d01801233a8f" "nb-NO") | ||
| 1413 | ("1946vfia58vbjfippb5pfsskbjj95w7hb340smn6ry2vmza99mxp" "582defb08fb2" "ne-NP") | ||
| 1414 | ("12w5ywh4c3s55y3zqc48cp1gcpwwjg444yfh1bghhhb9ni1xkh5i" "05f6359a29a6" "nl") | ||
| 1415 | ("17jb076320cgkw1ypwmws2vjxsqlv2ww8aaisa3j334vbrw1m4zx" "50b41a1ddded" "nn-NO") | ||
| 1416 | ("1y840j0v5zdgj94cbacy6j1snf44rynmzxq3yk8i26arcar62akl" "a6a138531a44" "oc") | ||
| 1417 | ("0jq1hq4xhqxpa26r8pb1bgbaljgfkhn9l6p5pbnslkllpbh70q6l" "e70a3afaef25" "pa-IN") | ||
| 1418 | ("1hih138skwy2gb8q10ngg6zalrk3aa3d549mg79gqzxbi5zy19fw" "e035f33389eb" "pl") | ||
| 1419 | ("1hhif4hx4k351wm1bzykzycfzb5q8msxmiwh5r1cy32rh8wkxwhh" "54098495f37f" "pt-BR") | ||
| 1420 | ("0gkjs12rxjml1m3mljskpz1gr6aph0c31nwpwdqybfg54w9qslib" "3fdf021f624e" "pt-PT") | ||
| 1421 | ("0anyvwd9v6mr8y3ww33s6qnxkawqn5lz65vrxx3m3kzky63ai1xk" "794f9374eb87" "rm") | ||
| 1422 | ("1p4drj25gsfv7lwgm5saazh38iqrh53952n8i4bmxpn0nadbm2n5" "71ce18bcf6cc" "ro") | ||
| 1423 | ("17yssf4axd3zvncl4ka4wkfnwcn0z0arp3390vb9cps67na29p36" "3a9587227699" "ru") | ||
| 1424 | ("0xk6rksspcw1222v4rgk5a6gzrpx64k29hm7p9qkqwd70s34yj46" "c020582a72ce" "si") | ||
| 1425 | ("1ax5ibydyn7sj208r66zcxlcr8dxdqrw28vqyjif4jx583rp4lfp" "745a699b7f51" "sk") | ||
| 1426 | ("13rin7hm1dv8g0hbcv8mp2hiwpk1k5bhzvkqpqajkkik4lx523mc" "8e437e2351ef" "sl") | ||
| 1427 | ("0yh5jkl5zw3f7x1w2w6zfj3dyvcl4wj1zv4di7qsq2nl2yyizf7x" "2d99e2eff94f" "son") | ||
| 1428 | ("0vzq7s27jsdbw5k59wfykysg1kd8w229ab5d4zjdf30l59igkahh" "69bbdf07bd80" "sq") | ||
| 1429 | ("1mwivvs8vrk6vjq6i33kwlrlisra7dy35521ayps9p2rz2dll4rr" "215df5c5125c" "sr") | ||
| 1430 | ("0g97yz1rg5cfflj8vvq3sqliyvm06x818z9yldfh5rjg1y6n9fjd" "8be00a1a50d4" "sv-SE") | ||
| 1431 | ("0ii02jn3lh2i6d0s95whx9aj6w3x8axc7w1rlzj0lc2s9n52krz3" "170a84339dbe" "ta") | ||
| 1432 | ("1ss7symad2crapxjqc0xhc0n17l79r5vf7flvkgk7npjky4vb7nv" "72a79a304f7f" "te") | ||
| 1433 | ("11iqmg8zamgscnvs4n2xpw3g9azn6w38qs313wiwm86pyx6694ss" "8e91ce3064c5" "th") | ||
| 1434 | ("1zgkvn9flb8by62ip9r3gmpgxwgkww1zhml5mwa0djq3ppfdgi1c" "0f914d0cda56" "tl") | ||
| 1435 | ("1filkhdak6dbrd83q602x1qw1703nlm53nm9gcyab8s16gsx6ylz" "62ca6a8eaeba" "tr") | ||
| 1436 | ("0cgagdy0ixprk3knczdmkqxkmx4ybmshhh0956kxbd0iab0dfcf6" "f110ccac4cde" "trs") | ||
| 1437 | ("1f1ghk67zwnwc5x3nk82vcv94nf8glngkfya1hg074q3088sj9pa" "56c0102d5f1c" "uk") | ||
| 1438 | ("0iyw1b2jjylkdwxv9sxvj4ikxl64sx612b2dvvmf1di8bw86w74r" "7d53bce5ae98" "ur") | ||
| 1439 | ("1q83cp5pfgs8l03zirwi8r5qp8qyh4zvxdx1ilgaqqlyg42yql7c" "9b500e1a054d" "uz") | ||
| 1440 | ("1d4nkybz2hk64ay04k965b9lc5nhhpmzcs5ww3b6q4n93rf9c2z7" "2a000025928a" "vi") | ||
| 1441 | ("1cnrsfnyl3sw3sxsggmjwydvphb2diy0vzknvxdhpnvq3ln18hga" "74724087c25b" "xh") | ||
| 1442 | ("1j6l66v1xw27z8w78mpsnmqgv8m277mf4r0hgqcrb4zx7xc2vqyy" "527e5e090608" "zh-CN") | ||
| 1443 | ("1frwx35klpyz3sdwrkz7945ivb2dwaawhhyfnz4092h9hn7rc4ky" "6cd366ad2947" "zh-TW"))) | ||
| 1444 | |||
| 1445 | (define %icecat-78-version "78.15.0-guix0-preview1") | ||
| 1446 | |||
| 1447 | (define icecat-78-source | ||
| 1448 | (let* ((base-version (first (string-split %icecat-78-version #\-))) | ||
| 1449 | |||
| 1450 | (major-version (first (string-split base-version #\.))) | ||
| 1451 | (minor-version (second (string-split base-version #\.))) | ||
| 1452 | (sub-version (third (string-split base-version #\.))) | ||
| 1453 | |||
| 1454 | (upstream-firefox-version (string-append base-version "esr")) | ||
| 1455 | (upstream-firefox-source | ||
| 1456 | (origin | ||
| 1457 | (method url-fetch) | ||
| 1458 | (uri (string-append | ||
| 1459 | "https://ftp.mozilla.org/pub/firefox/releases/" | ||
| 1460 | upstream-firefox-version "/source/" | ||
| 1461 | "firefox-" upstream-firefox-version ".source.tar.xz")) | ||
| 1462 | (sha256 | ||
| 1463 | (base32 | ||
| 1464 | "0l91cxdc5v9fps79ckb1kid4gw6v5qng1jd9zvaacwaiv628shx4")))) | ||
| 1465 | |||
| 1466 | (upstream-icecat-base-version "78.7.0") ; maybe older than base-version | ||
| 1467 | ;;(gnuzilla-commit (string-append "v" upstream-icecat-base-version)) | ||
| 1468 | (gnuzilla-commit "abfe5eebaca3c2787f1a9505669393674493c177") | ||
| 1469 | (gnuzilla-source | ||
| 1470 | (origin | ||
| 1471 | (method git-fetch) | ||
| 1472 | (uri (git-reference | ||
| 1473 | (url "git://git.savannah.gnu.org/gnuzilla.git") | ||
| 1474 | (commit gnuzilla-commit))) | ||
| 1475 | (file-name (git-file-name "gnuzilla" | ||
| 1476 | ;;upstream-icecat-base-version | ||
| 1477 | (string-take gnuzilla-commit 8))) | ||
| 1478 | (sha256 | ||
| 1479 | (base32 | ||
| 1480 | "00ws3540x5whpicc5fx4k949ff73cqvajz6jp13ahn49wqdads47")))) | ||
| 1481 | |||
| 1482 | ;; 'search-patch' returns either a valid file name or #f, so wrap it | ||
| 1483 | ;; in 'assume-valid-file-name' to avoid 'local-file' warnings. | ||
| 1484 | (gnuzilla-fixes-patch | ||
| 1485 | (local-file (assume-valid-file-name | ||
| 1486 | (search-patch "icecat-use-older-reveal-hidden-html.patch")))) | ||
| 1487 | (makeicecat-patch | ||
| 1488 | (local-file (assume-valid-file-name | ||
| 1489 | (search-patch "icecat-78-makeicecat.patch"))))) | ||
| 1490 | |||
| 1491 | (origin | ||
| 1492 | (method computed-origin-method) | ||
| 1493 | (file-name (string-append "icecat-" %icecat-78-version ".tar.xz")) | ||
| 1494 | (sha256 #f) | ||
| 1495 | (uri | ||
| 1496 | (delay | ||
| 1497 | (with-imported-modules '((guix build utils)) | ||
| 1498 | #~(begin | ||
| 1499 | (use-modules (guix build utils)) | ||
| 1500 | (let ((firefox-dir | ||
| 1501 | (string-append "firefox-" #$base-version)) | ||
| 1502 | (icecat-dir | ||
| 1503 | (string-append "icecat-" #$%icecat-78-version))) | ||
| 1504 | |||
| 1505 | (mkdir "/tmp/bin") | ||
| 1506 | (set-path-environment-variable | ||
| 1507 | "PATH" '("bin") | ||
| 1508 | (list "/tmp" | ||
| 1509 | #+(canonical-package bash) | ||
| 1510 | #+(canonical-package coreutils) | ||
| 1511 | #+(canonical-package findutils) | ||
| 1512 | #+(canonical-package patch) | ||
| 1513 | #+(canonical-package xz) | ||
| 1514 | #+(canonical-package sed) | ||
| 1515 | #+(canonical-package grep) | ||
| 1516 | #+(canonical-package bzip2) | ||
| 1517 | #+(canonical-package gzip) | ||
| 1518 | #+(canonical-package tar) | ||
| 1519 | #+rename)) | ||
| 1520 | |||
| 1521 | (symlink #+(file-append rename "/bin/rename") | ||
| 1522 | "/tmp/bin/prename") | ||
| 1523 | |||
| 1524 | ;; We copy the gnuzilla source directory because it is | ||
| 1525 | ;; read-only in 'gnuzilla-source', and the makeicecat script | ||
| 1526 | ;; uses "cp -a" to copy parts of it and assumes that the | ||
| 1527 | ;; copies will be writable. | ||
| 1528 | (copy-recursively #+gnuzilla-source "/tmp/gnuzilla" | ||
| 1529 | #:log (%make-void-port "w")) | ||
| 1530 | |||
| 1531 | (with-directory-excursion "/tmp/gnuzilla" | ||
| 1532 | (make-file-writable "makeicecat") | ||
| 1533 | (invoke "patch" "--force" "--no-backup-if-mismatch" | ||
| 1534 | "-p1" "--input" #+gnuzilla-fixes-patch) | ||
| 1535 | (invoke "patch" "--force" "--no-backup-if-mismatch" | ||
| 1536 | "-p1" "--input" #+makeicecat-patch) | ||
| 1537 | (patch-shebang "makeicecat") | ||
| 1538 | (substitute* "makeicecat" | ||
| 1539 | (("^FFMAJOR=(.*)" all ffmajor) | ||
| 1540 | (unless (string=? #$major-version | ||
| 1541 | (string-trim-both ffmajor)) | ||
| 1542 | ;; The makeicecat script cannot be expected to work | ||
| 1543 | ;; properly on a different version of Firefox, even if | ||
| 1544 | ;; no errors occur during execution. | ||
| 1545 | (error "makeicecat major version mismatch")) | ||
| 1546 | (string-append "FFMAJOR=" #$major-version "\n")) | ||
| 1547 | (("^FFMINOR=.*") | ||
| 1548 | (string-append "FFMINOR=" #$minor-version "\n")) | ||
| 1549 | (("^FFSUB=.*") | ||
| 1550 | (string-append "FFSUB=" #$sub-version "\n")) | ||
| 1551 | (("^DATA=.*") | ||
| 1552 | "DATA=/tmp/gnuzilla/data\n") | ||
| 1553 | (("/bin/sed") | ||
| 1554 | #+(file-append (canonical-package sed) "/bin/sed")))) | ||
| 1555 | |||
| 1556 | (format #t "Unpacking upstream firefox tarball...~%") | ||
| 1557 | (force-output) | ||
| 1558 | (invoke "tar" "xf" #+upstream-firefox-source) | ||
| 1559 | (rename-file firefox-dir icecat-dir) | ||
| 1560 | |||
| 1561 | (with-directory-excursion icecat-dir | ||
| 1562 | (format #t "Populating l10n directory...~%") | ||
| 1563 | (force-output) | ||
| 1564 | (mkdir "l10n") | ||
| 1565 | (with-directory-excursion "l10n" | ||
| 1566 | (for-each | ||
| 1567 | (lambda (locale-dir) | ||
| 1568 | (let ((locale | ||
| 1569 | (string-drop (basename locale-dir) | ||
| 1570 | (+ 32 ; length of hash | ||
| 1571 | (string-length "-mozilla-locale-"))))) | ||
| 1572 | (format #t " ~a~%" locale) | ||
| 1573 | (force-output) | ||
| 1574 | (copy-recursively locale-dir locale | ||
| 1575 | #:log (%make-void-port "w")) | ||
| 1576 | (for-each make-file-writable (find-files locale)) | ||
| 1577 | (with-directory-excursion locale | ||
| 1578 | (when (file-exists? ".hgtags") | ||
| 1579 | (delete-file ".hgtags")) | ||
| 1580 | (mkdir-p "browser/chrome/browser/preferences") | ||
| 1581 | (call-with-output-file | ||
| 1582 | "browser/chrome/browser/preferences/advanced-scripts.dtd" | ||
| 1583 | (lambda (port) #f))))) | ||
| 1584 | '#+all-mozilla-78-locales) | ||
| 1585 | (copy-recursively #+mozilla-78-compare-locales | ||
| 1586 | "compare-locales" | ||
| 1587 | #:log (%make-void-port "w")) | ||
| 1588 | (delete-file "compare-locales/.gitignore") | ||
| 1589 | (delete-file "compare-locales/.hgignore") | ||
| 1590 | (delete-file "compare-locales/.hgtags")) | ||
| 1591 | |||
| 1592 | (format #t "Running makeicecat script...~%") | ||
| 1593 | (force-output) | ||
| 1594 | (invoke "bash" "/tmp/gnuzilla/makeicecat")) | ||
| 1595 | |||
| 1596 | (format #t "Packing IceCat source tarball...~%") | ||
| 1597 | (force-output) | ||
| 1598 | (invoke "tar" "cfa" #$output | ||
| 1599 | ;; Avoid non-determinism in the archive. We set the | ||
| 1600 | ;; mtime of files in the archive to early 1980 because | ||
| 1601 | ;; the build process fails if the mtime of source | ||
| 1602 | ;; files is pre-1980, due to the creation of zip | ||
| 1603 | ;; archives. | ||
| 1604 | "--mtime=@315619200" ; 1980-01-02 UTC | ||
| 1605 | "--owner=root:0" | ||
| 1606 | "--group=root:0" | ||
| 1607 | "--sort=name" | ||
| 1608 | icecat-dir) | ||
| 1609 | |||
| 1610 | #t)))))))) | ||
| 1611 | |||
| 1318 | ;; Update this together with icecat! | 1612 | ;; Update this together with icecat! |
| 1319 | (define %icedove-build-id "20211008000000") ;must be of the form YYYYMMDDhhmmss | 1613 | (define %icedove-build-id "20211008000000") ;must be of the form YYYYMMDDhhmmss |
| 1320 | (define-public icedove | 1614 | (define-public icedove |
| 1321 | (package | 1615 | (package |
| 1322 | (name "icedove") | 1616 | (name "icedove") |
| 1323 | (version "78.15.0") | 1617 | (version "78.15.0") |
| 1324 | (source icecat-source) | 1618 | (source icecat-78-source) |
| 1325 | (properties | 1619 | (properties |
| 1326 | `((cpe-name . "thunderbird_esr"))) | 1620 | `((cpe-name . "thunderbird_esr"))) |
| 1327 | (build-system gnu-build-system) | 1621 | (build-system gnu-build-system) |
diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 6b6cc85afea..a49310c467a 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm | |||
| @@ -26,6 +26,7 @@ | |||
| 26 | ;;; Copyright © 2021 Antoine Côté <antoine.cote@posteo.net> | 26 | ;;; Copyright © 2021 Antoine Côté <antoine.cote@posteo.net> |
| 27 | ;;; Copyright © 2021 Andy Tai <atai@atai.org> | 27 | ;;; Copyright © 2021 Andy Tai <atai@atai.org> |
| 28 | ;;; Copyright © 2021 Ekaitz Zarraga <ekaitz@elenq.tech> | 28 | ;;; Copyright © 2021 Ekaitz Zarraga <ekaitz@elenq.tech> |
| 29 | ;;; Copyright © 2021 Vinicius Monego <monego@posteo.net> | ||
| 29 | ;;; | 30 | ;;; |
| 30 | ;;; This file is part of GNU Guix. | 31 | ;;; This file is part of GNU Guix. |
| 31 | ;;; | 32 | ;;; |
| @@ -573,7 +574,7 @@ typically encountered in feature film production.") | |||
| 573 | ("libxrender" ,libxrender) | 574 | ("libxrender" ,libxrender) |
| 574 | ("opencolorio" ,opencolorio) | 575 | ("opencolorio" ,opencolorio) |
| 575 | ("openimageio" ,openimageio) | 576 | ("openimageio" ,openimageio) |
| 576 | ("openexr" ,openexr) | 577 | ("openexr" ,openexr-2) |
| 577 | ("opensubdiv" ,opensubdiv) | 578 | ("opensubdiv" ,opensubdiv) |
| 578 | ("ilmbase" ,ilmbase) | 579 | ("ilmbase" ,ilmbase) |
| 579 | ("openjpeg" ,openjpeg) | 580 | ("openjpeg" ,openjpeg) |
| @@ -672,7 +673,7 @@ application can be customized via its API for Python scripting.") | |||
| 672 | ("libx11" ,libx11) | 673 | ("libx11" ,libx11) |
| 673 | ("opencolorio" ,opencolorio) | 674 | ("opencolorio" ,opencolorio) |
| 674 | ("openimageio" ,openimageio) | 675 | ("openimageio" ,openimageio) |
| 675 | ("openexr" ,openexr) | 676 | ("openexr" ,openexr-2) |
| 676 | ("ilmbase" ,ilmbase) | 677 | ("ilmbase" ,ilmbase) |
| 677 | ("openjpeg" ,openjpeg) | 678 | ("openjpeg" ,openjpeg) |
| 678 | ("libjpeg" ,libjpeg-turbo) | 679 | ("libjpeg" ,libjpeg-turbo) |
| @@ -800,6 +801,28 @@ many more.") | |||
| 800 | ;; permissive licenses. | 801 | ;; permissive licenses. |
| 801 | (license license:gpl3+))) | 802 | (license license:gpl3+))) |
| 802 | 803 | ||
| 804 | (define-public imath | ||
| 805 | (package | ||
| 806 | (name "imath") | ||
| 807 | (version "3.1.3") | ||
| 808 | (source | ||
| 809 | (origin | ||
| 810 | (method git-fetch) | ||
| 811 | (uri (git-reference | ||
| 812 | (url "https://github.com/AcademySoftwareFoundation/Imath") | ||
| 813 | (commit (string-append "v" version)))) | ||
| 814 | (file-name (git-file-name name version)) | ||
| 815 | (sha256 | ||
| 816 | (base32 "1nyld18mf220ghm1vidnfnn0rdns9z5i4l9s66xgd0kfdgarb31f")))) | ||
| 817 | (build-system cmake-build-system) | ||
| 818 | (home-page "https://github.com/AcademySoftwareFoundation/Imath") | ||
| 819 | (synopsis "Library of math operations for computer graphics") | ||
| 820 | (description | ||
| 821 | "Imath is a C++ representation of 2D and 3D vectors and matrices and other | ||
| 822 | mathematical objects, functions, and data types common in computer graphics | ||
| 823 | applications, including the \"half\" 16-bit floating-point type.") | ||
| 824 | (license license:bsd-3))) | ||
| 825 | |||
| 803 | (define-public ilmbase | 826 | (define-public ilmbase |
| 804 | (package | 827 | (package |
| 805 | (name "ilmbase") | 828 | (name "ilmbase") |
| @@ -1089,17 +1112,47 @@ graphics.") | |||
| 1089 | (define-public openexr | 1112 | (define-public openexr |
| 1090 | (package | 1113 | (package |
| 1091 | (name "openexr") | 1114 | (name "openexr") |
| 1115 | (version "3.1.2") | ||
| 1116 | (source | ||
| 1117 | (origin | ||
| 1118 | (method git-fetch) | ||
| 1119 | (uri (git-reference | ||
| 1120 | (url "https://github.com/AcademySoftwareFoundation/openexr") | ||
| 1121 | (commit (string-append "v" version)))) | ||
| 1122 | (file-name (git-file-name name version)) | ||
| 1123 | (sha256 | ||
| 1124 | (base32 "0vyclrrikphwkkpyjg8kzh3qzflzk3d6xsidgqllgfdgllr9wmgv")))) | ||
| 1125 | (build-system cmake-build-system) | ||
| 1126 | (arguments | ||
| 1127 | '(#:phases | ||
| 1128 | (modify-phases %standard-phases | ||
| 1129 | ;; /var/tmp does not exist in the Guix build environment | ||
| 1130 | (add-after 'unpack 'patch-test-directory | ||
| 1131 | (lambda _ | ||
| 1132 | (substitute* '("src/test/OpenEXRUtilTest/tmpDir.h" | ||
| 1133 | "src/test/OpenEXRFuzzTest/tmpDir.h" | ||
| 1134 | "src/test/OpenEXRTest/tmpDir.h" | ||
| 1135 | "src/test/OpenEXRCoreTest/main.cpp") | ||
| 1136 | (("/var/tmp") "/tmp"))))))) | ||
| 1137 | (inputs | ||
| 1138 | `(("imath" ,imath) | ||
| 1139 | ("zlib" ,zlib))) | ||
| 1140 | (home-page "https://www.openexr.com/") | ||
| 1141 | (synopsis "High-dynamic-range file format library") | ||
| 1142 | (description | ||
| 1143 | "OpenEXR provides the specification and reference implementation of the | ||
| 1144 | EXR file format. The purpose of EXR format is to accurately and efficiently | ||
| 1145 | represent high-dynamic-range scene-linear image data and associated metadata, | ||
| 1146 | with strong support for multi-part, multi-channel use cases.") | ||
| 1147 | (license license:bsd-3))) | ||
| 1148 | |||
| 1149 | (define-public openexr-2 | ||
| 1150 | (package | ||
| 1151 | (name "openexr") | ||
| 1092 | (version (package-version ilmbase)) | 1152 | (version (package-version ilmbase)) |
| 1093 | (source (origin | 1153 | (source (origin |
| 1094 | (inherit (package-source ilmbase)) | 1154 | (inherit (package-source ilmbase)) |
| 1095 | (file-name (git-file-name "openexr" version)) | 1155 | (file-name (git-file-name "openexr" version)))) |
| 1096 | (modules '((guix build utils))) | ||
| 1097 | (snippet | ||
| 1098 | '(begin | ||
| 1099 | (substitute* (find-files "OpenEXR" "tmpDir\\.h") | ||
| 1100 | (("\"/var/tmp/\"") | ||
| 1101 | "\"/tmp/\"")) | ||
| 1102 | #t)))) | ||
| 1103 | (build-system cmake-build-system) | 1156 | (build-system cmake-build-system) |
| 1104 | (arguments | 1157 | (arguments |
| 1105 | `(#:phases | 1158 | `(#:phases |
| @@ -1108,6 +1161,12 @@ graphics.") | |||
| 1108 | (lambda _ | 1161 | (lambda _ |
| 1109 | (chdir "OpenEXR") | 1162 | (chdir "OpenEXR") |
| 1110 | #t)) | 1163 | #t)) |
| 1164 | (add-after 'change-directory 'patch-test-directory | ||
| 1165 | (lambda _ | ||
| 1166 | (substitute* '("IlmImfFuzzTest/tmpDir.h" | ||
| 1167 | "IlmImfTest/tmpDir.h" | ||
| 1168 | "IlmImfUtilTest/tmpDir.h") | ||
| 1169 | (("/var/tmp") "/tmp")))) | ||
| 1111 | (add-after 'change-directory 'increase-test-timeout | 1170 | (add-after 'change-directory 'increase-test-timeout |
| 1112 | (lambda _ | 1171 | (lambda _ |
| 1113 | ;; On armhf-linux, we need to override the CTest default | 1172 | ;; On armhf-linux, we need to override the CTest default |
| @@ -1133,13 +1192,10 @@ graphics.") | |||
| 1133 | (propagated-inputs | 1192 | (propagated-inputs |
| 1134 | `(("ilmbase" ,ilmbase) ;used in public headers | 1193 | `(("ilmbase" ,ilmbase) ;used in public headers |
| 1135 | ("zlib" ,zlib))) ;OpenEXR.pc reads "-lz" | 1194 | ("zlib" ,zlib))) ;OpenEXR.pc reads "-lz" |
| 1136 | (home-page "https://www.openexr.com/") | 1195 | (home-page (package-home-page openexr)) |
| 1137 | (synopsis "High-dynamic range file format library") | 1196 | (synopsis (package-synopsis openexr)) |
| 1138 | (description | 1197 | (description (package-description openexr)) |
| 1139 | "OpenEXR is a high dynamic-range (HDR) image file format developed for | 1198 | (license (package-license openexr)))) |
| 1140 | use in computer imaging applications. The IlmImf C++ libraries support | ||
| 1141 | storage of the \"EXR\" file format for storing 16-bit floating-point images.") | ||
| 1142 | (license license:bsd-3))) | ||
| 1143 | 1199 | ||
| 1144 | (define-public openimageio | 1200 | (define-public openimageio |
| 1145 | (package | 1201 | (package |
| @@ -1171,7 +1227,7 @@ storage of the \"EXR\" file format for storing 16-bit floating-point images.") | |||
| 1171 | ("libjpeg" ,libjpeg-turbo) | 1227 | ("libjpeg" ,libjpeg-turbo) |
| 1172 | ("libtiff" ,libtiff) | 1228 | ("libtiff" ,libtiff) |
| 1173 | ("giflib" ,giflib) | 1229 | ("giflib" ,giflib) |
| 1174 | ("openexr" ,openexr) | 1230 | ("openexr" ,openexr-2) |
| 1175 | ("ilmbase" ,ilmbase) | 1231 | ("ilmbase" ,ilmbase) |
| 1176 | ("pugixml" ,pugixml) | 1232 | ("pugixml" ,pugixml) |
| 1177 | ("python" ,python-wrapper) | 1233 | ("python" ,python-wrapper) |
| @@ -1259,6 +1315,56 @@ virtual reality, scientific visualization and modeling.") | |||
| 1259 | `(("libjpeg" ,libjpeg-turbo) | 1315 | `(("libjpeg" ,libjpeg-turbo) |
| 1260 | ,@(package-inputs openscenegraph))))) | 1316 | ,@(package-inputs openscenegraph))))) |
| 1261 | 1317 | ||
| 1318 | (define-public gr-framework | ||
| 1319 | (package | ||
| 1320 | (name "gr-framework") | ||
| 1321 | (version "0.58.1") | ||
| 1322 | (source | ||
| 1323 | (origin | ||
| 1324 | (method git-fetch) | ||
| 1325 | (uri (git-reference | ||
| 1326 | (url "https://github.com/sciapp/gr") | ||
| 1327 | (commit (string-append "v" version)))) | ||
| 1328 | (file-name (git-file-name name version)) | ||
| 1329 | (sha256 | ||
| 1330 | (base32 "0q1rz4iyxbh0dc22y4w28ry3hr0yypdwdm6pw2zlwgjya7wkbvsw")) | ||
| 1331 | (modules '((guix build utils))) | ||
| 1332 | (snippet | ||
| 1333 | '(begin | ||
| 1334 | (delete-file-recursively "3rdparty") | ||
| 1335 | #t)))) | ||
| 1336 | (build-system cmake-build-system) | ||
| 1337 | (arguments | ||
| 1338 | `(#:tests? #f)) ; no test target | ||
| 1339 | (inputs | ||
| 1340 | `(("bzip2" ,bzip2) | ||
| 1341 | ("cairo" ,cairo) | ||
| 1342 | ("fontconfig" ,fontconfig) | ||
| 1343 | ("ffmpeg" ,ffmpeg) | ||
| 1344 | ("freetype" ,freetype) | ||
| 1345 | ("ghostscript" ,ghostscript) | ||
| 1346 | ("glfw" ,glfw) | ||
| 1347 | ("libjpeg-turbo" ,libjpeg-turbo) | ||
| 1348 | ("libpng" ,libpng) | ||
| 1349 | ("libtiff" ,libtiff) | ||
| 1350 | ("libx11" ,libx11) | ||
| 1351 | ("libxft" ,libxft) | ||
| 1352 | ("libxt" ,libxt) | ||
| 1353 | ("pixman" ,pixman) | ||
| 1354 | ("qtbase" ,qtbase-5) | ||
| 1355 | ("qhull" ,qhull) | ||
| 1356 | ("zlib" ,zlib))) | ||
| 1357 | (home-page "https://gr-framework.org/") | ||
| 1358 | (synopsis "Graphics library for visualisation applications") | ||
| 1359 | (description "GR is a universal framework for cross-platform visualization | ||
| 1360 | applications. It offers developers a compact, portable and consistent graphics | ||
| 1361 | library for their programs. Applications range from publication quality 2D | ||
| 1362 | graphs to the representation of complex 3D scenes. GR is essentially based on | ||
| 1363 | an implementation of a @acronym{GKS, Graphical Kernel System}. As a | ||
| 1364 | self-contained system it can quickly and easily be integrated into existing | ||
| 1365 | applications (i.e. using the @code{ctypes} mechanism in Python or @code{ccall} | ||
| 1366 | in Julia).") | ||
| 1367 | (license license:expat))) | ||
| 1262 | 1368 | ||
| 1263 | (define-public openmw-openscenegraph | 1369 | (define-public openmw-openscenegraph |
| 1264 | ;; OpenMW prefers its own fork of openscenegraph: | 1370 | ;; OpenMW prefers its own fork of openscenegraph: |
| @@ -1324,7 +1430,7 @@ virtual reality, scientific visualization and modeling.") | |||
| 1324 | ("libjpeg" ,libjpeg-turbo) | 1430 | ("libjpeg" ,libjpeg-turbo) |
| 1325 | ("libpng" ,libpng) | 1431 | ("libpng" ,libpng) |
| 1326 | ("libtiff" ,libtiff) | 1432 | ("libtiff" ,libtiff) |
| 1327 | ("openexr" ,openexr) | 1433 | ("openexr" ,openexr-2) |
| 1328 | ("sdl" ,sdl) | 1434 | ("sdl" ,sdl) |
| 1329 | ("zlib" ,zlib))) | 1435 | ("zlib" ,zlib))) |
| 1330 | (arguments | 1436 | (arguments |
| @@ -1445,7 +1551,7 @@ and is connected to the programming logic using data bindings and commands.") | |||
| 1445 | (arguments '(#:tests? #f)) ;no 'test' target | 1551 | (arguments '(#:tests? #f)) ;no 'test' target |
| 1446 | 1552 | ||
| 1447 | ;; Headers include OpenEXR and IlmBase headers. | 1553 | ;; Headers include OpenEXR and IlmBase headers. |
| 1448 | (propagated-inputs `(("openexr" ,openexr))) | 1554 | (propagated-inputs `(("openexr" ,openexr-2))) |
| 1449 | 1555 | ||
| 1450 | (home-page "http://ampasctl.sourceforge.net") | 1556 | (home-page "http://ampasctl.sourceforge.net") |
| 1451 | (synopsis "Color Transformation Language") | 1557 | (synopsis "Color Transformation Language") |
diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 9e7525bea5f..d6c2fb3f468 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm | |||
| @@ -773,7 +773,7 @@ model to base your own plug-in on, here it is.") | |||
| 773 | ("mesa" ,mesa) | 773 | ("mesa" ,mesa) |
| 774 | ("neon" ,neon) | 774 | ("neon" ,neon) |
| 775 | ("openal" ,openal) | 775 | ("openal" ,openal) |
| 776 | ("openexr" ,openexr) | 776 | ("openexr" ,openexr-2) |
| 777 | ("openjpeg" ,openjpeg) | 777 | ("openjpeg" ,openjpeg) |
| 778 | ("openssl" ,openssl) | 778 | ("openssl" ,openssl) |
| 779 | ("opus" ,opus) | 779 | ("opus" ,opus) |
diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm index e64055c4a5d..2bf3576d5a0 100644 --- a/gnu/packages/hardware.scm +++ b/gnu/packages/hardware.scm | |||
| @@ -7,6 +7,7 @@ | |||
| 7 | ;;; Copyright © 2021 Denis Carikli <GNUtoo@cyberdimension.org> | 7 | ;;; Copyright © 2021 Denis Carikli <GNUtoo@cyberdimension.org> |
| 8 | ;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com> | 8 | ;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com> |
| 9 | ;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name> | 9 | ;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name> |
| 10 | ;;; Copyright © 2021 Vinicius Monego <monego@posteo.net> | ||
| 10 | ;;; | 11 | ;;; |
| 11 | ;;; This file is part of GNU Guix. | 12 | ;;; This file is part of GNU Guix. |
| 12 | ;;; | 13 | ;;; |
| @@ -59,6 +60,7 @@ | |||
| 59 | #:use-module (gnu packages xorg) | 60 | #:use-module (gnu packages xorg) |
| 60 | #:use-module (guix build-system cmake) | 61 | #:use-module (guix build-system cmake) |
| 61 | #:use-module (guix build-system gnu) | 62 | #:use-module (guix build-system gnu) |
| 63 | #:use-module (guix build-system meson) | ||
| 62 | #:use-module (guix build-system python) | 64 | #:use-module (guix build-system python) |
| 63 | #:use-module (guix download) | 65 | #:use-module (guix download) |
| 64 | #:use-module (guix git-download) | 66 | #:use-module (guix git-download) |
| @@ -568,6 +570,32 @@ MSR addresses differ (greatly) between processors, and any such modification can | |||
| 568 | be dangerous and may void your CPU or system board's warranty.") | 570 | be dangerous and may void your CPU or system board's warranty.") |
| 569 | (license license:gpl2))) ; cpuid.c is gpl2, {rd,wr}msr.c are gpl2+ | 571 | (license license:gpl2))) ; cpuid.c is gpl2, {rd,wr}msr.c are gpl2+ |
| 570 | 572 | ||
| 573 | (define-public openhmd | ||
| 574 | (package | ||
| 575 | (name "openhmd") | ||
| 576 | (version "0.3.0") | ||
| 577 | (source | ||
| 578 | (origin | ||
| 579 | (method git-fetch) | ||
| 580 | (uri (git-reference | ||
| 581 | (url "https://github.com/OpenHMD/OpenHMD") | ||
| 582 | (commit version))) | ||
| 583 | (file-name (git-file-name name version)) | ||
| 584 | (sha256 | ||
| 585 | (base32 "1hkpdl4zgycag5k8njvqpx01apxmm8m8pvhlsxgxpqiqy9a38ccg")))) | ||
| 586 | (build-system meson-build-system) | ||
| 587 | (arguments | ||
| 588 | `(#:tests? #f)) ; no test target although there is a test folder | ||
| 589 | (native-inputs | ||
| 590 | `(("pkg-config" ,pkg-config))) | ||
| 591 | (inputs | ||
| 592 | `(("hidapi" ,hidapi))) | ||
| 593 | (home-page "http://www.openhmd.net/") | ||
| 594 | (synopsis "API and drivers for immersive technology") | ||
| 595 | (description "OpenHMD aims to provide an API and drivers for immersive | ||
| 596 | technology, such as head mounted displays with built in head tracking.") | ||
| 597 | (license license:boost1.0))) | ||
| 598 | |||
| 571 | (define-public wavemon | 599 | (define-public wavemon |
| 572 | (package | 600 | (package |
| 573 | (name "wavemon") | 601 | (name "wavemon") |
diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm index 16dfebb1b71..bfa2fb4cf70 100644 --- a/gnu/packages/image-processing.scm +++ b/gnu/packages/image-processing.scm | |||
| @@ -18,6 +18,7 @@ | |||
| 18 | ;;; Copyright © 2021 Ekaitz Zarraga <ekaitz@elenq.tech> | 18 | ;;; Copyright © 2021 Ekaitz Zarraga <ekaitz@elenq.tech> |
| 19 | ;;; Copyright © 2021 Paul Garlick <pgarlick@tourbillion-technology.com> | 19 | ;;; Copyright © 2021 Paul Garlick <pgarlick@tourbillion-technology.com> |
| 20 | ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> | 20 | ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> |
| 21 | ;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru> | ||
| 21 | ;;; | 22 | ;;; |
| 22 | ;;; This file is part of GNU Guix. | 23 | ;;; This file is part of GNU Guix. |
| 23 | ;;; | 24 | ;;; |
| @@ -57,6 +58,7 @@ | |||
| 57 | #:use-module (gnu packages fontutils) | 58 | #:use-module (gnu packages fontutils) |
| 58 | #:use-module (gnu packages geo) | 59 | #:use-module (gnu packages geo) |
| 59 | #:use-module (gnu packages ghostscript) | 60 | #:use-module (gnu packages ghostscript) |
| 61 | #:use-module (gnu packages gimp) | ||
| 60 | #:use-module (gnu packages gl) | 62 | #:use-module (gnu packages gl) |
| 61 | #:use-module (gnu packages glib) | 63 | #:use-module (gnu packages glib) |
| 62 | #:use-module (gnu packages gnome) | 64 | #:use-module (gnu packages gnome) |
| @@ -161,7 +163,7 @@ licences similar to the Modified BSD licence.")))) | |||
| 161 | ("maxflow" ,maxflow) | 163 | ("maxflow" ,maxflow) |
| 162 | ("niftilib" ,niftilib) | 164 | ("niftilib" ,niftilib) |
| 163 | ("nlopt" ,nlopt) | 165 | ("nlopt" ,nlopt) |
| 164 | ("openexr" ,openexr) | 166 | ("openexr" ,openexr-2) |
| 165 | ("python-lxml" ,python2-lxml) | 167 | ("python-lxml" ,python2-lxml) |
| 166 | ("vtk" ,vtk))) | 168 | ("vtk" ,vtk))) |
| 167 | (native-inputs | 169 | (native-inputs |
| @@ -231,7 +233,7 @@ of external libraries that provide additional functionality.") | |||
| 231 | ;; ocioconvert fails: error: conflicting declaration ?typedef void | 233 | ;; ocioconvert fails: error: conflicting declaration ?typedef void |
| 232 | ;; (* PFNGLGETFRAGMENTMATERIALFVSGIXPROC)(GLenum, GLenum, GLfloat*) | 234 | ;; (* PFNGLGETFRAGMENTMATERIALFVSGIXPROC)(GLenum, GLenum, GLfloat*) |
| 233 | `(("lcms" ,lcms) | 235 | `(("lcms" ,lcms) |
| 234 | ("openexr" ,openexr) | 236 | ("openexr" ,openexr-2) |
| 235 | ("tinyxml" ,tinyxml))) | 237 | ("tinyxml" ,tinyxml))) |
| 236 | (home-page "https://opencolorio.org") | 238 | (home-page "https://opencolorio.org") |
| 237 | (synopsis "Color management for visual effects and animation") | 239 | (synopsis "Color management for visual effects and animation") |
| @@ -635,7 +637,7 @@ integrates with various databases on GUI toolkits such as Qt and Tk.") | |||
| 635 | ("libwebp" ,libwebp) | 637 | ("libwebp" ,libwebp) |
| 636 | ("zlib" ,zlib) | 638 | ("zlib" ,zlib) |
| 637 | ("gtkglext" ,gtkglext) | 639 | ("gtkglext" ,gtkglext) |
| 638 | ("openexr" ,openexr) | 640 | ("openexr" ,openexr-2) |
| 639 | ("ilmbase" ,ilmbase) | 641 | ("ilmbase" ,ilmbase) |
| 640 | ("gtk+" ,gtk+-2) | 642 | ("gtk+" ,gtk+-2) |
| 641 | ("python-numpy" ,python-numpy) | 643 | ("python-numpy" ,python-numpy) |
| @@ -701,7 +703,7 @@ vision algorithms. It can be used to do things like: | |||
| 701 | ("libwebp" ,libwebp) | 703 | ("libwebp" ,libwebp) |
| 702 | ("matio" ,matio) | 704 | ("matio" ,matio) |
| 703 | ("niftilib" ,niftilib) | 705 | ("niftilib" ,niftilib) |
| 704 | ("openexr" ,openexr) | 706 | ("openexr" ,openexr-2) |
| 705 | ("orc" ,orc) | 707 | ("orc" ,orc) |
| 706 | ("pango" ,pango) | 708 | ("pango" ,pango) |
| 707 | ("poppler" ,poppler))) | 709 | ("poppler" ,poppler))) |
| @@ -753,7 +755,7 @@ due to its architecture which automatically parallelises the image workflows.") | |||
| 753 | ("libtiff" ,libtiff) | 755 | ("libtiff" ,libtiff) |
| 754 | ("libx11" ,libx11) | 756 | ("libx11" ,libx11) |
| 755 | ;;("opencv" ,opencv) ;OpenCV is currently broken in the CI | 757 | ;;("opencv" ,opencv) ;OpenCV is currently broken in the CI |
| 756 | ("openexr" ,openexr) | 758 | ("openexr" ,openexr-2) |
| 757 | ("zlib" ,zlib))) | 759 | ("zlib" ,zlib))) |
| 758 | (home-page "https://gmic.eu/") | 760 | (home-page "https://gmic.eu/") |
| 759 | (synopsis "Full-featured framework for digital image processing") | 761 | (synopsis "Full-featured framework for digital image processing") |
| @@ -801,6 +803,25 @@ including 2D color images.") | |||
| 801 | (assoc-ref %build-inputs "gmic") "/lib"))))) | 803 | (assoc-ref %build-inputs "gmic") "/lib"))))) |
| 802 | (synopsis "Krita plugin for the G'MIC image processing framework"))) | 804 | (synopsis "Krita plugin for the G'MIC image processing framework"))) |
| 803 | 805 | ||
| 806 | (define-public gmic-qt-gimp | ||
| 807 | (package | ||
| 808 | (inherit gmic-qt) | ||
| 809 | (name "gmic-qt-gimp") | ||
| 810 | (inputs | ||
| 811 | ;; GIMP and its dependencies. | ||
| 812 | `(("gimp" ,gimp) | ||
| 813 | ("gdk-pixbuf" ,gdk-pixbuf) | ||
| 814 | ("cairo" ,cairo) | ||
| 815 | ("gegl" ,gegl) | ||
| 816 | ,@(package-inputs gmic-qt))) | ||
| 817 | (arguments | ||
| 818 | (substitute-keyword-arguments (package-arguments gmic-qt) | ||
| 819 | ((#:configure-flags flags) | ||
| 820 | '(list "-DGMIC_QT_HOST=gimp" "-DENABLE_DYNAMIC_LINKING=ON" | ||
| 821 | (string-append "-DGMIC_LIB_PATH=" | ||
| 822 | (assoc-ref %build-inputs "gmic") "/lib"))))) | ||
| 823 | (synopsis "GIMP plugin for the G'MIC image processing framework"))) | ||
| 824 | |||
| 804 | (define-public nip2 | 825 | (define-public nip2 |
| 805 | (package | 826 | (package |
| 806 | (name "nip2") | 827 | (name "nip2") |
| @@ -840,7 +861,7 @@ including 2D color images.") | |||
| 840 | ("matio" ,matio) | 861 | ("matio" ,matio) |
| 841 | ("lcms" ,lcms) | 862 | ("lcms" ,lcms) |
| 842 | ("libwebp" ,libwebp) | 863 | ("libwebp" ,libwebp) |
| 843 | ("openexr" ,openexr) | 864 | ("openexr" ,openexr-2) |
| 844 | ("poppler" ,poppler) | 865 | ("poppler" ,poppler) |
| 845 | ("gsl" ,gsl))) | 866 | ("gsl" ,gsl))) |
| 846 | (native-inputs | 867 | (native-inputs |
diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm index 75372ecf73d..3917540744e 100644 --- a/gnu/packages/image-viewers.scm +++ b/gnu/packages/image-viewers.scm | |||
| @@ -546,7 +546,7 @@ It supports JPEG, PNG and GIF formats.") | |||
| 546 | ("libpng" ,libpng) | 546 | ("libpng" ,libpng) |
| 547 | ("libjpeg" ,libjpeg-turbo) | 547 | ("libjpeg" ,libjpeg-turbo) |
| 548 | ("lcms" ,lcms) | 548 | ("lcms" ,lcms) |
| 549 | ("openexr" ,openexr) | 549 | ("openexr" ,openexr-2) |
| 550 | ("fftw" ,fftwf) | 550 | ("fftw" ,fftwf) |
| 551 | ("gsl" ,gsl) | 551 | ("gsl" ,gsl) |
| 552 | ("libtiff" ,libtiff))) | 552 | ("libtiff" ,libtiff))) |
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index fce2212c5df..21fba15baa7 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm | |||
| @@ -11,7 +11,7 @@ | |||
| 11 | ;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> | 11 | ;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> |
| 12 | ;;; Copyright © 2016–2021 Tobias Geerinckx-Rice <me@tobias.gr> | 12 | ;;; Copyright © 2016–2021 Tobias Geerinckx-Rice <me@tobias.gr> |
| 13 | ;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org> | 13 | ;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org> |
| 14 | ;;; Copyright © 2016, 2017, 2020 Arun Isaac <arunisaac@systemreboot.net> | 14 | ;;; Copyright © 2016, 2017, 2020, 2021 Arun Isaac <arunisaac@systemreboot.net> |
| 15 | ;;; Copyright © 2016, 2017 Kei Kebreau <kkebreau@posteo.net> | 15 | ;;; Copyright © 2016, 2017 Kei Kebreau <kkebreau@posteo.net> |
| 16 | ;;; Copyright © 2017 Nikita <nikita@n0.is> | 16 | ;;; Copyright © 2017 Nikita <nikita@n0.is> |
| 17 | ;;; Copyright © 2017,2019,2020 Hartmut Goebel <h.goebel@crazy-compilers.com> | 17 | ;;; Copyright © 2017,2019,2020 Hartmut Goebel <h.goebel@crazy-compilers.com> |
| @@ -1168,7 +1168,7 @@ supplies a generic doubly-linked list and some string functions.") | |||
| 1168 | ("libraw" ,libraw) | 1168 | ("libraw" ,libraw) |
| 1169 | ("libtiff" ,libtiff) | 1169 | ("libtiff" ,libtiff) |
| 1170 | ("libwebp" ,libwebp) | 1170 | ("libwebp" ,libwebp) |
| 1171 | ("openexr" ,openexr) | 1171 | ("openexr" ,openexr-2) |
| 1172 | ("openjpeg" ,openjpeg) | 1172 | ("openjpeg" ,openjpeg) |
| 1173 | ("zlib" ,zlib))) | 1173 | ("zlib" ,zlib))) |
| 1174 | (synopsis "Library for handling popular graphics image formats") | 1174 | (synopsis "Library for handling popular graphics image formats") |
| @@ -1209,7 +1209,7 @@ graphics image formats like PNG, BMP, JPEG, TIFF and others.") | |||
| 1209 | ("libjpeg" ,libjpeg-turbo) | 1209 | ("libjpeg" ,libjpeg-turbo) |
| 1210 | ("libpng" ,libpng) | 1210 | ("libpng" ,libpng) |
| 1211 | ("libtiff" ,libtiff) | 1211 | ("libtiff" ,libtiff) |
| 1212 | ("openexr" ,openexr) | 1212 | ("openexr" ,openexr-2) |
| 1213 | ("python" ,python-wrapper) | 1213 | ("python" ,python-wrapper) |
| 1214 | ("python-numpy" ,python-numpy) | 1214 | ("python-numpy" ,python-numpy) |
| 1215 | ("zlib" ,zlib))) | 1215 | ("zlib" ,zlib))) |
| @@ -1362,18 +1362,25 @@ channels.") | |||
| 1362 | (define-public exiv2 | 1362 | (define-public exiv2 |
| 1363 | (package | 1363 | (package |
| 1364 | (name "exiv2") | 1364 | (name "exiv2") |
| 1365 | (version "0.27.4") | 1365 | (version "0.27.5") |
| 1366 | (source | 1366 | (source |
| 1367 | (origin | 1367 | (origin |
| 1368 | (method url-fetch) | 1368 | (method url-fetch) |
| 1369 | (uri (string-append "https://www.exiv2.org/builds/exiv2-" version | 1369 | (uri (string-append "https://www.exiv2.org/builds/exiv2-" version |
| 1370 | "-Source.tar.gz")) | 1370 | "-Source.tar.gz")) |
| 1371 | (sha256 | 1371 | (sha256 |
| 1372 | (base32 "0klhxkxvkzzzcqpzv8jb56pykq0gyhb6rk9vc2kzjahngjx6sdl4")))) | 1372 | (base32 "1qm6bvj28l42km009nc60gffn1qhngc0m2wjlhf90si3mcc8d99m")))) |
| 1373 | (build-system cmake-build-system) | 1373 | (build-system cmake-build-system) |
| 1374 | (arguments | 1374 | (arguments |
| 1375 | '(#:test-target "tests" | 1375 | '(#:test-target "tests" |
| 1376 | #:configure-flags (list "-DEXIV2_BUILD_UNIT_TESTS=ON"))) | 1376 | #:configure-flags (list "-DEXIV2_BUILD_UNIT_TESTS=ON") |
| 1377 | #:phases | ||
| 1378 | (modify-phases %standard-phases | ||
| 1379 | (add-after 'install 'delete-static-libraries | ||
| 1380 | (lambda* (#:key outputs #:allow-other-keys) | ||
| 1381 | (let* ((out (assoc-ref outputs "out")) | ||
| 1382 | (lib (string-append out "/lib"))) | ||
| 1383 | (for-each delete-file (find-files lib "\\.a$")))))))) | ||
| 1377 | (propagated-inputs | 1384 | (propagated-inputs |
| 1378 | `(("expat" ,expat) | 1385 | `(("expat" ,expat) |
| 1379 | ("zlib" ,zlib))) | 1386 | ("zlib" ,zlib))) |
| @@ -1421,7 +1428,7 @@ and XMP metadata of images in various formats.") | |||
| 1421 | ("libmng" ,libmng) | 1428 | ("libmng" ,libmng) |
| 1422 | ("libpng" ,libpng) | 1429 | ("libpng" ,libpng) |
| 1423 | ("libtiff" ,libtiff) | 1430 | ("libtiff" ,libtiff) |
| 1424 | ("openexr" ,openexr) | 1431 | ("openexr" ,openexr-2) |
| 1425 | ("zlib" ,zlib))) | 1432 | ("zlib" ,zlib))) |
| 1426 | (synopsis "Library for manipulating many image formats") | 1433 | (synopsis "Library for manipulating many image formats") |
| 1427 | (description "Developer's Image Library (DevIL) is a library to develop | 1434 | (description "Developer's Image Library (DevIL) is a library to develop |
| @@ -1433,7 +1440,7 @@ convert, manipulate, filter and display a wide variety of image formats.") | |||
| 1433 | (define-public jasper | 1440 | (define-public jasper |
| 1434 | (package | 1441 | (package |
| 1435 | (name "jasper") | 1442 | (name "jasper") |
| 1436 | (version "2.0.32") | 1443 | (version "2.0.33") |
| 1437 | (source (origin | 1444 | (source (origin |
| 1438 | (method git-fetch) | 1445 | (method git-fetch) |
| 1439 | (uri (git-reference | 1446 | (uri (git-reference |
| @@ -1442,7 +1449,7 @@ convert, manipulate, filter and display a wide variety of image formats.") | |||
| 1442 | (file-name (git-file-name name version)) | 1449 | (file-name (git-file-name name version)) |
| 1443 | (sha256 | 1450 | (sha256 |
| 1444 | (base32 | 1451 | (base32 |
| 1445 | "0hhggh2jxp1wn7nwzvbx2z1vi1ih8wmz4av17bljyn0c3mxjs22k")))) | 1452 | "0p3fj89gkhd2ys5ci75cwb6p7rvb2pf52jd8c9d4g76qp846njnx")))) |
| 1446 | (build-system cmake-build-system) | 1453 | (build-system cmake-build-system) |
| 1447 | (inputs | 1454 | (inputs |
| 1448 | `(("libjpeg" ,libjpeg-turbo))) | 1455 | `(("libjpeg" ,libjpeg-turbo))) |
| @@ -2364,7 +2371,7 @@ Wacom-style graphics tablets.") | |||
| 2364 | (define-public phockup | 2371 | (define-public phockup |
| 2365 | (package | 2372 | (package |
| 2366 | (name "phockup") | 2373 | (name "phockup") |
| 2367 | (version "1.5.9") | 2374 | (version "1.7.1") |
| 2368 | (source | 2375 | (source |
| 2369 | (origin | 2376 | (origin |
| 2370 | (method git-fetch) | 2377 | (method git-fetch) |
| @@ -2374,7 +2381,7 @@ Wacom-style graphics tablets.") | |||
| 2374 | (file-name (git-file-name name version)) | 2381 | (file-name (git-file-name name version)) |
| 2375 | (sha256 | 2382 | (sha256 |
| 2376 | (base32 | 2383 | (base32 |
| 2377 | "13ajj0xch7yfqaaxbw0awxs0fz17n1rxir4gqh2wcgxjysqk1j2y")))) | 2384 | "0nqd89g4ppwc96gxyh9npain7ipnzj66p6n3irsvhrpi4k54h388")))) |
| 2378 | (build-system copy-build-system) | 2385 | (build-system copy-build-system) |
| 2379 | (arguments | 2386 | (arguments |
| 2380 | `(#:install-plan '(("src" "share/phockup/") | 2387 | `(#:install-plan '(("src" "share/phockup/") |
| @@ -2394,11 +2401,18 @@ Wacom-style graphics tablets.") | |||
| 2394 | (let ((out (assoc-ref outputs "out"))) | 2401 | (let ((out (assoc-ref outputs "out"))) |
| 2395 | (mkdir (string-append out "/bin")) | 2402 | (mkdir (string-append out "/bin")) |
| 2396 | (symlink (string-append out "/share/phockup/phockup.py") | 2403 | (symlink (string-append out "/share/phockup/phockup.py") |
| 2397 | (string-append out "/bin/phockup"))) | 2404 | (string-append out "/bin/phockup"))))) |
| 2398 | #t))))) | 2405 | (add-after 'install-bin 'wrap-program |
| 2406 | (lambda* (#:key inputs outputs #:allow-other-keys) | ||
| 2407 | (let ((out (assoc-ref outputs "out"))) | ||
| 2408 | (wrap-program (string-append out "/bin/phockup") | ||
| 2409 | `("GUIX_PYTHONPATH" prefix | ||
| 2410 | ,(search-path-as-string->list | ||
| 2411 | (getenv "GUIX_PYTHONPATH")))))))))) | ||
| 2399 | (inputs | 2412 | (inputs |
| 2400 | `(("perl-image-exiftool" ,perl-image-exiftool) | 2413 | `(("perl-image-exiftool" ,perl-image-exiftool) |
| 2401 | ("python" ,python))) | 2414 | ("python" ,python) |
| 2415 | ("python-tqdm" ,python-tqdm))) | ||
| 2402 | (native-inputs | 2416 | (native-inputs |
| 2403 | `(("python-pytest" ,python-pytest) | 2417 | `(("python-pytest" ,python-pytest) |
| 2404 | ("python-pytest-mock" ,python-pytest-mock))) | 2418 | ("python-pytest-mock" ,python-pytest-mock))) |
diff --git a/gnu/packages/javascript.scm b/gnu/packages/javascript.scm index 694b12adae5..49ada1aedd7 100644 --- a/gnu/packages/javascript.scm +++ b/gnu/packages/javascript.scm | |||
| @@ -553,7 +553,7 @@ external server.") | |||
| 553 | (define-public mujs | 553 | (define-public mujs |
| 554 | (package | 554 | (package |
| 555 | (name "mujs") | 555 | (name "mujs") |
| 556 | (version "1.1.1") | 556 | (version "1.1.3") |
| 557 | (source | 557 | (source |
| 558 | (origin | 558 | (origin |
| 559 | (method git-fetch) | 559 | (method git-fetch) |
| @@ -562,7 +562,7 @@ external server.") | |||
| 562 | (commit version))) | 562 | (commit version))) |
| 563 | (file-name (git-file-name name version)) | 563 | (file-name (git-file-name name version)) |
| 564 | (sha256 | 564 | (sha256 |
| 565 | (base32 "0ivqz06fq8v36p2gkjh64vgv0gm7nghds0n42vrv7vm46phdffvb")))) | 565 | (base32 "0qizld89qw24i9v6i2j9cxjyqn425xbiqfp1b7qfrkyxqkn0byws")))) |
| 566 | (build-system gnu-build-system) | 566 | (build-system gnu-build-system) |
| 567 | (arguments | 567 | (arguments |
| 568 | `(#:phases | 568 | `(#:phases |
diff --git a/gnu/packages/julia-jll.scm b/gnu/packages/julia-jll.scm index d3677d0a332..51643819ae6 100644 --- a/gnu/packages/julia-jll.scm +++ b/gnu/packages/julia-jll.scm | |||
| @@ -36,6 +36,7 @@ | |||
| 36 | #:use-module (gnu packages gl) | 36 | #:use-module (gnu packages gl) |
| 37 | #:use-module (gnu packages glib) | 37 | #:use-module (gnu packages glib) |
| 38 | #:use-module (gnu packages gnupg) | 38 | #:use-module (gnu packages gnupg) |
| 39 | #:use-module (gnu packages graphics) | ||
| 39 | #:use-module (gnu packages gtk) | 40 | #:use-module (gnu packages gtk) |
| 40 | #:use-module (gnu packages image) | 41 | #:use-module (gnu packages image) |
| 41 | #:use-module (gnu packages imagemagick) | 42 | #:use-module (gnu packages imagemagick) |
| @@ -522,6 +523,55 @@ rendering library.") | |||
| 522 | (description "This package provides a wrapper for the glib library.") | 523 | (description "This package provides a wrapper for the glib library.") |
| 523 | (license license:expat))) | 524 | (license license:expat))) |
| 524 | 525 | ||
| 526 | (define-public julia-gr-jll | ||
| 527 | (package | ||
| 528 | (name "julia-gr-jll") | ||
| 529 | (version "0.58.1+0") | ||
| 530 | (source | ||
| 531 | (origin | ||
| 532 | (method git-fetch) | ||
| 533 | (uri (git-reference | ||
| 534 | (url "https://github.com/JuliaBinaryWrappers/GR_jll.jl") | ||
| 535 | (commit (string-append "GR-v" version)))) | ||
| 536 | (file-name (git-file-name name version)) | ||
| 537 | (sha256 | ||
| 538 | (base32 "16m22n0wh86v3lh0im2pc9bg381djbmqji5hjx42j6aaz634gqiq")))) | ||
| 539 | (build-system julia-build-system) | ||
| 540 | (arguments | ||
| 541 | '(#:tests? #f ; no runtests | ||
| 542 | #:phases | ||
| 543 | (modify-phases %standard-phases | ||
| 544 | (add-after 'unpack 'override-binary-path | ||
| 545 | (lambda* (#:key inputs #:allow-other-keys) | ||
| 546 | (map | ||
| 547 | (lambda (wrapper) | ||
| 548 | (substitute* wrapper | ||
| 549 | (("generate_wrapper_header.*") | ||
| 550 | (string-append | ||
| 551 | "generate_wrapper_header(\"GR\", \"" | ||
| 552 | (assoc-ref inputs "gr-framework") "\")\n")))) | ||
| 553 | ;; There's a Julia file for each platform, override them all | ||
| 554 | (find-files "src/wrappers/" "\\.jl$"))))))) | ||
| 555 | (inputs | ||
| 556 | `(("gr-framework" ,gr-framework))) | ||
| 557 | (propagated-inputs | ||
| 558 | `(("julia-jllwrappers" ,julia-jllwrappers) | ||
| 559 | ("julia-bzip2-jll" ,julia-bzip2-jll) | ||
| 560 | ("julia-cairo-jll" ,julia-cairo-jll) | ||
| 561 | ("julia-ffmpeg-jll" ,julia-ffmpeg-jll) | ||
| 562 | ("julia-fontconfig-jll" ,julia-fontconfig-jll) | ||
| 563 | ("julia-glfw-jll" ,julia-glfw-jll) | ||
| 564 | ("julia-jpegturbo-jll" ,julia-jpegturbo-jll) | ||
| 565 | ("julia-libpng-jll" ,julia-libpng-jll) | ||
| 566 | ("julia-libtiff-jll" ,julia-libtiff-jll) | ||
| 567 | ("julia-pixman-jll" ,julia-pixman-jll) | ||
| 568 | ("julia-qt5base-jll" ,julia-qt5base-jll) | ||
| 569 | ("julia-zlib-jll" ,julia-zlib-jll))) | ||
| 570 | (home-page "https://github.com/JuliaBinaryWrappers/GR_jll.jl") | ||
| 571 | (synopsis "GR framework library wrappers") | ||
| 572 | (description "This package provides a wrapper for the GR framework.") | ||
| 573 | (license license:expat))) | ||
| 574 | |||
| 525 | (define-public julia-gumbo-jll | 575 | (define-public julia-gumbo-jll |
| 526 | (package | 576 | (package |
| 527 | (name "julia-gumbo-jll") | 577 | (name "julia-gumbo-jll") |
diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm index c1ebc0fba13..93fadf318cc 100644 --- a/gnu/packages/julia-xyz.scm +++ b/gnu/packages/julia-xyz.scm | |||
| @@ -561,6 +561,38 @@ can be a test-only dependency, allowing it to have potentially heavy | |||
| 561 | dependencies, while keeping @code{ChainRulesCore.jl} as light-weight as possible.") | 561 | dependencies, while keeping @code{ChainRulesCore.jl} as light-weight as possible.") |
| 562 | (license license:expat))) | 562 | (license license:expat))) |
| 563 | 563 | ||
| 564 | (define-public julia-codeczlib | ||
| 565 | (package | ||
| 566 | (name "julia-codeczlib") | ||
| 567 | (version "0.7.0") | ||
| 568 | (source | ||
| 569 | (origin | ||
| 570 | (method git-fetch) | ||
| 571 | (uri (git-reference | ||
| 572 | (url "https://github.com/JuliaIO/CodecZlib.jl") | ||
| 573 | (commit (string-append "v" version)))) | ||
| 574 | (file-name (git-file-name name version)) | ||
| 575 | (sha256 | ||
| 576 | (base32 "0xm603nylkwk4bzx66zv1g3syzrvn3jh9spdx7kvcvgszzyrrgh4")))) | ||
| 577 | (build-system julia-build-system) | ||
| 578 | (arguments | ||
| 579 | `(#:phases | ||
| 580 | (modify-phases %standard-phases | ||
| 581 | (add-before 'reset-gzip-timestamps 'make-files-writable | ||
| 582 | (lambda* (#:key outputs #:allow-other-keys) | ||
| 583 | (let ((out (assoc-ref outputs "out"))) | ||
| 584 | (for-each make-file-writable | ||
| 585 | (find-files out "\\.gz$")) | ||
| 586 | #t)))))) | ||
| 587 | (propagated-inputs | ||
| 588 | `(("julia-zlib-jll" ,julia-zlib-jll) | ||
| 589 | ("julia-transcodingstreams" ,julia-transcodingstreams))) | ||
| 590 | (home-page "https://github.com/JuliaIO/CodecZlib.jl") | ||
| 591 | (synopsis "Zlib codecs for @code{TranscodingStreams.jl}") | ||
| 592 | (description "This package provides zlib codecs for | ||
| 593 | @code{TranscodingStreams.jl}.") | ||
| 594 | (license license:expat))) | ||
| 595 | |||
| 564 | (define-public julia-colors | 596 | (define-public julia-colors |
| 565 | (package | 597 | (package |
| 566 | (name "julia-colors") | 598 | (name "julia-colors") |
| @@ -624,11 +656,11 @@ color scales for graphics.") | |||
| 624 | (file-name (git-file-name name version)) | 656 | (file-name (git-file-name name version)) |
| 625 | (sha256 | 657 | (sha256 |
| 626 | (base32 "0n7h70caqv7yd0khjhn90iax62r73mcif8qzkwj5b4q46li1r8ih")))) | 658 | (base32 "0n7h70caqv7yd0khjhn90iax62r73mcif8qzkwj5b4q46li1r8ih")))) |
| 627 | (arguments | ||
| 628 | '(#:tests? #f)) ;require Documenter, not packaged yet | ||
| 629 | (build-system julia-build-system) | 659 | (build-system julia-build-system) |
| 630 | (propagated-inputs | 660 | (propagated-inputs |
| 631 | `(("julia-fixedpointnumbers" ,julia-fixedpointnumbers))) | 661 | `(("julia-fixedpointnumbers" ,julia-fixedpointnumbers))) |
| 662 | (native-inputs | ||
| 663 | `(("julia-documenter" ,julia-documenter))) | ||
| 632 | (home-page "https://github.com/JuliaGraphics/ColorTypes.jl") | 664 | (home-page "https://github.com/JuliaGraphics/ColorTypes.jl") |
| 633 | (synopsis "Basic color types and constructor") | 665 | (synopsis "Basic color types and constructor") |
| 634 | (description "This minimalistic package serves as the foundation for | 666 | (description "This minimalistic package serves as the foundation for |
| @@ -806,14 +838,12 @@ for construction of objects.") | |||
| 806 | (sha256 | 838 | (sha256 |
| 807 | (base32 "15zbkn32v7xlz7559s0r5a0vkwmjwsswxaqpzijly4lky4jnp33d")))) | 839 | (base32 "15zbkn32v7xlz7559s0r5a0vkwmjwsswxaqpzijly4lky4jnp33d")))) |
| 808 | (build-system julia-build-system) | 840 | (build-system julia-build-system) |
| 809 | (arguments | ||
| 810 | `(#:tests? #f)) ; Documenter.jl not packaged yet. | ||
| 811 | (propagated-inputs | 841 | (propagated-inputs |
| 812 | `(("julia-staticarrays" ,julia-staticarrays))) | 842 | `(("julia-staticarrays" ,julia-staticarrays))) |
| 813 | ;(native-inputs | 843 | (native-inputs |
| 814 | ; `(("julia-documenter" ,julia-documenter) | 844 | `(("julia-documenter" ,julia-documenter) |
| 815 | ; ("julia-forwarddiff" ,julia-forwarddiff) | 845 | ("julia-forwarddiff" ,julia-forwarddiff) |
| 816 | ; ("julia-unitful" ,julia-unitful))) | 846 | ("julia-unitful" ,julia-unitful))) |
| 817 | (home-page "https://github.com/JuliaGeometry/CoordinateTransformations.jl") | 847 | (home-page "https://github.com/JuliaGeometry/CoordinateTransformations.jl") |
| 818 | (synopsis "Coordinate transformations in Julia") | 848 | (synopsis "Coordinate transformations in Julia") |
| 819 | (description "@code{CoordinateTransformations} is a Julia package to manage | 849 | (description "@code{CoordinateTransformations} is a Julia package to manage |
| @@ -1745,6 +1775,31 @@ differentiation (AD).") | |||
| 1745 | arbitrary functions.") | 1775 | arbitrary functions.") |
| 1746 | (license license:expat))) | 1776 | (license license:expat))) |
| 1747 | 1777 | ||
| 1778 | (define-public julia-functors | ||
| 1779 | (package | ||
| 1780 | (name "julia-functors") | ||
| 1781 | (version "0.2.7") | ||
| 1782 | (source | ||
| 1783 | (origin | ||
| 1784 | (method git-fetch) | ||
| 1785 | (uri (git-reference | ||
| 1786 | (url "https://github.com/FluxML/Functors.jl") | ||
| 1787 | (commit (string-append "v" version)))) | ||
| 1788 | (file-name (git-file-name name version)) | ||
| 1789 | (sha256 | ||
| 1790 | (base32 "03ry1wn1y2jssq65l29bi6q4ki041aa6gl1nd2w6cgl00k2mrxf3")))) | ||
| 1791 | (build-system julia-build-system) | ||
| 1792 | (home-page "https://fluxml.ai/Functors.jl/stable/") | ||
| 1793 | (synopsis "Design pattern for structures as in machine learning") | ||
| 1794 | (description "This package provides tools to express a design pattern for | ||
| 1795 | dealing with large/ nested structures, as in machine learning and | ||
| 1796 | optimisation. For large machine learning models it can be cumbersome or | ||
| 1797 | inefficient to work with parameters as one big, flat vector, and structs help | ||
| 1798 | in managing complexity; but it is also desirable to easily operate over all | ||
| 1799 | parameters at once, e.g. for changing precision or applying an optimiser | ||
| 1800 | update step.") | ||
| 1801 | (license license:expat))) | ||
| 1802 | |||
| 1748 | (define-public julia-fuzzycompletions | 1803 | (define-public julia-fuzzycompletions |
| 1749 | (package | 1804 | (package |
| 1750 | (name "julia-fuzzycompletions") | 1805 | (name "julia-fuzzycompletions") |
| @@ -1840,6 +1895,73 @@ analysis of dense matrices. The diagonal eigen-decomposition of normal | |||
| 1840 | matrices the Schur form is often more useful.") | 1895 | matrices the Schur form is often more useful.") |
| 1841 | (license license:expat))) | 1896 | (license license:expat))) |
| 1842 | 1897 | ||
| 1898 | (define-public julia-geometrybasics | ||
| 1899 | (package | ||
| 1900 | (name "julia-geometrybasics") | ||
| 1901 | (version "0.4.1") | ||
| 1902 | (source | ||
| 1903 | (origin | ||
| 1904 | (method git-fetch) | ||
| 1905 | (uri (git-reference | ||
| 1906 | (url "https://github.com/JuliaGeometry/GeometryBasics.jl") | ||
| 1907 | (commit (string-append "v" version)))) | ||
| 1908 | (file-name (git-file-name name version)) | ||
| 1909 | (sha256 | ||
| 1910 | (base32 "057j3hjpli3q5b98cqkpi4p10x2k9pyksrz62hjmv1kb5qzdvhsj")))) | ||
| 1911 | (build-system julia-build-system) | ||
| 1912 | (arguments | ||
| 1913 | `(#:phases | ||
| 1914 | (modify-phases %standard-phases | ||
| 1915 | (add-after 'unpack 'remove-earcut | ||
| 1916 | (lambda _ | ||
| 1917 | (substitute* '("Project.toml" | ||
| 1918 | "src/GeometryBasics.jl") | ||
| 1919 | ((".*EarCut.*") "")) | ||
| 1920 | #t)) | ||
| 1921 | (add-after 'unpack 'skip-incompatible-test | ||
| 1922 | (lambda _ | ||
| 1923 | (substitute* "test/runtests.jl" | ||
| 1924 | (("@testset.*MetaT and heterogeneous data.*" all) | ||
| 1925 | (string-append all "return\n"))) | ||
| 1926 | #t))))) | ||
| 1927 | (propagated-inputs | ||
| 1928 | `(("julia-itertools" ,julia-itertools) | ||
| 1929 | ("julia-staticarrays" ,julia-staticarrays) | ||
| 1930 | ("julia-structarrays" ,julia-structarrays) | ||
| 1931 | ("julia-tables" ,julia-tables))) | ||
| 1932 | (native-inputs | ||
| 1933 | `(("julia-offsetarrays" ,julia-offsetarrays))) | ||
| 1934 | (home-page "https://github.com/JuliaGeometry/GeometryBasics.jl") | ||
| 1935 | (synopsis "Basic Geometry Types") | ||
| 1936 | (description "This package aims to offer a standard set of Geometry types, | ||
| 1937 | which easily work with metadata, query frameworks on geometries and different | ||
| 1938 | memory layouts. The aim is to create a solid basis for Graphics/Plotting, | ||
| 1939 | finite elements analysis, Geo applications, and general geometry manipulations | ||
| 1940 | - while offering a Julian API, that still allows performant C-interop.") | ||
| 1941 | (license license:expat))) | ||
| 1942 | |||
| 1943 | (define-public julia-gr | ||
| 1944 | (package | ||
| 1945 | (name "julia-gr") | ||
| 1946 | (version "0.58.1") | ||
| 1947 | (source | ||
| 1948 | (origin | ||
| 1949 | (method git-fetch) | ||
| 1950 | (uri (git-reference | ||
| 1951 | (url "https://github.com/jheinen/GR.jl") | ||
| 1952 | (commit (string-append "v" version)))) | ||
| 1953 | (file-name (git-file-name name version)) | ||
| 1954 | (sha256 | ||
| 1955 | (base32 "18zxa1w2wmrf44c5l10qbh99zjdp7h94gxlymh47cf5kj5fc4xmx")))) | ||
| 1956 | (build-system julia-build-system) | ||
| 1957 | (propagated-inputs | ||
| 1958 | `(("julia-gr-jll" ,julia-gr-jll))) | ||
| 1959 | (home-page "https://github.com/jheinen/GR.jl") | ||
| 1960 | (synopsis "Plotting for Julia based on GR") | ||
| 1961 | (description "This module provides a Julia interface to GR, a framework for | ||
| 1962 | visualisation applications.") | ||
| 1963 | (license license:expat))) | ||
| 1964 | |||
| 1843 | (define-public julia-graphics | 1965 | (define-public julia-graphics |
| 1844 | (package | 1966 | (package |
| 1845 | (name "julia-graphics") | 1967 | (name "julia-graphics") |
| @@ -2326,6 +2448,39 @@ assigned its own index, which is used to retrieve the value from the | |||
| 2326 | indexed images, sometimes called \"colormap images\" or \"paletted images.\"") | 2448 | indexed images, sometimes called \"colormap images\" or \"paletted images.\"") |
| 2327 | (license license:expat))) | 2449 | (license license:expat))) |
| 2328 | 2450 | ||
| 2451 | (define-public julia-infinity | ||
| 2452 | (package | ||
| 2453 | (name "julia-infinity") | ||
| 2454 | (version "0.2.4") | ||
| 2455 | (source | ||
| 2456 | (origin | ||
| 2457 | (method git-fetch) | ||
| 2458 | (uri (git-reference | ||
| 2459 | (url "https://github.com/cjdoris/Infinity.jl") | ||
| 2460 | (commit (string-append "v" version)))) | ||
| 2461 | (file-name (git-file-name name version)) | ||
| 2462 | (sha256 | ||
| 2463 | (base32 "1941lwvrdjnrynigzixxin3chpg1ba6xplvcwc89x0f6z658hwmm")))) | ||
| 2464 | (build-system julia-build-system) | ||
| 2465 | (arguments | ||
| 2466 | `(#:phases | ||
| 2467 | (modify-phases %standard-phases | ||
| 2468 | (add-after 'unpack 'remove-timezones.jl | ||
| 2469 | (lambda _ | ||
| 2470 | (substitute* "test/runtests.jl" | ||
| 2471 | (("using TimeZones.*") "") | ||
| 2472 | ((".*infextendedtime.*") "")) | ||
| 2473 | #t))))) | ||
| 2474 | (propagated-inputs | ||
| 2475 | `(("julia-requires" ,julia-requires))) | ||
| 2476 | (native-inputs | ||
| 2477 | `(("julia-compat" ,julia-compat))) | ||
| 2478 | (home-page "https://docs.juliahub.com/Infinity/") | ||
| 2479 | (synopsis "Representation of infinity in Julia") | ||
| 2480 | (description "This package provides representations for infinity and | ||
| 2481 | negative infinity in Julia.") | ||
| 2482 | (license license:expat))) | ||
| 2483 | |||
| 2329 | (define-public julia-inifile | 2484 | (define-public julia-inifile |
| 2330 | (package | 2485 | (package |
| 2331 | (name "julia-inifile") | 2486 | (name "julia-inifile") |
| @@ -2463,11 +2618,11 @@ as a string together with the return value.") | |||
| 2463 | (file-name (git-file-name name version)) | 2618 | (file-name (git-file-name name version)) |
| 2464 | (sha256 | 2619 | (sha256 |
| 2465 | (base32 "11334fcg2slpwcj0raxf457brhf7pxglgxc6cy8q58ggrpxqfqql")))) | 2620 | (base32 "11334fcg2slpwcj0raxf457brhf7pxglgxc6cy8q58ggrpxqfqql")))) |
| 2466 | (arguments | ||
| 2467 | '(#:tests? #f)) ;require Documenter, not packaged yet | ||
| 2468 | (build-system julia-build-system) | 2621 | (build-system julia-build-system) |
| 2469 | (propagated-inputs | 2622 | (propagated-inputs |
| 2470 | `(("julia-macrotools" ,julia-macrotools))) | 2623 | `(("julia-macrotools" ,julia-macrotools))) |
| 2624 | (native-inputs | ||
| 2625 | `(("julia-documenter" ,julia-documenter))) | ||
| 2471 | (home-page "https://github.com/FluxML/IRTools.jl") | 2626 | (home-page "https://github.com/FluxML/IRTools.jl") |
| 2472 | (synopsis "Simple and flexible IR format") | 2627 | (synopsis "Simple and flexible IR format") |
| 2473 | (description "This package provides a simple and flexible IR format, | 2628 | (description "This package provides a simple and flexible IR format, |
| @@ -2810,6 +2965,32 @@ expressions involving differing types of units that are then evaluated, | |||
| 2810 | resolving them into absolute units.") | 2965 | resolving them into absolute units.") |
| 2811 | (license license:expat))) | 2966 | (license license:expat))) |
| 2812 | 2967 | ||
| 2968 | (define-public julia-media | ||
| 2969 | (package | ||
| 2970 | (name "julia-media") | ||
| 2971 | (version "0.5.0") | ||
| 2972 | (source | ||
| 2973 | (origin | ||
| 2974 | (method git-fetch) | ||
| 2975 | (uri (git-reference | ||
| 2976 | (url "https://github.com/JunoLab/Media.jl") | ||
| 2977 | (commit (string-append "v" version)))) | ||
| 2978 | (file-name (git-file-name name version)) | ||
| 2979 | (sha256 | ||
| 2980 | (base32 "05jq9j3vs8yfj2lwz3sh1vk5rha06xdcikp9s2q3dn316vryy6di")))) | ||
| 2981 | (build-system julia-build-system) | ||
| 2982 | ;; Package without Project.toml | ||
| 2983 | (arguments | ||
| 2984 | '(#:julia-package-name "Media")) | ||
| 2985 | (propagated-inputs | ||
| 2986 | `(("julia-macrotools" ,julia-macrotools))) | ||
| 2987 | (home-page "https://github.com/JunoLab/Media.jl") | ||
| 2988 | (synopsis "Unified measure and coordinates types") | ||
| 2989 | (description "This package provides a display system which enables the | ||
| 2990 | user handle multiple input/output devices and decide what media types get | ||
| 2991 | displayed where.") | ||
| 2992 | (license license:expat))) | ||
| 2993 | |||
| 2813 | (define-public julia-missings | 2994 | (define-public julia-missings |
| 2814 | (package | 2995 | (package |
| 2815 | (name "julia-missings") | 2996 | (name "julia-missings") |
| @@ -3125,10 +3306,10 @@ languages like Fortran.") | |||
| 3125 | (sha256 | 3306 | (sha256 |
| 3126 | (base32 "0ran2vj6ahlzib0g77y7g0jhavy3k9s2mqq23ybpgp9z677wf26h")))) | 3307 | (base32 "0ran2vj6ahlzib0g77y7g0jhavy3k9s2mqq23ybpgp9z677wf26h")))) |
| 3127 | (build-system julia-build-system) | 3308 | (build-system julia-build-system) |
| 3128 | (arguments | ||
| 3129 | '(#:tests? #f)) ;require Documenter, not packaged yet | ||
| 3130 | (propagated-inputs | 3309 | (propagated-inputs |
| 3131 | `(("julia-offsetarrays" ,julia-offsetarrays))) | 3310 | `(("julia-offsetarrays" ,julia-offsetarrays))) |
| 3311 | (native-inputs | ||
| 3312 | `(("julia-documenter" ,julia-documenter))) | ||
| 3132 | (home-page "https://github.com/JuliaArrays/PaddedViews.jl") | 3313 | (home-page "https://github.com/JuliaArrays/PaddedViews.jl") |
| 3133 | (synopsis "Add virtual padding to the edges of an array") | 3314 | (synopsis "Add virtual padding to the edges of an array") |
| 3134 | (description "@code{PaddedViews} provides a simple wrapper type, | 3315 | (description "@code{PaddedViews} provides a simple wrapper type, |
| @@ -4125,8 +4306,7 @@ some performance improvements).") | |||
| 4125 | (base32 "1fwiaxdpx1z9dli3jr8kyraych0jbdiny3qklynf0r13px25r6i7")))) | 4306 | (base32 "1fwiaxdpx1z9dli3jr8kyraych0jbdiny3qklynf0r13px25r6i7")))) |
| 4126 | (build-system julia-build-system) | 4307 | (build-system julia-build-system) |
| 4127 | (arguments | 4308 | (arguments |
| 4128 | `(#:tests? #f ; Documenter.jl not packaged yet | 4309 | `(#:phases |
| 4129 | #:phases | ||
| 4130 | (modify-phases %standard-phases | 4310 | (modify-phases %standard-phases |
| 4131 | (add-after 'unpack 'skip-doctest | 4311 | (add-after 'unpack 'skip-doctest |
| 4132 | (lambda _ | 4312 | (lambda _ |
| @@ -4135,9 +4315,9 @@ some performance improvements).") | |||
| 4135 | #t))))) | 4315 | #t))))) |
| 4136 | (propagated-inputs | 4316 | (propagated-inputs |
| 4137 | `(("julia-offsetarrays" ,julia-offsetarrays))) | 4317 | `(("julia-offsetarrays" ,julia-offsetarrays))) |
| 4138 | ;(native-inputs | 4318 | (native-inputs |
| 4139 | ; `(("julia-aqua" ,julia-aqua) | 4319 | `(("julia-aqua" ,julia-aqua) |
| 4140 | ; ("julia-documenter" ,julia-documenter))) | 4320 | ("julia-documenter" ,julia-documenter))) |
| 4141 | (home-page "https://github.com/JuliaArrays/StackViews.jl") | 4321 | (home-page "https://github.com/JuliaArrays/StackViews.jl") |
| 4142 | (synopsis "No more catcat") | 4322 | (synopsis "No more catcat") |
| 4143 | (description "StackViews provides only one array type: @code{StackView}. | 4323 | (description "StackViews provides only one array type: @code{StackView}. |
| @@ -4541,6 +4721,34 @@ package.") | |||
| 4541 | automatic differentiation for its machine learning platform.") | 4721 | automatic differentiation for its machine learning platform.") |
| 4542 | (license license:expat))) | 4722 | (license license:expat))) |
| 4543 | 4723 | ||
| 4724 | (define-public julia-transcodingstreams | ||
| 4725 | (package | ||
| 4726 | (name "julia-transcodingstreams") | ||
| 4727 | (version "0.9.6") | ||
| 4728 | (source | ||
| 4729 | (origin | ||
| 4730 | (method git-fetch) | ||
| 4731 | (uri (git-reference | ||
| 4732 | (url "https://github.com/JuliaIO/TranscodingStreams.jl") | ||
| 4733 | (commit (string-append "v" version)))) | ||
| 4734 | (file-name (git-file-name name version)) | ||
| 4735 | (sha256 | ||
| 4736 | (base32 "1w3klii293caqiclfh28jggv7f53xclm9fr6xmw38brwrn1hjb48")))) | ||
| 4737 | (build-system julia-build-system) | ||
| 4738 | (arguments | ||
| 4739 | `(#:tests? #f)) ; Circular dependency with various codecs. | ||
| 4740 | (home-page "https://github.com/JuliaIO/TranscodingStreams.jl") | ||
| 4741 | (synopsis "Fast I/O transcoding data streams") | ||
| 4742 | (description "This package provides tools for transcoding data streams | ||
| 4743 | which are: | ||
| 4744 | @itemize | ||
| 4745 | @item fast: small overhead and specialized methods | ||
| 4746 | @item consistent: basic I/O operations work as expected | ||
| 4747 | @item generic: support any I/O objects like files, buffers, pipes, etc. | ||
| 4748 | @item extensible: easy definition for new codec to transcode data | ||
| 4749 | @end itemize") | ||
| 4750 | (license license:expat))) | ||
| 4751 | |||
| 4544 | (define-public julia-typedtables | 4752 | (define-public julia-typedtables |
| 4545 | (package | 4753 | (package |
| 4546 | (name "julia-typedtables") | 4754 | (name "julia-typedtables") |
diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index f7af1f58a95..fe343b19cff 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm | |||
| @@ -1814,7 +1814,7 @@ by applications to write metadata.") | |||
| 1814 | ("pkg-config" ,pkg-config))) | 1814 | ("pkg-config" ,pkg-config))) |
| 1815 | (inputs | 1815 | (inputs |
| 1816 | `(("karchive" ,karchive) ; for Krita and OpenRaster images | 1816 | `(("karchive" ,karchive) ; for Krita and OpenRaster images |
| 1817 | ("openexr" ,openexr) ; for OpenEXR high dynamic-range images | 1817 | ("openexr" ,openexr-2) ; for OpenEXR high dynamic-range images |
| 1818 | ("qtbase" ,qtbase-5))) | 1818 | ("qtbase" ,qtbase-5))) |
| 1819 | (arguments | 1819 | (arguments |
| 1820 | `(#:phases | 1820 | `(#:phases |
diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index dcb91fdb0b0..b5c2357cb40 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm | |||
| @@ -522,7 +522,7 @@ illustrate project schedules.") | |||
| 522 | ("libx11" ,libx11) | 522 | ("libx11" ,libx11) |
| 523 | ("libxcb" ,libxcb) | 523 | ("libxcb" ,libxcb) |
| 524 | ("libxi" ,libxi) | 524 | ("libxi" ,libxi) |
| 525 | ("openexr" ,openexr) | 525 | ("openexr" ,openexr-2) |
| 526 | ("perl" ,perl) | 526 | ("perl" ,perl) |
| 527 | ("poppler-qt5" ,poppler-qt5) | 527 | ("poppler-qt5" ,poppler-qt5) |
| 528 | ("qtbase" ,qtbase-5) | 528 | ("qtbase" ,qtbase-5) |
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 83761e59556..fb7c6f2f093 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm | |||
| @@ -57,6 +57,7 @@ | |||
| 57 | ;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev> | 57 | ;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev> |
| 58 | ;;; Copyright © 2021 Felix Gruber <felgru@posteo.net> | 58 | ;;; Copyright © 2021 Felix Gruber <felgru@posteo.net> |
| 59 | ;;; Copyright © 2021 Josselin Poiret <josselin.poiret@protonmail.ch> | 59 | ;;; Copyright © 2021 Josselin Poiret <josselin.poiret@protonmail.ch> |
| 60 | ;;; Copyright © 2021 Olivier Dion <olivier.dion@polymtl.ca> | ||
| 60 | ;;; | 61 | ;;; |
| 61 | ;;; This file is part of GNU Guix. | 62 | ;;; This file is part of GNU Guix. |
| 62 | ;;; | 63 | ;;; |
| @@ -351,17 +352,17 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." | |||
| 351 | 352 | ||
| 352 | ;; The current "stable" kernels. That is, the most recently released major | 353 | ;; The current "stable" kernels. That is, the most recently released major |
| 353 | ;; versions that are still supported upstream. | 354 | ;; versions that are still supported upstream. |
| 354 | (define-public linux-libre-5.14-version "5.14.12") | 355 | (define-public linux-libre-5.14-version "5.14.15") |
| 355 | (define-public linux-libre-5.14-gnu-revision "gnu") | 356 | (define-public linux-libre-5.14-gnu-revision "gnu") |
| 356 | (define deblob-scripts-5.14 | 357 | (define deblob-scripts-5.14 |
| 357 | (linux-libre-deblob-scripts | 358 | (linux-libre-deblob-scripts |
| 358 | linux-libre-5.14-version | 359 | linux-libre-5.14-version |
| 359 | linux-libre-5.14-gnu-revision | 360 | linux-libre-5.14-gnu-revision |
| 360 | (base32 "00vv2a51cvw2nx8iazmiy9i4h3jj9gvvpwz9gxp2v1hcmrsxq935") | 361 | (base32 "11zax57brk8bl75q68c71xsdlvslj48wpmrv8rh34sb8wym9n4mc") |
| 361 | (base32 "024rz0bp3n3r5nkwbib7byx10d72c2fh5cw9iv00diyzgnp819g7"))) | 362 | (base32 "024rz0bp3n3r5nkwbib7byx10d72c2fh5cw9iv00diyzgnp819g7"))) |
| 362 | (define-public linux-libre-5.14-pristine-source | 363 | (define-public linux-libre-5.14-pristine-source |
| 363 | (let ((version linux-libre-5.14-version) | 364 | (let ((version linux-libre-5.14-version) |
| 364 | (hash (base32 "0dswxf1qk70lms5lph15i7nz3ybwiia58v8zzrmi71ajviwjc9wd"))) | 365 | (hash (base32 "01m4qw1z7xn3ngsbm1bvcvikqpkjjr9n8585556wkmz9d469mwvl"))) |
| 365 | (make-linux-libre-source version | 366 | (make-linux-libre-source version |
| 366 | (%upstream-linux-source version hash) | 367 | (%upstream-linux-source version hash) |
| 367 | deblob-scripts-5.14))) | 368 | deblob-scripts-5.14))) |
| @@ -369,92 +370,92 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." | |||
| 369 | ;; The "longterm" kernels — the older releases with long-term upstream support. | 370 | ;; The "longterm" kernels — the older releases with long-term upstream support. |
| 370 | ;; Here are the support timelines: | 371 | ;; Here are the support timelines: |
| 371 | ;; <https://www.kernel.org/category/releases.html> | 372 | ;; <https://www.kernel.org/category/releases.html> |
| 372 | (define-public linux-libre-5.10-version "5.10.73") | 373 | (define-public linux-libre-5.10-version "5.10.76") |
| 373 | (define-public linux-libre-5.10-gnu-revision "gnu1") | 374 | (define-public linux-libre-5.10-gnu-revision "gnu1") |
| 374 | (define deblob-scripts-5.10 | 375 | (define deblob-scripts-5.10 |
| 375 | (linux-libre-deblob-scripts | 376 | (linux-libre-deblob-scripts |
| 376 | linux-libre-5.10-version | 377 | linux-libre-5.10-version |
| 377 | linux-libre-5.10-gnu-revision | 378 | linux-libre-5.10-gnu-revision |
| 378 | (base32 "19d1pdsilq1ycnx1zw3vhf9mwdxbi5nmgzm0g1kj1lkkf1y4i1mv") | 379 | (base32 "1swy3y851jnnmk3hc0khllpsifb98camlwyskpn1dyvjsgjljd8x") |
| 379 | (base32 "024rz0bp3n3r5nkwbib7byx10d72c2fh5cw9iv00diyzgnp819g7"))) | 380 | (base32 "024rz0bp3n3r5nkwbib7byx10d72c2fh5cw9iv00diyzgnp819g7"))) |
| 380 | (define-public linux-libre-5.10-pristine-source | 381 | (define-public linux-libre-5.10-pristine-source |
| 381 | (let ((version linux-libre-5.10-version) | 382 | (let ((version linux-libre-5.10-version) |
| 382 | (hash (base32 "0xhf0g5pra27hnavpy0y3mn05m5hqn5rd3d6fx0a3vr35c1jicpd"))) | 383 | (hash (base32 "140qkvs88b5zh6mxxzpf36z1r8bbvyh3yigripqjz1k236x0j2j8"))) |
| 383 | (make-linux-libre-source version | 384 | (make-linux-libre-source version |
| 384 | (%upstream-linux-source version hash) | 385 | (%upstream-linux-source version hash) |
| 385 | deblob-scripts-5.10))) | 386 | deblob-scripts-5.10))) |
| 386 | 387 | ||
| 387 | (define-public linux-libre-5.4-version "5.4.153") | 388 | (define-public linux-libre-5.4-version "5.4.156") |
| 388 | (define-public linux-libre-5.4-gnu-revision "gnu1") | 389 | (define-public linux-libre-5.4-gnu-revision "gnu1") |
| 389 | (define deblob-scripts-5.4 | 390 | (define deblob-scripts-5.4 |
| 390 | (linux-libre-deblob-scripts | 391 | (linux-libre-deblob-scripts |
| 391 | linux-libre-5.4-version | 392 | linux-libre-5.4-version |
| 392 | linux-libre-5.4-gnu-revision | 393 | linux-libre-5.4-gnu-revision |
| 393 | (base32 "1cdxljvmivdwcy9v9fr5iv0x0d1884pf3876p9nzrly599lz2wnl") | 394 | (base32 "1nlgk8ajb5wl3aa96h9a0pb9j5a5wmrbpk63varn557x1d00r7wj") |
| 394 | (base32 "1a0k9i8gnzkyvfr80f8xw2fnxfwddhz1pzicz9fh0y3jzzkzk45p"))) | 395 | (base32 "1a0k9i8gnzkyvfr80f8xw2fnxfwddhz1pzicz9fh0y3jzzkzk45p"))) |
| 395 | (define-public linux-libre-5.4-pristine-source | 396 | (define-public linux-libre-5.4-pristine-source |
| 396 | (let ((version linux-libre-5.4-version) | 397 | (let ((version linux-libre-5.4-version) |
| 397 | (hash (base32 "0jaz57sd51xqc7w8k3f43bfc5mdsh1413mdngqqsgr8isv4hg7vd"))) | 398 | (hash (base32 "1zkpqfhrc5n0yiij3jzvzywgabva53c8668f1ly1pkrzcbj77zh6"))) |
| 398 | (make-linux-libre-source version | 399 | (make-linux-libre-source version |
| 399 | (%upstream-linux-source version hash) | 400 | (%upstream-linux-source version hash) |
| 400 | deblob-scripts-5.4))) | 401 | deblob-scripts-5.4))) |
| 401 | 402 | ||
| 402 | (define-public linux-libre-4.19-version "4.19.211") | 403 | (define-public linux-libre-4.19-version "4.19.214") |
| 403 | (define-public linux-libre-4.19-gnu-revision "gnu1") | 404 | (define-public linux-libre-4.19-gnu-revision "gnu1") |
| 404 | (define deblob-scripts-4.19 | 405 | (define deblob-scripts-4.19 |
| 405 | (linux-libre-deblob-scripts | 406 | (linux-libre-deblob-scripts |
| 406 | linux-libre-4.19-version | 407 | linux-libre-4.19-version |
| 407 | linux-libre-4.19-gnu-revision | 408 | linux-libre-4.19-gnu-revision |
| 408 | (base32 "1hiaagdyfy6b0f9ivdy7zq0cd6akaj6v3c4nzikrgsk12vgc1a1q") | 409 | (base32 "06pqv050bkii0hc2v7ymny5264w1bca8db0dp1pw9mfmjg865am5") |
| 409 | (base32 "1a0k9i8gnzkyvfr80f8xw2fnxfwddhz1pzicz9fh0y3jzzkzk45p"))) | 410 | (base32 "1a0k9i8gnzkyvfr80f8xw2fnxfwddhz1pzicz9fh0y3jzzkzk45p"))) |
| 410 | (define-public linux-libre-4.19-pristine-source | 411 | (define-public linux-libre-4.19-pristine-source |
| 411 | (let ((version linux-libre-4.19-version) | 412 | (let ((version linux-libre-4.19-version) |
| 412 | (hash (base32 "1m3y5gsf5s8bb4jxkri20dlxi8aiqabzaijj2h1svz4r19ca8j7v"))) | 413 | (hash (base32 "0i08np4gxiks7chp6j328pdqb02apbba53mj4zvxb9v37qpxzqgz"))) |
| 413 | (make-linux-libre-source version | 414 | (make-linux-libre-source version |
| 414 | (%upstream-linux-source version hash) | 415 | (%upstream-linux-source version hash) |
| 415 | deblob-scripts-4.19))) | 416 | deblob-scripts-4.19))) |
| 416 | 417 | ||
| 417 | (define-public linux-libre-4.14-version "4.14.250") | 418 | (define-public linux-libre-4.14-version "4.14.253") |
| 418 | (define-public linux-libre-4.14-gnu-revision "gnu1") | 419 | (define-public linux-libre-4.14-gnu-revision "gnu1") |
| 419 | (define deblob-scripts-4.14 | 420 | (define deblob-scripts-4.14 |
| 420 | (linux-libre-deblob-scripts | 421 | (linux-libre-deblob-scripts |
| 421 | linux-libre-4.14-version | 422 | linux-libre-4.14-version |
| 422 | linux-libre-4.14-gnu-revision | 423 | linux-libre-4.14-gnu-revision |
| 423 | (base32 "0cnax38650m9sxiwvc1xm5saymlsmx427j3jqpx34df2ah2rnrwf") | 424 | (base32 "02rxvr0gmxb3zfsyyzdmzgfq04gkdkv1cc38md0xfl0mxzdzdfyk") |
| 424 | (base32 "1a0k9i8gnzkyvfr80f8xw2fnxfwddhz1pzicz9fh0y3jzzkzk45p"))) | 425 | (base32 "1a0k9i8gnzkyvfr80f8xw2fnxfwddhz1pzicz9fh0y3jzzkzk45p"))) |
| 425 | (define-public linux-libre-4.14-pristine-source | 426 | (define-public linux-libre-4.14-pristine-source |
| 426 | (let ((version linux-libre-4.14-version) | 427 | (let ((version linux-libre-4.14-version) |
| 427 | (hash (base32 "0zbf6gxm8iwf7cra310gfd0zyj8l9ckdahky9w6wb9wlznwkvd54"))) | 428 | (hash (base32 "1mgl55c8fa2ry4qp0phkdkzjhwfnkbhvi266n348kyjyqnjl234f"))) |
| 428 | (make-linux-libre-source version | 429 | (make-linux-libre-source version |
| 429 | (%upstream-linux-source version hash) | 430 | (%upstream-linux-source version hash) |
| 430 | deblob-scripts-4.14))) | 431 | deblob-scripts-4.14))) |
| 431 | 432 | ||
| 432 | (define-public linux-libre-4.9-version "4.9.286") | 433 | (define-public linux-libre-4.9-version "4.9.288") |
| 433 | (define-public linux-libre-4.9-gnu-revision "gnu1") | 434 | (define-public linux-libre-4.9-gnu-revision "gnu1") |
| 434 | (define deblob-scripts-4.9 | 435 | (define deblob-scripts-4.9 |
| 435 | (linux-libre-deblob-scripts | 436 | (linux-libre-deblob-scripts |
| 436 | linux-libre-4.9-version | 437 | linux-libre-4.9-version |
| 437 | linux-libre-4.9-gnu-revision | 438 | linux-libre-4.9-gnu-revision |
| 438 | (base32 "1n74ddrifnw06hx7ih2sk8jaiqlm1jyyhswyjpxiyhrrcvjcilch") | 439 | (base32 "0nai5m4rbh37qaj1xf2qj7656l2gacfh0847q5d07y22b048fq5n") |
| 439 | (base32 "1a0k9i8gnzkyvfr80f8xw2fnxfwddhz1pzicz9fh0y3jzzkzk45p"))) | 440 | (base32 "1a0k9i8gnzkyvfr80f8xw2fnxfwddhz1pzicz9fh0y3jzzkzk45p"))) |
| 440 | (define-public linux-libre-4.9-pristine-source | 441 | (define-public linux-libre-4.9-pristine-source |
| 441 | (let ((version linux-libre-4.9-version) | 442 | (let ((version linux-libre-4.9-version) |
| 442 | (hash (base32 "0id62p43dmkl9ir278p0dsfg3q7m1d8rlxv0c9qi1pzalkygv8p2"))) | 443 | (hash (base32 "0v5592v565bl924c23m1n7p5zddr0w7zn8m97pmikk6p7cyhjq9n"))) |
| 443 | (make-linux-libre-source version | 444 | (make-linux-libre-source version |
| 444 | (%upstream-linux-source version hash) | 445 | (%upstream-linux-source version hash) |
| 445 | deblob-scripts-4.9))) | 446 | deblob-scripts-4.9))) |
| 446 | 447 | ||
| 447 | (define-public linux-libre-4.4-version "4.4.288") | 448 | (define-public linux-libre-4.4-version "4.4.290") |
| 448 | (define-public linux-libre-4.4-gnu-revision "gnu1") | 449 | (define-public linux-libre-4.4-gnu-revision "gnu1") |
| 449 | (define deblob-scripts-4.4 | 450 | (define deblob-scripts-4.4 |
| 450 | (linux-libre-deblob-scripts | 451 | (linux-libre-deblob-scripts |
| 451 | linux-libre-4.4-version | 452 | linux-libre-4.4-version |
| 452 | linux-libre-4.4-gnu-revision | 453 | linux-libre-4.4-gnu-revision |
| 453 | (base32 "11397dgj6cdfv6anxrj7jwgvnqvwh5i0ci6c8mb85ry6h4fnfmq4") | 454 | (base32 "1mmnv77432la5dkhpy1n8w59c0v6l08fyf2ggh294gyrx8nbci11") |
| 454 | (base32 "1a0k9i8gnzkyvfr80f8xw2fnxfwddhz1pzicz9fh0y3jzzkzk45p"))) | 455 | (base32 "1a0k9i8gnzkyvfr80f8xw2fnxfwddhz1pzicz9fh0y3jzzkzk45p"))) |
| 455 | (define-public linux-libre-4.4-pristine-source | 456 | (define-public linux-libre-4.4-pristine-source |
| 456 | (let ((version linux-libre-4.4-version) | 457 | (let ((version linux-libre-4.4-version) |
| 457 | (hash (base32 "028w3yzmzymy7l1nf3n1pfbg95hfi4ilphkyl00ddgj8sfm542c7"))) | 458 | (hash (base32 "1dcx58nmzkcc5nz2b5b7mgw4w7y28v3s9wd8h78czdqfa0kxrl20"))) |
| 458 | (make-linux-libre-source version | 459 | (make-linux-libre-source version |
| 459 | (%upstream-linux-source version hash) | 460 | (%upstream-linux-source version hash) |
| 460 | deblob-scripts-4.4))) | 461 | deblob-scripts-4.4))) |
| @@ -1226,7 +1227,7 @@ and should be used with caution, especially on untested models.") | |||
| 1226 | (define-public corefreq | 1227 | (define-public corefreq |
| 1227 | (package | 1228 | (package |
| 1228 | (name "corefreq") | 1229 | (name "corefreq") |
| 1229 | (version "1.86.7") | 1230 | (version "1.87.4") |
| 1230 | (source | 1231 | (source |
| 1231 | (origin | 1232 | (origin |
| 1232 | (method git-fetch) | 1233 | (method git-fetch) |
| @@ -1235,7 +1236,7 @@ and should be used with caution, especially on untested models.") | |||
| 1235 | (commit version))) | 1236 | (commit version))) |
| 1236 | (file-name (git-file-name name version)) | 1237 | (file-name (git-file-name name version)) |
| 1237 | (sha256 | 1238 | (sha256 |
| 1238 | (base32 "1k8pyxcahc78kcc8q1h76dr91i1r33jciqhgkajkz3xa28qx8mhn")))) | 1239 | (base32 "01g1smhfzb02gmfjm8c7rchc79dan9jc9pv9c0f8f7fly2hy5zvs")))) |
| 1239 | (build-system linux-module-build-system) | 1240 | (build-system linux-module-build-system) |
| 1240 | (outputs (list "out" "linux-module")) | 1241 | (outputs (list "out" "linux-module")) |
| 1241 | (arguments | 1242 | (arguments |
| @@ -5820,7 +5821,7 @@ feature, and a laptop with an accelerometer. It has no effect on SSDs.") | |||
| 5820 | (define-public thinkfan | 5821 | (define-public thinkfan |
| 5821 | (package | 5822 | (package |
| 5822 | (name "thinkfan") | 5823 | (name "thinkfan") |
| 5823 | (version "1.2.2") | 5824 | (version "1.3.0") |
| 5824 | (source | 5825 | (source |
| 5825 | (origin | 5826 | (origin |
| 5826 | (method git-fetch) | 5827 | (method git-fetch) |
| @@ -5829,7 +5830,7 @@ feature, and a laptop with an accelerometer. It has no effect on SSDs.") | |||
| 5829 | (commit version))) | 5830 | (commit version))) |
| 5830 | (file-name (git-file-name name version)) | 5831 | (file-name (git-file-name name version)) |
| 5831 | (sha256 | 5832 | (sha256 |
| 5832 | (base32 "01l1pnj1cgy3dwgyys2s5iqzyv6kk47vlpy09qjafk8py21ijik3")))) | 5833 | (base32 "1whdhf3aw0g4xwbn1csy2wz6g1hw5nlw64r91nnxba9qn25nl9k4")))) |
| 5833 | (build-system cmake-build-system) | 5834 | (build-system cmake-build-system) |
| 5834 | (arguments | 5835 | (arguments |
| 5835 | `(#:modules ((guix build cmake-build-system) | 5836 | `(#:modules ((guix build cmake-build-system) |
| @@ -8288,6 +8289,71 @@ enable and disable specific instrumentation points, and writes event records | |||
| 8288 | to ring buffers shared with a consumer daemon.") | 8289 | to ring buffers shared with a consumer daemon.") |
| 8289 | (license license:lgpl2.1+))) | 8290 | (license license:lgpl2.1+))) |
| 8290 | 8291 | ||
| 8292 | (define-public lttng-tools | ||
| 8293 | (package | ||
| 8294 | (name "lttng-tools") | ||
| 8295 | (version "2.12.5") | ||
| 8296 | (source (origin | ||
| 8297 | (method url-fetch) | ||
| 8298 | (uri (string-append "https://lttng.org/files/lttng-tools/" | ||
| 8299 | "lttng-tools-" version ".tar.bz2")) | ||
| 8300 | (sha256 | ||
| 8301 | (base32 | ||
| 8302 | "0bgk35423v6z17j1w80m7dcza7gigs1pwyq24sdmgqwg6j2d1zmc")))) | ||
| 8303 | (build-system gnu-build-system) | ||
| 8304 | (arguments | ||
| 8305 | `(;; FIXME - Currently there's a segmentation fault by swig when enabling | ||
| 8306 | ;; Python's bindings. Thus, bindings are disable here. Replace | ||
| 8307 | ;; `disable` by `enable` in #:configure-flags when this is fixed. | ||
| 8308 | #:configure-flags '("--disable-python-bindings") | ||
| 8309 | ;; FIXME - Tests are disabled for now because one test hangs | ||
| 8310 | ;; indefinetely. Also, parallel testing is not possible because of how | ||
| 8311 | ;; the lttng-daemon handles sessions. Thus, keep parallel testing | ||
| 8312 | ;; disabled even after tests are enabled! | ||
| 8313 | #:tests? #f | ||
| 8314 | #:parallel-tests? #f | ||
| 8315 | #:phases | ||
| 8316 | (modify-phases %standard-phases | ||
| 8317 | (add-before 'configure 'set-environment-variables | ||
| 8318 | (lambda _ | ||
| 8319 | (setenv "HOME" "/tmp") | ||
| 8320 | (setenv "LTTNG_HOME" "/tmp"))) | ||
| 8321 | ;; We don't put (which "man") here because LTTng uses execlp. | ||
| 8322 | (add-after 'unpack 'patch-default-man-path | ||
| 8323 | (lambda _ | ||
| 8324 | (substitute* "src/common/defaults.h" | ||
| 8325 | (("/usr/bin/man") "man"))))))) | ||
| 8326 | ;; NOTE - Users have to install python-3 in their profile to use the | ||
| 8327 | ;; bindings. We don't put it in the inputs, because the rest of the tools | ||
| 8328 | ;; can work without it. | ||
| 8329 | (inputs | ||
| 8330 | `(("liburcu" ,liburcu) | ||
| 8331 | ("popt" ,popt) | ||
| 8332 | ("numactl" ,numactl))) | ||
| 8333 | (propagated-inputs | ||
| 8334 | `(("kmod" ,kmod) | ||
| 8335 | ("module-init-tools" ,module-init-tools))) | ||
| 8336 | (native-inputs | ||
| 8337 | `(("pkg-config" ,pkg-config) | ||
| 8338 | ("perl" ,perl) | ||
| 8339 | ("libpfm4" ,libpfm4) | ||
| 8340 | ("python-3" ,python-3) | ||
| 8341 | ("swig" ,swig) | ||
| 8342 | ("procps" ,procps) | ||
| 8343 | ("which" ,which) | ||
| 8344 | ("flex" ,flex) | ||
| 8345 | ("bison" ,bison) | ||
| 8346 | ("asciidoc" ,asciidoc) | ||
| 8347 | ("libxml2" ,libxml2) | ||
| 8348 | ("lttng-ust" ,lttng-ust))) | ||
| 8349 | (home-page "https://lttng.org/") | ||
| 8350 | (synopsis "LTTng userspace tracer libraries") | ||
| 8351 | (description "The lttng-tools project provides a session | ||
| 8352 | daemon @code{lttng-sessiond} that acts as a tracing registry, the @command{lttng} command | ||
| 8353 | line for tracing control, a @code{lttng-ctl} library for tracing control and a | ||
| 8354 | @code{lttng-relayd} for network streaming.") | ||
| 8355 | (license (list license:gpl2 license:lgpl2.1)))) | ||
| 8356 | |||
| 8291 | (define-public kexec-tools | 8357 | (define-public kexec-tools |
| 8292 | (package | 8358 | (package |
| 8293 | (name "kexec-tools") | 8359 | (name "kexec-tools") |
diff --git a/gnu/packages/lisp-check.scm b/gnu/packages/lisp-check.scm index 95918433c4a..ca00e5054e3 100644 --- a/gnu/packages/lisp-check.scm +++ b/gnu/packages/lisp-check.scm | |||
| @@ -1,5 +1,13 @@ | |||
| 1 | ;;; GNU Guix --- Functional package management for GNU | 1 | ;;; GNU Guix --- Functional package management for GNU |
| 2 | ;;; Copyright © 2016, 2017 Andy Patterson <ajpatter@uwaterloo.ca> | ||
| 3 | ;;; Copyright © 2018, 2020 Efraim Flashner <efraim@flashner.co.il> | ||
| 4 | ;;; Copyright © 2018, 2019, 2020, 2021 Pierre Neidhardt <mail@ambrevar.xyz> | ||
| 5 | ;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com> | ||
| 6 | ;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr> | ||
| 7 | ;;; Copyright © 2019, 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com> | ||
| 8 | ;;; Copyright © 2019, 2020, 2021 Guillaume Le Vaillant <glv@posteo.net> | ||
| 2 | ;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com> | 9 | ;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com> |
| 10 | ;;; Copyright © 2021 Charles Jackson <charles.b.jackson@protonmail.com> | ||
| 3 | ;;; | 11 | ;;; |
| 4 | ;;; This file is part of GNU Guix. | 12 | ;;; This file is part of GNU Guix. |
| 5 | ;;; | 13 | ;;; |
| @@ -16,6 +24,9 @@ | |||
| 16 | ;;; You should have received a copy of the GNU General Public License | 24 | ;;; You should have received a copy of the GNU General Public License |
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | 25 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 18 | 26 | ||
| 27 | ;;; This module only contains Common Lisp libraries related to code testing | ||
| 28 | ;;; facilities. | ||
| 29 | |||
| 19 | (define-module (gnu packages lisp-check) | 30 | (define-module (gnu packages lisp-check) |
| 20 | #:use-module (gnu packages) | 31 | #:use-module (gnu packages) |
| 21 | #:use-module ((guix licenses) #:prefix license:) | 32 | #:use-module ((guix licenses) #:prefix license:) |
| @@ -24,10 +35,474 @@ | |||
| 24 | #:use-module (guix git-download) | 35 | #:use-module (guix git-download) |
| 25 | #:use-module (guix build-system asdf)) | 36 | #:use-module (guix build-system asdf)) |
| 26 | 37 | ||
| 27 | ;;; Commentary: | 38 | (define-public sbcl-1am |
| 28 | ;;; | 39 | (let ((commit "8b1da94eca4613fd8a20bdf63f0e609e379b0ba5")) |
| 29 | ;;; This module only contains Common Lisp libraries related to code testing | 40 | (package |
| 30 | ;;; facilities. | 41 | (name "sbcl-1am") |
| 42 | (version (git-version "0.0" "1" commit)) | ||
| 43 | (source | ||
| 44 | (origin | ||
| 45 | (method git-fetch) | ||
| 46 | (uri (git-reference | ||
| 47 | (url "https://github.com/lmj/1am") | ||
| 48 | (commit commit))) | ||
| 49 | (file-name (git-file-name name version)) | ||
| 50 | (sha256 | ||
| 51 | (base32 | ||
| 52 | "05ss4nz1jb9kb796295482b62w5cj29msfj8zis33sp2rw2vmv2g")))) | ||
| 53 | (build-system asdf-build-system/sbcl) | ||
| 54 | (home-page "https://github.com/lmj/1am") | ||
| 55 | (synopsis "Minimal testing framework for Common Lisp") | ||
| 56 | (description "A minimal testing framework for Common Lisp.") | ||
| 57 | (license license:expat)))) | ||
| 58 | |||
| 59 | (define-public cl-1am | ||
| 60 | (sbcl-package->cl-source-package sbcl-1am)) | ||
| 61 | |||
| 62 | (define-public ecl-1am | ||
| 63 | (sbcl-package->ecl-package sbcl-1am)) | ||
| 64 | |||
| 65 | (define-public sbcl-check-it | ||
| 66 | (let ((commit "b79c9103665be3976915b56b570038f03486e62f")) | ||
| 67 | (package | ||
| 68 | (name "sbcl-check-it") | ||
| 69 | (version (git-version "0.1.0" "1" commit)) | ||
| 70 | (source | ||
| 71 | (origin | ||
| 72 | (method git-fetch) | ||
| 73 | (uri (git-reference | ||
| 74 | (url "https://github.com/DalekBaldwin/check-it/") | ||
| 75 | (commit commit))) | ||
| 76 | (file-name (git-file-name name version)) | ||
| 77 | (sha256 | ||
| 78 | (base32 "1kbjwpniffdpv003igmlz5r0vy65m7wpfnhg54fhwirp1227hgg7")))) | ||
| 79 | (build-system asdf-build-system/sbcl) | ||
| 80 | (inputs | ||
| 81 | `(("alexandria" ,sbcl-alexandria) | ||
| 82 | ("closer-mop" ,sbcl-closer-mop) | ||
| 83 | ("optima" ,sbcl-optima))) | ||
| 84 | (native-inputs | ||
| 85 | `(("stefil" ,sbcl-stefil))) | ||
| 86 | (home-page "https://github.com/arclanguage/Clamp") | ||
| 87 | (synopsis "Randomized specification-based testing for Common Lisp") | ||
| 88 | (description | ||
| 89 | "This is a randomized property-based testing library for Common Lisp. | ||
| 90 | Rather than being a full-fledged general test framework in its own right, it's | ||
| 91 | designed to embed randomized tests in whatever framework you like.") | ||
| 92 | (license license:llgpl)))) | ||
| 93 | |||
| 94 | (define-public cl-check-it | ||
| 95 | (sbcl-package->cl-source-package sbcl-check-it)) | ||
| 96 | |||
| 97 | (define-public ecl-check-it | ||
| 98 | (sbcl-package->ecl-package sbcl-check-it)) | ||
| 99 | |||
| 100 | (define-public sbcl-checkl | ||
| 101 | (let ((commit "80328800d047fef9b6e32dfe6bdc98396aee3cc9") | ||
| 102 | (revision "1")) | ||
| 103 | (package | ||
| 104 | (name "sbcl-checkl") | ||
| 105 | (version (git-version "0.0.0" revision commit)) | ||
| 106 | (source | ||
| 107 | (origin | ||
| 108 | (method git-fetch) | ||
| 109 | (uri (git-reference | ||
| 110 | (url "https://github.com/rpav/CheckL") | ||
| 111 | (commit commit))) | ||
| 112 | (file-name (git-file-name name version)) | ||
| 113 | (sha256 | ||
| 114 | (base32 "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx")))) | ||
| 115 | (build-system asdf-build-system/sbcl) | ||
| 116 | (arguments | ||
| 117 | ;; Error while trying to load definition for system checkl-test from | ||
| 118 | ;; pathname [...]/checkl-test.asd: The function CHECKL:DEFINE-TEST-OP | ||
| 119 | ;; is undefined. | ||
| 120 | '(#:asd-files '("checkl.asd") | ||
| 121 | #:tests? #f)) | ||
| 122 | (native-inputs | ||
| 123 | `(("sbcl-fiveam" ,sbcl-fiveam))) | ||
| 124 | (inputs | ||
| 125 | `(("sbcl-marshal" ,sbcl-marshal))) | ||
| 126 | (home-page "https://github.com/rpav/CheckL/") | ||
| 127 | (synopsis "Dynamic testing for Common Lisp") | ||
| 128 | (description | ||
| 129 | "CheckL lets you write tests dynamically, it checks resulting values | ||
| 130 | against the last run.") | ||
| 131 | ;; The author specifies both LLGPL and "BSD", but the "BSD" license | ||
| 132 | ;; isn't specified anywhere, so I don't know which kind. LLGPL is the | ||
| 133 | ;; stronger of the two and so I think only listing this should suffice. | ||
| 134 | (license license:llgpl)))) | ||
| 135 | |||
| 136 | (define-public cl-checkl | ||
| 137 | (sbcl-package->cl-source-package sbcl-checkl)) | ||
| 138 | |||
| 139 | (define-public ecl-checkl | ||
| 140 | (sbcl-package->ecl-package sbcl-checkl)) | ||
| 141 | |||
| 142 | (define-public sbcl-cl-mock | ||
| 143 | ;; .asd version only got updated recently, despired the old GitHug "1.0.1" release. | ||
| 144 | (let ((commit "7988dca2093358911b67597a2cd1570c785dfe76")) | ||
| 145 | (package | ||
| 146 | (name "sbcl-cl-mock") | ||
| 147 | (version (git-version "1.0.1" "1" commit)) | ||
| 148 | (source | ||
| 149 | (origin | ||
| 150 | (method git-fetch) | ||
| 151 | (uri (git-reference | ||
| 152 | (url "https://github.com/Ferada/cl-mock/") | ||
| 153 | (commit commit))) | ||
| 154 | (file-name (git-file-name name version)) | ||
| 155 | (sha256 | ||
| 156 | (base32 "0f40wikcf783jx26ip0nnhwjjfjvjiw7njqsqrb6kaphc8bgw0i1")))) | ||
| 157 | (build-system asdf-build-system/sbcl) | ||
| 158 | (inputs | ||
| 159 | `(("alexandria" ,sbcl-alexandria) | ||
| 160 | ("closer-mop" ,sbcl-closer-mop) | ||
| 161 | ("trivia" ,sbcl-trivia))) | ||
| 162 | (native-inputs | ||
| 163 | `(("fiveam" ,sbcl-fiveam))) | ||
| 164 | (home-page "https://github.com/Ferada/cl-mock") | ||
| 165 | (synopsis "Mocking functions for Common Lisp testing") | ||
| 166 | (description | ||
| 167 | "This small library provides a way to replace the actual implementation | ||
| 168 | of either regular or generic functions with mocks.") | ||
| 169 | (license license:agpl3)))) | ||
| 170 | |||
| 171 | (define-public ecl-cl-mock | ||
| 172 | (sbcl-package->ecl-package sbcl-cl-mock)) | ||
| 173 | |||
| 174 | (define-public cl-mock | ||
| 175 | (sbcl-package->cl-source-package sbcl-cl-mock)) | ||
| 176 | |||
| 177 | (define-public sbcl-cl-quickcheck | ||
| 178 | (let ((commit "807b2792a30c883a2fbecea8e7db355b50ba662f") | ||
| 179 | (revision "1")) | ||
| 180 | (package | ||
| 181 | (name "sbcl-cl-quickcheck") | ||
| 182 | (version (git-version "0.0.4" revision commit)) | ||
| 183 | (source | ||
| 184 | (origin | ||
| 185 | (method git-fetch) | ||
| 186 | (uri (git-reference | ||
| 187 | (url "https://github.com/mcandre/cl-quickcheck") | ||
| 188 | (commit commit))) | ||
| 189 | (file-name (git-file-name name version)) | ||
| 190 | (sha256 | ||
| 191 | (base32 | ||
| 192 | "165lhypq5xkcys6hvzb3jq7ywnmqvzaflda29qk2cbs3ggas4767")))) | ||
| 193 | (build-system asdf-build-system/sbcl) | ||
| 194 | (synopsis | ||
| 195 | "Common Lisp port of the QuickCheck unit test framework") | ||
| 196 | (description | ||
| 197 | "Common Lisp port of the QuickCheck unit test framework") | ||
| 198 | (home-page "https://github.com/mcandre/cl-quickcheck") | ||
| 199 | ;; MIT | ||
| 200 | (license license:expat)))) | ||
| 201 | |||
| 202 | (define-public cl-quickcheck | ||
| 203 | (sbcl-package->cl-source-package sbcl-cl-quickcheck)) | ||
| 204 | |||
| 205 | (define-public ecl-cl-quickcheck | ||
| 206 | (sbcl-package->ecl-package sbcl-cl-quickcheck)) | ||
| 207 | |||
| 208 | (define-public sbcl-clunit | ||
| 209 | (let ((commit "6f6d72873f0e1207f037470105969384f8380628") | ||
| 210 | (revision "1")) | ||
| 211 | (package | ||
| 212 | (name "sbcl-clunit") | ||
| 213 | (version (git-version "0.2.3" revision commit)) | ||
| 214 | (source | ||
| 215 | (origin | ||
| 216 | (method git-fetch) | ||
| 217 | (uri (git-reference | ||
| 218 | (url "https://github.com/tgutu/clunit") | ||
| 219 | (commit commit))) | ||
| 220 | (file-name (git-file-name name version)) | ||
| 221 | (sha256 | ||
| 222 | (base32 | ||
| 223 | "1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85")))) | ||
| 224 | (build-system asdf-build-system/sbcl) | ||
| 225 | (synopsis "CLUnit is a Common Lisp unit testing framework") | ||
| 226 | (description | ||
| 227 | "CLUnit is a Common Lisp unit testing framework. It is designed | ||
| 228 | to be easy to use so that you can quickly start testing. CLUnit | ||
| 229 | provides a rich set of features aimed at improving your unit testing | ||
| 230 | experience.") | ||
| 231 | (home-page "https://tgutu.github.io/clunit/") | ||
| 232 | ;; MIT License | ||
| 233 | (license license:expat)))) | ||
| 234 | |||
| 235 | (define-public cl-clunit | ||
| 236 | (sbcl-package->cl-source-package sbcl-clunit)) | ||
| 237 | |||
| 238 | (define-public ecl-clunit | ||
| 239 | (sbcl-package->ecl-package sbcl-clunit)) | ||
| 240 | |||
| 241 | (define-public sbcl-clunit2 | ||
| 242 | (let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b") | ||
| 243 | (revision "1")) | ||
| 244 | (package | ||
| 245 | (name "sbcl-clunit2") | ||
| 246 | (version (git-version "0.2.4" revision commit)) | ||
| 247 | (source | ||
| 248 | (origin | ||
| 249 | (method git-fetch) | ||
| 250 | (uri (git-reference | ||
| 251 | (url "https://notabug.org/cage/clunit2.git") | ||
| 252 | (commit commit))) | ||
| 253 | (file-name (git-file-name name version)) | ||
| 254 | (sha256 | ||
| 255 | (base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw")))) | ||
| 256 | (build-system asdf-build-system/sbcl) | ||
| 257 | (synopsis "Unit testing framework for Common Lisp") | ||
| 258 | (description | ||
| 259 | "CLUnit is a Common Lisp unit testing framework. It is designed to be | ||
| 260 | easy to use so that you can quickly start testing.") | ||
| 261 | (home-page "https://notabug.org/cage/clunit2") | ||
| 262 | (license license:expat)))) | ||
| 263 | |||
| 264 | (define-public cl-clunit2 | ||
| 265 | (sbcl-package->cl-source-package sbcl-clunit2)) | ||
| 266 | |||
| 267 | (define-public ecl-clunit2 | ||
| 268 | (sbcl-package->ecl-package sbcl-clunit2)) | ||
| 269 | |||
| 270 | (define-public sbcl-eos | ||
| 271 | (let ((commit "b4413bccc4d142cbe1bf49516c3a0a22c9d99243") | ||
| 272 | (revision "2")) | ||
| 273 | (package | ||
| 274 | (name "sbcl-eos") | ||
| 275 | (version (git-version "0.0.0" revision commit)) | ||
| 276 | (source | ||
| 277 | (origin | ||
| 278 | (method git-fetch) | ||
| 279 | (uri (git-reference | ||
| 280 | (url "https://github.com/adlai/Eos") | ||
| 281 | (commit commit))) | ||
| 282 | (sha256 | ||
| 283 | (base32 "1afllvmlnx97yzz404gycl3pa3kwx427k3hrbf37rpmjlv47knhk")) | ||
| 284 | (file-name (git-file-name "eos" version)))) | ||
| 285 | (build-system asdf-build-system/sbcl) | ||
| 286 | (synopsis "Unit Testing for Common Lisp") | ||
| 287 | (description | ||
| 288 | "Eos was a unit testing library for Common Lisp. | ||
| 289 | It began as a fork of FiveAM; however, FiveAM development has continued, while | ||
| 290 | that of Eos has not. Thus, Eos is now deprecated in favor of FiveAM.") | ||
| 291 | (home-page "https://github.com/adlai/Eos") | ||
| 292 | (license license:expat)))) | ||
| 293 | |||
| 294 | (define-public cl-eos | ||
| 295 | (sbcl-package->cl-source-package sbcl-eos)) | ||
| 296 | |||
| 297 | (define-public ecl-eos | ||
| 298 | (sbcl-package->ecl-package sbcl-eos)) | ||
| 299 | |||
| 300 | (define-public sbcl-fiasco | ||
| 301 | (let ((commit "d62f7558b21addc89f87e306f65d7f760632655f") | ||
| 302 | (revision "1")) | ||
| 303 | (package | ||
| 304 | (name "sbcl-fiasco") | ||
| 305 | (version (git-version "0.0.1" revision commit)) | ||
| 306 | (source | ||
| 307 | (origin | ||
| 308 | (method git-fetch) | ||
| 309 | (uri (git-reference | ||
| 310 | (url "https://github.com/joaotavora/fiasco") | ||
| 311 | (commit commit))) | ||
| 312 | (file-name (git-file-name "fiasco" version)) | ||
| 313 | (sha256 | ||
| 314 | (base32 | ||
| 315 | "1zwxs3d6iswayavcmb49z2892xhym7n556d8dnmvalc32pm9bkjh")))) | ||
| 316 | (build-system asdf-build-system/sbcl) | ||
| 317 | (inputs | ||
| 318 | `(("alexandria" ,sbcl-alexandria) | ||
| 319 | ("trivial-gray-streams" ,sbcl-trivial-gray-streams))) | ||
| 320 | (synopsis "Simple and powerful test framework for Common Lisp") | ||
| 321 | (description "A Common Lisp test framework that treasures your failures, | ||
| 322 | logical continuation of Stefil. It focuses on interactive debugging.") | ||
| 323 | (home-page "https://github.com/joaotavora/fiasco") | ||
| 324 | ;; LICENCE specifies this is public-domain unless the legislation | ||
| 325 | ;; doesn't allow or recognize it. In that case it falls back to a | ||
| 326 | ;; permissive licence. | ||
| 327 | (license (list license:public-domain | ||
| 328 | (license:x11-style "file://LICENCE")))))) | ||
| 329 | |||
| 330 | (define-public cl-fiasco | ||
| 331 | (sbcl-package->cl-source-package sbcl-fiasco)) | ||
| 332 | |||
| 333 | (define-public ecl-fiasco | ||
| 334 | (sbcl-package->ecl-package sbcl-fiasco)) | ||
| 335 | |||
| 336 | (define-public sbcl-fiveam | ||
| 337 | (package | ||
| 338 | (name "sbcl-fiveam") | ||
| 339 | (version "1.4.2") | ||
| 340 | (source | ||
| 341 | (origin | ||
| 342 | (method git-fetch) | ||
| 343 | (uri (git-reference | ||
| 344 | (url "https://github.com/sionescu/fiveam") | ||
| 345 | (commit (string-append "v" version)))) | ||
| 346 | (file-name (git-file-name "fiveam" version)) | ||
| 347 | (sha256 | ||
| 348 | (base32 "04mh5plmlb15jbq3dkd8b9jl1dmbbg4hnd3k7859vpf6s12k5p4j")))) | ||
| 349 | (inputs | ||
| 350 | `(("alexandria" ,sbcl-alexandria) | ||
| 351 | ("net.didierverna.asdf-flv" ,sbcl-net.didierverna.asdf-flv) | ||
| 352 | ("trivial-backtrace" ,sbcl-trivial-backtrace))) | ||
| 353 | (build-system asdf-build-system/sbcl) | ||
| 354 | (synopsis "Common Lisp testing framework") | ||
| 355 | (description "FiveAM is a simple (as far as writing and running tests | ||
| 356 | goes) regression testing framework. It has been designed with Common Lisp's | ||
| 357 | interactive development model in mind.") | ||
| 358 | (home-page "https://common-lisp.net/project/fiveam/") | ||
| 359 | (license license:bsd-3))) | ||
| 360 | |||
| 361 | (define-public cl-fiveam | ||
| 362 | (sbcl-package->cl-source-package sbcl-fiveam)) | ||
| 363 | |||
| 364 | (define-public ecl-fiveam | ||
| 365 | (sbcl-package->ecl-package sbcl-fiveam)) | ||
| 366 | |||
| 367 | (define-public sbcl-hu.dwim.stefil | ||
| 368 | (let ((commit "414902c6f575818c39a8a156b8b61b1adfa73dad")) | ||
| 369 | (package | ||
| 370 | (name "sbcl-hu.dwim.stefil") | ||
| 371 | (version (git-version "0.0.0" "2" commit)) | ||
| 372 | (source | ||
| 373 | (origin | ||
| 374 | (method git-fetch) | ||
| 375 | (uri | ||
| 376 | (git-reference | ||
| 377 | (url "https://github.com/hu-dwim/hu.dwim.stefil") | ||
| 378 | (commit commit))) | ||
| 379 | (sha256 | ||
| 380 | (base32 "14izmjjim590rh74swrssavdmdznj2z8vhqixy780sjhpcr5pmkc")) | ||
| 381 | (file-name (git-file-name "hu.dwim.stefil" version)))) | ||
| 382 | (build-system asdf-build-system/sbcl) | ||
| 383 | (native-inputs | ||
| 384 | `(("asdf:cl-hu.dwim.asdf" ,sbcl-hu.dwim.asdf))) | ||
| 385 | (inputs | ||
| 386 | `(("sbcl-alexandria" ,sbcl-alexandria))) | ||
| 387 | (home-page "http://dwim.hu/project/hu.dwim.stefil") | ||
| 388 | (synopsis "Simple test framework") | ||
| 389 | (description "Stefil is a simple test framework for Common Lisp, | ||
| 390 | with a focus on interactive development.") | ||
| 391 | (license license:public-domain)))) | ||
| 392 | |||
| 393 | (define-public cl-hu.dwim.stefil | ||
| 394 | (sbcl-package->cl-source-package sbcl-hu.dwim.stefil)) | ||
| 395 | |||
| 396 | (define-public ecl-hu.dwim.stefil | ||
| 397 | (sbcl-package->ecl-package sbcl-hu.dwim.stefil)) | ||
| 398 | |||
| 399 | (define-public sbcl-lift | ||
| 400 | (let ((commit "2594160d6ca3a77d8750110dfa63214256aab852") | ||
| 401 | (revision "2")) | ||
| 402 | (package | ||
| 403 | (name "sbcl-lift") | ||
| 404 | (version (git-version "1.7.1" revision commit)) | ||
| 405 | (source | ||
| 406 | (origin | ||
| 407 | (method git-fetch) | ||
| 408 | (uri (git-reference | ||
| 409 | (url "https://github.com/gwkkwg/lift") | ||
| 410 | (commit commit))) | ||
| 411 | (sha256 | ||
| 412 | (base32 "01xvz9sl5l5lai4h9dabmcjnm659wf5zllaxqbs55lffskp6jwq3")) | ||
| 413 | (file-name (git-file-name "lift" version)) | ||
| 414 | (modules '((guix build utils))) | ||
| 415 | (snippet | ||
| 416 | ;; Don't keep the bundled website | ||
| 417 | `(begin | ||
| 418 | (delete-file-recursively "website") | ||
| 419 | #t)))) | ||
| 420 | (build-system asdf-build-system/sbcl) | ||
| 421 | (arguments | ||
| 422 | ;; The tests require a debugger, but we run with the debugger disabled. | ||
| 423 | '(#:tests? #f)) | ||
| 424 | (synopsis "LIsp Framework for Testing") | ||
| 425 | (description | ||
| 426 | "The LIsp Framework for Testing (LIFT) is a unit and system test tool for LISP. | ||
| 427 | Though inspired by SUnit and JUnit, it's built with Lisp in mind. In LIFT, | ||
| 428 | testcases are organized into hierarchical testsuites each of which can have | ||
| 429 | its own fixture. When run, a testcase can succeed, fail, or error. LIFT | ||
| 430 | supports randomized testing, benchmarking, profiling, and reporting.") | ||
| 431 | (home-page "https://github.com/gwkkwg/lift") | ||
| 432 | (license license:expat)))) | ||
| 433 | |||
| 434 | (define-public cl-lift | ||
| 435 | (sbcl-package->cl-source-package sbcl-lift)) | ||
| 436 | |||
| 437 | (define-public ecl-lift | ||
| 438 | (sbcl-package->ecl-package sbcl-lift)) | ||
| 439 | |||
| 440 | (define-public sbcl-lisp-unit | ||
| 441 | (let ((commit "89653a232626b67400bf9a941f9b367da38d3815")) | ||
| 442 | (package | ||
| 443 | (name "sbcl-lisp-unit") | ||
| 444 | (version (git-version "0.0.0" "1" commit)) | ||
| 445 | (source | ||
| 446 | (origin | ||
| 447 | (method git-fetch) | ||
| 448 | (uri (git-reference | ||
| 449 | (url "https://github.com/OdonataResearchLLC/lisp-unit") | ||
| 450 | (commit commit))) | ||
| 451 | (sha256 | ||
| 452 | (base32 | ||
| 453 | "0p6gdmgr7p383nvd66c9y9fp2bjk4jx1lpa5p09g43hr9y9pp9ry")) | ||
| 454 | (file-name (git-file-name "lisp-unit" version)))) | ||
| 455 | (build-system asdf-build-system/sbcl) | ||
| 456 | (synopsis "Common Lisp Test framework inspired by JUnit to be simple of use") | ||
| 457 | (description | ||
| 458 | "@command{lisp-unit} is a Common Lisp library that supports unit | ||
| 459 | testing. It is an extension of the library written by Chris Riesbeck.") | ||
| 460 | (home-page "https://github.com/OdonataResearchLLC/lisp-unit") | ||
| 461 | (license license:expat)))) | ||
| 462 | |||
| 463 | (define-public cl-lisp-unit | ||
| 464 | (sbcl-package->cl-source-package sbcl-lisp-unit)) | ||
| 465 | |||
| 466 | (define-public ecl-lisp-unit | ||
| 467 | (sbcl-package->ecl-package sbcl-lisp-unit)) | ||
| 468 | |||
| 469 | (define-public sbcl-lisp-unit2 | ||
| 470 | ;; There is a cyclical dependency between symbol-munger and lisp-unit2. | ||
| 471 | ;; See https://github.com/AccelerationNet/symbol-munger/issues/4 | ||
| 472 | (let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c") | ||
| 473 | (revision "1")) | ||
| 474 | (package | ||
| 475 | (name "sbcl-lisp-unit2") | ||
| 476 | (version (git-version "0.2.0" revision commit)) | ||
| 477 | (source | ||
| 478 | (origin | ||
| 479 | (method git-fetch) | ||
| 480 | (uri (git-reference | ||
| 481 | (url "https://github.com/AccelerationNet/lisp-unit2") | ||
| 482 | (commit commit))) | ||
| 483 | (file-name (git-file-name name version)) | ||
| 484 | (sha256 | ||
| 485 | (base32 | ||
| 486 | "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp")))) | ||
| 487 | (build-system asdf-build-system/sbcl) | ||
| 488 | (inputs | ||
| 489 | `(("alexandria" ,sbcl-alexandria) | ||
| 490 | ("cl-interpol" ,sbcl-cl-interpol) | ||
| 491 | ("iterate" ,sbcl-iterate) | ||
| 492 | ("symbol-munger" ,sbcl-symbol-munger))) | ||
| 493 | (synopsis "Test Framework for Common Lisp") | ||
| 494 | (description | ||
| 495 | "LISP-UNIT2 is a Common Lisp library that supports unit testing in the | ||
| 496 | style of JUnit for Java. It is a new version of the lisp-unit library written | ||
| 497 | by Chris Riesbeck.") | ||
| 498 | (home-page "https://github.com/AccelerationNet/lisp-unit2") | ||
| 499 | (license license:expat)))) | ||
| 500 | |||
| 501 | (define-public cl-lisp-unit2 | ||
| 502 | (sbcl-package->cl-source-package sbcl-lisp-unit2)) | ||
| 503 | |||
| 504 | (define-public ecl-lisp-unit2 | ||
| 505 | (sbcl-package->ecl-package sbcl-lisp-unit2)) | ||
| 31 | 506 | ||
| 32 | (define-public sbcl-nst | 507 | (define-public sbcl-nst |
| 33 | (let ((commit "6c0990f594abcf5887e8d80f1035e3b60454b61b") | 508 | (let ((commit "6c0990f594abcf5887e8d80f1035e3b60454b61b") |
| @@ -60,4 +535,313 @@ | |||
| 60 | (define-public cl-nst | 535 | (define-public cl-nst |
| 61 | (sbcl-package->cl-source-package sbcl-nst)) | 536 | (sbcl-package->cl-source-package sbcl-nst)) |
| 62 | 537 | ||
| 63 | ;;; lisp-check.scm ends here | 538 | (define-public sbcl-parachute |
| 539 | (let ((commit "ca04dd8e43010a6dfffa26dbe1d62af86008d666") | ||
| 540 | (revision "0")) | ||
| 541 | (package | ||
| 542 | (name "sbcl-parachute") | ||
| 543 | (version (git-version "1.1.1" revision commit)) | ||
| 544 | (source | ||
| 545 | (origin | ||
| 546 | (method git-fetch) | ||
| 547 | (uri | ||
| 548 | (git-reference | ||
| 549 | (url "https://github.com/Shinmera/parachute") | ||
| 550 | (commit commit))) | ||
| 551 | (file-name (git-file-name name version)) | ||
| 552 | (sha256 | ||
| 553 | (base32 | ||
| 554 | "1mvsm3r0r6a2bg75nw0q7n9vlby3ch45qjl7hnb5k1z2n5x5lh60")))) | ||
| 555 | (build-system asdf-build-system/sbcl) | ||
| 556 | (inputs | ||
| 557 | `(("documentation-utils" ,sbcl-documentation-utils) | ||
| 558 | ("form-fiddle" ,sbcl-form-fiddle))) | ||
| 559 | (synopsis "Extensible and cross-compatible testing framework for Common Lisp") | ||
| 560 | (description | ||
| 561 | "Parachute is a simple-to-use and extensible testing framework. | ||
| 562 | In Parachute, things are organised as a bunch of named tests within a package. | ||
| 563 | Each test can contain a bunch of test forms that make up its body.") | ||
| 564 | (home-page "https://shinmera.github.io/parachute/") | ||
| 565 | (license license:zlib)))) | ||
| 566 | |||
| 567 | (define-public cl-parachute | ||
| 568 | (sbcl-package->cl-source-package sbcl-parachute)) | ||
| 569 | |||
| 570 | (define-public ecl-parachute | ||
| 571 | (sbcl-package->ecl-package sbcl-parachute)) | ||
| 572 | |||
| 573 | (define-public sbcl-prove | ||
| 574 | (let ((commit "5d71f02795b89e36f34e8c7d50e69b67ec6ca2de") | ||
| 575 | (revision "2")) | ||
| 576 | (package | ||
| 577 | (name "sbcl-prove") | ||
| 578 | (version (git-version "1.0.0" revision commit)) | ||
| 579 | (source | ||
| 580 | (origin | ||
| 581 | (method git-fetch) | ||
| 582 | (uri (git-reference | ||
| 583 | (url "https://github.com/fukamachi/prove") | ||
| 584 | (commit commit))) | ||
| 585 | (sha256 | ||
| 586 | (base32 "0ca6ha3zhmckq3ad9lxm6sbg4i0hg3m81xhan4dkxd3x9898jzpc")) | ||
| 587 | (file-name (git-file-name "prove" version)))) | ||
| 588 | (build-system asdf-build-system/sbcl) | ||
| 589 | (inputs | ||
| 590 | `(("alexandria" ,sbcl-alexandria) | ||
| 591 | ("cl-colors" ,sbcl-cl-colors) | ||
| 592 | ("cl-ppcre" ,sbcl-cl-ppcre) | ||
| 593 | ("cl-ansi-text" ,sbcl-cl-ansi-text))) | ||
| 594 | (synopsis "Yet another unit testing framework for Common Lisp") | ||
| 595 | (description | ||
| 596 | "This project was originally called @command{cl-test-more}. | ||
| 597 | @command{prove} is yet another unit testing framework for Common Lisp. The | ||
| 598 | advantages of @command{prove} are: | ||
| 599 | |||
| 600 | @itemize | ||
| 601 | @item Various simple functions for testing and informative error messages | ||
| 602 | @item ASDF integration | ||
| 603 | @item Extensible test reporters | ||
| 604 | @item Colorizes the report if it's available (note for SLIME) | ||
| 605 | @item Reports test durations | ||
| 606 | @end itemize\n") | ||
| 607 | (home-page "https://github.com/fukamachi/prove") | ||
| 608 | (license license:expat)))) | ||
| 609 | |||
| 610 | (define-public cl-prove | ||
| 611 | (sbcl-package->cl-source-package sbcl-prove)) | ||
| 612 | |||
| 613 | (define-public ecl-prove | ||
| 614 | (sbcl-package->ecl-package sbcl-prove)) | ||
| 615 | |||
| 616 | (define-public sbcl-ptester | ||
| 617 | (let ((commit "fe69fde54f4bce00ce577feb918796c293fc7253") | ||
| 618 | (revision "1")) | ||
| 619 | (package | ||
| 620 | (name "sbcl-ptester") | ||
| 621 | (version (git-version "2.1.3" revision commit)) | ||
| 622 | (source | ||
| 623 | (origin | ||
| 624 | (method git-fetch) | ||
| 625 | (uri (git-reference | ||
| 626 | (url "http://git.kpe.io/ptester.git") | ||
| 627 | (commit commit))) | ||
| 628 | (file-name (git-file-name name version)) | ||
| 629 | (sha256 | ||
| 630 | (base32 "1l0lfl7cdnr2qf4zh38hi4llxg22c49zkm639bdkmvlkzwj3ndwf")))) | ||
| 631 | (build-system asdf-build-system/sbcl) | ||
| 632 | (home-page "http://quickdocs.org/ptester/") | ||
| 633 | (synopsis "Portable test harness package") | ||
| 634 | (description | ||
| 635 | "@command{ptester} is a portable testing framework based on Franz's | ||
| 636 | tester module.") | ||
| 637 | (license license:llgpl)))) | ||
| 638 | |||
| 639 | (define-public cl-ptester | ||
| 640 | (sbcl-package->cl-source-package sbcl-ptester)) | ||
| 641 | |||
| 642 | (define-public ecl-ptester | ||
| 643 | (sbcl-package->ecl-package sbcl-ptester)) | ||
| 644 | |||
| 645 | (define-public sbcl-rove | ||
| 646 | (package | ||
| 647 | (name "sbcl-rove") | ||
| 648 | (version "0.9.6") | ||
| 649 | (source | ||
| 650 | (origin | ||
| 651 | (method git-fetch) | ||
| 652 | (uri (git-reference | ||
| 653 | (url "https://github.com/fukamachi/rove") | ||
| 654 | (commit "f3695db08203bf26f3b861dc22ac0f4257d3ec21"))) | ||
| 655 | (file-name (git-file-name name version)) | ||
| 656 | (sha256 | ||
| 657 | (base32 | ||
| 658 | "07ala4l2fncxf540fzxj3h5mhi9i4wqllhj0rqk8m2ljl5zbz89q")))) | ||
| 659 | (build-system asdf-build-system/sbcl) | ||
| 660 | (inputs | ||
| 661 | `(("bordeaux-threads" ,sbcl-bordeaux-threads) | ||
| 662 | ("dissect" ,sbcl-dissect) | ||
| 663 | ("trivial-gray-streams" ,sbcl-trivial-gray-streams))) | ||
| 664 | (home-page "https://github.com/fukamachi/rove") | ||
| 665 | (synopsis | ||
| 666 | "Yet another common lisp testing library") | ||
| 667 | (description | ||
| 668 | "Rove is a unit testing framework for Common Lisp applications. | ||
| 669 | This is intended to be a successor of Prove.") | ||
| 670 | (license license:bsd-3))) | ||
| 671 | |||
| 672 | (define-public cl-rove | ||
| 673 | (sbcl-package->cl-source-package sbcl-rove)) | ||
| 674 | |||
| 675 | (define-public ecl-rove | ||
| 676 | (sbcl-package->ecl-package sbcl-rove)) | ||
| 677 | |||
| 678 | (define-public sbcl-rt | ||
| 679 | (let ((commit "a6a7503a0b47953bc7579c90f02a6dba1f6e4c5a") | ||
| 680 | (revision "1")) | ||
| 681 | (package | ||
| 682 | (name "sbcl-rt") | ||
| 683 | (version (git-version "1990.12.19" revision commit)) | ||
| 684 | (source | ||
| 685 | (origin | ||
| 686 | (method git-fetch) | ||
| 687 | (uri (git-reference | ||
| 688 | (url "http://git.kpe.io/rt.git") | ||
| 689 | (commit commit))) | ||
| 690 | (file-name (git-file-name name version)) | ||
| 691 | (sha256 | ||
| 692 | (base32 "13si2rrxaagbr0bkvg6sqicxxpyshabx6ad6byc9n2ik5ysna69b")))) | ||
| 693 | (build-system asdf-build-system/sbcl) | ||
| 694 | (synopsis "MIT Regression Tester") | ||
| 695 | (description | ||
| 696 | "RT provides a framework for writing regression test suites.") | ||
| 697 | (home-page "https://www.cliki.net/rt") | ||
| 698 | (license license:expat)))) | ||
| 699 | |||
| 700 | (define-public cl-rt | ||
| 701 | (sbcl-package->cl-source-package sbcl-rt)) | ||
| 702 | |||
| 703 | (define-public ecl-rt | ||
| 704 | (sbcl-package->ecl-package sbcl-rt)) | ||
| 705 | |||
| 706 | (define-public sbcl-should-test | ||
| 707 | (let ((commit "48facb9f9c07aeceb71fc0c48ce17fd7d54a09d4") | ||
| 708 | (revision "0")) | ||
| 709 | (package | ||
| 710 | (name "sbcl-should-test") | ||
| 711 | (version (git-version "1.0.0" revision commit)) | ||
| 712 | (source | ||
| 713 | (origin | ||
| 714 | (method git-fetch) | ||
| 715 | (uri (git-reference | ||
| 716 | (url "https://github.com/vseloved/should-test") | ||
| 717 | (commit commit))) | ||
| 718 | (file-name (git-file-name "should-test" version)) | ||
| 719 | (sha256 | ||
| 720 | (base32 "1fqqa7lhf28qg60ji9libkylkcy747x576qpjn1y7c945j2fxmnm")))) | ||
| 721 | (build-system asdf-build-system/sbcl) | ||
| 722 | (inputs | ||
| 723 | `(("cl-ppcre" ,sbcl-cl-ppcre) | ||
| 724 | ("local-time" ,sbcl-local-time) | ||
| 725 | ("osicat" ,sbcl-osicat) | ||
| 726 | ("rutils" ,sbcl-rutils))) | ||
| 727 | (home-page "https://github.com/vseloved/should-test") | ||
| 728 | (synopsis "Minimal yet feature-rich Common Lisp test framework") | ||
| 729 | (description | ||
| 730 | "SHOULD-TEST is a methodology-agnostic and non-opinionated Common Lisp | ||
| 731 | test framework, i.e. it doesn't care what kind of test approach you'd like to | ||
| 732 | take.") | ||
| 733 | (license license:expat)))) | ||
| 734 | |||
| 735 | (define-public cl-should-test | ||
| 736 | (sbcl-package->cl-source-package sbcl-should-test)) | ||
| 737 | |||
| 738 | (define-public ecl-should-test | ||
| 739 | (sbcl-package->ecl-package sbcl-should-test)) | ||
| 740 | |||
| 741 | (define-public sbcl-stefil | ||
| 742 | (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a") | ||
| 743 | (revision "0")) | ||
| 744 | (package | ||
| 745 | (name "sbcl-stefil") | ||
| 746 | (version (git-version "0.1" revision commit)) | ||
| 747 | (source | ||
| 748 | (origin | ||
| 749 | (method git-fetch) | ||
| 750 | (uri (git-reference | ||
| 751 | (url "https://gitlab.common-lisp.net/stefil/stefil.git") | ||
| 752 | (commit commit))) | ||
| 753 | (file-name (git-file-name name version)) | ||
| 754 | (sha256 | ||
| 755 | (base32 | ||
| 756 | "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh")))) | ||
| 757 | (build-system asdf-build-system/sbcl) | ||
| 758 | (inputs | ||
| 759 | `(("alexandria" ,sbcl-alexandria) | ||
| 760 | ("iterate" ,sbcl-iterate) | ||
| 761 | ("metabang-bind" ,sbcl-metabang-bind) | ||
| 762 | ("swank" ,sbcl-slime-swank))) | ||
| 763 | (arguments | ||
| 764 | '(#:phases | ||
| 765 | (modify-phases %standard-phases | ||
| 766 | (add-after 'unpack 'drop-unnecessary-dependency | ||
| 767 | (lambda _ | ||
| 768 | (substitute* "package.lisp" | ||
| 769 | ((":stefil-system") "")) | ||
| 770 | #t))))) | ||
| 771 | (home-page "https://common-lisp.net/project/stefil/index-old.shtml") | ||
| 772 | (synopsis "Simple test framework") | ||
| 773 | (description | ||
| 774 | "Stefil is a simple test framework for Common Lisp, with a focus on | ||
| 775 | interactive development.") | ||
| 776 | (license license:public-domain)))) | ||
| 777 | |||
| 778 | (define-public cl-stefil | ||
| 779 | (sbcl-package->cl-source-package sbcl-stefil)) | ||
| 780 | |||
| 781 | (define-public ecl-stefil | ||
| 782 | (sbcl-package->ecl-package sbcl-stefil)) | ||
| 783 | |||
| 784 | (define-public sbcl-unit-test | ||
| 785 | (let ((commit "266afaf4ac091fe0e8803bac2ae72d238144e735") | ||
| 786 | (revision "1")) | ||
| 787 | (package | ||
| 788 | (name "sbcl-unit-test") | ||
| 789 | (version (git-version "0.0.0" revision commit)) | ||
| 790 | (source | ||
| 791 | (origin | ||
| 792 | (method git-fetch) | ||
| 793 | (uri (git-reference | ||
| 794 | (url "https://github.com/hanshuebner/unit-test") | ||
| 795 | (commit commit))) | ||
| 796 | (file-name (git-file-name "unit-test" version)) | ||
| 797 | (sha256 | ||
| 798 | (base32 "11hpksz56iqkv7jw25p2a8r3n9dj922fyarn16d98589g6hdskj9")))) | ||
| 799 | (build-system asdf-build-system/sbcl) | ||
| 800 | (home-page "https://github.com/hanshuebner/unit-test") | ||
| 801 | (synopsis "Unit-testing framework for Common Lisp") | ||
| 802 | (description "This is a unit-testing framework for Common Lisp.") | ||
| 803 | (license license:unlicense)))) | ||
| 804 | |||
| 805 | (define-public ecl-unit-test | ||
| 806 | (sbcl-package->ecl-package sbcl-unit-test)) | ||
| 807 | |||
| 808 | (define-public cl-unit-test | ||
| 809 | (sbcl-package->cl-source-package sbcl-unit-test)) | ||
| 810 | |||
| 811 | (define-public sbcl-xlunit | ||
| 812 | (let ((commit "3805d34b1d8dc77f7e0ee527a2490194292dd0fc") | ||
| 813 | (revision "1")) | ||
| 814 | (package | ||
| 815 | (name "sbcl-xlunit") | ||
| 816 | (version (git-version "0.6.3" revision commit)) | ||
| 817 | (source | ||
| 818 | (origin | ||
| 819 | (method git-fetch) | ||
| 820 | (uri (git-reference | ||
| 821 | (url "http://git.kpe.io/xlunit.git") | ||
| 822 | (commit commit))) | ||
| 823 | (file-name (git-file-name name version)) | ||
| 824 | (sha256 | ||
| 825 | (base32 | ||
| 826 | "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3")))) | ||
| 827 | (build-system asdf-build-system/sbcl) | ||
| 828 | (arguments | ||
| 829 | '(#:phases | ||
| 830 | (modify-phases %standard-phases | ||
| 831 | (add-after 'unpack 'fix-tests | ||
| 832 | (lambda _ | ||
| 833 | (substitute* "xlunit.asd" | ||
| 834 | ((" :force t") "")) | ||
| 835 | #t))))) | ||
| 836 | (synopsis "Unit testing package for Common Lisp") | ||
| 837 | (description | ||
| 838 | "The XLUnit package is a toolkit for building test suites. It is based | ||
| 839 | on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.") | ||
| 840 | (home-page "http://quickdocs.org/xlunit/") | ||
| 841 | (license license:bsd-3)))) | ||
| 842 | |||
| 843 | (define-public cl-xlunit | ||
| 844 | (sbcl-package->cl-source-package sbcl-xlunit)) | ||
| 845 | |||
| 846 | (define-public ecl-xlunit | ||
| 847 | (sbcl-package->ecl-package sbcl-xlunit)) | ||
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index cee2bbe37b4..6521a1add38 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm | |||
| @@ -78,6 +78,7 @@ | |||
| 78 | #:use-module (gnu packages libffi) | 78 | #:use-module (gnu packages libffi) |
| 79 | #:use-module (gnu packages linux) | 79 | #:use-module (gnu packages linux) |
| 80 | #:use-module (gnu packages lisp) | 80 | #:use-module (gnu packages lisp) |
| 81 | #:use-module (gnu packages lisp-check) | ||
| 81 | #:use-module (gnu packages maths) | 82 | #:use-module (gnu packages maths) |
| 82 | #:use-module (gnu packages mp3) | 83 | #:use-module (gnu packages mp3) |
| 83 | #:use-module (gnu packages ncurses) | 84 | #:use-module (gnu packages ncurses) |
| @@ -333,37 +334,6 @@ or cl-launch for portable processing of command-line arguments.") | |||
| 333 | (define-public cl-command-line-arguments | 334 | (define-public cl-command-line-arguments |
| 334 | (sbcl-package->cl-source-package sbcl-command-line-arguments)) | 335 | (sbcl-package->cl-source-package sbcl-command-line-arguments)) |
| 335 | 336 | ||
| 336 | (define-public sbcl-fiveam | ||
| 337 | (package | ||
| 338 | (name "sbcl-fiveam") | ||
| 339 | (version "1.4.2") | ||
| 340 | (source | ||
| 341 | (origin | ||
| 342 | (method git-fetch) | ||
| 343 | (uri (git-reference | ||
| 344 | (url "https://github.com/sionescu/fiveam") | ||
| 345 | (commit (string-append "v" version)))) | ||
| 346 | (file-name (git-file-name "fiveam" version)) | ||
| 347 | (sha256 | ||
| 348 | (base32 "04mh5plmlb15jbq3dkd8b9jl1dmbbg4hnd3k7859vpf6s12k5p4j")))) | ||
| 349 | (inputs | ||
| 350 | `(("alexandria" ,sbcl-alexandria) | ||
| 351 | ("net.didierverna.asdf-flv" ,sbcl-net.didierverna.asdf-flv) | ||
| 352 | ("trivial-backtrace" ,sbcl-trivial-backtrace))) | ||
| 353 | (build-system asdf-build-system/sbcl) | ||
| 354 | (synopsis "Common Lisp testing framework") | ||
| 355 | (description "FiveAM is a simple (as far as writing and running tests | ||
| 356 | goes) regression testing framework. It has been designed with Common Lisp's | ||
| 357 | interactive development model in mind.") | ||
| 358 | (home-page "https://common-lisp.net/project/fiveam/") | ||
| 359 | (license license:bsd-3))) | ||
| 360 | |||
| 361 | (define-public cl-fiveam | ||
| 362 | (sbcl-package->cl-source-package sbcl-fiveam)) | ||
| 363 | |||
| 364 | (define-public ecl-fiveam | ||
| 365 | (sbcl-package->ecl-package sbcl-fiveam)) | ||
| 366 | |||
| 367 | (define-public sbcl-cl-irc | 337 | (define-public sbcl-cl-irc |
| 368 | (let ((commit "963823537c7bfcda2edd4c44d172192da6722175") | 338 | (let ((commit "963823537c7bfcda2edd4c44d172192da6722175") |
| 369 | (revision "0")) | 339 | (revision "0")) |
| @@ -512,42 +482,6 @@ thin compatibility layer for gray streams.") | |||
| 512 | (define-public ecl-trivial-gray-streams | 482 | (define-public ecl-trivial-gray-streams |
| 513 | (sbcl-package->ecl-package sbcl-trivial-gray-streams)) | 483 | (sbcl-package->ecl-package sbcl-trivial-gray-streams)) |
| 514 | 484 | ||
| 515 | (define-public sbcl-fiasco | ||
| 516 | (let ((commit "d62f7558b21addc89f87e306f65d7f760632655f") | ||
| 517 | (revision "1")) | ||
| 518 | (package | ||
| 519 | (name "sbcl-fiasco") | ||
| 520 | (version (git-version "0.0.1" revision commit)) | ||
| 521 | (source | ||
| 522 | (origin | ||
| 523 | (method git-fetch) | ||
| 524 | (uri (git-reference | ||
| 525 | (url "https://github.com/joaotavora/fiasco") | ||
| 526 | (commit commit))) | ||
| 527 | (file-name (git-file-name "fiasco" version)) | ||
| 528 | (sha256 | ||
| 529 | (base32 | ||
| 530 | "1zwxs3d6iswayavcmb49z2892xhym7n556d8dnmvalc32pm9bkjh")))) | ||
| 531 | (build-system asdf-build-system/sbcl) | ||
| 532 | (inputs | ||
| 533 | `(("alexandria" ,sbcl-alexandria) | ||
| 534 | ("trivial-gray-streams" ,sbcl-trivial-gray-streams))) | ||
| 535 | (synopsis "Simple and powerful test framework for Common Lisp") | ||
| 536 | (description "A Common Lisp test framework that treasures your failures, | ||
| 537 | logical continuation of Stefil. It focuses on interactive debugging.") | ||
| 538 | (home-page "https://github.com/joaotavora/fiasco") | ||
| 539 | ;; LICENCE specifies this is public-domain unless the legislation | ||
| 540 | ;; doesn't allow or recognize it. In that case it falls back to a | ||
| 541 | ;; permissive licence. | ||
| 542 | (license (list license:public-domain | ||
| 543 | (license:x11-style "file://LICENCE")))))) | ||
| 544 | |||
| 545 | (define-public cl-fiasco | ||
| 546 | (sbcl-package->cl-source-package sbcl-fiasco)) | ||
| 547 | |||
| 548 | (define-public ecl-fiasco | ||
| 549 | (sbcl-package->ecl-package sbcl-fiasco)) | ||
| 550 | |||
| 551 | (define-public sbcl-flexi-streams | 485 | (define-public sbcl-flexi-streams |
| 552 | (package | 486 | (package |
| 553 | (name "sbcl-flexi-streams") | 487 | (name "sbcl-flexi-streams") |
| @@ -1427,38 +1361,6 @@ documentation system, explicit development support, etc.") | |||
| 1427 | (define-public ecl-hu.dwim.asdf | 1361 | (define-public ecl-hu.dwim.asdf |
| 1428 | (sbcl-package->ecl-package sbcl-hu.dwim.asdf)) | 1362 | (sbcl-package->ecl-package sbcl-hu.dwim.asdf)) |
| 1429 | 1363 | ||
| 1430 | (define-public sbcl-hu.dwim.stefil | ||
| 1431 | (let ((commit "414902c6f575818c39a8a156b8b61b1adfa73dad")) | ||
| 1432 | (package | ||
| 1433 | (name "sbcl-hu.dwim.stefil") | ||
| 1434 | (version (git-version "0.0.0" "2" commit)) | ||
| 1435 | (source | ||
| 1436 | (origin | ||
| 1437 | (method git-fetch) | ||
| 1438 | (uri | ||
| 1439 | (git-reference | ||
| 1440 | (url "https://github.com/hu-dwim/hu.dwim.stefil") | ||
| 1441 | (commit commit))) | ||
| 1442 | (sha256 | ||
| 1443 | (base32 "14izmjjim590rh74swrssavdmdznj2z8vhqixy780sjhpcr5pmkc")) | ||
| 1444 | (file-name (git-file-name "hu.dwim.stefil" version)))) | ||
| 1445 | (build-system asdf-build-system/sbcl) | ||
| 1446 | (native-inputs | ||
| 1447 | `(("asdf:cl-hu.dwim.asdf" ,sbcl-hu.dwim.asdf))) | ||
| 1448 | (inputs | ||
| 1449 | `(("sbcl-alexandria" ,sbcl-alexandria))) | ||
| 1450 | (home-page "http://dwim.hu/project/hu.dwim.stefil") | ||
| 1451 | (synopsis "Simple test framework") | ||
| 1452 | (description "Stefil is a simple test framework for Common Lisp, | ||
| 1453 | with a focus on interactive development.") | ||
| 1454 | (license license:public-domain)))) | ||
| 1455 | |||
| 1456 | (define-public cl-hu.dwim.stefil | ||
| 1457 | (sbcl-package->cl-source-package sbcl-hu.dwim.stefil)) | ||
| 1458 | |||
| 1459 | (define-public ecl-hu.dwim.stefil | ||
| 1460 | (sbcl-package->ecl-package sbcl-hu.dwim.stefil)) | ||
| 1461 | |||
| 1462 | (define-public sbcl-babel | 1364 | (define-public sbcl-babel |
| 1463 | ;; No release since 2014. | 1365 | ;; No release since 2014. |
| 1464 | (let ((commit "aeed2d1b76358db48e6b70a64399c05678a6b9ea")) | 1366 | (let ((commit "aeed2d1b76358db48e6b70a64399c05678a6b9ea")) |
| @@ -1785,36 +1687,6 @@ libraries such as Bordeaux-Threads and Eager Future.") | |||
| 1785 | (define-public ecl-calispel | 1687 | (define-public ecl-calispel |
| 1786 | (sbcl-package->ecl-package sbcl-calispel)) | 1688 | (sbcl-package->ecl-package sbcl-calispel)) |
| 1787 | 1689 | ||
| 1788 | (define-public sbcl-eos | ||
| 1789 | (let ((commit "b4413bccc4d142cbe1bf49516c3a0a22c9d99243") | ||
| 1790 | (revision "2")) | ||
| 1791 | (package | ||
| 1792 | (name "sbcl-eos") | ||
| 1793 | (version (git-version "0.0.0" revision commit)) | ||
| 1794 | (source | ||
| 1795 | (origin | ||
| 1796 | (method git-fetch) | ||
| 1797 | (uri (git-reference | ||
| 1798 | (url "https://github.com/adlai/Eos") | ||
| 1799 | (commit commit))) | ||
| 1800 | (sha256 | ||
| 1801 | (base32 "1afllvmlnx97yzz404gycl3pa3kwx427k3hrbf37rpmjlv47knhk")) | ||
| 1802 | (file-name (git-file-name "eos" version)))) | ||
| 1803 | (build-system asdf-build-system/sbcl) | ||
| 1804 | (synopsis "Unit Testing for Common Lisp") | ||
| 1805 | (description | ||
| 1806 | "Eos was a unit testing library for Common Lisp. | ||
| 1807 | It began as a fork of FiveAM; however, FiveAM development has continued, while | ||
| 1808 | that of Eos has not. Thus, Eos is now deprecated in favor of FiveAM.") | ||
| 1809 | (home-page "https://github.com/adlai/Eos") | ||
| 1810 | (license license:expat)))) | ||
| 1811 | |||
| 1812 | (define-public cl-eos | ||
| 1813 | (sbcl-package->cl-source-package sbcl-eos)) | ||
| 1814 | |||
| 1815 | (define-public ecl-eos | ||
| 1816 | (sbcl-package->ecl-package sbcl-eos)) | ||
| 1817 | |||
| 1818 | (define-public sbcl-esrap | 1690 | (define-public sbcl-esrap |
| 1819 | (let ((commit "866f28fa7a2c1d3fb6d0d0423850d1f9d955750f") | 1691 | (let ((commit "866f28fa7a2c1d3fb6d0d0423850d1f9d955750f") |
| 1820 | (revision "2")) | 1692 | (revision "2")) |
| @@ -2060,34 +1932,6 @@ than the body of the lambda.") | |||
| 2060 | (define-public cl-fn | 1932 | (define-public cl-fn |
| 2061 | (sbcl-package->cl-source-package sbcl-fn)) | 1933 | (sbcl-package->cl-source-package sbcl-fn)) |
| 2062 | 1934 | ||
| 2063 | (define-public sbcl-rt | ||
| 2064 | (let ((commit "a6a7503a0b47953bc7579c90f02a6dba1f6e4c5a") | ||
| 2065 | (revision "1")) | ||
| 2066 | (package | ||
| 2067 | (name "sbcl-rt") | ||
| 2068 | (version (git-version "1990.12.19" revision commit)) | ||
| 2069 | (source | ||
| 2070 | (origin | ||
| 2071 | (method git-fetch) | ||
| 2072 | (uri (git-reference | ||
| 2073 | (url "http://git.kpe.io/rt.git") | ||
| 2074 | (commit commit))) | ||
| 2075 | (file-name (git-file-name name version)) | ||
| 2076 | (sha256 | ||
| 2077 | (base32 "13si2rrxaagbr0bkvg6sqicxxpyshabx6ad6byc9n2ik5ysna69b")))) | ||
| 2078 | (build-system asdf-build-system/sbcl) | ||
| 2079 | (synopsis "MIT Regression Tester") | ||
| 2080 | (description | ||
| 2081 | "RT provides a framework for writing regression test suites.") | ||
| 2082 | (home-page "https://www.cliki.net/rt") | ||
| 2083 | (license license:expat)))) | ||
| 2084 | |||
| 2085 | (define-public cl-rt | ||
| 2086 | (sbcl-package->cl-source-package sbcl-rt)) | ||
| 2087 | |||
| 2088 | (define-public ecl-rt | ||
| 2089 | (sbcl-package->ecl-package sbcl-rt)) | ||
| 2090 | |||
| 2091 | (define-public sbcl-nibbles | 1935 | (define-public sbcl-nibbles |
| 2092 | ;; No tagged release since 2018. | 1936 | ;; No tagged release since 2018. |
| 2093 | (let ((commit "dad25240928d5cf8f7df69c4398244e03570bb35") | 1937 | (let ((commit "dad25240928d5cf8f7df69c4398244e03570bb35") |
| @@ -2388,35 +2232,6 @@ project.") | |||
| 2388 | (define-public cl-mssql | 2232 | (define-public cl-mssql |
| 2389 | (sbcl-package->cl-source-package sbcl-mssql)) | 2233 | (sbcl-package->cl-source-package sbcl-mssql)) |
| 2390 | 2234 | ||
| 2391 | (define-public sbcl-lisp-unit | ||
| 2392 | (let ((commit "89653a232626b67400bf9a941f9b367da38d3815")) | ||
| 2393 | (package | ||
| 2394 | (name "sbcl-lisp-unit") | ||
| 2395 | (version (git-version "0.0.0" "1" commit)) | ||
| 2396 | (source | ||
| 2397 | (origin | ||
| 2398 | (method git-fetch) | ||
| 2399 | (uri (git-reference | ||
| 2400 | (url "https://github.com/OdonataResearchLLC/lisp-unit") | ||
| 2401 | (commit commit))) | ||
| 2402 | (sha256 | ||
| 2403 | (base32 | ||
| 2404 | "0p6gdmgr7p383nvd66c9y9fp2bjk4jx1lpa5p09g43hr9y9pp9ry")) | ||
| 2405 | (file-name (git-file-name "lisp-unit" version)))) | ||
| 2406 | (build-system asdf-build-system/sbcl) | ||
| 2407 | (synopsis "Common Lisp Test framework inspired by JUnit to be simple of use") | ||
| 2408 | (description | ||
| 2409 | "@command{lisp-unit} is a Common Lisp library that supports unit | ||
| 2410 | testing. It is an extension of the library written by Chris Riesbeck.") | ||
| 2411 | (home-page "https://github.com/OdonataResearchLLC/lisp-unit") | ||
| 2412 | (license license:expat)))) | ||
| 2413 | |||
| 2414 | (define-public cl-lisp-unit | ||
| 2415 | (sbcl-package->cl-source-package sbcl-lisp-unit)) | ||
| 2416 | |||
| 2417 | (define-public ecl-lisp-unit | ||
| 2418 | (sbcl-package->ecl-package sbcl-lisp-unit)) | ||
| 2419 | |||
| 2420 | (define-public sbcl-anaphora | 2235 | (define-public sbcl-anaphora |
| 2421 | (package | 2236 | (package |
| 2422 | (name "sbcl-anaphora") | 2237 | (name "sbcl-anaphora") |
| @@ -2448,47 +2263,6 @@ new fiends in addition to old friends like @command{aif} and | |||
| 2448 | (define-public ecl-anaphora | 2263 | (define-public ecl-anaphora |
| 2449 | (sbcl-package->ecl-package sbcl-anaphora)) | 2264 | (sbcl-package->ecl-package sbcl-anaphora)) |
| 2450 | 2265 | ||
| 2451 | (define-public sbcl-lift | ||
| 2452 | (let ((commit "2594160d6ca3a77d8750110dfa63214256aab852") | ||
| 2453 | (revision "2")) | ||
| 2454 | (package | ||
| 2455 | (name "sbcl-lift") | ||
| 2456 | (version (git-version "1.7.1" revision commit)) | ||
| 2457 | (source | ||
| 2458 | (origin | ||
| 2459 | (method git-fetch) | ||
| 2460 | (uri (git-reference | ||
| 2461 | (url "https://github.com/gwkkwg/lift") | ||
| 2462 | (commit commit))) | ||
| 2463 | (sha256 | ||
| 2464 | (base32 "01xvz9sl5l5lai4h9dabmcjnm659wf5zllaxqbs55lffskp6jwq3")) | ||
| 2465 | (file-name (git-file-name "lift" version)) | ||
| 2466 | (modules '((guix build utils))) | ||
| 2467 | (snippet | ||
| 2468 | ;; Don't keep the bundled website | ||
| 2469 | `(begin | ||
| 2470 | (delete-file-recursively "website") | ||
| 2471 | #t)))) | ||
| 2472 | (build-system asdf-build-system/sbcl) | ||
| 2473 | (arguments | ||
| 2474 | ;; The tests require a debugger, but we run with the debugger disabled. | ||
| 2475 | '(#:tests? #f)) | ||
| 2476 | (synopsis "LIsp Framework for Testing") | ||
| 2477 | (description | ||
| 2478 | "The LIsp Framework for Testing (LIFT) is a unit and system test tool for LISP. | ||
| 2479 | Though inspired by SUnit and JUnit, it's built with Lisp in mind. In LIFT, | ||
| 2480 | testcases are organized into hierarchical testsuites each of which can have | ||
| 2481 | its own fixture. When run, a testcase can succeed, fail, or error. LIFT | ||
| 2482 | supports randomized testing, benchmarking, profiling, and reporting.") | ||
| 2483 | (home-page "https://github.com/gwkkwg/lift") | ||
| 2484 | (license license:expat)))) | ||
| 2485 | |||
| 2486 | (define-public cl-lift | ||
| 2487 | (sbcl-package->cl-source-package sbcl-lift)) | ||
| 2488 | |||
| 2489 | (define-public ecl-lift | ||
| 2490 | (sbcl-package->ecl-package sbcl-lift)) | ||
| 2491 | |||
| 2492 | (define-public sbcl-let-plus | 2266 | (define-public sbcl-let-plus |
| 2493 | (let ((commit "5f14af61d501ecead02ec6b5a5c810efc0c9fdbb")) | 2267 | (let ((commit "5f14af61d501ecead02ec6b5a5c810efc0c9fdbb")) |
| 2494 | (package | 2268 | (package |
| @@ -2609,49 +2383,6 @@ named color.") | |||
| 2609 | (define-public ecl-cl-ansi-text | 2383 | (define-public ecl-cl-ansi-text |
| 2610 | (sbcl-package->ecl-package sbcl-cl-ansi-text)) | 2384 | (sbcl-package->ecl-package sbcl-cl-ansi-text)) |
| 2611 | 2385 | ||
| 2612 | (define-public sbcl-prove | ||
| 2613 | (let ((commit "5d71f02795b89e36f34e8c7d50e69b67ec6ca2de") | ||
| 2614 | (revision "2")) | ||
| 2615 | (package | ||
| 2616 | (name "sbcl-prove") | ||
| 2617 | (version (git-version "1.0.0" revision commit)) | ||
| 2618 | (source | ||
| 2619 | (origin | ||
| 2620 | (method git-fetch) | ||
| 2621 | (uri (git-reference | ||
| 2622 | (url "https://github.com/fukamachi/prove") | ||
| 2623 | (commit commit))) | ||
| 2624 | (sha256 | ||
| 2625 | (base32 "0ca6ha3zhmckq3ad9lxm6sbg4i0hg3m81xhan4dkxd3x9898jzpc")) | ||
| 2626 | (file-name (git-file-name "prove" version)))) | ||
| 2627 | (build-system asdf-build-system/sbcl) | ||
| 2628 | (inputs | ||
| 2629 | `(("alexandria" ,sbcl-alexandria) | ||
| 2630 | ("cl-colors" ,sbcl-cl-colors) | ||
| 2631 | ("cl-ppcre" ,sbcl-cl-ppcre) | ||
| 2632 | ("cl-ansi-text" ,sbcl-cl-ansi-text))) | ||
| 2633 | (synopsis "Yet another unit testing framework for Common Lisp") | ||
| 2634 | (description | ||
| 2635 | "This project was originally called @command{cl-test-more}. | ||
| 2636 | @command{prove} is yet another unit testing framework for Common Lisp. The | ||
| 2637 | advantages of @command{prove} are: | ||
| 2638 | |||
| 2639 | @itemize | ||
| 2640 | @item Various simple functions for testing and informative error messages | ||
| 2641 | @item ASDF integration | ||
| 2642 | @item Extensible test reporters | ||
| 2643 | @item Colorizes the report if it's available (note for SLIME) | ||
| 2644 | @item Reports test durations | ||
| 2645 | @end itemize\n") | ||
| 2646 | (home-page "https://github.com/fukamachi/prove") | ||
| 2647 | (license license:expat)))) | ||
| 2648 | |||
| 2649 | (define-public cl-prove | ||
| 2650 | (sbcl-package->cl-source-package sbcl-prove)) | ||
| 2651 | |||
| 2652 | (define-public ecl-prove | ||
| 2653 | (sbcl-package->ecl-package sbcl-prove)) | ||
| 2654 | |||
| 2655 | (define-public sbcl-proc-parse | 2386 | (define-public sbcl-proc-parse |
| 2656 | (let ((commit "ac3636834d561bdc2686c956dbd82494537285fd")) | 2387 | (let ((commit "ac3636834d561bdc2686c956dbd82494537285fd")) |
| 2657 | (package | 2388 | (package |
| @@ -2773,35 +2504,6 @@ utilities that make it even easier to manipulate text in Common Lisp. It has | |||
| 2773 | (define-public ecl-cl-string-match | 2504 | (define-public ecl-cl-string-match |
| 2774 | (sbcl-package->ecl-package sbcl-cl-string-match)) | 2505 | (sbcl-package->ecl-package sbcl-cl-string-match)) |
| 2775 | 2506 | ||
| 2776 | (define-public sbcl-ptester | ||
| 2777 | (let ((commit "fe69fde54f4bce00ce577feb918796c293fc7253") | ||
| 2778 | (revision "1")) | ||
| 2779 | (package | ||
| 2780 | (name "sbcl-ptester") | ||
| 2781 | (version (git-version "2.1.3" revision commit)) | ||
| 2782 | (source | ||
| 2783 | (origin | ||
| 2784 | (method git-fetch) | ||
| 2785 | (uri (git-reference | ||
| 2786 | (url "http://git.kpe.io/ptester.git") | ||
| 2787 | (commit commit))) | ||
| 2788 | (file-name (git-file-name name version)) | ||
| 2789 | (sha256 | ||
| 2790 | (base32 "1l0lfl7cdnr2qf4zh38hi4llxg22c49zkm639bdkmvlkzwj3ndwf")))) | ||
| 2791 | (build-system asdf-build-system/sbcl) | ||
| 2792 | (home-page "http://quickdocs.org/ptester/") | ||
| 2793 | (synopsis "Portable test harness package") | ||
| 2794 | (description | ||
| 2795 | "@command{ptester} is a portable testing framework based on Franz's | ||
| 2796 | tester module.") | ||
| 2797 | (license license:llgpl)))) | ||
| 2798 | |||
| 2799 | (define-public cl-ptester | ||
| 2800 | (sbcl-package->cl-source-package sbcl-ptester)) | ||
| 2801 | |||
| 2802 | (define-public ecl-ptester | ||
| 2803 | (sbcl-package->ecl-package sbcl-ptester)) | ||
| 2804 | |||
| 2805 | (define-public sbcl-puri | 2507 | (define-public sbcl-puri |
| 2806 | (let ((commit "4bbab89d9ccbb26346899d1f496c97604fec567b") | 2508 | (let ((commit "4bbab89d9ccbb26346899d1f496c97604fec567b") |
| 2807 | (revision "2")) | 2509 | (revision "2")) |
| @@ -3191,6 +2893,59 @@ relational database engine.") | |||
| 3191 | (define-public ecl-cl-sqlite | 2893 | (define-public ecl-cl-sqlite |
| 3192 | (sbcl-package->ecl-package sbcl-cl-sqlite)) | 2894 | (sbcl-package->ecl-package sbcl-cl-sqlite)) |
| 3193 | 2895 | ||
| 2896 | (define-public sbcl-cl-redis | ||
| 2897 | (let ((commit "7d592417421cf7cd1cffa96043b457af0490df7d") | ||
| 2898 | (revision "0")) | ||
| 2899 | (package | ||
| 2900 | (name "sbcl-cl-redis") | ||
| 2901 | (version (git-version "2.3.8" revision commit)) | ||
| 2902 | (source | ||
| 2903 | (origin | ||
| 2904 | (method git-fetch) | ||
| 2905 | (uri (git-reference | ||
| 2906 | (url "https://github.com/vseloved/cl-redis") | ||
| 2907 | (commit commit))) | ||
| 2908 | (file-name (git-file-name "cl-redis" version)) | ||
| 2909 | (sha256 | ||
| 2910 | (base32 "0x5ahxb5cx37biyn3cjycshhm1rr9p5cf1a9l5hd1n1xjxm2f8vi")))) | ||
| 2911 | (build-system asdf-build-system/sbcl) | ||
| 2912 | (arguments | ||
| 2913 | '(#:phases | ||
| 2914 | (modify-phases %standard-phases | ||
| 2915 | (add-before 'check 'start-redis | ||
| 2916 | (lambda _ | ||
| 2917 | (system "redis-server --port 6379 &")))))) | ||
| 2918 | (native-inputs | ||
| 2919 | `(("bordeaux-threads" ,sbcl-bordeaux-threads) | ||
| 2920 | ("flexi-streams" ,sbcl-flexi-streams) | ||
| 2921 | ("redis" ,redis) | ||
| 2922 | ("should-test" ,sbcl-should-test))) | ||
| 2923 | (inputs | ||
| 2924 | `(("babel" ,sbcl-babel) | ||
| 2925 | ("cl-ppcre" ,sbcl-cl-ppcre) | ||
| 2926 | ("flexi-streams" ,sbcl-flexi-streams) | ||
| 2927 | ("rutils" ,sbcl-rutils) | ||
| 2928 | ("usocket" ,sbcl-usocket))) | ||
| 2929 | (home-page "https://github.com/vseloved/cl-redis") | ||
| 2930 | (synopsis "Common Lisp client for Redis") | ||
| 2931 | (description "This is a Common Lisp wrapper for interacting with the | ||
| 2932 | Redis data structure store.") | ||
| 2933 | (license license:expat)))) | ||
| 2934 | |||
| 2935 | (define-public cl-redis | ||
| 2936 | (sbcl-package->cl-source-package sbcl-cl-redis)) | ||
| 2937 | |||
| 2938 | (define-public ecl-cl-redis | ||
| 2939 | (let ((pkg (sbcl-package->ecl-package sbcl-cl-redis))) | ||
| 2940 | (package | ||
| 2941 | (inherit pkg) | ||
| 2942 | (arguments | ||
| 2943 | (substitute-keyword-arguments (package-arguments pkg) | ||
| 2944 | ;; Tests are failing on ECL with: | ||
| 2945 | ;; Test L-COMMANDS: An error occurred during initialization: | ||
| 2946 | ;; Protocol not found: "tcp". | ||
| 2947 | ((#:tests? _ #f) #f)))))) | ||
| 2948 | |||
| 3194 | (define-public sbcl-parenscript | 2949 | (define-public sbcl-parenscript |
| 3195 | ;; Source archives are overwritten on every release, we use the Git repo instead. | 2950 | ;; Source archives are overwritten on every release, we use the Git repo instead. |
| 3196 | (let ((commit "7a1ac46353cecd144fc91915ba9f122aafcf4766")) | 2951 | (let ((commit "7a1ac46353cecd144fc91915ba9f122aafcf4766")) |
| @@ -4755,48 +4510,6 @@ Only minimal changes required to make your CLOS objects serializable.") | |||
| 4755 | (define-public ecl-marshal | 4510 | (define-public ecl-marshal |
| 4756 | (sbcl-package->ecl-package sbcl-marshal)) | 4511 | (sbcl-package->ecl-package sbcl-marshal)) |
| 4757 | 4512 | ||
| 4758 | (define-public sbcl-checkl | ||
| 4759 | (let ((commit "80328800d047fef9b6e32dfe6bdc98396aee3cc9") | ||
| 4760 | (revision "1")) | ||
| 4761 | (package | ||
| 4762 | (name "sbcl-checkl") | ||
| 4763 | (version (git-version "0.0.0" revision commit)) | ||
| 4764 | (source | ||
| 4765 | (origin | ||
| 4766 | (method git-fetch) | ||
| 4767 | (uri (git-reference | ||
| 4768 | (url "https://github.com/rpav/CheckL") | ||
| 4769 | (commit commit))) | ||
| 4770 | (file-name (git-file-name name version)) | ||
| 4771 | (sha256 | ||
| 4772 | (base32 "0bpisihx1gay44xmyr1dmhlwh00j0zzi04rp9fy35i95l2r4xdlx")))) | ||
| 4773 | (build-system asdf-build-system/sbcl) | ||
| 4774 | (arguments | ||
| 4775 | ;; Error while trying to load definition for system checkl-test from | ||
| 4776 | ;; pathname [...]/checkl-test.asd: The function CHECKL:DEFINE-TEST-OP | ||
| 4777 | ;; is undefined. | ||
| 4778 | '(#:asd-files '("checkl.asd") | ||
| 4779 | #:tests? #f)) | ||
| 4780 | (native-inputs | ||
| 4781 | `(("sbcl-fiveam" ,sbcl-fiveam))) | ||
| 4782 | (inputs | ||
| 4783 | `(("sbcl-marshal" ,sbcl-marshal))) | ||
| 4784 | (home-page "https://github.com/rpav/CheckL/") | ||
| 4785 | (synopsis "Dynamic testing for Common Lisp") | ||
| 4786 | (description | ||
| 4787 | "CheckL lets you write tests dynamically, it checks resulting values | ||
| 4788 | against the last run.") | ||
| 4789 | ;; The author specifies both LLGPL and "BSD", but the "BSD" license | ||
| 4790 | ;; isn't specified anywhere, so I don't know which kind. LLGPL is the | ||
| 4791 | ;; stronger of the two and so I think only listing this should suffice. | ||
| 4792 | (license license:llgpl)))) | ||
| 4793 | |||
| 4794 | (define-public cl-checkl | ||
| 4795 | (sbcl-package->cl-source-package sbcl-checkl)) | ||
| 4796 | |||
| 4797 | (define-public ecl-checkl | ||
| 4798 | (sbcl-package->ecl-package sbcl-checkl)) | ||
| 4799 | |||
| 4800 | (define-public sbcl-fast-io | 4513 | (define-public sbcl-fast-io |
| 4801 | (let ((commit "603f4903dd74fb221859da7058ae6ca3853fe64b") | 4514 | (let ((commit "603f4903dd74fb221859da7058ae6ca3853fe64b") |
| 4802 | (revision "2")) | 4515 | (revision "2")) |
| @@ -5451,39 +5164,6 @@ port within a range.") | |||
| 5451 | (define-public ecl-find-port | 5164 | (define-public ecl-find-port |
| 5452 | (sbcl-package->ecl-package sbcl-find-port)) | 5165 | (sbcl-package->ecl-package sbcl-find-port)) |
| 5453 | 5166 | ||
| 5454 | (define-public sbcl-clunit | ||
| 5455 | (let ((commit "6f6d72873f0e1207f037470105969384f8380628") | ||
| 5456 | (revision "1")) | ||
| 5457 | (package | ||
| 5458 | (name "sbcl-clunit") | ||
| 5459 | (version (git-version "0.2.3" revision commit)) | ||
| 5460 | (source | ||
| 5461 | (origin | ||
| 5462 | (method git-fetch) | ||
| 5463 | (uri (git-reference | ||
| 5464 | (url "https://github.com/tgutu/clunit") | ||
| 5465 | (commit commit))) | ||
| 5466 | (file-name (git-file-name name version)) | ||
| 5467 | (sha256 | ||
| 5468 | (base32 | ||
| 5469 | "1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85")))) | ||
| 5470 | (build-system asdf-build-system/sbcl) | ||
| 5471 | (synopsis "CLUnit is a Common Lisp unit testing framework") | ||
| 5472 | (description | ||
| 5473 | "CLUnit is a Common Lisp unit testing framework. It is designed | ||
| 5474 | to be easy to use so that you can quickly start testing. CLUnit | ||
| 5475 | provides a rich set of features aimed at improving your unit testing | ||
| 5476 | experience.") | ||
| 5477 | (home-page "https://tgutu.github.io/clunit/") | ||
| 5478 | ;; MIT License | ||
| 5479 | (license license:expat)))) | ||
| 5480 | |||
| 5481 | (define-public cl-clunit | ||
| 5482 | (sbcl-package->cl-source-package sbcl-clunit)) | ||
| 5483 | |||
| 5484 | (define-public ecl-clunit | ||
| 5485 | (sbcl-package->ecl-package sbcl-clunit)) | ||
| 5486 | |||
| 5487 | (define-public sbcl-py4cl | 5167 | (define-public sbcl-py4cl |
| 5488 | (let ((commit "4c8a2b0814fd311f978964f825ce012290f60136") | 5168 | (let ((commit "4c8a2b0814fd311f978964f825ce012290f60136") |
| 5489 | (revision "1")) | 5169 | (revision "1")) |
| @@ -5615,37 +5295,6 @@ high-level way. This library provides such operators.") | |||
| 5615 | (define-public ecl-parse-declarations | 5295 | (define-public ecl-parse-declarations |
| 5616 | (sbcl-package->ecl-package sbcl-parse-declarations)) | 5296 | (sbcl-package->ecl-package sbcl-parse-declarations)) |
| 5617 | 5297 | ||
| 5618 | (define-public sbcl-cl-quickcheck | ||
| 5619 | (let ((commit "807b2792a30c883a2fbecea8e7db355b50ba662f") | ||
| 5620 | (revision "1")) | ||
| 5621 | (package | ||
| 5622 | (name "sbcl-cl-quickcheck") | ||
| 5623 | (version (git-version "0.0.4" revision commit)) | ||
| 5624 | (source | ||
| 5625 | (origin | ||
| 5626 | (method git-fetch) | ||
| 5627 | (uri (git-reference | ||
| 5628 | (url "https://github.com/mcandre/cl-quickcheck") | ||
| 5629 | (commit commit))) | ||
| 5630 | (file-name (git-file-name name version)) | ||
| 5631 | (sha256 | ||
| 5632 | (base32 | ||
| 5633 | "165lhypq5xkcys6hvzb3jq7ywnmqvzaflda29qk2cbs3ggas4767")))) | ||
| 5634 | (build-system asdf-build-system/sbcl) | ||
| 5635 | (synopsis | ||
| 5636 | "Common Lisp port of the QuickCheck unit test framework") | ||
| 5637 | (description | ||
| 5638 | "Common Lisp port of the QuickCheck unit test framework") | ||
| 5639 | (home-page "https://github.com/mcandre/cl-quickcheck") | ||
| 5640 | ;; MIT | ||
| 5641 | (license license:expat)))) | ||
| 5642 | |||
| 5643 | (define-public cl-quickcheck | ||
| 5644 | (sbcl-package->cl-source-package sbcl-cl-quickcheck)) | ||
| 5645 | |||
| 5646 | (define-public ecl-cl-quickcheck | ||
| 5647 | (sbcl-package->ecl-package sbcl-cl-quickcheck)) | ||
| 5648 | |||
| 5649 | (define-public sbcl-burgled-batteries3 | 5298 | (define-public sbcl-burgled-batteries3 |
| 5650 | (let ((commit "f65f454d13bb6c40e17e9ec62e41eb5069e09760") | 5299 | (let ((commit "f65f454d13bb6c40e17e9ec62e41eb5069e09760") |
| 5651 | (revision "2")) | 5300 | (revision "2")) |
| @@ -7087,44 +6736,6 @@ decisions becomes significantly easier.") | |||
| 7087 | (define-public ecl-cl-containers | 6736 | (define-public ecl-cl-containers |
| 7088 | (sbcl-package->ecl-package sbcl-cl-containers)) | 6737 | (sbcl-package->ecl-package sbcl-cl-containers)) |
| 7089 | 6738 | ||
| 7090 | (define-public sbcl-xlunit | ||
| 7091 | (let ((commit "3805d34b1d8dc77f7e0ee527a2490194292dd0fc") | ||
| 7092 | (revision "1")) | ||
| 7093 | (package | ||
| 7094 | (name "sbcl-xlunit") | ||
| 7095 | (version (git-version "0.6.3" revision commit)) | ||
| 7096 | (source | ||
| 7097 | (origin | ||
| 7098 | (method git-fetch) | ||
| 7099 | (uri (git-reference | ||
| 7100 | (url "http://git.kpe.io/xlunit.git") | ||
| 7101 | (commit commit))) | ||
| 7102 | (file-name (git-file-name name version)) | ||
| 7103 | (sha256 | ||
| 7104 | (base32 | ||
| 7105 | "0argfmp9nghs4sihyj3f8ch9qfib2b7ll07v5m9ziajgzsfl5xw3")))) | ||
| 7106 | (build-system asdf-build-system/sbcl) | ||
| 7107 | (arguments | ||
| 7108 | '(#:phases | ||
| 7109 | (modify-phases %standard-phases | ||
| 7110 | (add-after 'unpack 'fix-tests | ||
| 7111 | (lambda _ | ||
| 7112 | (substitute* "xlunit.asd" | ||
| 7113 | ((" :force t") "")) | ||
| 7114 | #t))))) | ||
| 7115 | (synopsis "Unit testing package for Common Lisp") | ||
| 7116 | (description | ||
| 7117 | "The XLUnit package is a toolkit for building test suites. It is based | ||
| 7118 | on the XPTest package by Craig Brozensky and the JUnit package by Kent Beck.") | ||
| 7119 | (home-page "http://quickdocs.org/xlunit/") | ||
| 7120 | (license license:bsd-3)))) | ||
| 7121 | |||
| 7122 | (define-public cl-xlunit | ||
| 7123 | (sbcl-package->cl-source-package sbcl-xlunit)) | ||
| 7124 | |||
| 7125 | (define-public ecl-xlunit | ||
| 7126 | (sbcl-package->ecl-package sbcl-xlunit)) | ||
| 7127 | |||
| 7128 | (define-public sbcl-cambl | 6739 | (define-public sbcl-cambl |
| 7129 | (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636") | 6740 | (let ((commit "7016d1a98215f82605d1c158e7a16504ca1f4636") |
| 7130 | (revision "1")) | 6741 | (revision "1")) |
| @@ -7735,6 +7346,47 @@ supplement, not a competitor, to Alexandria.") | |||
| 7735 | (define-public ecl-serapeum | 7346 | (define-public ecl-serapeum |
| 7736 | (sbcl-package->ecl-package sbcl-serapeum)) | 7347 | (sbcl-package->ecl-package sbcl-serapeum)) |
| 7737 | 7348 | ||
| 7349 | (define-public sbcl-rutils | ||
| 7350 | (let ((commit "db3c3f4ae897025b5f0cd81042ca147da60ca0c5") | ||
| 7351 | (revision "0")) | ||
| 7352 | (package | ||
| 7353 | (name "sbcl-rutils") | ||
| 7354 | (version (git-version "5.2.1" revision commit)) | ||
| 7355 | (source | ||
| 7356 | (origin | ||
| 7357 | (method git-fetch) | ||
| 7358 | (uri (git-reference | ||
| 7359 | (url "https://github.com/vseloved/rutils") | ||
| 7360 | (commit commit))) | ||
| 7361 | (file-name (git-file-name "rutils" version)) | ||
| 7362 | (sha256 | ||
| 7363 | (base32 "1d2whscknh1zga2vdqvfqri8wx0gnml3sfqz62igq0ppap6q07y3")))) | ||
| 7364 | (build-system asdf-build-system/sbcl) | ||
| 7365 | (arguments | ||
| 7366 | `(#:asd-systems '("rutils" "rutilsx") | ||
| 7367 | ;; Tests disabled because of a circular dependency with should-test. | ||
| 7368 | #:tests? #f | ||
| 7369 | #:phases | ||
| 7370 | (modify-phases %standard-phases | ||
| 7371 | (add-after 'unpack 'fix-build | ||
| 7372 | (lambda _ | ||
| 7373 | ;; File faild to load, and we don't use it as tests are | ||
| 7374 | ;; disabled, so let's delete it. | ||
| 7375 | (delete-file "rutilsx-test.asd")))))) | ||
| 7376 | (inputs | ||
| 7377 | `(("closer-mop" ,sbcl-closer-mop) | ||
| 7378 | ("named-readtables" ,sbcl-named-readtables))) | ||
| 7379 | (home-page "https://github.com/vseloved/rutils") | ||
| 7380 | (synopsis "Radical Utilities for Common Lisp") | ||
| 7381 | (description "RUTILS is a syntactic utilities package for Common Lisp.") | ||
| 7382 | (license license:bsd-3)))) | ||
| 7383 | |||
| 7384 | (define-public cl-rutils | ||
| 7385 | (sbcl-package->cl-source-package sbcl-rutils)) | ||
| 7386 | |||
| 7387 | (define-public ecl-rutils | ||
| 7388 | (sbcl-package->ecl-package sbcl-rutils)) | ||
| 7389 | |||
| 7738 | (define-public sbcl-arrows | 7390 | (define-public sbcl-arrows |
| 7739 | (let ((commit "df7cf0067e0132d9697ac8b1a4f1b9c88d4f5382") | 7391 | (let ((commit "df7cf0067e0132d9697ac8b1a4f1b9c88d4f5382") |
| 7740 | (revision "0")) | 7392 | (revision "0")) |
| @@ -7894,49 +7546,6 @@ JSON interchange format.") | |||
| 7894 | (define-public ecl-yason | 7546 | (define-public ecl-yason |
| 7895 | (sbcl-package->ecl-package sbcl-yason)) | 7547 | (sbcl-package->ecl-package sbcl-yason)) |
| 7896 | 7548 | ||
| 7897 | (define-public sbcl-stefil | ||
| 7898 | (let ((commit "0398548ec95dceb50fc2c2c03e5fb0ce49b86c7a") | ||
| 7899 | (revision "0")) | ||
| 7900 | (package | ||
| 7901 | (name "sbcl-stefil") | ||
| 7902 | (version (git-version "0.1" revision commit)) | ||
| 7903 | (source | ||
| 7904 | (origin | ||
| 7905 | (method git-fetch) | ||
| 7906 | (uri (git-reference | ||
| 7907 | (url "https://gitlab.common-lisp.net/stefil/stefil.git") | ||
| 7908 | (commit commit))) | ||
| 7909 | (file-name (git-file-name name version)) | ||
| 7910 | (sha256 | ||
| 7911 | (base32 | ||
| 7912 | "0bqz64q2szzhf91zyqyssmvrz7da6442rs01808pf3wrdq28bclh")))) | ||
| 7913 | (build-system asdf-build-system/sbcl) | ||
| 7914 | (inputs | ||
| 7915 | `(("alexandria" ,sbcl-alexandria) | ||
| 7916 | ("iterate" ,sbcl-iterate) | ||
| 7917 | ("metabang-bind" ,sbcl-metabang-bind) | ||
| 7918 | ("swank" ,sbcl-slime-swank))) | ||
| 7919 | (arguments | ||
| 7920 | '(#:phases | ||
| 7921 | (modify-phases %standard-phases | ||
| 7922 | (add-after 'unpack 'drop-unnecessary-dependency | ||
| 7923 | (lambda _ | ||
| 7924 | (substitute* "package.lisp" | ||
| 7925 | ((":stefil-system") "")) | ||
| 7926 | #t))))) | ||
| 7927 | (home-page "https://common-lisp.net/project/stefil/index-old.shtml") | ||
| 7928 | (synopsis "Simple test framework") | ||
| 7929 | (description | ||
| 7930 | "Stefil is a simple test framework for Common Lisp, with a focus on | ||
| 7931 | interactive development.") | ||
| 7932 | (license license:public-domain)))) | ||
| 7933 | |||
| 7934 | (define-public cl-stefil | ||
| 7935 | (sbcl-package->cl-source-package sbcl-stefil)) | ||
| 7936 | |||
| 7937 | (define-public ecl-stefil | ||
| 7938 | (sbcl-package->ecl-package sbcl-stefil)) | ||
| 7939 | |||
| 7940 | (define-public sbcl-graph | 7549 | (define-public sbcl-graph |
| 7941 | (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f") | 7550 | (let ((commit "78bf9ec930d8eae4f0861b5be76765fb1e45e24f") |
| 7942 | (revision "0")) | 7551 | (revision "0")) |
| @@ -8120,41 +7729,6 @@ macro. This library provides a set of simple utilities to help with that.") | |||
| 8120 | (define-public ecl-form-fiddle | 7729 | (define-public ecl-form-fiddle |
| 8121 | (sbcl-package->ecl-package sbcl-form-fiddle)) | 7730 | (sbcl-package->ecl-package sbcl-form-fiddle)) |
| 8122 | 7731 | ||
| 8123 | (define-public sbcl-parachute | ||
| 8124 | (let ((commit "ca04dd8e43010a6dfffa26dbe1d62af86008d666") | ||
| 8125 | (revision "0")) | ||
| 8126 | (package | ||
| 8127 | (name "sbcl-parachute") | ||
| 8128 | (version (git-version "1.1.1" revision commit)) | ||
| 8129 | (source | ||
| 8130 | (origin | ||
| 8131 | (method git-fetch) | ||
| 8132 | (uri | ||
| 8133 | (git-reference | ||
| 8134 | (url "https://github.com/Shinmera/parachute") | ||
| 8135 | (commit commit))) | ||
| 8136 | (file-name (git-file-name name version)) | ||
| 8137 | (sha256 | ||
| 8138 | (base32 | ||
| 8139 | "1mvsm3r0r6a2bg75nw0q7n9vlby3ch45qjl7hnb5k1z2n5x5lh60")))) | ||
| 8140 | (build-system asdf-build-system/sbcl) | ||
| 8141 | (inputs | ||
| 8142 | `(("documentation-utils" ,sbcl-documentation-utils) | ||
| 8143 | ("form-fiddle" ,sbcl-form-fiddle))) | ||
| 8144 | (synopsis "Extensible and cross-compatible testing framework for Common Lisp") | ||
| 8145 | (description | ||
| 8146 | "Parachute is a simple-to-use and extensible testing framework. | ||
| 8147 | In Parachute, things are organised as a bunch of named tests within a package. | ||
| 8148 | Each test can contain a bunch of test forms that make up its body.") | ||
| 8149 | (home-page "https://shinmera.github.io/parachute/") | ||
| 8150 | (license license:zlib)))) | ||
| 8151 | |||
| 8152 | (define-public cl-parachute | ||
| 8153 | (sbcl-package->cl-source-package sbcl-parachute)) | ||
| 8154 | |||
| 8155 | (define-public ecl-parachute | ||
| 8156 | (sbcl-package->ecl-package sbcl-parachute)) | ||
| 8157 | |||
| 8158 | (define-public sbcl-array-utils | 7732 | (define-public sbcl-array-utils |
| 8159 | (let ((commit "f90eb9070d0b2205af51126a35033574725e5c56") | 7733 | (let ((commit "f90eb9070d0b2205af51126a35033574725e5c56") |
| 8160 | (revision "0")) | 7734 | (revision "0")) |
| @@ -8470,44 +8044,6 @@ and camel-case rules.") | |||
| 8470 | (define-public ecl-symbol-munger | 8044 | (define-public ecl-symbol-munger |
| 8471 | (sbcl-package->ecl-package sbcl-symbol-munger)) | 8045 | (sbcl-package->ecl-package sbcl-symbol-munger)) |
| 8472 | 8046 | ||
| 8473 | (define-public sbcl-lisp-unit2 | ||
| 8474 | ;; There is a cyclical dependency between symbol-munger and lisp-unit2. | ||
| 8475 | ;; See https://github.com/AccelerationNet/symbol-munger/issues/4 | ||
| 8476 | (let ((commit "fb9721524d1e4e73abb223ee036d74ce14a5505c") | ||
| 8477 | (revision "1")) | ||
| 8478 | (package | ||
| 8479 | (name "sbcl-lisp-unit2") | ||
| 8480 | (version (git-version "0.2.0" revision commit)) | ||
| 8481 | (source | ||
| 8482 | (origin | ||
| 8483 | (method git-fetch) | ||
| 8484 | (uri (git-reference | ||
| 8485 | (url "https://github.com/AccelerationNet/lisp-unit2") | ||
| 8486 | (commit commit))) | ||
| 8487 | (file-name (git-file-name name version)) | ||
| 8488 | (sha256 | ||
| 8489 | (base32 | ||
| 8490 | "1rsqy8y0jqll6xn9a593848f5wvd5ribv4csry1ly0hmdhfnqzlp")))) | ||
| 8491 | (build-system asdf-build-system/sbcl) | ||
| 8492 | (inputs | ||
| 8493 | `(("alexandria" ,sbcl-alexandria) | ||
| 8494 | ("cl-interpol" ,sbcl-cl-interpol) | ||
| 8495 | ("iterate" ,sbcl-iterate) | ||
| 8496 | ("symbol-munger" ,sbcl-symbol-munger))) | ||
| 8497 | (synopsis "Test Framework for Common Lisp") | ||
| 8498 | (description | ||
| 8499 | "LISP-UNIT2 is a Common Lisp library that supports unit testing in the | ||
| 8500 | style of JUnit for Java. It is a new version of the lisp-unit library written | ||
| 8501 | by Chris Riesbeck.") | ||
| 8502 | (home-page "https://github.com/AccelerationNet/lisp-unit2") | ||
| 8503 | (license license:expat)))) | ||
| 8504 | |||
| 8505 | (define-public cl-lisp-unit2 | ||
| 8506 | (sbcl-package->cl-source-package sbcl-lisp-unit2)) | ||
| 8507 | |||
| 8508 | (define-public ecl-lisp-unit2 | ||
| 8509 | (sbcl-package->ecl-package sbcl-lisp-unit2)) | ||
| 8510 | |||
| 8511 | (define-public sbcl-cl-csv | 8047 | (define-public sbcl-cl-csv |
| 8512 | (let ((commit "68ecb5d816545677513d7f6308d9e5e8d2265651") | 8048 | (let ((commit "68ecb5d816545677513d7f6308d9e5e8d2265651") |
| 8513 | (revision "2")) | 8049 | (revision "2")) |
| @@ -9294,35 +8830,6 @@ be used with @code{cl-yacc}.") | |||
| 9294 | (define-public ecl-cl-lex | 8830 | (define-public ecl-cl-lex |
| 9295 | (sbcl-package->ecl-package sbcl-cl-lex)) | 8831 | (sbcl-package->ecl-package sbcl-cl-lex)) |
| 9296 | 8832 | ||
| 9297 | (define-public sbcl-clunit2 | ||
| 9298 | (let ((commit "5e28343734eb9b7aee39306a614af92c1062d50b") | ||
| 9299 | (revision "1")) | ||
| 9300 | (package | ||
| 9301 | (name "sbcl-clunit2") | ||
| 9302 | (version (git-version "0.2.4" revision commit)) | ||
| 9303 | (source | ||
| 9304 | (origin | ||
| 9305 | (method git-fetch) | ||
| 9306 | (uri (git-reference | ||
| 9307 | (url "https://notabug.org/cage/clunit2.git") | ||
| 9308 | (commit commit))) | ||
| 9309 | (file-name (git-file-name name version)) | ||
| 9310 | (sha256 | ||
| 9311 | (base32 "1ngiapfki6nm8a555mzhb5p7ch79i3w665za5bmb5j7q34fy80vw")))) | ||
| 9312 | (build-system asdf-build-system/sbcl) | ||
| 9313 | (synopsis "Unit testing framework for Common Lisp") | ||
| 9314 | (description | ||
| 9315 | "CLUnit is a Common Lisp unit testing framework. It is designed to be | ||
| 9316 | easy to use so that you can quickly start testing.") | ||
| 9317 | (home-page "https://notabug.org/cage/clunit2") | ||
| 9318 | (license license:expat)))) | ||
| 9319 | |||
| 9320 | (define-public cl-clunit2 | ||
| 9321 | (sbcl-package->cl-source-package sbcl-clunit2)) | ||
| 9322 | |||
| 9323 | (define-public ecl-clunit2 | ||
| 9324 | (sbcl-package->ecl-package sbcl-clunit2)) | ||
| 9325 | |||
| 9326 | (define-public sbcl-cl-colors2 | 8833 | (define-public sbcl-cl-colors2 |
| 9327 | (let ((commit "795aedee593b095fecde574bd999b520dd03ed24") | 8834 | (let ((commit "795aedee593b095fecde574bd999b520dd03ed24") |
| 9328 | (revision "1")) | 8835 | (revision "1")) |
| @@ -11269,39 +10776,6 @@ and active restarts.") | |||
| 11269 | (define-public ecl-dissect | 10776 | (define-public ecl-dissect |
| 11270 | (sbcl-package->ecl-package sbcl-dissect)) | 10777 | (sbcl-package->ecl-package sbcl-dissect)) |
| 11271 | 10778 | ||
| 11272 | (define-public sbcl-rove | ||
| 11273 | (package | ||
| 11274 | (name "sbcl-rove") | ||
| 11275 | (version "0.9.6") | ||
| 11276 | (source | ||
| 11277 | (origin | ||
| 11278 | (method git-fetch) | ||
| 11279 | (uri (git-reference | ||
| 11280 | (url "https://github.com/fukamachi/rove") | ||
| 11281 | (commit "f3695db08203bf26f3b861dc22ac0f4257d3ec21"))) | ||
| 11282 | (file-name (git-file-name name version)) | ||
| 11283 | (sha256 | ||
| 11284 | (base32 | ||
| 11285 | "07ala4l2fncxf540fzxj3h5mhi9i4wqllhj0rqk8m2ljl5zbz89q")))) | ||
| 11286 | (build-system asdf-build-system/sbcl) | ||
| 11287 | (inputs | ||
| 11288 | `(("bordeaux-threads" ,sbcl-bordeaux-threads) | ||
| 11289 | ("dissect" ,sbcl-dissect) | ||
| 11290 | ("trivial-gray-streams" ,sbcl-trivial-gray-streams))) | ||
| 11291 | (home-page "https://github.com/fukamachi/rove") | ||
| 11292 | (synopsis | ||
| 11293 | "Yet another common lisp testing library") | ||
| 11294 | (description | ||
| 11295 | "Rove is a unit testing framework for Common Lisp applications. | ||
| 11296 | This is intended to be a successor of Prove.") | ||
| 11297 | (license license:bsd-3))) | ||
| 11298 | |||
| 11299 | (define-public cl-rove | ||
| 11300 | (sbcl-package->cl-source-package sbcl-rove)) | ||
| 11301 | |||
| 11302 | (define-public ecl-rove | ||
| 11303 | (sbcl-package->ecl-package sbcl-rove)) | ||
| 11304 | |||
| 11305 | (define-public sbcl-exponential-backoff | 10779 | (define-public sbcl-exponential-backoff |
| 11306 | (let ((commit "8d9e8444d8b3184a524c12ce3449f91613ab714f")) | 10780 | (let ((commit "8d9e8444d8b3184a524c12ce3449f91613ab714f")) |
| 11307 | (package | 10781 | (package |
| @@ -11368,33 +10842,6 @@ learn about each of the parameters.") | |||
| 11368 | (define-public ecl-sxql | 10842 | (define-public ecl-sxql |
| 11369 | (sbcl-package->ecl-package sbcl-sxql)) | 10843 | (sbcl-package->ecl-package sbcl-sxql)) |
| 11370 | 10844 | ||
| 11371 | (define-public sbcl-1am | ||
| 11372 | (let ((commit "8b1da94eca4613fd8a20bdf63f0e609e379b0ba5")) | ||
| 11373 | (package | ||
| 11374 | (name "sbcl-1am") | ||
| 11375 | (version (git-version "0.0" "1" commit)) | ||
| 11376 | (source | ||
| 11377 | (origin | ||
| 11378 | (method git-fetch) | ||
| 11379 | (uri (git-reference | ||
| 11380 | (url "https://github.com/lmj/1am") | ||
| 11381 | (commit commit))) | ||
| 11382 | (file-name (git-file-name name version)) | ||
| 11383 | (sha256 | ||
| 11384 | (base32 | ||
| 11385 | "05ss4nz1jb9kb796295482b62w5cj29msfj8zis33sp2rw2vmv2g")))) | ||
| 11386 | (build-system asdf-build-system/sbcl) | ||
| 11387 | (home-page "https://github.com/lmj/1am") | ||
| 11388 | (synopsis "Minimal testing framework for Common Lisp") | ||
| 11389 | (description "A minimal testing framework for Common Lisp.") | ||
| 11390 | (license license:expat)))) | ||
| 11391 | |||
| 11392 | (define-public cl-1am | ||
| 11393 | (sbcl-package->cl-source-package sbcl-1am)) | ||
| 11394 | |||
| 11395 | (define-public ecl-1am | ||
| 11396 | (sbcl-package->ecl-package sbcl-1am)) | ||
| 11397 | |||
| 11398 | (define-public sbcl-cl-ascii-table | 10845 | (define-public sbcl-cl-ascii-table |
| 11399 | (let ((commit "d9f5e774a56fad1b416e4dadb8f8a5b0e84094e2") | 10846 | (let ((commit "d9f5e774a56fad1b416e4dadb8f8a5b0e84094e2") |
| 11400 | (revision "1")) | 10847 | (revision "1")) |
| @@ -13994,41 +13441,6 @@ latitude/longitude and Open Location Code.") | |||
| 13994 | (define-public ecl-clawk | 13441 | (define-public ecl-clawk |
| 13995 | (sbcl-package->ecl-package sbcl-clawk)) | 13442 | (sbcl-package->ecl-package sbcl-clawk)) |
| 13996 | 13443 | ||
| 13997 | (define-public sbcl-check-it | ||
| 13998 | (let ((commit "b79c9103665be3976915b56b570038f03486e62f")) | ||
| 13999 | (package | ||
| 14000 | (name "sbcl-check-it") | ||
| 14001 | (version (git-version "0.1.0" "1" commit)) | ||
| 14002 | (source | ||
| 14003 | (origin | ||
| 14004 | (method git-fetch) | ||
| 14005 | (uri (git-reference | ||
| 14006 | (url "https://github.com/DalekBaldwin/check-it/") | ||
| 14007 | (commit commit))) | ||
| 14008 | (file-name (git-file-name name version)) | ||
| 14009 | (sha256 | ||
| 14010 | (base32 "1kbjwpniffdpv003igmlz5r0vy65m7wpfnhg54fhwirp1227hgg7")))) | ||
| 14011 | (build-system asdf-build-system/sbcl) | ||
| 14012 | (inputs | ||
| 14013 | `(("alexandria" ,sbcl-alexandria) | ||
| 14014 | ("closer-mop" ,sbcl-closer-mop) | ||
| 14015 | ("optima" ,sbcl-optima))) | ||
| 14016 | (native-inputs | ||
| 14017 | `(("stefil" ,sbcl-stefil))) | ||
| 14018 | (home-page "https://github.com/arclanguage/Clamp") | ||
| 14019 | (synopsis "Randomized specification-based testing for Common Lisp") | ||
| 14020 | (description | ||
| 14021 | "This is a randomized property-based testing library for Common Lisp. | ||
| 14022 | Rather than being a full-fledged general test framework in its own right, it's | ||
| 14023 | designed to embed randomized tests in whatever framework you like.") | ||
| 14024 | (license license:llgpl)))) | ||
| 14025 | |||
| 14026 | (define-public cl-check-it | ||
| 14027 | (sbcl-package->cl-source-package sbcl-check-it)) | ||
| 14028 | |||
| 14029 | (define-public ecl-check-it | ||
| 14030 | (sbcl-package->ecl-package sbcl-check-it)) | ||
| 14031 | |||
| 14032 | (define-public sbcl-clamp | 13444 | (define-public sbcl-clamp |
| 14033 | (let ((commit "02b8f3953e5753cc61a719807c82f3795cd28fe1")) | 13445 | (let ((commit "02b8f3953e5753cc61a719807c82f3795cd28fe1")) |
| 14034 | (package | 13446 | (package |
| @@ -16517,33 +15929,6 @@ color spaces, which supports many color models.") | |||
| 16517 | (define-public cl-dufy | 15929 | (define-public cl-dufy |
| 16518 | (sbcl-package->cl-source-package sbcl-dufy)) | 15930 | (sbcl-package->cl-source-package sbcl-dufy)) |
| 16519 | 15931 | ||
| 16520 | (define-public sbcl-unit-test | ||
| 16521 | (let ((commit "266afaf4ac091fe0e8803bac2ae72d238144e735") | ||
| 16522 | (revision "1")) | ||
| 16523 | (package | ||
| 16524 | (name "sbcl-unit-test") | ||
| 16525 | (version (git-version "0.0.0" revision commit)) | ||
| 16526 | (source | ||
| 16527 | (origin | ||
| 16528 | (method git-fetch) | ||
| 16529 | (uri (git-reference | ||
| 16530 | (url "https://github.com/hanshuebner/unit-test") | ||
| 16531 | (commit commit))) | ||
| 16532 | (file-name (git-file-name "unit-test" version)) | ||
| 16533 | (sha256 | ||
| 16534 | (base32 "11hpksz56iqkv7jw25p2a8r3n9dj922fyarn16d98589g6hdskj9")))) | ||
| 16535 | (build-system asdf-build-system/sbcl) | ||
| 16536 | (home-page "https://github.com/hanshuebner/unit-test") | ||
| 16537 | (synopsis "Unit-testing framework for Common Lisp") | ||
| 16538 | (description "This is a unit-testing framework for Common Lisp.") | ||
| 16539 | (license license:unlicense)))) | ||
| 16540 | |||
| 16541 | (define-public ecl-unit-test | ||
| 16542 | (sbcl-package->ecl-package sbcl-unit-test)) | ||
| 16543 | |||
| 16544 | (define-public cl-unit-test | ||
| 16545 | (sbcl-package->cl-source-package sbcl-unit-test)) | ||
| 16546 | |||
| 16547 | (define-public sbcl-bknr-datastore | 15932 | (define-public sbcl-bknr-datastore |
| 16548 | (let ((commit "c98d44f47cc88d19ff91ca3eefbd9719a8ace022") | 15933 | (let ((commit "c98d44f47cc88d19ff91ca3eefbd9719a8ace022") |
| 16549 | (revision "1")) | 15934 | (revision "1")) |
| @@ -17819,41 +17204,6 @@ implementations offer.") | |||
| 17819 | (define-public cl-atomics | 17204 | (define-public cl-atomics |
| 17820 | (sbcl-package->cl-source-package sbcl-atomics)) | 17205 | (sbcl-package->cl-source-package sbcl-atomics)) |
| 17821 | 17206 | ||
| 17822 | (define-public sbcl-cl-mock | ||
| 17823 | ;; .asd version only got updated recently, despired the old GitHug "1.0.1" release. | ||
| 17824 | (let ((commit "7988dca2093358911b67597a2cd1570c785dfe76")) | ||
| 17825 | (package | ||
| 17826 | (name "sbcl-cl-mock") | ||
| 17827 | (version (git-version "1.0.1" "1" commit)) | ||
| 17828 | (source | ||
| 17829 | (origin | ||
| 17830 | (method git-fetch) | ||
| 17831 | (uri (git-reference | ||
| 17832 | (url "https://github.com/Ferada/cl-mock/") | ||
| 17833 | (commit commit))) | ||
| 17834 | (file-name (git-file-name name version)) | ||
| 17835 | (sha256 | ||
| 17836 | (base32 "0f40wikcf783jx26ip0nnhwjjfjvjiw7njqsqrb6kaphc8bgw0i1")))) | ||
| 17837 | (build-system asdf-build-system/sbcl) | ||
| 17838 | (inputs | ||
| 17839 | `(("alexandria" ,sbcl-alexandria) | ||
| 17840 | ("closer-mop" ,sbcl-closer-mop) | ||
| 17841 | ("trivia" ,sbcl-trivia))) | ||
| 17842 | (native-inputs | ||
| 17843 | `(("fiveam" ,sbcl-fiveam))) | ||
| 17844 | (home-page "https://github.com/Ferada/cl-mock") | ||
| 17845 | (synopsis "Mocking functions for Common Lisp testing") | ||
| 17846 | (description | ||
| 17847 | "This small library provides a way to replace the actual implementation | ||
| 17848 | of either regular or generic functions with mocks.") | ||
| 17849 | (license license:agpl3)))) | ||
| 17850 | |||
| 17851 | (define-public ecl-cl-mock | ||
| 17852 | (sbcl-package->ecl-package sbcl-cl-mock)) | ||
| 17853 | |||
| 17854 | (define-public cl-mock | ||
| 17855 | (sbcl-package->cl-source-package sbcl-cl-mock)) | ||
| 17856 | |||
| 17857 | (define-public sbcl-cl-murmurhash | 17207 | (define-public sbcl-cl-murmurhash |
| 17858 | ;; No release. | 17208 | ;; No release. |
| 17859 | (let ((commit "5433f5e95f1cce63a81259a471150834c6a59364") | 17209 | (let ((commit "5433f5e95f1cce63a81259a471150834c6a59364") |
| @@ -19231,3 +18581,70 @@ higher-level lispier interface.") | |||
| 19231 | 18581 | ||
| 19232 | (define-public ecl-cl-charms | 18582 | (define-public ecl-cl-charms |
| 19233 | (sbcl-package->ecl-package sbcl-cl-charms)) | 18583 | (sbcl-package->ecl-package sbcl-cl-charms)) |
| 18584 | |||
| 18585 | (define-public sbcl-clinenoise | ||
| 18586 | (let ((commit "46e21f99d06a55d93eaa382cf652d55d457032ef") | ||
| 18587 | (revision "1")) | ||
| 18588 | (package | ||
| 18589 | (name "sbcl-clinenoise") | ||
| 18590 | (version (git-version "0.0.0" revision commit)) | ||
| 18591 | (source | ||
| 18592 | (origin | ||
| 18593 | (method git-fetch) | ||
| 18594 | (uri (git-reference | ||
| 18595 | (url "https://github.com/jasom/clinenoise") | ||
| 18596 | (commit commit))) | ||
| 18597 | (file-name (git-file-name "clinenoise" version)) | ||
| 18598 | (sha256 | ||
| 18599 | (base32 "0ydlirfk4dbpqqjwwph99v5swcrhd8v9g8q24fvs35wn2vm08lh1")))) | ||
| 18600 | (build-system asdf-build-system/sbcl) | ||
| 18601 | (inputs | ||
| 18602 | `(("alexandria" ,sbcl-alexandria) | ||
| 18603 | ("cffi" ,sbcl-cffi) | ||
| 18604 | ("split-sequence" ,sbcl-split-sequence))) | ||
| 18605 | (home-page "https://github.com/jasom/clinenoise") | ||
| 18606 | (synopsis "Port of linenoise to Common Lisp") | ||
| 18607 | (description | ||
| 18608 | "This package provides a trivial line-input library for VT-like | ||
| 18609 | terminals.") | ||
| 18610 | (license license:bsd-2)))) | ||
| 18611 | |||
| 18612 | (define-public cl-clinenoise | ||
| 18613 | (sbcl-package->cl-source-package sbcl-clinenoise)) | ||
| 18614 | |||
| 18615 | (define-public ecl-clinenoise | ||
| 18616 | (sbcl-package->ecl-package sbcl-clinenoise)) | ||
| 18617 | |||
| 18618 | (define-public sbcl-cl-pass | ||
| 18619 | (let ((commit "e58e97c0c0588dc742c061208afb9bc31e4dbd34") | ||
| 18620 | (revision "1")) | ||
| 18621 | (package | ||
| 18622 | (name "sbcl-cl-pass") | ||
| 18623 | (version (git-version "0.1" revision commit)) | ||
| 18624 | (source | ||
| 18625 | (origin | ||
| 18626 | (method git-fetch) | ||
| 18627 | (uri (git-reference | ||
| 18628 | (url "https://github.com/eudoxia0/cl-pass") | ||
| 18629 | (commit commit))) | ||
| 18630 | (file-name (git-file-name "cl-pass" version)) | ||
| 18631 | (sha256 | ||
| 18632 | (base32 "05qx4jrkxqbqi72cxgswbpnifbdvp9mh7apc7566v522899bh0hb")))) | ||
| 18633 | (build-system asdf-build-system/sbcl) | ||
| 18634 | (inputs | ||
| 18635 | `(("ironclad" ,sbcl-ironclad) | ||
| 18636 | ("trivial-utf-8" ,sbcl-trivial-utf-8) | ||
| 18637 | ("split-sequence" ,sbcl-split-sequence))) | ||
| 18638 | (native-inputs | ||
| 18639 | `(("fiveam" ,sbcl-fiveam))) | ||
| 18640 | (home-page "https://github.com/eudoxia0/cl-pass") | ||
| 18641 | (synopsis "Password hashing and verification library") | ||
| 18642 | (description | ||
| 18643 | "@code{cl-pass} is a password hashing and verification library.") | ||
| 18644 | (license license:expat)))) | ||
| 18645 | |||
| 18646 | (define-public cl-pass | ||
| 18647 | (sbcl-package->cl-source-package sbcl-cl-pass)) | ||
| 18648 | |||
| 18649 | (define-public ecl-cl-pass | ||
| 18650 | (sbcl-package->ecl-package sbcl-cl-pass)) | ||
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 23a8710b9bc..900011ddaa2 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm | |||
| @@ -1896,7 +1896,7 @@ facilities for checking incoming mail.") | |||
| 1896 | (package | 1896 | (package |
| 1897 | (name "dovecot") | 1897 | (name "dovecot") |
| 1898 | ;; Also update dovecot-pigeonhole when updating to a new minor version. | 1898 | ;; Also update dovecot-pigeonhole when updating to a new minor version. |
| 1899 | (version "2.3.16") | 1899 | (version "2.3.17") |
| 1900 | (source | 1900 | (source |
| 1901 | (origin | 1901 | (origin |
| 1902 | (method url-fetch) | 1902 | (method url-fetch) |
| @@ -1904,7 +1904,7 @@ facilities for checking incoming mail.") | |||
| 1904 | (version-major+minor version) "/" | 1904 | (version-major+minor version) "/" |
| 1905 | "dovecot-" version ".tar.gz")) | 1905 | "dovecot-" version ".tar.gz")) |
| 1906 | (sha256 | 1906 | (sha256 |
| 1907 | (base32 "04ngqv5mml5z0i4p7fkchp4xw2awy7x7mq2mim9frnav0m9iv9q3")))) | 1907 | (base32 "1y9dpn4jgzrfjibp5zrc11bdk0q843d998kxhpxkyfm2fz6i4i12")))) |
| 1908 | (build-system gnu-build-system) | 1908 | (build-system gnu-build-system) |
| 1909 | (native-inputs | 1909 | (native-inputs |
| 1910 | `(("pkg-config" ,pkg-config))) | 1910 | `(("pkg-config" ,pkg-config))) |
| @@ -1939,8 +1939,7 @@ facilities for checking incoming mail.") | |||
| 1939 | (("sleep") (which "sleep"))) | 1939 | (("sleep") (which "sleep"))) |
| 1940 | (substitute* (list "src/lib-smtp/test-bin/sendmail-exit-1.sh" | 1940 | (substitute* (list "src/lib-smtp/test-bin/sendmail-exit-1.sh" |
| 1941 | "src/lib-smtp/test-bin/sendmail-success.sh") | 1941 | "src/lib-smtp/test-bin/sendmail-success.sh") |
| 1942 | (("cat") (which "cat"))) | 1942 | (("cat") (which "cat"))))) |
| 1943 | #t)) | ||
| 1944 | (replace 'install | 1943 | (replace 'install |
| 1945 | (lambda* (#:key make-flags #:allow-other-keys) | 1944 | (lambda* (#:key make-flags #:allow-other-keys) |
| 1946 | ;; Simple hack to avoid installing a trivial README in /etc. | 1945 | ;; Simple hack to avoid installing a trivial README in /etc. |
| @@ -1961,7 +1960,7 @@ It supports mbox/Maildir and its own dbox/mdbox formats.") | |||
| 1961 | (let ((dovecot-version (version-major+minor (package-version dovecot)))) | 1960 | (let ((dovecot-version (version-major+minor (package-version dovecot)))) |
| 1962 | (package | 1961 | (package |
| 1963 | (name "dovecot-pigeonhole") | 1962 | (name "dovecot-pigeonhole") |
| 1964 | (version "0.5.16") | 1963 | (version "0.5.17") |
| 1965 | (source | 1964 | (source |
| 1966 | (origin | 1965 | (origin |
| 1967 | (method url-fetch) | 1966 | (method url-fetch) |
| @@ -1969,7 +1968,7 @@ It supports mbox/Maildir and its own dbox/mdbox formats.") | |||
| 1969 | "https://pigeonhole.dovecot.org/releases/" dovecot-version "/" | 1968 | "https://pigeonhole.dovecot.org/releases/" dovecot-version "/" |
| 1970 | "dovecot-" dovecot-version "-pigeonhole-" version ".tar.gz")) | 1969 | "dovecot-" dovecot-version "-pigeonhole-" version ".tar.gz")) |
| 1971 | (sha256 | 1970 | (sha256 |
| 1972 | (base32 "0f79qsiqnhaxn7mrrfcrnsjyv6357kzb7wa0chhfd69vwa06g8sw")) | 1971 | (base32 "0j6ng173hh5iiqxdkxfb5v9djpn39gxdrv5ki7i22cf5cqwq47h3")) |
| 1973 | (modules '((guix build utils))) | 1972 | (modules '((guix build utils))) |
| 1974 | (snippet | 1973 | (snippet |
| 1975 | '(begin | 1974 | '(begin |
| @@ -1978,8 +1977,7 @@ It supports mbox/Maildir and its own dbox/mdbox formats.") | |||
| 1978 | (substitute* "configure" | 1977 | (substitute* "configure" |
| 1979 | (("doc/rfc/Makefile") "")) | 1978 | (("doc/rfc/Makefile") "")) |
| 1980 | (substitute* "doc/Makefile.in" | 1979 | (substitute* "doc/Makefile.in" |
| 1981 | (("rfc ") "")) | 1980 | (("rfc ") "")))))) |
| 1982 | #t)))) | ||
| 1983 | (build-system gnu-build-system) | 1981 | (build-system gnu-build-system) |
| 1984 | (arguments | 1982 | (arguments |
| 1985 | `(#:configure-flags | 1983 | `(#:configure-flags |
| @@ -2007,8 +2005,7 @@ It supports mbox/Maildir and its own dbox/mdbox formats.") | |||
| 2007 | (substitute* "src/managesieve-login/managesieve-login-settings.c" | 2005 | (substitute* "src/managesieve-login/managesieve-login-settings.c" |
| 2008 | (("\\.executable = \"managesieve-login\"") | 2006 | (("\\.executable = \"managesieve-login\"") |
| 2009 | (string-append ".executable = \"" libexec | 2007 | (string-append ".executable = \"" libexec |
| 2010 | "/managesieve-login\""))) | 2008 | "/managesieve-login\""))))))))) |
| 2011 | #t)))))) | ||
| 2012 | (native-inputs | 2009 | (native-inputs |
| 2013 | `(("pkg-config" ,pkg-config))) | 2010 | `(("pkg-config" ,pkg-config))) |
| 2014 | (inputs | 2011 | (inputs |
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 39608709cb5..c7a3b677219 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm | |||
| @@ -1315,7 +1315,7 @@ extremely large and complex data collections.") | |||
| 1315 | (define-public hdf5-1.12 | 1315 | (define-public hdf5-1.12 |
| 1316 | (package | 1316 | (package |
| 1317 | (inherit hdf5-1.8) | 1317 | (inherit hdf5-1.8) |
| 1318 | (version "1.12.0") | 1318 | (version "1.12.1") |
| 1319 | (source | 1319 | (source |
| 1320 | (origin | 1320 | (origin |
| 1321 | (method url-fetch) | 1321 | (method url-fetch) |
| @@ -1329,7 +1329,7 @@ extremely large and complex data collections.") | |||
| 1329 | (take (string-split version #\.) 2)) | 1329 | (take (string-split version #\.) 2)) |
| 1330 | "/src/hdf5-" version ".tar.bz2"))) | 1330 | "/src/hdf5-" version ".tar.bz2"))) |
| 1331 | (sha256 | 1331 | (sha256 |
| 1332 | (base32 "0qazfslkqbmzg495jafpvqp0khws3jkxa0z7rph9qvhacil6544p")) | 1332 | (base32 "074g3z504xf77ff38igs30i1aqxpm508p7yw78ykva7dncrgbyda")) |
| 1333 | (patches (search-patches "hdf5-config-date.patch")))))) | 1333 | (patches (search-patches "hdf5-config-date.patch")))))) |
| 1334 | 1334 | ||
| 1335 | (define-public hdf5 | 1335 | (define-public hdf5 |
| @@ -2224,6 +2224,163 @@ Computational Engineering and Sciences} at The University of Texas at Austin. | |||
| 2224 | includes a complete LAPACK implementation.") | 2224 | includes a complete LAPACK implementation.") |
| 2225 | (license license:bsd-3))) | 2225 | (license license:bsd-3))) |
| 2226 | 2226 | ||
| 2227 | (define-public libpotassco | ||
| 2228 | ;; No public release, update together with clasp | ||
| 2229 | (let ((revision "1") | ||
| 2230 | (commit "2f9fb7ca2c202f1b47643aa414054f2f4f9c1821")) | ||
| 2231 | (package | ||
| 2232 | (name "libpotassco") | ||
| 2233 | (version (git-version "0.0" revision commit)) | ||
| 2234 | (source (origin | ||
| 2235 | (method git-fetch) | ||
| 2236 | (uri (git-reference | ||
| 2237 | (url "https://github.com/potassco/libpotassco") | ||
| 2238 | (commit commit))) | ||
| 2239 | (file-name (git-file-name name version)) | ||
| 2240 | (sha256 | ||
| 2241 | (base32 | ||
| 2242 | "1c32f9gqclf7qx07lpx8wd720vfhkjqhzc6nyy8mjmgwpmb3iyyn")))) | ||
| 2243 | (arguments | ||
| 2244 | `(#:configure-flags '("-DLIB_POTASSCO_BUILD_TESTS=on" | ||
| 2245 | "-DLIB_POTASSCO_INSTALL_LIB=on" | ||
| 2246 | "-DBUILD_SHARED_LIBS=on") | ||
| 2247 | #:phases | ||
| 2248 | (modify-phases %standard-phases | ||
| 2249 | (add-after 'unpack 'patch-cmake | ||
| 2250 | (lambda _ | ||
| 2251 | (substitute* "CMakeLists.txt" | ||
| 2252 | ;; clasp expects lowercase potassco and include directory is | ||
| 2253 | ;; lowercase as well, so let's use that | ||
| 2254 | (("\"cmake/Potassco\"") "\"cmake/potassco\"") | ||
| 2255 | (("PotasscoConfig\\.cmake") "potassco-config.cmake") | ||
| 2256 | (("PotasscoConfigVersion\\.cmake") | ||
| 2257 | "potassco-config-version.cmake")) | ||
| 2258 | (rename-file "cmake/PotasscoConfig.cmake.in" | ||
| 2259 | "cmake/potassco-config.cmake.in")))))) | ||
| 2260 | (build-system cmake-build-system) | ||
| 2261 | (home-page "https://potassco.org/") | ||
| 2262 | (synopsis "Utility library for Potassco's projects") | ||
| 2263 | (description "@code{libpotassco} is a utility library providing functions | ||
| 2264 | and datatypes for | ||
| 2265 | @itemize | ||
| 2266 | @item parsing, writing, and converting logic programs in aspif and smodels | ||
| 2267 | format, | ||
| 2268 | @item passing information between a grounder and a solver, | ||
| 2269 | @item and defining and parsing command-line options and for creating | ||
| 2270 | command-line applications. | ||
| 2271 | @end itemize | ||
| 2272 | Furthermore, it comes with the tool @command{lpconvert} that converts either | ||
| 2273 | between aspif and smodels format or to a human-readable text format.") | ||
| 2274 | (license license:expat)))) | ||
| 2275 | |||
| 2276 | (define-public clasp | ||
| 2277 | (package | ||
| 2278 | (name "clasp") | ||
| 2279 | (version "3.3.6") | ||
| 2280 | (source (origin | ||
| 2281 | (method git-fetch) | ||
| 2282 | (uri (git-reference | ||
| 2283 | (url "https://github.com/potassco/clasp") | ||
| 2284 | (commit (string-append "v" version)))) | ||
| 2285 | (file-name (git-file-name name version)) | ||
| 2286 | (sha256 | ||
| 2287 | (base32 | ||
| 2288 | "0rahqiq530jckvx717858h1q5p8znp1kb6sjm95p8blkr4n3pvmj")))) | ||
| 2289 | (build-system cmake-build-system) | ||
| 2290 | (arguments | ||
| 2291 | `(#:configure-flags '("-DCLASP_BUILD_TESTS=on" | ||
| 2292 | "-DCLASP_INSTALL_LIB=on" | ||
| 2293 | "-DCLASP_USE_LOCAL_LIB_POTASSCO=off" | ||
| 2294 | "-DBUILD_SHARED_LIBS=on") | ||
| 2295 | #:phases | ||
| 2296 | (modify-phases %standard-phases | ||
| 2297 | (add-after 'unpack 'patch-cmake | ||
| 2298 | (lambda _ | ||
| 2299 | (substitute* "CMakeLists.txt" | ||
| 2300 | ;; Use lowercase to be consistent with libpotassco | ||
| 2301 | (("\"cmake/Clasp\"") "\"cmake/clasp\"") | ||
| 2302 | (("ClaspConfig\\.cmake") "clasp-config.cmake") | ||
| 2303 | (("ClaspConfigVersion\\.cmake") | ||
| 2304 | "clasp-config-version.cmake")) | ||
| 2305 | (substitute* "cmake/ClaspConfig.cmake.in" | ||
| 2306 | (("find_package\\(Potassco") "find_package(potassco")) | ||
| 2307 | (rename-file "cmake/ClaspConfig.cmake.in" | ||
| 2308 | "cmake/clasp-config.cmake.in")))))) | ||
| 2309 | (inputs | ||
| 2310 | `(("libpotassco" ,libpotassco))) | ||
| 2311 | (home-page "https://potassco.org/") | ||
| 2312 | (synopsis "Answer set solver") | ||
| 2313 | (description "clasp is an answer set solver for (extended) normal and | ||
| 2314 | disjunctive logic programs. The primary algorithm of clasp relies on | ||
| 2315 | conflict-driven nogood learning, a technique that proved very successful for | ||
| 2316 | satisfiability checking (SAT).") | ||
| 2317 | (license license:expat))) | ||
| 2318 | |||
| 2319 | (define-public clingo | ||
| 2320 | (package | ||
| 2321 | (name "clingo") | ||
| 2322 | (version "5.5.0") | ||
| 2323 | (source (origin | ||
| 2324 | (method git-fetch) | ||
| 2325 | (uri (git-reference | ||
| 2326 | (url "https://github.com/potassco/clingo") | ||
| 2327 | (commit (string-append "v" version)))) | ||
| 2328 | (file-name (git-file-name name version)) | ||
| 2329 | (sha256 | ||
| 2330 | (base32 | ||
| 2331 | "0rfjwkcwm0mmf3r4i7asyjwb6cia4i7px7fn2kdbi9j85qvas4pb")))) | ||
| 2332 | (build-system cmake-build-system) | ||
| 2333 | (arguments | ||
| 2334 | `(#:configure-flags `("-DCLINGO_BUILD_TESTS=on" | ||
| 2335 | "-DCLINGO_INSTALL_LIB=on" | ||
| 2336 | "-DCLINGO_BUILD_STATIC=off" | ||
| 2337 | "-DCLINGO_BUILD_SHARED=on" | ||
| 2338 | ;; XXX: Clingo requries private headers and | ||
| 2339 | ;; sources from clasp | ||
| 2340 | ,(string-append | ||
| 2341 | "-DCLASP_SOURCE_DIR=" | ||
| 2342 | (assoc-ref %build-inputs "clasp-src"))) | ||
| 2343 | #:phases | ||
| 2344 | (modify-phases %standard-phases | ||
| 2345 | (add-after 'unpack 'patch-cmake | ||
| 2346 | (lambda _ | ||
| 2347 | (substitute* "CMakeLists.txt" | ||
| 2348 | (("add_subdirectory\\(clasp\\)") | ||
| 2349 | "find_package(clasp REQUIRED)")) | ||
| 2350 | (substitute* "libclingo/CMakeLists.txt" | ||
| 2351 | (("\"cmake/Clingo\"") "\"cmake/clingo\"") | ||
| 2352 | (("ClingoConfig\\.cmake") "clingo-config.cmake") | ||
| 2353 | (("ClingoConfigVersion\\.cmake") | ||
| 2354 | "clingo-config-version.cmake")) | ||
| 2355 | (substitute* "cmake/ClingoConfig.cmake.in" | ||
| 2356 | (("find_package\\(Clasp") "find_package(clasp")) | ||
| 2357 | (rename-file "cmake/ClingoConfig.cmake.in" | ||
| 2358 | "cmake/clingo-config.cmake.in"))) | ||
| 2359 | (add-after 'unpack 'skip-failing-tests | ||
| 2360 | (lambda _ | ||
| 2361 | (with-directory-excursion "libclingo/tests" | ||
| 2362 | (substitute* "CMakeLists.txt" | ||
| 2363 | (("COMMAND test_clingo" all) | ||
| 2364 | (string-append all | ||
| 2365 | " -f " | ||
| 2366 | "\"${CMAKE_CURRENT_SOURCE_DIR}/good.txt\""))) | ||
| 2367 | (call-with-output-file "good.txt" | ||
| 2368 | (lambda (port) | ||
| 2369 | (for-each (lambda (test) (format port "~s~%" test)) | ||
| 2370 | '("parse-ast-v2" "add-ast-v2" "build-ast-v2" | ||
| 2371 | "unpool-ast-v2" "parse_term" | ||
| 2372 | "propagator" "propgator-sequence-mining" | ||
| 2373 | "symbol" "visitor")))))))))) | ||
| 2374 | (inputs | ||
| 2375 | `(("clasp" ,clasp) | ||
| 2376 | ("libpotassco" ,libpotassco))) | ||
| 2377 | (native-inputs | ||
| 2378 | `(("clasp-src" ,(package-source clasp)))) | ||
| 2379 | (home-page "https://potassco.org/") | ||
| 2380 | (synopsis "Grounder and solver for logic programs") | ||
| 2381 | (description "Clingo computes answer sets for a given logic program.") | ||
| 2382 | (license license:expat))) | ||
| 2383 | |||
| 2227 | (define-public ceres | 2384 | (define-public ceres |
| 2228 | (package | 2385 | (package |
| 2229 | (name "ceres-solver") | 2386 | (name "ceres-solver") |
| @@ -5663,6 +5820,65 @@ as equations, scalars, vectors, and matrices.") | |||
| 5663 | theories} (SMT) solver. It provides a C/C++ API, as well as Python bindings.") | 5820 | theories} (SMT) solver. It provides a C/C++ API, as well as Python bindings.") |
| 5664 | (license license:expat))) | 5821 | (license license:expat))) |
| 5665 | 5822 | ||
| 5823 | (define-public ocaml-z3 | ||
| 5824 | (package | ||
| 5825 | (inherit z3) | ||
| 5826 | (name "ocaml-z3") | ||
| 5827 | (arguments | ||
| 5828 | `(#:imported-modules ((guix build python-build-system) | ||
| 5829 | ,@%gnu-build-system-modules) | ||
| 5830 | #:modules (((guix build python-build-system) #:select (site-packages)) | ||
| 5831 | (guix build gnu-build-system) | ||
| 5832 | (guix build utils)) | ||
| 5833 | #:tests? #f; no ml tests | ||
| 5834 | #:phases | ||
| 5835 | (modify-phases %standard-phases | ||
| 5836 | (add-before 'configure 'bootstrap | ||
| 5837 | (lambda* (#:key outputs #:allow-other-keys) | ||
| 5838 | (let ((out (assoc-ref outputs "out"))) | ||
| 5839 | (setenv "OCAMLFIND_LDCONF" "ignore") | ||
| 5840 | (setenv "OCAMLFIND_DESTDIR" (string-append out "/lib/ocaml/site-lib")) | ||
| 5841 | (mkdir-p (string-append out "/lib/ocaml/site-lib")) | ||
| 5842 | (substitute* "scripts/mk_util.py" | ||
| 5843 | (("LIBZ3 = LIBZ3") | ||
| 5844 | (string-append "LIBZ3 = LIBZ3 + ' -dllpath " out "/lib'")) | ||
| 5845 | ;; Do not build z3 again, use the library passed as input | ||
| 5846 | ;; instead | ||
| 5847 | (("z3linkdep,") "\"\",") | ||
| 5848 | (("z3linkdep)") "\"\")")) | ||
| 5849 | (invoke "python" "scripts/mk_make.py")))) | ||
| 5850 | (replace 'configure | ||
| 5851 | (lambda* (#:key inputs outputs #:allow-other-keys) | ||
| 5852 | (invoke "./configure" | ||
| 5853 | "--ml" | ||
| 5854 | (string-append "--prefix=" (assoc-ref outputs "out"))))) | ||
| 5855 | (add-after 'configure 'change-directory | ||
| 5856 | (lambda _ | ||
| 5857 | (chdir "build") | ||
| 5858 | #t)) | ||
| 5859 | (replace 'build | ||
| 5860 | (lambda _ | ||
| 5861 | (invoke "make" "ml"))) | ||
| 5862 | (replace 'install | ||
| 5863 | (lambda* (#:key outputs #:allow-other-keys) | ||
| 5864 | (invoke "ocamlfind" "install" "-destdir" | ||
| 5865 | (string-append (assoc-ref outputs "out") "/lib/ocaml/site-lib") | ||
| 5866 | "z3" "api/ml/META" "api/ml/z3enums.mli" "api/ml/z3enums.cmi" | ||
| 5867 | "api/ml/z3enums.cmx" "api/ml/z3native.mli" | ||
| 5868 | "api/ml/z3native.cmi" "api/ml/z3native.cmx" | ||
| 5869 | "../src/api/ml/z3.mli" "api/ml/z3.cmi" "api/ml/z3.cmx" | ||
| 5870 | "api/ml/libz3ml.a" "api/ml/z3ml.a" "api/ml/z3ml.cma" | ||
| 5871 | "api/ml/z3ml.cmxa" "api/ml/z3ml.cmxs" "api/ml/dllz3ml.so")))))) | ||
| 5872 | (native-inputs | ||
| 5873 | `(("which" ,which) | ||
| 5874 | ("python" ,python-wrapper) | ||
| 5875 | ("ocaml" ,ocaml) | ||
| 5876 | ("ocaml-findlib" ,ocaml-findlib))) | ||
| 5877 | (propagated-inputs | ||
| 5878 | `(("ocaml-zarith" ,ocaml-zarith))) | ||
| 5879 | (inputs | ||
| 5880 | `(("z3" ,z3))))) | ||
| 5881 | |||
| 5666 | (define-public elpa | 5882 | (define-public elpa |
| 5667 | (package | 5883 | (package |
| 5668 | (name "elpa") | 5884 | (name "elpa") |
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 9cd5481bd8d..8f67e6628cb 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm | |||
| @@ -1039,14 +1039,14 @@ simultaneously and therefore appear under the same nickname on IRC.") | |||
| 1039 | (define-public python-nbxmpp | 1039 | (define-public python-nbxmpp |
| 1040 | (package | 1040 | (package |
| 1041 | (name "python-nbxmpp") | 1041 | (name "python-nbxmpp") |
| 1042 | (version "2.0.2") | 1042 | (version "2.0.4") |
| 1043 | (source | 1043 | (source |
| 1044 | (origin | 1044 | (origin |
| 1045 | (method url-fetch) | 1045 | (method url-fetch) |
| 1046 | (uri | 1046 | (uri |
| 1047 | (pypi-uri "nbxmpp" version)) | 1047 | (pypi-uri "nbxmpp" version)) |
| 1048 | (sha256 | 1048 | (sha256 |
| 1049 | (base32 "1482fva70i01w60fk70c0fhqmqgzi1fb4xflllz2v6c8mdqkd1m3")))) | 1049 | (base32 "1s2phiipq7ks8vrd93p96dzd5wgmgg8q9h2rxsnh2gg7iy06gj9c")))) |
| 1050 | (build-system python-build-system) | 1050 | (build-system python-build-system) |
| 1051 | (native-inputs | 1051 | (native-inputs |
| 1052 | `(("glib:bin" ,glib "bin"))) | 1052 | `(("glib:bin" ,glib "bin"))) |
| @@ -1068,7 +1068,7 @@ of xmpppy.") | |||
| 1068 | (define-public gajim | 1068 | (define-public gajim |
| 1069 | (package | 1069 | (package |
| 1070 | (name "gajim") | 1070 | (name "gajim") |
| 1071 | (version "1.3.2") | 1071 | (version "1.3.3") |
| 1072 | (source | 1072 | (source |
| 1073 | (origin | 1073 | (origin |
| 1074 | (method url-fetch) | 1074 | (method url-fetch) |
| @@ -1077,7 +1077,7 @@ of xmpppy.") | |||
| 1077 | (version-major+minor version) | 1077 | (version-major+minor version) |
| 1078 | "/gajim-" version ".tar.gz")) | 1078 | "/gajim-" version ".tar.gz")) |
| 1079 | (sha256 | 1079 | (sha256 |
| 1080 | (base32 "1vjzv8zg9s393xw81klcgbkn4h6j2blzla9iil5kqfrw7wmldskh")) | 1080 | (base32 "1337qkpcv7j0fgws9scnk82mn2l7s17060vmrbh3ihinmxmbxg6x")) |
| 1081 | (patches (search-patches "gajim-honour-GAJIM_PLUGIN_PATH.patch")))) | 1081 | (patches (search-patches "gajim-honour-GAJIM_PLUGIN_PATH.patch")))) |
| 1082 | (build-system python-build-system) | 1082 | (build-system python-build-system) |
| 1083 | (arguments | 1083 | (arguments |
| @@ -1091,13 +1091,6 @@ of xmpppy.") | |||
| 1091 | (guix build utils)) | 1091 | (guix build utils)) |
| 1092 | #:phases | 1092 | #:phases |
| 1093 | (modify-phases %standard-phases | 1093 | (modify-phases %standard-phases |
| 1094 | (add-after 'unpack 'disable-failing-tests | ||
| 1095 | (lambda _ | ||
| 1096 | ;; ModuleNotFoundError: No module named 'gajim.gui.emoji_data' | ||
| 1097 | ;; https://dev.gajim.org/gajim/gajim/-/issues/10478 | ||
| 1098 | (delete-file "test/lib/gajim_mocks.py") | ||
| 1099 | (delete-file "test/unit/test_gui_interface.py") | ||
| 1100 | #t)) | ||
| 1101 | (replace 'check | 1094 | (replace 'check |
| 1102 | (lambda _ | 1095 | (lambda _ |
| 1103 | ;; Tests require a running X server. | 1096 | ;; Tests require a running X server. |
| @@ -1105,8 +1098,7 @@ of xmpppy.") | |||
| 1105 | (setenv "DISPLAY" ":1") | 1098 | (setenv "DISPLAY" ":1") |
| 1106 | ;; For missing '/etc/machine-id'. | 1099 | ;; For missing '/etc/machine-id'. |
| 1107 | (setenv "DBUS_FATAL_WARNINGS" "0") | 1100 | (setenv "DBUS_FATAL_WARNINGS" "0") |
| 1108 | (invoke "dbus-launch" "python" "./setup.py" "test") | 1101 | (invoke "dbus-launch" "python" "./setup.py" "test"))) |
| 1109 | #t)) | ||
| 1110 | (add-after 'install 'glib-or-gtk-compile-schemas | 1102 | (add-after 'install 'glib-or-gtk-compile-schemas |
| 1111 | (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas)) | 1103 | (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas)) |
| 1112 | (add-after 'install 'glib-or-gtk-wrap | 1104 | (add-after 'install 'glib-or-gtk-wrap |
| @@ -1122,8 +1114,7 @@ of xmpppy.") | |||
| 1122 | (wrap-program file | 1114 | (wrap-program file |
| 1123 | `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path)) | 1115 | `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path)) |
| 1124 | `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))) | 1116 | `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))) |
| 1125 | '("gajim" "gajim-remote" "gajim-history-manager"))) | 1117 | '("gajim" "gajim-remote" "gajim-history-manager")))))))) |
| 1126 | #t))))) | ||
| 1127 | (native-search-paths | 1118 | (native-search-paths |
| 1128 | (list | 1119 | (list |
| 1129 | (search-path-specification | 1120 | (search-path-specification |
diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm index bc03427e0a5..c7307da0cf6 100644 --- a/gnu/packages/multiprecision.scm +++ b/gnu/packages/multiprecision.scm | |||
| @@ -7,6 +7,7 @@ | |||
| 7 | ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> | 7 | ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> |
| 8 | ;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org> | 8 | ;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org> |
| 9 | ;;; Copyright © 2018, 2019, 2021 Efraim Flashner <efraim@flashner.co.il> | 9 | ;;; Copyright © 2018, 2019, 2021 Efraim Flashner <efraim@flashner.co.il> |
| 10 | ;;; Copyright © 2021 Vinicius Monego <monego@posteo.net> | ||
| 10 | ;;; | 11 | ;;; |
| 11 | ;;; This file is part of GNU Guix. | 12 | ;;; This file is part of GNU Guix. |
| 12 | ;;; | 13 | ;;; |
| @@ -256,6 +257,29 @@ and (for Fortran-90 programs) read/write statements need to be changed. PSLQ | |||
| 256 | and numerical quadrature programs are included.") | 257 | and numerical quadrature programs are included.") |
| 257 | (license bsd-3))) | 258 | (license bsd-3))) |
| 258 | 259 | ||
| 260 | (define-public cln | ||
| 261 | (package | ||
| 262 | (name "cln") | ||
| 263 | (version "1.3.6") | ||
| 264 | (source | ||
| 265 | (origin | ||
| 266 | (method url-fetch) | ||
| 267 | (uri (string-append "https://www.ginac.de/CLN/cln-" | ||
| 268 | version ".tar.bz2")) | ||
| 269 | (sha256 | ||
| 270 | (base32 "0jlq9l4hphk7qqlgqj9ihjp4m3rwjbhk6q4v00lsbgbri07574pl")))) | ||
| 271 | (build-system gnu-build-system) | ||
| 272 | (arguments | ||
| 273 | `(#:configure-flags (list "--disable-static"))) | ||
| 274 | (inputs | ||
| 275 | `(("gmp" ,gmp))) | ||
| 276 | (home-page "https://www.ginac.de/CLN/") | ||
| 277 | (synopsis "Library for arbitrary precision computations") | ||
| 278 | (description "CLN is a C++ library for efficient computations with all | ||
| 279 | kinds of numbers in arbitrary precision. It provides a rich set of number | ||
| 280 | classes and elementary, logical and transcendental functions.") | ||
| 281 | (license gpl2+))) | ||
| 282 | |||
| 259 | (define-public tomsfastmath | 283 | (define-public tomsfastmath |
| 260 | (package | 284 | (package |
| 261 | (name "tomsfastmath") | 285 | (name "tomsfastmath") |
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 83e5a3991db..73118f4c794 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm | |||
| @@ -1865,7 +1865,7 @@ device supports.") | |||
| 1865 | (define-public bsequencer | 1865 | (define-public bsequencer |
| 1866 | (package | 1866 | (package |
| 1867 | (name "bsequencer") | 1867 | (name "bsequencer") |
| 1868 | (version "1.8.0") | 1868 | (version "1.8.10") |
| 1869 | (source (origin | 1869 | (source (origin |
| 1870 | (method git-fetch) | 1870 | (method git-fetch) |
| 1871 | (uri (git-reference | 1871 | (uri (git-reference |
| @@ -1874,12 +1874,13 @@ device supports.") | |||
| 1874 | (file-name (git-file-name name version)) | 1874 | (file-name (git-file-name name version)) |
| 1875 | (sha256 | 1875 | (sha256 |
| 1876 | (base32 | 1876 | (base32 |
| 1877 | "0w7iwzz2r4a699fi24qk71vv2k3jpl9ylzlgmvyc3rlgad0m01k1")))) | 1877 | "0w3m7x0619iq8rafcy0bal4gwh9m9h7iq93q7gkpxhv6dq58ix6l")))) |
| 1878 | (build-system gnu-build-system) | 1878 | (build-system gnu-build-system) |
| 1879 | (arguments | 1879 | (arguments |
| 1880 | `(#:make-flags | 1880 | `(#:make-flags |
| 1881 | (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) | 1881 | (list (string-append "CC=" ,(cc-for-target)) |
| 1882 | #:tests? #f ; there are none | 1882 | (string-append "PREFIX=" (assoc-ref %outputs "out"))) |
| 1883 | #:tests? #f ; there are none | ||
| 1883 | #:phases | 1884 | #:phases |
| 1884 | (modify-phases %standard-phases | 1885 | (modify-phases %standard-phases |
| 1885 | (delete 'configure)))) | 1886 | (delete 'configure)))) |
| @@ -1900,7 +1901,7 @@ with a selectable pattern matrix size.") | |||
| 1900 | (package | 1901 | (package |
| 1901 | (inherit bsequencer) | 1902 | (inherit bsequencer) |
| 1902 | (name "bchoppr") | 1903 | (name "bchoppr") |
| 1903 | (version "1.8.0") | 1904 | (version "1.10.10") |
| 1904 | (source | 1905 | (source |
| 1905 | (origin | 1906 | (origin |
| 1906 | (method git-fetch) | 1907 | (method git-fetch) |
| @@ -1909,8 +1910,7 @@ with a selectable pattern matrix size.") | |||
| 1909 | (commit version))) | 1910 | (commit version))) |
| 1910 | (file-name (git-file-name name version)) | 1911 | (file-name (git-file-name name version)) |
| 1911 | (sha256 | 1912 | (sha256 |
| 1912 | (base32 | 1913 | (base32 "0gxz0cpxdfj7ajcd9yg05d26i7p24mx5865vy3ph76ni8kycdlrc")))) |
| 1913 | "1nd6byy75f0rbz9dm9drhxmpsfhxhg0y7q3v2m3098llynhy9k2j")))) | ||
| 1914 | (synopsis "Audio stream-chopping LV2 plugin") | 1914 | (synopsis "Audio stream-chopping LV2 plugin") |
| 1915 | (description "B.Choppr cuts the audio input stream into a repeated | 1915 | (description "B.Choppr cuts the audio input stream into a repeated |
| 1916 | sequence of up to 16 chops. Each chop can be leveled up or down (gating). | 1916 | sequence of up to 16 chops. Each chop can be leveled up or down (gating). |
| @@ -1922,7 +1922,7 @@ B.Choppr is the successor of B.Slizr.") | |||
| 1922 | (package | 1922 | (package |
| 1923 | (inherit bsequencer) | 1923 | (inherit bsequencer) |
| 1924 | (name "bshapr") | 1924 | (name "bshapr") |
| 1925 | (version "0.9") | 1925 | (version "0.13") |
| 1926 | (source | 1926 | (source |
| 1927 | (origin | 1927 | (origin |
| 1928 | (method git-fetch) | 1928 | (method git-fetch) |
| @@ -1931,7 +1931,7 @@ B.Choppr is the successor of B.Slizr.") | |||
| 1931 | (commit (string-append "v" version)))) | 1931 | (commit (string-append "v" version)))) |
| 1932 | (file-name (git-file-name name version)) | 1932 | (file-name (git-file-name name version)) |
| 1933 | (sha256 | 1933 | (sha256 |
| 1934 | (base32 "04zd3a178i2nivg5rjailzqvc5mlnilmhj1ziygmbhshbrywplri")))) | 1934 | (base32 "1qr3fxqcplgb6iqi2vxc27jghhv6qsidww2by15zb2vs34yh73pl")))) |
| 1935 | (synopsis "Beat/envelope shaper LV2 plugin") | 1935 | (synopsis "Beat/envelope shaper LV2 plugin") |
| 1936 | (description "B.Shapr is a beat/envelope shaper LV2 plugin.") | 1936 | (description "B.Shapr is a beat/envelope shaper LV2 plugin.") |
| 1937 | (home-page "https://github.com/sjaehn/BShapr") | 1937 | (home-page "https://github.com/sjaehn/BShapr") |
| @@ -1941,7 +1941,7 @@ B.Choppr is the successor of B.Slizr.") | |||
| 1941 | (package | 1941 | (package |
| 1942 | (inherit bsequencer) | 1942 | (inherit bsequencer) |
| 1943 | (name "bjumblr") | 1943 | (name "bjumblr") |
| 1944 | (version "1.4.2") | 1944 | (version "1.6.8") |
| 1945 | (source | 1945 | (source |
| 1946 | (origin | 1946 | (origin |
| 1947 | (method git-fetch) | 1947 | (method git-fetch) |
| @@ -1950,8 +1950,7 @@ B.Choppr is the successor of B.Slizr.") | |||
| 1950 | (commit version))) | 1950 | (commit version))) |
| 1951 | (file-name (git-file-name name version)) | 1951 | (file-name (git-file-name name version)) |
| 1952 | (sha256 | 1952 | (sha256 |
| 1953 | (base32 | 1953 | (base32 "00fgax8aqqggs54pjpagw5pc30kgxaghh8mrzpqwhs06cnchcam9")))) |
| 1954 | "0kl6hrxmqrdf0195bfnzsa2h1073fgiqrfhg2276fm1954sm994v")))) | ||
| 1955 | (inputs | 1954 | (inputs |
| 1956 | `(("cairo" ,cairo) | 1955 | `(("cairo" ,cairo) |
| 1957 | ("libsndfile" ,libsndfile) | 1956 | ("libsndfile" ,libsndfile) |
| @@ -1966,7 +1965,7 @@ re-sequencer LV2 plugin.") | |||
| 1966 | (package | 1965 | (package |
| 1967 | (inherit bsequencer) | 1966 | (inherit bsequencer) |
| 1968 | (name "bschaffl") | 1967 | (name "bschaffl") |
| 1969 | (version "1.2.0") | 1968 | (version "1.4.8") |
| 1970 | (source | 1969 | (source |
| 1971 | (origin | 1970 | (origin |
| 1972 | (method git-fetch) | 1971 | (method git-fetch) |
| @@ -1975,8 +1974,7 @@ re-sequencer LV2 plugin.") | |||
| 1975 | (commit version))) | 1974 | (commit version))) |
| 1976 | (file-name (git-file-name name version)) | 1975 | (file-name (git-file-name name version)) |
| 1977 | (sha256 | 1976 | (sha256 |
| 1978 | (base32 | 1977 | (base32 "1kfc75xhj365fwl8cbvhg5chwz1snzcvf4929flds02ljylc7k6d")))) |
| 1979 | "1c09acqrbd387ba41f8ch1qykdap5h6cg9if5pgd16i4dmjnpghj")))) | ||
| 1980 | (inputs | 1978 | (inputs |
| 1981 | `(("cairo" ,cairo) | 1979 | `(("cairo" ,cairo) |
| 1982 | ("fontconfig" ,fontconfig) | 1980 | ("fontconfig" ,fontconfig) |
| @@ -6271,7 +6269,7 @@ ones.") | |||
| 6271 | (define-public dpf-plugins | 6269 | (define-public dpf-plugins |
| 6272 | (package | 6270 | (package |
| 6273 | (name "dpf-plugins") | 6271 | (name "dpf-plugins") |
| 6274 | (version "1.3") | 6272 | (version "1.4") |
| 6275 | (source | 6273 | (source |
| 6276 | (origin | 6274 | (origin |
| 6277 | (method git-fetch) | 6275 | (method git-fetch) |
| @@ -6281,17 +6279,15 @@ ones.") | |||
| 6281 | (commit (string-append "v" version)))) | 6279 | (commit (string-append "v" version)))) |
| 6282 | (file-name (git-file-name name version)) | 6280 | (file-name (git-file-name name version)) |
| 6283 | (sha256 | 6281 | (sha256 |
| 6284 | (base32 | 6282 | (base32 "0y7qvpfm34g6f7d786c6c9043dlbg5c4h71l2s24dsc9m8i7x2ww")))) |
| 6285 | "1hsfmpv3kvpiwk8nfw9xpaipzy0n27i83y2v1yr93lznwm5rqrbs")))) | ||
| 6286 | (build-system gnu-build-system) | 6283 | (build-system gnu-build-system) |
| 6287 | (arguments | 6284 | (arguments |
| 6288 | `(#:tests? #f ; no "check" target | 6285 | `(#:tests? #f ; no "check" target |
| 6289 | #:make-flags | 6286 | #:make-flags |
| 6290 | (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) | 6287 | (list (string-append "PREFIX=" (assoc-ref %outputs "out")) |
| 6288 | (string-append "CC=" ,(cc-for-target))) | ||
| 6291 | #:phases | 6289 | #:phases |
| 6292 | (modify-phases %standard-phases | 6290 | (modify-phases %standard-phases |
| 6293 | (add-before 'build 'set-CC-variable | ||
| 6294 | (lambda _ (setenv "CC" "gcc") #t)) | ||
| 6295 | (delete 'configure)))) | 6291 | (delete 'configure)))) |
| 6296 | (inputs | 6292 | (inputs |
| 6297 | `(("cairo" ,cairo) | 6293 | `(("cairo" ,cairo) |
| @@ -6487,7 +6483,7 @@ plugin support, JACK support and chord assistance.") | |||
| 6487 | (define-public dragonfly-reverb | 6483 | (define-public dragonfly-reverb |
| 6488 | (package | 6484 | (package |
| 6489 | (name "dragonfly-reverb") | 6485 | (name "dragonfly-reverb") |
| 6490 | (version "3.2.1") | 6486 | (version "3.2.5") |
| 6491 | (source | 6487 | (source |
| 6492 | (origin | 6488 | (origin |
| 6493 | (method git-fetch) | 6489 | (method git-fetch) |
| @@ -6499,11 +6495,12 @@ plugin support, JACK support and chord assistance.") | |||
| 6499 | (recursive? #t))) | 6495 | (recursive? #t))) |
| 6500 | (file-name (git-file-name name version)) | 6496 | (file-name (git-file-name name version)) |
| 6501 | (sha256 | 6497 | (sha256 |
| 6502 | (base32 "0vfm2510shah67k87mdyar4wr4vqwii59y9lqfhwm6blxparkrqa")))) | 6498 | (base32 "14kia9wjs0nqfx4psnr3vf4x6hihkf80gb0mjzmdnnnk4cnrdydm")))) |
| 6503 | (build-system gnu-build-system) | 6499 | (build-system gnu-build-system) |
| 6504 | (arguments | 6500 | (arguments |
| 6505 | `(#:tests? #f ; no check target | 6501 | `(#:tests? #f ; no check target |
| 6506 | #:make-flags (list "CC=gcc") | 6502 | #:make-flags |
| 6503 | (list (string-append "CC=" ,(cc-for-target))) | ||
| 6507 | #:phases | 6504 | #:phases |
| 6508 | (modify-phases %standard-phases | 6505 | (modify-phases %standard-phases |
| 6509 | (delete 'configure) ;no configure target | 6506 | (delete 'configure) ;no configure target |
| @@ -6527,8 +6524,7 @@ plugin support, JACK support and chord assistance.") | |||
| 6527 | (and | 6524 | (and |
| 6528 | (equal? (dirname name) "bin") | 6525 | (equal? (dirname name) "bin") |
| 6529 | (not (string-suffix? ".so" name)) | 6526 | (not (string-suffix? ".so" name)) |
| 6530 | (not (string-suffix? ".lv2" name)))))) | 6527 | (not (string-suffix? ".lv2" name)))))))))))) |
| 6531 | #t)))))) | ||
| 6532 | (native-inputs | 6528 | (native-inputs |
| 6533 | `(("pkg-config" ,pkg-config))) | 6529 | `(("pkg-config" ,pkg-config))) |
| 6534 | (inputs | 6530 | (inputs |
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 260399e2530..e5bce448dc9 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm | |||
| @@ -649,14 +649,14 @@ systems with no further dependencies.") | |||
| 649 | (define-public blueman | 649 | (define-public blueman |
| 650 | (package | 650 | (package |
| 651 | (name "blueman") | 651 | (name "blueman") |
| 652 | (version "2.2.2") | 652 | (version "2.2.3") |
| 653 | (source | 653 | (source |
| 654 | (origin | 654 | (origin |
| 655 | (method url-fetch) | 655 | (method url-fetch) |
| 656 | (uri (string-append "https://github.com/blueman-project/blueman/releases" | 656 | (uri (string-append "https://github.com/blueman-project/blueman/releases" |
| 657 | "/download/" version "/blueman-" version ".tar.xz")) | 657 | "/download/" version "/blueman-" version ".tar.xz")) |
| 658 | (sha256 | 658 | (sha256 |
| 659 | (base32 "1xnhxhr2l4cf703j76wvzl4rf2k4xxgjjisz03y89x9ll6qmkv8r")))) | 659 | (base32 "1s86w4mklzr8hvbgl3nkg8jycl6grww533dhzw8gdn5glqfpkpbf")))) |
| 660 | (build-system glib-or-gtk-build-system) | 660 | (build-system glib-or-gtk-build-system) |
| 661 | (arguments | 661 | (arguments |
| 662 | `(#:configure-flags (list "--enable-polkit" | 662 | `(#:configure-flags (list "--enable-polkit" |
| @@ -1219,14 +1219,14 @@ receiving NDP messages.") | |||
| 1219 | (define-public ethtool | 1219 | (define-public ethtool |
| 1220 | (package | 1220 | (package |
| 1221 | (name "ethtool") | 1221 | (name "ethtool") |
| 1222 | (version "5.12") | 1222 | (version "5.14") |
| 1223 | (source (origin | 1223 | (source (origin |
| 1224 | (method url-fetch) | 1224 | (method url-fetch) |
| 1225 | (uri (string-append "mirror://kernel.org/software/network/" | 1225 | (uri (string-append "mirror://kernel.org/software/network/" |
| 1226 | "ethtool/ethtool-" version ".tar.xz")) | 1226 | "ethtool/ethtool-" version ".tar.xz")) |
| 1227 | (sha256 | 1227 | (sha256 |
| 1228 | (base32 | 1228 | (base32 |
| 1229 | "01vgyczgldrfss98cqrgjz8krj6kwb29xjf8p08q0g85fnfgmpgm")))) | 1229 | "11kns8imm55i0miggsnv9nblnzm60zgnanxnjajdgb2wj68xn4xv")))) |
| 1230 | (build-system gnu-build-system) | 1230 | (build-system gnu-build-system) |
| 1231 | (native-inputs | 1231 | (native-inputs |
| 1232 | `(("pkg-config" ,pkg-config))) | 1232 | `(("pkg-config" ,pkg-config))) |
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 48fbea7394d..7b1363a5c3e 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm | |||
| @@ -7258,8 +7258,8 @@ these missing pieces.") | |||
| 7258 | (synopsis | 7258 | (synopsis |
| 7259 | "Backport new syntax to older OCaml versions") | 7259 | "Backport new syntax to older OCaml versions") |
| 7260 | (description | 7260 | (description |
| 7261 | "This packages backports new features of the language to older | 7261 | "This package backports new language features such as @code{let+} to older |
| 7262 | compilers, such as let+.") | 7262 | OCaml compilers.") |
| 7263 | (license license:expat))) | 7263 | (license license:expat))) |
| 7264 | 7264 | ||
| 7265 | (define-public ocaml-angstrom | 7265 | (define-public ocaml-angstrom |
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 65cd7087b4d..660c43604d0 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm | |||
| @@ -145,8 +145,8 @@ | |||
| 145 | ;; Note: the 'update-guix-package.scm' script expects this definition to | 145 | ;; Note: the 'update-guix-package.scm' script expects this definition to |
| 146 | ;; start precisely like this. | 146 | ;; start precisely like this. |
| 147 | (let ((version "1.3.0") | 147 | (let ((version "1.3.0") |
| 148 | (commit "c3c502896b1454b345ee9f17d20063853652a35a") | 148 | (commit "014f1b607f1d88a8e733017afaca006545b7d99b") |
| 149 | (revision 10)) | 149 | (revision 11)) |
| 150 | (package | 150 | (package |
| 151 | (name "guix") | 151 | (name "guix") |
| 152 | 152 | ||
| @@ -162,7 +162,7 @@ | |||
| 162 | (commit commit))) | 162 | (commit commit))) |
| 163 | (sha256 | 163 | (sha256 |
| 164 | (base32 | 164 | (base32 |
| 165 | "037nlr5z8qmq2zp0slcg5lyhcdp7v6vxl1f36wkqrw9xzgq8k6kf")) | 165 | "0mmq0ypkxj6dc1r9j1mdgih87h6fc0mk05hp481cjp8shdc1w6gw")) |
| 166 | (file-name (string-append "guix-" version "-checkout")))) | 166 | (file-name (string-append "guix-" version "-checkout")))) |
| 167 | (build-system gnu-build-system) | 167 | (build-system gnu-build-system) |
| 168 | (arguments | 168 | (arguments |
| @@ -1584,14 +1584,15 @@ the boot loader configuration.") | |||
| 1584 | (define-public flatpak | 1584 | (define-public flatpak |
| 1585 | (package | 1585 | (package |
| 1586 | (name "flatpak") | 1586 | (name "flatpak") |
| 1587 | (version "1.10.2") | 1587 | (version "1.12.1") |
| 1588 | (source | 1588 | (source |
| 1589 | (origin | 1589 | (origin |
| 1590 | (method url-fetch) | 1590 | (method url-fetch) |
| 1591 | (uri (string-append "https://github.com/flatpak/flatpak/releases/download/" | 1591 | (uri (string-append "https://github.com/flatpak/flatpak/releases/download/" |
| 1592 | version "/flatpak-" version ".tar.xz")) | 1592 | version "/flatpak-" version ".tar.xz")) |
| 1593 | (sha256 | 1593 | (sha256 |
| 1594 | (base32 "1r6xw7r3ir2vaa30n3mily6m7d51cf4qv22fkqlzzy3js0wjf5fv")))) | 1594 | (base32 "0my82ijg1ipa4lwrvh88jlrxbabfqfz2ssfb8cn6k0pfgz53p293")) |
| 1595 | (patches (search-patches "flatpak-fix-path.patch")))) | ||
| 1595 | 1596 | ||
| 1596 | ;; Wrap 'flatpak' so that GIO_EXTRA_MODULES is set, thereby allowing GIO to | 1597 | ;; Wrap 'flatpak' so that GIO_EXTRA_MODULES is set, thereby allowing GIO to |
| 1597 | ;; find the TLS backend in glib-networking. | 1598 | ;; find the TLS backend in glib-networking. |
| @@ -1626,6 +1627,16 @@ cp -r /tmp/locale/*/en_US.*"))) | |||
| 1626 | (("/bin/kill") (which "kill")) | 1627 | (("/bin/kill") (which "kill")) |
| 1627 | (("/usr/bin/python3") (which "python3"))) | 1628 | (("/usr/bin/python3") (which "python3"))) |
| 1628 | #t)) | 1629 | #t)) |
| 1630 | (add-after 'unpack 'p11-kit-fix | ||
| 1631 | (lambda* (#:key inputs #:allow-other-keys) | ||
| 1632 | (let ((p11-path (string-append (assoc-ref inputs "p11-kit-next") | ||
| 1633 | "/bin/p11-kit"))) | ||
| 1634 | (substitute* "session-helper/flatpak-session-helper.c" | ||
| 1635 | (("\"p11-kit\",") | ||
| 1636 | (string-append "\"" p11-path "\",")) | ||
| 1637 | (("if \\(g_find_program_in_path \\(\"p11-kit\"\\)\\)") | ||
| 1638 | (string-append "if (g_find_program_in_path (\"" | ||
| 1639 | p11-path "\"))")))))) | ||
| 1629 | ;; Many tests fail for unknown reasons, so we just run a few basic | 1640 | ;; Many tests fail for unknown reasons, so we just run a few basic |
| 1630 | ;; tests. | 1641 | ;; tests. |
| 1631 | (replace 'check | 1642 | (replace 'check |
| @@ -1664,6 +1675,7 @@ cp -r /tmp/locale/*/en_US.*"))) | |||
| 1664 | ("libsoup" ,libsoup) | 1675 | ("libsoup" ,libsoup) |
| 1665 | ("libxau" ,libxau) | 1676 | ("libxau" ,libxau) |
| 1666 | ("libxml2" ,libxml2) | 1677 | ("libxml2" ,libxml2) |
| 1678 | ("p11-kit-next" ,p11-kit-next) | ||
| 1667 | ("util-linux" ,util-linux) | 1679 | ("util-linux" ,util-linux) |
| 1668 | ("xdg-dbus-proxy" ,xdg-dbus-proxy))) | 1680 | ("xdg-dbus-proxy" ,xdg-dbus-proxy))) |
| 1669 | (home-page "https://flatpak.org") | 1681 | (home-page "https://flatpak.org") |
diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm index 6730772f24d..e3813b1512e 100644 --- a/gnu/packages/parallel.scm +++ b/gnu/packages/parallel.scm | |||
| @@ -61,14 +61,14 @@ | |||
| 61 | (define-public parallel | 61 | (define-public parallel |
| 62 | (package | 62 | (package |
| 63 | (name "parallel") | 63 | (name "parallel") |
| 64 | (version "20210922") | 64 | (version "20211022") |
| 65 | (source | 65 | (source |
| 66 | (origin | 66 | (origin |
| 67 | (method url-fetch) | 67 | (method url-fetch) |
| 68 | (uri (string-append "mirror://gnu/parallel/parallel-" | 68 | (uri (string-append "mirror://gnu/parallel/parallel-" |
| 69 | version ".tar.bz2")) | 69 | version ".tar.bz2")) |
| 70 | (sha256 | 70 | (sha256 |
| 71 | (base32 "0rjd9636sgmnhaww2q8rbnpwhpq1aqg3df6rmpdm880zqi7skp6y")))) | 71 | (base32 "16yyjvlm70lj7csaz4am98dlyqrc588xydnfnabxm71awby90wfs")))) |
| 72 | (build-system gnu-build-system) | 72 | (build-system gnu-build-system) |
| 73 | (arguments | 73 | (arguments |
| 74 | `(#:phases | 74 | `(#:phases |
| @@ -82,8 +82,7 @@ | |||
| 82 | ;; $Global::shell = $ENV{'PARALLEL_SHELL'} || | 82 | ;; $Global::shell = $ENV{'PARALLEL_SHELL'} || |
| 83 | ;; parent_shell($$) || $ENV{'SHELL'} || "/bin/sh"; | 83 | ;; parent_shell($$) || $ENV{'SHELL'} || "/bin/sh"; |
| 84 | (("/bin/sh\\\";\n$") (string-append (which "sh") "\";\n")))) | 84 | (("/bin/sh\\\";\n$") (string-append (which "sh") "\";\n")))) |
| 85 | (list "src/parallel" "src/sem")) | 85 | (list "src/parallel" "src/sem")))) |
| 86 | #t)) | ||
| 87 | (add-after 'install 'wrap-program | 86 | (add-after 'install 'wrap-program |
| 88 | (lambda* (#:key inputs outputs #:allow-other-keys) | 87 | (lambda* (#:key inputs outputs #:allow-other-keys) |
| 89 | (let ((out (assoc-ref outputs "out"))) | 88 | (let ((out (assoc-ref outputs "out"))) |
| @@ -92,8 +91,7 @@ | |||
| 92 | ,(map (lambda (input) | 91 | ,(map (lambda (input) |
| 93 | (string-append (assoc-ref inputs input) "/bin")) | 92 | (string-append (assoc-ref inputs input) "/bin")) |
| 94 | '("perl" | 93 | '("perl" |
| 95 | "procps")))) | 94 | "procps"))))))) |
| 96 | #t))) | ||
| 97 | (add-after 'wrap-program 'post-install-test | 95 | (add-after 'wrap-program 'post-install-test |
| 98 | (lambda* (#:key outputs #:allow-other-keys) | 96 | (lambda* (#:key outputs #:allow-other-keys) |
| 99 | (invoke (string-append | 97 | (invoke (string-append |
diff --git a/gnu/packages/patches/diffoscope-fix-test_item3_deflate_llvm_bitcode.patch b/gnu/packages/patches/diffoscope-fix-llvm-test.patch index 45e496a1283..45e496a1283 100644 --- a/gnu/packages/patches/diffoscope-fix-test_item3_deflate_llvm_bitcode.patch +++ b/gnu/packages/patches/diffoscope-fix-llvm-test.patch | |||
diff --git a/gnu/packages/patches/disarchive-cross-compilation.patch b/gnu/packages/patches/disarchive-cross-compilation.patch deleted file mode 100644 index 8061262168e..00000000000 --- a/gnu/packages/patches/disarchive-cross-compilation.patch +++ /dev/null | |||
| @@ -1,77 +0,0 @@ | |||
| 1 | From dc0f8f8bf8608c39da32e3c8ca1484b766fc7452 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Maxim Cournoyer <maxim.cournoyer@gmail.com> | ||
| 3 | Date: Mon, 17 May 2021 16:47:19 -0400 | ||
| 4 | Subject: [PATCH] build: Fix cross-compilation. | ||
| 5 | |||
| 6 | The cross-compilation issues corrected by this change were discovered | ||
| 7 | when attempting to cross-compile disarchive for the i586-gnu target on | ||
| 8 | GNU Guix. | ||
| 9 | |||
| 10 | * configure.ac [O_NOFOLLOW]: Rewrite test using AC_COMPUTE_INT, which | ||
| 11 | is supported even when cross-compiling. | ||
| 12 | (GUILD_TARGET_OPTION): New computed variable. | ||
| 13 | * build-aux/guile.am ($(AM_V_GUILEC)GUILE_AUTO_COMPILE): Use it. | ||
| 14 | --- | ||
| 15 | build-aux/guile.am | 6 +++--- | ||
| 16 | configure.ac | 24 +++++++++++++++--------- | ||
| 17 | 2 files changed, 18 insertions(+), 12 deletions(-) | ||
| 18 | |||
| 19 | diff --git a/build-aux/guile.am b/build-aux/guile.am | ||
| 20 | index bec04ea..7745125 100644 | ||
| 21 | --- a/build-aux/guile.am | ||
| 22 | +++ b/build-aux/guile.am | ||
| 23 | @@ -54,7 +54,7 @@ AM_V_GUILEC_0 = @echo " GUILEC" $@; | ||
| 24 | SUFFIXES = .scm .go | ||
| 25 | |||
| 26 | .scm.go: | ||
| 27 | - $(AM_V_GUILEC)GUILE_AUTO_COMPILE=0 \ | ||
| 28 | - $(top_builddir)/pre-inst-env \ | ||
| 29 | - $(GUILD) compile $(GUILE_WARNINGS) \ | ||
| 30 | + $(AM_V_GUILEC)GUILE_AUTO_COMPILE=0 \ | ||
| 31 | + $(top_builddir)/pre-inst-env \ | ||
| 32 | + $(GUILD) compile $(GUILE_WARNINGS) $(GUILD_TARGET_OPTION) \ | ||
| 33 | -o "$@" "$<" | ||
| 34 | diff --git a/configure.ac b/configure.ac | ||
| 35 | index 99c5ac5..0cd0173 100644 | ||
| 36 | --- a/configure.ac | ||
| 37 | +++ b/configure.ac | ||
| 38 | @@ -39,21 +39,27 @@ AS_IF([test "x$GUILD" = "x"], | ||
| 39 | [AC_MSG_ERROR(m4_normalize([ | ||
| 40 | 'guild' binary not found; please check your Guile installation.]))])]) | ||
| 41 | |||
| 42 | +dnl This argument is passed to guild; it ensures cross-compiling uses | ||
| 43 | +dnl the right target. | ||
| 44 | +if test -n "$host_alias"; then | ||
| 45 | + AC_SUBST([GUILD_TARGET_OPTION], [--target=$host_alias]) | ||
| 46 | +fi | ||
| 47 | + | ||
| 48 | GUILE_MODULE_REQUIRED(gcrypt hash) | ||
| 49 | |||
| 50 | dnl Guile defines a handful of values from <fcntl.h>, but it is | ||
| 51 | dnl missing O_NOFOLLOW. | ||
| 52 | AC_ARG_VAR([O_NOFOLLOW], [value to use for O_NOFOLLOW (cf. <fcntl.h>)]) | ||
| 53 | AS_IF([test "x$O_NOFOLLOW" = "x"], | ||
| 54 | - [AC_MSG_CHECKING([the value of O_NOFOLLOW]) | ||
| 55 | - AC_RUN_IFELSE([AC_LANG_PROGRAM([[ | ||
| 56 | - #include <fcntl.h> | ||
| 57 | - #include <stdio.h> | ||
| 58 | - ]], [[ | ||
| 59 | - printf("%d\n", O_NOFOLLOW) | ||
| 60 | - ]])], | ||
| 61 | - [O_NOFOLLOW=`./conftest$EXEEXT`], | ||
| 62 | - [AC_MSG_FAILURE([could find value for O_NOFOLLOW])])]) | ||
| 63 | + [AC_MSG_CHECKING([the value of O_NOFOLLOW])] | ||
| 64 | + [AC_COMPUTE_INT([O_NOFOLLOW], | ||
| 65 | + [O_NOFOLLOW], | ||
| 66 | + [[ | ||
| 67 | + #include <fcntl.h> | ||
| 68 | + #include <stdio.h> | ||
| 69 | + ]], | ||
| 70 | + [AC_MSG_FAILURE([could find value for O_NOFOLLOW])])] | ||
| 71 | + [AC_MSG_RESULT([$O_NOFOLLOW])]) | ||
| 72 | |||
| 73 | AC_ARG_VAR([TAR], [tar utility]) | ||
| 74 | AS_IF([test "x$TAR" = "x"], [AC_PATH_PROG([TAR], [tar])]) | ||
| 75 | -- | ||
| 76 | 2.31.1 | ||
| 77 | |||
diff --git a/gnu/packages/patches/flatpak-fix-path.patch b/gnu/packages/patches/flatpak-fix-path.patch new file mode 100644 index 00000000000..e87a08a7fef --- /dev/null +++ b/gnu/packages/patches/flatpak-fix-path.patch | |||
| @@ -0,0 +1,29 @@ | |||
| 1 | Flatpak writes files for installed applications with the full Flatpak (store) path. This patch makes it write just "flatpak", using Flatpak from PATH. This is similar to the NixOS [0] patch, updated for Flatpak 1.12.1 | ||
| 2 | |||
| 3 | [0] https://github.com/NixOS/nixpkgs/blob/bf4167861d0f864b0fc457778d54feb4a2675ea2/pkgs/development/libraries/flatpak/use-flatpak-from-path.patch | ||
| 4 | |||
| 5 | diff --git a/common/flatpak-dir.c b/common/flatpak-dir.c | ||
| 6 | index 80ff5e5f..0c111c31 100644 | ||
| 7 | --- a/common/flatpak-dir.c | ||
| 8 | +++ b/common/flatpak-dir.c | ||
| 9 | @@ -7134,8 +7134,7 @@ export_desktop_file (const char *app, | ||
| 10 | flatpak = FLATPAK_BINDIR "/flatpak"; | ||
| 11 | |||
| 12 | g_string_append_printf (new_exec, | ||
| 13 | - "%s run --branch=%s --arch=%s", | ||
| 14 | - flatpak, | ||
| 15 | + "flatpak run --branch=%s --arch=%s", | ||
| 16 | escaped_branch, | ||
| 17 | escaped_arch); | ||
| 18 | |||
| 19 | @@ -8467,8 +8466,8 @@ flatpak_dir_deploy (FlatpakDir *self, | ||
| 20 | if ((flatpak = g_getenv ("FLATPAK_BINARY")) == NULL) | ||
| 21 | flatpak = FLATPAK_BINDIR "/flatpak"; | ||
| 22 | |||
| 23 | - bin_data = g_strdup_printf ("#!/bin/sh\nexec %s run --branch=%s --arch=%s %s \"$@\"\n", | ||
| 24 | - flatpak, escaped_branch, escaped_arch, escaped_app); | ||
| 25 | + bin_data = g_strdup_printf ("#!/bin/sh\nexec flatpak run --branch=%s --arch=%s %s \"$@\"\n", | ||
| 26 | + escaped_branch, escaped_arch, escaped_app); | ||
| 27 | if (!g_file_replace_contents (wrapper, bin_data, strlen (bin_data), NULL, FALSE, | ||
| 28 | G_FILE_CREATE_REPLACE_DESTINATION, NULL, cancellable, error)) | ||
| 29 | return FALSE; | ||
diff --git a/gnu/packages/patches/icecat-78-makeicecat.patch b/gnu/packages/patches/icecat-78-makeicecat.patch new file mode 100644 index 00000000000..edd1ced257d --- /dev/null +++ b/gnu/packages/patches/icecat-78-makeicecat.patch | |||
| @@ -0,0 +1,110 @@ | |||
| 1 | Make some of the changes needed to the 'makeicecat' script, to allow it to run | ||
| 2 | in a snippet without network access. After this patch is applied, some | ||
| 3 | additional changes will be made using 'substitute*'. | ||
| 4 | |||
| 5 | diff --git a/makeicecat b/makeicecat | ||
| 6 | index 8be2362..48716f2 100755 | ||
| 7 | --- a/makeicecat | ||
| 8 | +++ b/makeicecat | ||
| 9 | @@ -31,55 +31,55 @@ SOURCEDIR=icecat-$FFVERSION | ||
| 10 | |||
| 11 | DATA="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"/data | ||
| 12 | |||
| 13 | -mkdir -p output | ||
| 14 | -cd output | ||
| 15 | +# mkdir -p output | ||
| 16 | +# cd output | ||
| 17 | |||
| 18 | ############################################################################### | ||
| 19 | # Retrieve FF source code | ||
| 20 | ############################################################################### | ||
| 21 | |||
| 22 | -rm mozilla-esr${FFMAJOR} $SOURCEDIR -rf | ||
| 23 | - | ||
| 24 | -wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz | ||
| 25 | -wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz.asc | ||
| 26 | -gpg --recv-keys --keyserver keyserver.ubuntu.com 14F26682D0916CDD81E37B6D61B7B526D98F0353 | ||
| 27 | -gpg --verify firefox-${FFVERSION}esr.source.tar.xz.asc | ||
| 28 | -echo -n 1aa041db28cd742e93d663a9da8defd33040b38d8b9470350538473251621643 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c - | ||
| 29 | - | ||
| 30 | -echo Extracting Firefox tarball | ||
| 31 | -tar -xf firefox-${FFVERSION}esr.source.tar.xz | ||
| 32 | - | ||
| 33 | -mv firefox-${FFVERSION} $SOURCEDIR | ||
| 34 | +# rm mozilla-esr${FFMAJOR} $SOURCEDIR -rf | ||
| 35 | +# | ||
| 36 | +# wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz | ||
| 37 | +# wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz.asc | ||
| 38 | +# gpg --recv-keys --keyserver keyserver.ubuntu.com 14F26682D0916CDD81E37B6D61B7B526D98F0353 | ||
| 39 | +# gpg --verify firefox-${FFVERSION}esr.source.tar.xz.asc | ||
| 40 | +# echo -n 1aa041db28cd742e93d663a9da8defd33040b38d8b9470350538473251621643 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c - | ||
| 41 | +# | ||
| 42 | +# echo Extracting Firefox tarball | ||
| 43 | +# tar -xf firefox-${FFVERSION}esr.source.tar.xz | ||
| 44 | +# | ||
| 45 | +# mv firefox-${FFVERSION} $SOURCEDIR | ||
| 46 | |||
| 47 | ############################################################################### | ||
| 48 | # Retrieve l10n | ||
| 49 | ############################################################################### | ||
| 50 | |||
| 51 | -mkdir l10n | ||
| 52 | -cd l10n | ||
| 53 | -while read line;do | ||
| 54 | - line=$(echo $line |cut -d' ' -f1) | ||
| 55 | - #[ $line = "es-ES" ] || continue # To speed up testing | ||
| 56 | - [ $line = "en-US" ] && continue | ||
| 57 | - hg clone https://hg.mozilla.org/l10n-central/$line | ||
| 58 | - mkdir -p $line/browser/chrome/browser/preferences | ||
| 59 | - touch $line/browser/chrome/browser/preferences/advanced-scripts.dtd | ||
| 60 | - rm -rf $line/.hg* | ||
| 61 | -done < ../$SOURCEDIR/browser/locales/shipped-locales | ||
| 62 | -cd .. | ||
| 63 | - | ||
| 64 | -mv l10n $SOURCEDIR | ||
| 65 | - | ||
| 66 | -hg clone https://hg.mozilla.org/l10n/compare-locales/ | ||
| 67 | -cd compare-locales/ | ||
| 68 | -hg checkout RELEASE_8_0_0 | ||
| 69 | -cd .. | ||
| 70 | -rm compare-locales/.hg* compare-locales/.git* -rf | ||
| 71 | -mv compare-locales $SOURCEDIR/l10n | ||
| 72 | +# mkdir l10n | ||
| 73 | +# cd l10n | ||
| 74 | +# while read line;do | ||
| 75 | +# line=$(echo $line |cut -d' ' -f1) | ||
| 76 | +# #[ $line = "es-ES" ] || continue # To speed up testing | ||
| 77 | +# [ $line = "en-US" ] && continue | ||
| 78 | +# hg clone https://hg.mozilla.org/l10n-central/$line | ||
| 79 | +# mkdir -p $line/browser/chrome/browser/preferences | ||
| 80 | +# touch $line/browser/chrome/browser/preferences/advanced-scripts.dtd | ||
| 81 | +# rm -rf $line/.hg* | ||
| 82 | +# done < ../$SOURCEDIR/browser/locales/shipped-locales | ||
| 83 | +# cd .. | ||
| 84 | +# | ||
| 85 | +# mv l10n $SOURCEDIR | ||
| 86 | +# | ||
| 87 | +# hg clone https://hg.mozilla.org/l10n/compare-locales/ | ||
| 88 | +# cd compare-locales/ | ||
| 89 | +# hg checkout RELEASE_8_0_0 | ||
| 90 | +# cd .. | ||
| 91 | +# rm compare-locales/.hg* compare-locales/.git* -rf | ||
| 92 | +# mv compare-locales $SOURCEDIR/l10n | ||
| 93 | |||
| 94 | ####################################################### | ||
| 95 | |||
| 96 | -cd $SOURCEDIR | ||
| 97 | +# cd $SOURCEDIR | ||
| 98 | |||
| 99 | shopt -s nullglob | ||
| 100 | for patch in $DATA/patches/*.patch; do | ||
| 101 | @@ -598,6 +598,6 @@ sed 's/777/755/;' -i toolkit/crashreporter/google-breakpad/Makefile.in | ||
| 102 | # Fix CVE-2012-3386 | ||
| 103 | /bin/sed 's/chmod a+w/chmod u+w/' -i ./js/src/ctypes/libffi/Makefile.in ./toolkit/crashreporter/google-breakpad/Makefile.in ./toolkit/crashreporter/google-breakpad/src/third_party/glog/Makefile.in || true | ||
| 104 | |||
| 105 | -cd .. | ||
| 106 | -echo Packaging tarball | ||
| 107 | -tar cfj icecat-$ICECATVERSION.tar.bz2 $SOURCEDIR | ||
| 108 | +# cd .. | ||
| 109 | +# echo Packaging tarball | ||
| 110 | +# tar cfj icecat-$ICECATVERSION.tar.bz2 $SOURCEDIR | ||
diff --git a/gnu/packages/patches/icecat-makeicecat.patch b/gnu/packages/patches/icecat-makeicecat.patch index edd1ced257d..c46cb27ff6c 100644 --- a/gnu/packages/patches/icecat-makeicecat.patch +++ b/gnu/packages/patches/icecat-makeicecat.patch | |||
| @@ -3,108 +3,49 @@ in a snippet without network access. After this patch is applied, some | |||
| 3 | additional changes will be made using 'substitute*'. | 3 | additional changes will be made using 'substitute*'. |
| 4 | 4 | ||
| 5 | diff --git a/makeicecat b/makeicecat | 5 | diff --git a/makeicecat b/makeicecat |
| 6 | index 8be2362..48716f2 100755 | 6 | index bf2b7a6..bc3b19b 100755 |
| 7 | --- a/makeicecat | 7 | --- a/makeicecat |
| 8 | +++ b/makeicecat | 8 | +++ b/makeicecat |
| 9 | @@ -31,55 +31,55 @@ SOURCEDIR=icecat-$FFVERSION | 9 | @@ -58,7 +58,7 @@ readonly SOURCEDIR=icecat-${FFVERSION} |
| 10 | # debug/shell options | ||
| 11 | readonly DEVEL=0 | ||
| 12 | set -euo pipefail | ||
| 13 | -(( DEVEL )) && set -x | ||
| 14 | +set -x | ||
| 10 | 15 | ||
| 11 | DATA="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"/data | ||
| 12 | 16 | ||
| 13 | -mkdir -p output | ||
| 14 | -cd output | ||
| 15 | +# mkdir -p output | ||
| 16 | +# cd output | ||
| 17 | |||
| 18 | ############################################################################### | ||
| 19 | # Retrieve FF source code | ||
| 20 | ############################################################################### | 17 | ############################################################################### |
| 18 | @@ -459,7 +459,7 @@ configure_search() | ||
| 19 | sed 's|ddg@|ddg-html@|' -i browser/components/search/extensions/ddg-html/manifest.json | ||
| 21 | 20 | ||
| 22 | -rm mozilla-esr${FFMAJOR} $SOURCEDIR -rf | 21 | # Process various JSON pre-configuration dumps. |
| 23 | - | 22 | - python3 ../../tools/process-json-files.py . browser/components/extensions/schemas/ |
| 24 | -wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz | 23 | + python3 "${DATADIR}"/../tools/process-json-files.py . browser/components/extensions/schemas/ |
| 25 | -wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz.asc | 24 | } |
| 26 | -gpg --recv-keys --keyserver keyserver.ubuntu.com 14F26682D0916CDD81E37B6D61B7B526D98F0353 | ||
| 27 | -gpg --verify firefox-${FFVERSION}esr.source.tar.xz.asc | ||
| 28 | -echo -n 1aa041db28cd742e93d663a9da8defd33040b38d8b9470350538473251621643 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c - | ||
| 29 | - | ||
| 30 | -echo Extracting Firefox tarball | ||
| 31 | -tar -xf firefox-${FFVERSION}esr.source.tar.xz | ||
| 32 | - | ||
| 33 | -mv firefox-${FFVERSION} $SOURCEDIR | ||
| 34 | +# rm mozilla-esr${FFMAJOR} $SOURCEDIR -rf | ||
| 35 | +# | ||
| 36 | +# wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz | ||
| 37 | +# wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz.asc | ||
| 38 | +# gpg --recv-keys --keyserver keyserver.ubuntu.com 14F26682D0916CDD81E37B6D61B7B526D98F0353 | ||
| 39 | +# gpg --verify firefox-${FFVERSION}esr.source.tar.xz.asc | ||
| 40 | +# echo -n 1aa041db28cd742e93d663a9da8defd33040b38d8b9470350538473251621643 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c - | ||
| 41 | +# | ||
| 42 | +# echo Extracting Firefox tarball | ||
| 43 | +# tar -xf firefox-${FFVERSION}esr.source.tar.xz | ||
| 44 | +# | ||
| 45 | +# mv firefox-${FFVERSION} $SOURCEDIR | ||
| 46 | 25 | ||
| 26 | configure_mobile() | ||
| 27 | @@ -855,12 +855,12 @@ finalize_sourceball() | ||
| 28 | # entry point | ||
| 47 | ############################################################################### | 29 | ############################################################################### |
| 48 | # Retrieve l10n | ||
| 49 | ############################################################################### | ||
| 50 | |||
| 51 | -mkdir l10n | ||
| 52 | -cd l10n | ||
| 53 | -while read line;do | ||
| 54 | - line=$(echo $line |cut -d' ' -f1) | ||
| 55 | - #[ $line = "es-ES" ] || continue # To speed up testing | ||
| 56 | - [ $line = "en-US" ] && continue | ||
| 57 | - hg clone https://hg.mozilla.org/l10n-central/$line | ||
| 58 | - mkdir -p $line/browser/chrome/browser/preferences | ||
| 59 | - touch $line/browser/chrome/browser/preferences/advanced-scripts.dtd | ||
| 60 | - rm -rf $line/.hg* | ||
| 61 | -done < ../$SOURCEDIR/browser/locales/shipped-locales | ||
| 62 | -cd .. | ||
| 63 | - | ||
| 64 | -mv l10n $SOURCEDIR | ||
| 65 | - | ||
| 66 | -hg clone https://hg.mozilla.org/l10n/compare-locales/ | ||
| 67 | -cd compare-locales/ | ||
| 68 | -hg checkout RELEASE_8_0_0 | ||
| 69 | -cd .. | ||
| 70 | -rm compare-locales/.hg* compare-locales/.git* -rf | ||
| 71 | -mv compare-locales $SOURCEDIR/l10n | ||
| 72 | +# mkdir l10n | ||
| 73 | +# cd l10n | ||
| 74 | +# while read line;do | ||
| 75 | +# line=$(echo $line |cut -d' ' -f1) | ||
| 76 | +# #[ $line = "es-ES" ] || continue # To speed up testing | ||
| 77 | +# [ $line = "en-US" ] && continue | ||
| 78 | +# hg clone https://hg.mozilla.org/l10n-central/$line | ||
| 79 | +# mkdir -p $line/browser/chrome/browser/preferences | ||
| 80 | +# touch $line/browser/chrome/browser/preferences/advanced-scripts.dtd | ||
| 81 | +# rm -rf $line/.hg* | ||
| 82 | +# done < ../$SOURCEDIR/browser/locales/shipped-locales | ||
| 83 | +# cd .. | ||
| 84 | +# | ||
| 85 | +# mv l10n $SOURCEDIR | ||
| 86 | +# | ||
| 87 | +# hg clone https://hg.mozilla.org/l10n/compare-locales/ | ||
| 88 | +# cd compare-locales/ | ||
| 89 | +# hg checkout RELEASE_8_0_0 | ||
| 90 | +# cd .. | ||
| 91 | +# rm compare-locales/.hg* compare-locales/.git* -rf | ||
| 92 | +# mv compare-locales $SOURCEDIR/l10n | ||
| 93 | |||
| 94 | ####################################################### | ||
| 95 | |||
| 96 | -cd $SOURCEDIR | ||
| 97 | +# cd $SOURCEDIR | ||
| 98 | |||
| 99 | shopt -s nullglob | ||
| 100 | for patch in $DATA/patches/*.patch; do | ||
| 101 | @@ -598,6 +598,6 @@ sed 's/777/755/;' -i toolkit/crashreporter/google-breakpad/Makefile.in | ||
| 102 | # Fix CVE-2012-3386 | ||
| 103 | /bin/sed 's/chmod a+w/chmod u+w/' -i ./js/src/ctypes/libffi/Makefile.in ./toolkit/crashreporter/google-breakpad/Makefile.in ./toolkit/crashreporter/google-breakpad/src/third_party/glog/Makefile.in || true | ||
| 104 | 30 | ||
| 105 | -cd .. | 31 | -validate_env || exit 1 |
| 106 | -echo Packaging tarball | 32 | -prepare_env |
| 107 | -tar cfj icecat-$ICECATVERSION.tar.bz2 $SOURCEDIR | 33 | -fetch_source |
| 108 | +# cd .. | 34 | -verify_sources |
| 109 | +# echo Packaging tarball | 35 | -extract_sources |
| 110 | +# tar cfj icecat-$ICECATVERSION.tar.bz2 $SOURCEDIR | 36 | -fetch_l10n |
| 37 | +# validate_env || exit 1 | ||
| 38 | +# prepare_env | ||
| 39 | +# fetch_source | ||
| 40 | +# verify_sources | ||
| 41 | +# extract_sources | ||
| 42 | +# fetch_l10n | ||
| 43 | apply_patches | ||
| 44 | configure | ||
| 45 | configure_search | ||
| 46 | @@ -872,4 +872,4 @@ prepare_macos_packaging | ||
| 47 | configure_extensions | ||
| 48 | configure_onboarding | ||
| 49 | apply_bugfixes | ||
| 50 | -finalize_sourceball | ||
| 51 | +# finalize_sourceball | ||
diff --git a/gnu/packages/patches/mupdf-CVE-2021-3407.patch b/gnu/packages/patches/mupdf-CVE-2021-3407.patch deleted file mode 100644 index 9f901517c5d..00000000000 --- a/gnu/packages/patches/mupdf-CVE-2021-3407.patch +++ /dev/null | |||
| @@ -1,51 +0,0 @@ | |||
| 1 | This patch came from https://git.ghostscript.com/?p=mupdf.git;a=patch;h=cee7cefc610d42fd383b3c80c12cbc675443176a | ||
| 2 | and fixes CVE-2021-3407. | ||
| 3 | |||
| 4 | From cee7cefc610d42fd383b3c80c12cbc675443176a Mon Sep 17 00:00:00 2001 | ||
| 5 | From: Robin Watts <Robin.Watts@artifex.com> | ||
| 6 | Date: Fri, 22 Jan 2021 17:05:15 +0000 | ||
| 7 | Subject: [PATCH] Bug 703366: Fix double free of object during linearization. | ||
| 8 | |||
| 9 | This appears to happen because we parse an illegal object from | ||
| 10 | a broken file and assign it to object 0, which is defined to | ||
| 11 | be free. | ||
| 12 | |||
| 13 | Here, we fix the parsing code so this can't happen. | ||
| 14 | --- | ||
| 15 | source/pdf/pdf-parse.c | 6 ++++++ | ||
| 16 | source/pdf/pdf-xref.c | 2 ++ | ||
| 17 | 2 files changed, 8 insertions(+) | ||
| 18 | |||
| 19 | diff --git a/source/pdf/pdf-parse.c b/source/pdf/pdf-parse.c | ||
| 20 | index 7abc8c3d4..5761c3351 100644 | ||
| 21 | --- a/source/pdf/pdf-parse.c | ||
| 22 | +++ b/source/pdf/pdf-parse.c | ||
| 23 | @@ -749,6 +749,12 @@ pdf_parse_ind_obj(fz_context *ctx, pdf_document *doc, | ||
| 24 | fz_throw(ctx, FZ_ERROR_SYNTAX, "expected generation number (%d ? obj)", num); | ||
| 25 | } | ||
| 26 | gen = buf->i; | ||
| 27 | + if (gen < 0 || gen >= 65536) | ||
| 28 | + { | ||
| 29 | + if (try_repair) | ||
| 30 | + *try_repair = 1; | ||
| 31 | + fz_throw(ctx, FZ_ERROR_SYNTAX, "invalid generation number (%d)", gen); | ||
| 32 | + } | ||
| 33 | |||
| 34 | tok = pdf_lex(ctx, file, buf); | ||
| 35 | if (tok != PDF_TOK_OBJ) | ||
| 36 | diff --git a/source/pdf/pdf-xref.c b/source/pdf/pdf-xref.c | ||
| 37 | index 1b2bdcd59..30197b4b8 100644 | ||
| 38 | --- a/source/pdf/pdf-xref.c | ||
| 39 | +++ b/source/pdf/pdf-xref.c | ||
| 40 | @@ -1190,6 +1190,8 @@ pdf_read_new_xref(fz_context *ctx, pdf_document *doc, pdf_lexbuf *buf) | ||
| 41 | { | ||
| 42 | ofs = fz_tell(ctx, doc->file); | ||
| 43 | trailer = pdf_parse_ind_obj(ctx, doc, doc->file, buf, &num, &gen, &stm_ofs, NULL); | ||
| 44 | + if (num == 0) | ||
| 45 | + fz_throw(ctx, FZ_ERROR_GENERIC, "Trailer object number cannot be 0\n"); | ||
| 46 | } | ||
| 47 | fz_catch(ctx) | ||
| 48 | { | ||
| 49 | -- | ||
| 50 | 2.17.1 | ||
| 51 | |||
diff --git a/gnu/packages/patches/mupdf-fix-linkage.patch b/gnu/packages/patches/mupdf-fix-linkage.patch deleted file mode 100644 index 4ffd1c6a77e..00000000000 --- a/gnu/packages/patches/mupdf-fix-linkage.patch +++ /dev/null | |||
| @@ -1,27 +0,0 @@ | |||
| 1 | From: Tobias Geerinckx-Rice <me@tobias.gr> | ||
| 2 | Date: Tue, 24 Nov 2020 10:29:28 +0000 | ||
| 3 | Subject: [PATCH] gnu: mupdf: Fix linkage. | ||
| 4 | |||
| 5 | Replace broken linkage to ‘build/shared-release/libmupdf.so’ with the | ||
| 6 | proper ‘-L$(libdir) -lmupdf’ incantation, and fix libmupdf.so's mode. | ||
| 7 | |||
| 8 | --- mupdf-1.18.0-source.org/Makefile | ||
| 9 | +++ mupdf-1.18.0-source/Makefile | ||
| 10 | @@ -61,7 +61,7 @@ | ||
| 11 | ifdef RANLIB | ||
| 12 | RANLIB_CMD = $(QUIET_RANLIB) $(RANLIB) $@ | ||
| 13 | endif | ||
| 14 | -LINK_CMD = $(QUIET_LINK) $(MKTGTDIR) ; $(CC) $(LDFLAGS) -o $@ $^ $(LIBS) | ||
| 15 | +LINK_CMD = $(QUIET_LINK) $(MKTGTDIR) ; $(CC) $(LDFLAGS) -o $@ $(subst $(MUPDF_LIB),-L$(libdir) -L$(OUT) -lmupdf,$^) $(LIBS) | ||
| 16 | TAGS_CMD = $(QUIET_TAGS) ctags -R --c-kinds=+p | ||
| 17 | WINDRES_CMD = $(QUIET_WINDRES) $(MKTGTDIR) ; $(WINDRES) $< $@ | ||
| 18 | OBJCOPY_CMD = $(QUIET_OBJCOPY) $(MKTGTDIR) ; $(LD) -r -b binary -z noexecstack -o $@ $< | ||
| 19 | @@ -364,7 +364,7 @@ install: libs apps | ||
| 20 | install -m 644 include/mupdf/pdf/*.h $(DESTDIR)$(incdir)/mupdf/pdf | ||
| 21 | |||
| 22 | install -d $(DESTDIR)$(libdir) | ||
| 23 | - install -m 644 $(INSTALL_LIBS) $(DESTDIR)$(libdir) | ||
| 24 | + install -m 755 $(INSTALL_LIBS) $(DESTDIR)$(libdir) | ||
| 25 | |||
| 26 | install -d $(DESTDIR)$(bindir) | ||
| 27 | install -m 755 $(TOOL_APPS) $(VIEW_APPS) $(DESTDIR)$(bindir) | ||
diff --git a/gnu/packages/patches/python-peachpy-determinism.patch b/gnu/packages/patches/python-peachpy-determinism.patch new file mode 100644 index 00000000000..f326a4b6b07 --- /dev/null +++ b/gnu/packages/patches/python-peachpy-determinism.patch | |||
| @@ -0,0 +1,25 @@ | |||
| 1 | Make PeachPy processes deterministic: | ||
| 2 | |||
| 3 | https://github.com/Maratyszcza/PeachPy/issues/88 | ||
| 4 | https://issues.guix.gnu.org/50672 | ||
| 5 | |||
| 6 | diff --git a/peachpy/name.py b/peachpy/name.py | ||
| 7 | index b6a03dc..412079d 100644 | ||
| 8 | --- a/peachpy/name.py | ||
| 9 | +++ b/peachpy/name.py | ||
| 10 | @@ -86,13 +86,13 @@ def add_scoped_name(self, scoped_name): | ||
| 11 | self.names[scope_name.name] = scope | ||
| 12 | else: | ||
| 13 | assert scope_name.name is None | ||
| 14 | - self.prenames.setdefault(scope_name.prename, set()) | ||
| 15 | + self.prenames.setdefault(scope_name.prename, {}) | ||
| 16 | if subscoped_name: | ||
| 17 | for subscope in iter(self.prenames[scope_name.prename]): | ||
| 18 | if isinstance(subscope, Namespace) and subscope.scope_name is scope_name: | ||
| 19 | subscope.add_scoped_name(subscoped_name) | ||
| 20 | return | ||
| 21 | - self.prenames[scope_name.prename].add(scope) | ||
| 22 | + self.prenames[scope_name.prename][scope] = None | ||
| 23 | |||
| 24 | def assign_names(self): | ||
| 25 | # Step 1: assign names to symbols with prenames with no conflicts | ||
diff --git a/gnu/packages/patches/qemu-fix-agent-paths.patch b/gnu/packages/patches/qemu-fix-agent-paths.patch new file mode 100644 index 00000000000..bae62fadbf7 --- /dev/null +++ b/gnu/packages/patches/qemu-fix-agent-paths.patch | |||
| @@ -0,0 +1,66 @@ | |||
| 1 | Allow a QEMU host to set the time and shutdown Guix guests. Styled | ||
| 2 | after the patch from the Nix package: | ||
| 3 | |||
| 4 | https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/virtualization/qemu/fix-qemu-ga.patch | ||
| 5 | |||
| 6 | diff --git a/qga/commands-posix.c b/qga/commands-posix.c | ||
| 7 | index 75dbaab..b416b03 100644 | ||
| 8 | --- a/qga/commands-posix.c | ||
| 9 | +++ b/qga/commands-posix.c | ||
| 10 | @@ -84,6 +84,7 @@ static void ga_wait_child(pid_t pid, int *status, Error **errp) | ||
| 11 | void qmp_guest_shutdown(bool has_mode, const char *mode, Error **errp) | ||
| 12 | { | ||
| 13 | const char *shutdown_flag; | ||
| 14 | + const char *command; | ||
| 15 | Error *local_err = NULL; | ||
| 16 | pid_t pid; | ||
| 17 | int status; | ||
| 18 | @@ -91,10 +92,13 @@ void qmp_guest_shutdown(bool has_mode, const char *mode, Error **errp) | ||
| 19 | slog("guest-shutdown called, mode: %s", mode); | ||
| 20 | if (!has_mode || strcmp(mode, "powerdown") == 0) { | ||
| 21 | shutdown_flag = "-P"; | ||
| 22 | + command = "shutdown"; | ||
| 23 | } else if (strcmp(mode, "halt") == 0) { | ||
| 24 | shutdown_flag = "-H"; | ||
| 25 | + command = "halt"; | ||
| 26 | } else if (strcmp(mode, "reboot") == 0) { | ||
| 27 | shutdown_flag = "-r"; | ||
| 28 | + command = "reboot"; | ||
| 29 | } else { | ||
| 30 | error_setg(errp, | ||
| 31 | "mode is invalid (valid values are: halt|powerdown|reboot"); | ||
| 32 | @@ -109,6 +113,11 @@ void qmp_guest_shutdown(bool has_mode, const char *mode, Error **errp) | ||
| 33 | reopen_fd_to_null(1); | ||
| 34 | reopen_fd_to_null(2); | ||
| 35 | |||
| 36 | + /* try Guix’s shutdown/halt/reboot first */ | ||
| 37 | + char *path = g_strdup_printf("/run/current-system/profile/sbin/%s", command); | ||
| 38 | + execle(path, command, (char *)NULL, environ); | ||
| 39 | + g_free(path); | ||
| 40 | + | ||
| 41 | execle("/sbin/shutdown", "shutdown", "-h", shutdown_flag, "+0", | ||
| 42 | "hypervisor initiated shutdown", (char *)NULL, environ); | ||
| 43 | _exit(EXIT_FAILURE); | ||
| 44 | @@ -158,10 +167,12 @@ void qmp_guest_set_time(bool has_time, int64_t time_ns, Error **errp) | ||
| 45 | Error *local_err = NULL; | ||
| 46 | struct timeval tv; | ||
| 47 | static const char hwclock_path[] = "/sbin/hwclock"; | ||
| 48 | + static const char hwclock_path_guix[] = "/run/current-system/profile/sbin/hwclock"; | ||
| 49 | static int hwclock_available = -1; | ||
| 50 | |||
| 51 | if (hwclock_available < 0) { | ||
| 52 | - hwclock_available = (access(hwclock_path, X_OK) == 0); | ||
| 53 | + hwclock_available = (access(hwclock_path_guix, X_OK) == 0) || | ||
| 54 | + (access(hwclock_path, X_OK) == 0); | ||
| 55 | } | ||
| 56 | |||
| 57 | if (!hwclock_available) { | ||
| 58 | @@ -207,6 +218,8 @@ void qmp_guest_set_time(bool has_time, int64_t time_ns, Error **errp) | ||
| 59 | |||
| 60 | /* Use '/sbin/hwclock -w' to set RTC from the system time, | ||
| 61 | * or '/sbin/hwclock -s' to set the system time from RTC. */ | ||
| 62 | + execle(hwclock_path_guix, "hwclock", has_time ? "-w" : "-s", | ||
| 63 | + NULL, environ); | ||
| 64 | execle(hwclock_path, "hwclock", has_time ? "-w" : "-s", | ||
| 65 | NULL, environ); | ||
| 66 | _exit(EXIT_FAILURE); | ||
diff --git a/gnu/packages/patches/u-boot-allow-disabling-openssl.patch b/gnu/packages/patches/u-boot-allow-disabling-openssl.patch new file mode 100644 index 00000000000..e3ec92be849 --- /dev/null +++ b/gnu/packages/patches/u-boot-allow-disabling-openssl.patch | |||
| @@ -0,0 +1,164 @@ | |||
| 1 | From f060e90d148270307228315e2759a0065ec1d796 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Vagrant Cascadian <vagrant@debian.org> | ||
| 3 | Date: Fri, 22 Oct 2021 17:34:53 -0700 | ||
| 4 | Subject: [PATCH] Revert "tools: kwbimage: Do not hide usage of secure header | ||
| 5 | under CONFIG_ARMADA_38X" | ||
| 6 | |||
| 7 | This reverts commit b4f3cc2c42d97967a3a3c8796c340f6b07ecccac. | ||
| 8 | --- | ||
| 9 | tools/Makefile | 8 ++++++++ | ||
| 10 | tools/kwbimage.c | 22 ++++++++++++++++++++++ | ||
| 11 | 2 files changed, 30 insertions(+) | ||
| 12 | |||
| 13 | diff --git a/tools/Makefile b/tools/Makefile | ||
| 14 | index 4a86321f64..9517f203fd 100644 | ||
| 15 | --- a/tools/Makefile | ||
| 16 | +++ b/tools/Makefile | ||
| 17 | @@ -169,6 +169,14 @@ HOST_EXTRACFLAGS += -DCONFIG_FIT_SIGNATURE_MAX_SIZE=0xffffffff | ||
| 18 | HOST_EXTRACFLAGS += -DCONFIG_FIT_CIPHER | ||
| 19 | endif | ||
| 20 | |||
| 21 | +ifneq ($(CONFIG_SYS_U_BOOT_OFFS),) | ||
| 22 | +HOSTCFLAGS_kwbimage.o += -DCONFIG_SYS_U_BOOT_OFFS=$(CONFIG_SYS_U_BOOT_OFFS) | ||
| 23 | +endif | ||
| 24 | + | ||
| 25 | +ifneq ($(CONFIG_ARMADA_38X),) | ||
| 26 | +HOSTCFLAGS_kwbimage.o += -DCONFIG_KWB_SECURE | ||
| 27 | +endif | ||
| 28 | + | ||
| 29 | # MXSImage needs LibSSL | ||
| 30 | ifneq ($(CONFIG_MX23)$(CONFIG_MX28)$(CONFIG_ARMADA_38X)$(CONFIG_TOOLS_LIBCRYPTO),) | ||
| 31 | HOSTCFLAGS_kwbimage.o += \ | ||
| 32 | diff --git a/tools/kwbimage.c b/tools/kwbimage.c | ||
| 33 | index d200ff2425..23d6be3c9a 100644 | ||
| 34 | --- a/tools/kwbimage.c | ||
| 35 | +++ b/tools/kwbimage.c | ||
| 36 | @@ -14,6 +14,7 @@ | ||
| 37 | #include <stdint.h> | ||
| 38 | #include "kwbimage.h" | ||
| 39 | |||
| 40 | +#ifdef CONFIG_KWB_SECURE | ||
| 41 | #include <openssl/bn.h> | ||
| 42 | #include <openssl/rsa.h> | ||
| 43 | #include <openssl/pem.h> | ||
| 44 | @@ -39,10 +40,13 @@ void EVP_MD_CTX_cleanup(EVP_MD_CTX *ctx) | ||
| 45 | EVP_MD_CTX_reset(ctx); | ||
| 46 | } | ||
| 47 | #endif | ||
| 48 | +#endif | ||
| 49 | |||
| 50 | static struct image_cfg_element *image_cfg; | ||
| 51 | static int cfgn; | ||
| 52 | +#ifdef CONFIG_KWB_SECURE | ||
| 53 | static int verbose_mode; | ||
| 54 | +#endif | ||
| 55 | |||
| 56 | struct boot_mode { | ||
| 57 | unsigned int id; | ||
| 58 | @@ -237,6 +241,8 @@ image_count_options(unsigned int optiontype) | ||
| 59 | return count; | ||
| 60 | } | ||
| 61 | |||
| 62 | +#if defined(CONFIG_KWB_SECURE) | ||
| 63 | + | ||
| 64 | static int image_get_csk_index(void) | ||
| 65 | { | ||
| 66 | struct image_cfg_element *e; | ||
| 67 | @@ -259,6 +265,8 @@ static bool image_get_spezialized_img(void) | ||
| 68 | return e->sec_specialized_img; | ||
| 69 | } | ||
| 70 | |||
| 71 | +#endif | ||
| 72 | + | ||
| 73 | /* | ||
| 74 | * Compute a 8-bit checksum of a memory area. This algorithm follows | ||
| 75 | * the requirements of the Marvell SoC BootROM specifications. | ||
| 76 | @@ -353,6 +361,7 @@ static uint8_t baudrate_to_option(unsigned int baudrate) | ||
| 77 | } | ||
| 78 | } | ||
| 79 | |||
| 80 | +#if defined(CONFIG_KWB_SECURE) | ||
| 81 | static void kwb_msg(const char *fmt, ...) | ||
| 82 | { | ||
| 83 | if (verbose_mode) { | ||
| 84 | @@ -847,6 +856,8 @@ done: | ||
| 85 | return ret; | ||
| 86 | } | ||
| 87 | |||
| 88 | +#endif | ||
| 89 | + | ||
| 90 | static void *image_create_v0(size_t *imagesz, struct image_tool_params *params, | ||
| 91 | int payloadsz) | ||
| 92 | { | ||
| 93 | @@ -977,11 +988,13 @@ static size_t image_headersz_v1(int *hasext) | ||
| 94 | *hasext = 1; | ||
| 95 | } | ||
| 96 | |||
| 97 | +#if defined(CONFIG_KWB_SECURE) | ||
| 98 | if (image_get_csk_index() >= 0) { | ||
| 99 | headersz += sizeof(struct secure_hdr_v1); | ||
| 100 | if (hasext) | ||
| 101 | *hasext = 1; | ||
| 102 | } | ||
| 103 | +#endif | ||
| 104 | |||
| 105 | /* | ||
| 106 | * The payload should be aligned on some reasonable | ||
| 107 | @@ -1058,6 +1071,8 @@ err_close: | ||
| 108 | return -1; | ||
| 109 | } | ||
| 110 | |||
| 111 | +#if defined(CONFIG_KWB_SECURE) | ||
| 112 | + | ||
| 113 | int export_pub_kak_hash(RSA *kak, struct secure_hdr_v1 *secure_hdr) | ||
| 114 | { | ||
| 115 | FILE *hashf; | ||
| 116 | @@ -1170,6 +1185,7 @@ int add_secure_header_v1(struct image_tool_params *params, uint8_t *ptr, | ||
| 117 | |||
| 118 | return 0; | ||
| 119 | } | ||
| 120 | +#endif | ||
| 121 | |||
| 122 | static void *image_create_v1(size_t *imagesz, struct image_tool_params *params, | ||
| 123 | uint8_t *ptr, int payloadsz) | ||
| 124 | @@ -1177,7 +1193,9 @@ static void *image_create_v1(size_t *imagesz, struct image_tool_params *params, | ||
| 125 | struct image_cfg_element *e; | ||
| 126 | struct main_hdr_v1 *main_hdr; | ||
| 127 | struct register_set_hdr_v1 *register_set_hdr; | ||
| 128 | +#if defined(CONFIG_KWB_SECURE) | ||
| 129 | struct secure_hdr_v1 *secure_hdr = NULL; | ||
| 130 | +#endif | ||
| 131 | size_t headersz; | ||
| 132 | uint8_t *image, *cur; | ||
| 133 | int hasext = 0; | ||
| 134 | @@ -1253,6 +1271,7 @@ static void *image_create_v1(size_t *imagesz, struct image_tool_params *params, | ||
| 135 | if (main_hdr->blockid == IBR_HDR_PEX_ID) | ||
| 136 | main_hdr->srcaddr = cpu_to_le32(0xFFFFFFFF); | ||
| 137 | |||
| 138 | +#if defined(CONFIG_KWB_SECURE) | ||
| 139 | if (image_get_csk_index() >= 0) { | ||
| 140 | /* | ||
| 141 | * only reserve the space here; we fill the header later since | ||
| 142 | @@ -1263,6 +1282,7 @@ static void *image_create_v1(size_t *imagesz, struct image_tool_params *params, | ||
| 143 | *next_ext = 1; | ||
| 144 | next_ext = &secure_hdr->next; | ||
| 145 | } | ||
| 146 | +#endif | ||
| 147 | |||
| 148 | datai = 0; | ||
| 149 | register_set_hdr = (struct register_set_hdr_v1 *)cur; | ||
| 150 | @@ -1310,9 +1330,11 @@ static void *image_create_v1(size_t *imagesz, struct image_tool_params *params, | ||
| 151 | return NULL; | ||
| 152 | } | ||
| 153 | |||
| 154 | +#if defined(CONFIG_KWB_SECURE) | ||
| 155 | if (secure_hdr && add_secure_header_v1(params, ptr, payloadsz, | ||
| 156 | headersz, image, secure_hdr)) | ||
| 157 | return NULL; | ||
| 158 | +#endif | ||
| 159 | |||
| 160 | /* Calculate and set the header checksum */ | ||
| 161 | main_hdr->checksum = image_checksum8(main_hdr, headersz); | ||
| 162 | -- | ||
| 163 | 2.30.2 | ||
| 164 | |||
diff --git a/gnu/packages/patches/udiskie-no-appindicator.patch b/gnu/packages/patches/udiskie-no-appindicator.patch deleted file mode 100644 index df3efe104be..00000000000 --- a/gnu/packages/patches/udiskie-no-appindicator.patch +++ /dev/null | |||
| @@ -1,155 +0,0 @@ | |||
| 1 | Remove the support for Unity's appindicator. | ||
| 2 | |||
| 3 | diff -Naur udiskie-2.0.4/completions/zsh/_udiskie udiskie-2.0.4-new/completions/zsh/_udiskie | ||
| 4 | --- udiskie-2.0.4/completions/zsh/_udiskie 2020-01-21 01:12:40.000000000 +0100 | ||
| 5 | +++ udiskie-2.0.4-new/completions/zsh/_udiskie 2020-01-23 10:15:46.956141667 +0100 | ||
| 6 | @@ -18,8 +18,6 @@ | ||
| 7 | '(-a)'{-A,--no-automount}"[disable automounting]" | ||
| 8 | '(-N)'{-n,--notify}"[show popup notifications]" | ||
| 9 | '(-n)'{-N,--no-notify}"[disable notifications]" | ||
| 10 | - '(--no-appindicator)'--appindicator"[use appindicator for status icon]" | ||
| 11 | - '(--appindicator)'--no-appindicator"[don't use appindicator]" | ||
| 12 | '(-T -s)'{-t,--tray}"[show tray icon]" | ||
| 13 | '(-T -t)'{-s,--smart-tray}"[auto hide tray icon]" | ||
| 14 | '(-t -s)'{-T,--no-tray}"[disable tray icon]" | ||
| 15 | diff -Naur udiskie-2.0.4/doc/udiskie.8.txt udiskie-2.0.4-new/doc/udiskie.8.txt | ||
| 16 | --- udiskie-2.0.4/doc/udiskie.8.txt 2020-01-21 01:12:40.000000000 +0100 | ||
| 17 | +++ udiskie-2.0.4-new/doc/udiskie.8.txt 2020-01-23 10:16:12.636290647 +0100 | ||
| 18 | @@ -92,12 +92,6 @@ | ||
| 19 | *--no-terminal*:: | ||
| 20 | Disable terminal action. | ||
| 21 | |||
| 22 | -*--appindicator*:: | ||
| 23 | - Use AppIndicator3 for the status icon. Use this on Ubuntu/Unity if no icon is shown. | ||
| 24 | - | ||
| 25 | -*--no-appindicator*:: | ||
| 26 | - Use Gtk.StatusIcon for the status icon (default). | ||
| 27 | - | ||
| 28 | *--password-cache MINUTES*:: | ||
| 29 | Cache passwords for LUKS partitions and set the timeout. | ||
| 30 | |||
| 31 | diff -Naur udiskie-2.0.4/udiskie/appindicator.py udiskie-2.0.4-new/udiskie/appindicator.py | ||
| 32 | --- udiskie-2.0.4/udiskie/appindicator.py 2020-01-21 01:12:40.000000000 +0100 | ||
| 33 | +++ udiskie-2.0.4-new/udiskie/appindicator.py 1970-01-01 01:00:00.000000000 +0100 | ||
| 34 | @@ -1,61 +0,0 @@ | ||
| 35 | -""" | ||
| 36 | -Status icon using AppIndicator3. | ||
| 37 | -""" | ||
| 38 | - | ||
| 39 | -from gi.repository import Gtk | ||
| 40 | -from gi.repository import AppIndicator3 | ||
| 41 | - | ||
| 42 | -from .async_ import Future | ||
| 43 | - | ||
| 44 | - | ||
| 45 | -class AppIndicatorIcon: | ||
| 46 | - | ||
| 47 | - """ | ||
| 48 | - Show status icon using AppIndicator as backend. Replaces | ||
| 49 | - `udiskie.tray.StatusIcon` on ubuntu/unity. | ||
| 50 | - """ | ||
| 51 | - | ||
| 52 | - def __init__(self, menumaker, _icons): | ||
| 53 | - self._maker = menumaker | ||
| 54 | - self._menu = Gtk.Menu() | ||
| 55 | - self._indicator = AppIndicator3.Indicator.new( | ||
| 56 | - 'udiskie', | ||
| 57 | - _icons.get_icon_name('media'), | ||
| 58 | - AppIndicator3.IndicatorCategory.HARDWARE) | ||
| 59 | - self._indicator.set_status(AppIndicator3.IndicatorStatus.PASSIVE) | ||
| 60 | - self._indicator.set_menu(self._menu) | ||
| 61 | - # Get notified before menu is shown, see: | ||
| 62 | - # https://bugs.launchpad.net/screenlets/+bug/522152/comments/15 | ||
| 63 | - dbusmenuserver = self._indicator.get_property('dbus-menu-server') | ||
| 64 | - self._dbusmenuitem = dbusmenuserver.get_property('root-node') | ||
| 65 | - self._conn = self._dbusmenuitem.connect('about-to-show', self._on_show) | ||
| 66 | - self.task = Future() | ||
| 67 | - menumaker._quit_action = self.destroy | ||
| 68 | - # Populate menu initially, so libdbusmenu does not ignore the | ||
| 69 | - # 'about-to-show': | ||
| 70 | - self._maker(self._menu) | ||
| 71 | - | ||
| 72 | - def destroy(self): | ||
| 73 | - self.show(False) | ||
| 74 | - self._dbusmenuitem.disconnect(self._conn) | ||
| 75 | - self.task.set_result(True) | ||
| 76 | - | ||
| 77 | - @property | ||
| 78 | - def visible(self): | ||
| 79 | - status = self._indicator.get_status() | ||
| 80 | - return status == AppIndicator3.IndicatorStatus.ACTIVE | ||
| 81 | - | ||
| 82 | - def show(self, show=True): | ||
| 83 | - if show == self.visible: | ||
| 84 | - return | ||
| 85 | - status = (AppIndicator3.IndicatorStatus.ACTIVE if show else | ||
| 86 | - AppIndicator3.IndicatorStatus.PASSIVE) | ||
| 87 | - self._indicator.set_status(status) | ||
| 88 | - | ||
| 89 | - def _on_show(self, menu): | ||
| 90 | - # clear menu: | ||
| 91 | - for item in self._menu.get_children(): | ||
| 92 | - self._menu.remove(item) | ||
| 93 | - # repopulate: | ||
| 94 | - self._maker(self._menu) | ||
| 95 | - self._menu.show_all() | ||
| 96 | diff -Naur udiskie-2.0.4/udiskie/cli.py udiskie-2.0.4-new/udiskie/cli.py | ||
| 97 | --- udiskie-2.0.4/udiskie/cli.py 2020-01-21 01:12:40.000000000 +0100 | ||
| 98 | +++ udiskie-2.0.4-new/udiskie/cli.py 2020-01-23 10:17:13.064810617 +0100 | ||
| 99 | @@ -287,9 +287,6 @@ | ||
| 100 | -T, --no-tray Disable tray icon | ||
| 101 | -m MENU, --menu MENU Tray menu [flat/nested] | ||
| 102 | |||
| 103 | - --appindicator Use appindicator for status icon | ||
| 104 | - --no-appindicator Don't use appindicator | ||
| 105 | - | ||
| 106 | --password-cache MINUTES Set password cache timeout | ||
| 107 | --no-password-cache Disable password cache | ||
| 108 | |||
| 109 | @@ -312,7 +309,6 @@ | ||
| 110 | 'notify': True, | ||
| 111 | 'tray': False, | ||
| 112 | 'menu': 'flat', | ||
| 113 | - 'appindicator': False, | ||
| 114 | 'file_manager': 'xdg-open', | ||
| 115 | 'terminal': '', | ||
| 116 | 'password_prompt': 'builtin:gui', | ||
| 117 | @@ -328,7 +324,6 @@ | ||
| 118 | '--no-tray': False, | ||
| 119 | '--smart-tray': 'auto'}), | ||
| 120 | 'menu': Value('--menu'), | ||
| 121 | - 'appindicator': Switch('appindicator'), | ||
| 122 | 'file_manager': OptionalValue('--file-manager'), | ||
| 123 | 'password_prompt': OptionalValue('--password-prompt'), | ||
| 124 | 'password_cache': OptionalValue('--password-cache'), | ||
| 125 | @@ -459,11 +454,7 @@ | ||
| 126 | |||
| 127 | menu_maker = udiskie.tray.UdiskieMenu(self, icons, actions, flat, | ||
| 128 | config.quickmenu_actions) | ||
| 129 | - if options['appindicator']: | ||
| 130 | - import udiskie.appindicator | ||
| 131 | - TrayIcon = udiskie.appindicator.AppIndicatorIcon | ||
| 132 | - else: | ||
| 133 | - TrayIcon = udiskie.tray.TrayIcon | ||
| 134 | + TrayIcon = udiskie.tray.TrayIcon | ||
| 135 | trayicon = TrayIcon(menu_maker, icons) | ||
| 136 | return udiskie.tray.UdiskieStatusIcon(trayicon, menu_maker, smart) | ||
| 137 | |||
| 138 | diff -Naur udiskie-2.0.4/udiskie.egg-info/SOURCES.txt udiskie-2.0.4-new/udiskie.egg-info/SOURCES.txt | ||
| 139 | --- udiskie-2.0.4/udiskie.egg-info/SOURCES.txt 2020-01-21 01:12:41.000000000 +0100 | ||
| 140 | +++ udiskie-2.0.4-new/udiskie.egg-info/SOURCES.txt 2020-01-23 10:17:50.657205798 +0100 | ||
| 141 | @@ -25,7 +25,6 @@ | ||
| 142 | test/test_cache.py | ||
| 143 | test/test_match.py | ||
| 144 | udiskie/__init__.py | ||
| 145 | -udiskie/appindicator.py | ||
| 146 | udiskie/async_.py | ||
| 147 | udiskie/automount.py | ||
| 148 | udiskie/cache.py | ||
| 149 | @@ -47,4 +46,4 @@ | ||
| 150 | udiskie.egg-info/entry_points.txt | ||
| 151 | udiskie.egg-info/requires.txt | ||
| 152 | udiskie.egg-info/top_level.txt | ||
| 153 | -udiskie.egg-info/zip-safe | ||
| 154 | \ Pas de fin de ligne à la fin du fichier | ||
| 155 | +udiskie.egg-info/zip-safe | ||
diff --git a/gnu/packages/patches/zig-disable-libc-note-test.patch b/gnu/packages/patches/zig-disable-libc-note-test.patch new file mode 100644 index 00000000000..4d76139efbe --- /dev/null +++ b/gnu/packages/patches/zig-disable-libc-note-test.patch | |||
| @@ -0,0 +1,31 @@ | |||
| 1 | This test fails with "error.CompilationIncorrectlySucceeded". | ||
| 2 | |||
| 3 | diff --git a/test/compile_errors.zig b/test/compile_errors.zig | ||
| 4 | index fd1255c..20d5548 100644 | ||
| 5 | --- a/test/compile_errors.zig | ||
| 6 | +++ b/test/compile_errors.zig | ||
| 7 | @@ -2751,15 +2751,15 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { | ||
| 8 | "tmp.zig:3:5: error: dependency on libc must be explicitly specified in the build command", | ||
| 9 | }); | ||
| 10 | |||
| 11 | - cases.addTest("libc headers note", | ||
| 12 | - \\const c = @cImport(@cInclude("stdio.h")); | ||
| 13 | - \\export fn entry() void { | ||
| 14 | - \\ _ = c.printf("hello, world!\n"); | ||
| 15 | - \\} | ||
| 16 | - , &[_][]const u8{ | ||
| 17 | - "tmp.zig:1:11: error: C import failed", | ||
| 18 | - "tmp.zig:1:11: note: libc headers not available; compilation does not link against libc", | ||
| 19 | - }); | ||
| 20 | +// cases.addTest("libc headers note", | ||
| 21 | +// \\const c = @cImport(@cInclude("stdio.h")); | ||
| 22 | +// \\export fn entry() void { | ||
| 23 | +// \\ _ = c.printf("hello, world!\n"); | ||
| 24 | +// \\} | ||
| 25 | +// , &[_][]const u8{ | ||
| 26 | +// "tmp.zig:1:11: error: C import failed", | ||
| 27 | +// "tmp.zig:1:11: note: libc headers not available; compilation does not link against libc", | ||
| 28 | +// }); | ||
| 29 | } | ||
| 30 | |||
| 31 | cases.addTest("comptime vector overflow shows the index", | ||
diff --git a/gnu/packages/patches/zig-use-system-paths.patch b/gnu/packages/patches/zig-use-system-paths.patch new file mode 100644 index 00000000000..33b7da1e0df --- /dev/null +++ b/gnu/packages/patches/zig-use-system-paths.patch | |||
| @@ -0,0 +1,143 @@ | |||
| 1 | This patch replaces the OS-specific detection mechanism by one that solely | ||
| 2 | relies on environment variables. This has the benefit that said environment | ||
| 3 | variables can be used as search paths in Guix. | ||
| 4 | |||
| 5 | Index: zig-0.8.1/lib/std/zig/system.zig | ||
| 6 | =================================================================== | ||
| 7 | --- zig-0.8.1.orig/lib/std/zig/system.zig | ||
| 8 | +++ zig-0.8.1/lib/std/zig/system.zig | ||
| 9 | @@ -39,101 +39,57 @@ pub const NativePaths = struct { | ||
| 10 | }; | ||
| 11 | errdefer self.deinit(); | ||
| 12 | |||
| 13 | - var is_nix = false; | ||
| 14 | - if (process.getEnvVarOwned(allocator, "NIX_CFLAGS_COMPILE")) |nix_cflags_compile| { | ||
| 15 | - defer allocator.free(nix_cflags_compile); | ||
| 16 | - | ||
| 17 | - is_nix = true; | ||
| 18 | - var it = mem.tokenize(nix_cflags_compile, " "); | ||
| 19 | + // TODO: Support cross-compile paths? | ||
| 20 | + if (process.getEnvVarOwned(allocator, "C_INCLUDE_PATH")) |c_include_path| { | ||
| 21 | + defer allocator.free(c_include_path); | ||
| 22 | + var it = mem.tokenize(c_include_path, ":"); | ||
| 23 | while (true) { | ||
| 24 | - const word = it.next() orelse break; | ||
| 25 | - if (mem.eql(u8, word, "-isystem")) { | ||
| 26 | - const include_path = it.next() orelse { | ||
| 27 | - try self.addWarning("Expected argument after -isystem in NIX_CFLAGS_COMPILE"); | ||
| 28 | - break; | ||
| 29 | - }; | ||
| 30 | - try self.addIncludeDir(include_path); | ||
| 31 | - } else { | ||
| 32 | - if (mem.startsWith(u8, word, "-frandom-seed=")) { | ||
| 33 | - continue; | ||
| 34 | - } | ||
| 35 | - try self.addWarningFmt("Unrecognized C flag from NIX_CFLAGS_COMPILE: {s}", .{word}); | ||
| 36 | - } | ||
| 37 | + const dir = it.next() orelse break; | ||
| 38 | + try self.addIncludeDir(dir); | ||
| 39 | } | ||
| 40 | } else |err| switch (err) { | ||
| 41 | error.InvalidUtf8 => {}, | ||
| 42 | error.EnvironmentVariableNotFound => {}, | ||
| 43 | error.OutOfMemory => |e| return e, | ||
| 44 | } | ||
| 45 | - if (process.getEnvVarOwned(allocator, "NIX_LDFLAGS")) |nix_ldflags| { | ||
| 46 | - defer allocator.free(nix_ldflags); | ||
| 47 | |||
| 48 | - is_nix = true; | ||
| 49 | - var it = mem.tokenize(nix_ldflags, " "); | ||
| 50 | + if (process.getEnvVarOwned(allocator, "CPLUS_INCLUDE_PATH")) |cplus_include_path| { | ||
| 51 | + defer allocator.free(cplus_include_path); | ||
| 52 | + var it = mem.tokenize(cplus_include_path, ":"); | ||
| 53 | while (true) { | ||
| 54 | - const word = it.next() orelse break; | ||
| 55 | - if (mem.eql(u8, word, "-rpath")) { | ||
| 56 | - const rpath = it.next() orelse { | ||
| 57 | - try self.addWarning("Expected argument after -rpath in NIX_LDFLAGS"); | ||
| 58 | - break; | ||
| 59 | - }; | ||
| 60 | - try self.addRPath(rpath); | ||
| 61 | - } else if (word.len > 2 and word[0] == '-' and word[1] == 'L') { | ||
| 62 | - const lib_path = word[2..]; | ||
| 63 | - try self.addLibDir(lib_path); | ||
| 64 | - } else { | ||
| 65 | - try self.addWarningFmt("Unrecognized C flag from NIX_LDFLAGS: {s}", .{word}); | ||
| 66 | - break; | ||
| 67 | - } | ||
| 68 | + const dir = it.next() orelse break; | ||
| 69 | + try self.addIncludeDir(dir); | ||
| 70 | } | ||
| 71 | } else |err| switch (err) { | ||
| 72 | error.InvalidUtf8 => {}, | ||
| 73 | error.EnvironmentVariableNotFound => {}, | ||
| 74 | error.OutOfMemory => |e| return e, | ||
| 75 | } | ||
| 76 | - if (is_nix) { | ||
| 77 | - return self; | ||
| 78 | - } | ||
| 79 | - | ||
| 80 | - if (comptime Target.current.isDarwin()) { | ||
| 81 | - try self.addIncludeDir("/usr/include"); | ||
| 82 | - try self.addIncludeDir("/usr/local/include"); | ||
| 83 | |||
| 84 | - try self.addLibDir("/usr/lib"); | ||
| 85 | - try self.addLibDir("/usr/local/lib"); | ||
| 86 | - | ||
| 87 | - try self.addFrameworkDir("/Library/Frameworks"); | ||
| 88 | - try self.addFrameworkDir("/System/Library/Frameworks"); | ||
| 89 | - | ||
| 90 | - return self; | ||
| 91 | + if (process.getEnvVarOwned(allocator, "LIBRARY_PATH")) |library_path| { | ||
| 92 | + defer allocator.free(library_path); | ||
| 93 | + var it = mem.tokenize(library_path, ":"); | ||
| 94 | + while (true) { | ||
| 95 | + const dir = it.next() orelse break; | ||
| 96 | + try self.addLibDir(dir); | ||
| 97 | + } | ||
| 98 | + } else |err| switch (err) { | ||
| 99 | + error.InvalidUtf8 => {}, | ||
| 100 | + error.EnvironmentVariableNotFound => {}, | ||
| 101 | + error.OutOfMemory => |e| return e, | ||
| 102 | } | ||
| 103 | |||
| 104 | - if (native_target.os.tag != .windows) { | ||
| 105 | - const triple = try native_target.linuxTriple(allocator); | ||
| 106 | - const qual = native_target.cpu.arch.ptrBitWidth(); | ||
| 107 | - | ||
| 108 | - // TODO: $ ld --verbose | grep SEARCH_DIR | ||
| 109 | - // the output contains some paths that end with lib64, maybe include them too? | ||
| 110 | - // TODO: what is the best possible order of things? | ||
| 111 | - // TODO: some of these are suspect and should only be added on some systems. audit needed. | ||
| 112 | - | ||
| 113 | - try self.addIncludeDir("/usr/local/include"); | ||
| 114 | - try self.addLibDirFmt("/usr/local/lib{d}", .{qual}); | ||
| 115 | - try self.addLibDir("/usr/local/lib"); | ||
| 116 | - | ||
| 117 | - try self.addIncludeDirFmt("/usr/include/{s}", .{triple}); | ||
| 118 | - try self.addLibDirFmt("/usr/lib/{s}", .{triple}); | ||
| 119 | - | ||
| 120 | - try self.addIncludeDir("/usr/include"); | ||
| 121 | - try self.addLibDirFmt("/lib{d}", .{qual}); | ||
| 122 | - try self.addLibDir("/lib"); | ||
| 123 | - try self.addLibDirFmt("/usr/lib{d}", .{qual}); | ||
| 124 | - try self.addLibDir("/usr/lib"); | ||
| 125 | - | ||
| 126 | - // example: on a 64-bit debian-based linux distro, with zlib installed from apt: | ||
| 127 | - // zlib.h is in /usr/include (added above) | ||
| 128 | - // libz.so.1 is in /lib/x86_64-linux-gnu (added here) | ||
| 129 | - try self.addLibDirFmt("/lib/{s}", .{triple}); | ||
| 130 | + if (process.getEnvVarOwned(allocator, "DYLD_FRAMEWORK_PATH")) |dyld_framework_path| { | ||
| 131 | + defer allocator.free(dyld_framework_path); | ||
| 132 | + var it = mem.tokenize(dyld_framework_path, ":"); | ||
| 133 | + while (true) { | ||
| 134 | + const dir = it.next() orelse break; | ||
| 135 | + try self.addFrameworkDir(dir); | ||
| 136 | + } | ||
| 137 | + } else |err| switch (err) { | ||
| 138 | + error.InvalidUtf8 => {}, | ||
| 139 | + error.EnvironmentVariableNotFound => {}, | ||
| 140 | + error.OutOfMemory => |e| return e, | ||
| 141 | } | ||
| 142 | |||
| 143 | return self; | ||
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 042003e8988..80f62946ead 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm | |||
| @@ -721,21 +721,20 @@ extracting content or merging files.") | |||
| 721 | (define-public mupdf | 721 | (define-public mupdf |
| 722 | (package | 722 | (package |
| 723 | (name "mupdf") | 723 | (name "mupdf") |
| 724 | (version "1.18.0") | 724 | (version "1.19.0") |
| 725 | (source | 725 | (source |
| 726 | (origin | 726 | (origin |
| 727 | (method url-fetch) | 727 | (method url-fetch) |
| 728 | (uri (string-append "https://mupdf.com/downloads/archive/" | 728 | (uri (string-append "https://mupdf.com/downloads/archive/" |
| 729 | "mupdf-" version "-source.tar.xz")) | 729 | "mupdf-" version "-source.tar.xz")) |
| 730 | (sha256 | 730 | (sha256 |
| 731 | (base32 "16m5sksil22sshxy70xkslsb2qhvcqb1d95i9savnhds1xn4ybar")) | 731 | (base32 "1i98xqgnzp168hnnhradl8658qsif06wlbvcglz0mmh8wi1rkwrq")) |
| 732 | (patches (search-patches "mupdf-fix-linkage.patch" | ||
| 733 | "mupdf-CVE-2021-3407.patch")) | ||
| 734 | (modules '((guix build utils))) | 732 | (modules '((guix build utils))) |
| 735 | (snippet | 733 | (snippet |
| 736 | '(begin | 734 | '(begin |
| 737 | ;; Remove bundled software. | 735 | ;; Remove bundled software. |
| 738 | (let* ((keep (list "lcms2")) ; different from our lcms2 package | 736 | (let* ((keep (list "extract" |
| 737 | "lcms2")) ; different from our lcms2 package | ||
| 739 | (from "thirdparty") | 738 | (from "thirdparty") |
| 740 | (kept (string-append from "~temp"))) | 739 | (kept (string-append from "~temp"))) |
| 741 | (mkdir-p kept) | 740 | (mkdir-p kept) |
diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm index e85af9305ae..a3b8f471dcd 100644 --- a/gnu/packages/photo.scm +++ b/gnu/packages/photo.scm | |||
| @@ -413,7 +413,7 @@ overlapping images, as well as some command line tools.") | |||
| 413 | ("libjpeg" ,libjpeg-turbo) | 413 | ("libjpeg" ,libjpeg-turbo) |
| 414 | ("libpng" ,libpng) | 414 | ("libpng" ,libpng) |
| 415 | ("libtiff" ,libtiff) | 415 | ("libtiff" ,libtiff) |
| 416 | ("openexr" ,openexr) | 416 | ("openexr" ,openexr-2) |
| 417 | ("vigra" ,vigra) | 417 | ("vigra" ,vigra) |
| 418 | ("zlib" ,zlib))) | 418 | ("zlib" ,zlib))) |
| 419 | (arguments | 419 | (arguments |
| @@ -568,7 +568,7 @@ photographic equipment.") | |||
| 568 | ("libxslt" ,libxslt) | 568 | ("libxslt" ,libxslt) |
| 569 | ("lua" ,lua) ;optional, for plugins | 569 | ("lua" ,lua) ;optional, for plugins |
| 570 | ("opencl-icd-loader" ,opencl-icd-loader) ;optional, for OpenCL support | 570 | ("opencl-icd-loader" ,opencl-icd-loader) ;optional, for OpenCL support |
| 571 | ("openexr" ,openexr) ;optional, for EXR import/export | 571 | ("openexr" ,openexr-2) ;optional, for EXR import/export |
| 572 | ("openjpeg" ,openjpeg) ;optional, for JPEG2000 export | 572 | ("openjpeg" ,openjpeg) ;optional, for JPEG2000 export |
| 573 | ("osm-gps-map" ,osm-gps-map) ;optional, for geotagging view | 573 | ("osm-gps-map" ,osm-gps-map) ;optional, for geotagging view |
| 574 | ("pugixml" ,pugixml) | 574 | ("pugixml" ,pugixml) |
| @@ -726,7 +726,7 @@ off' shooting directly from the controlling computer.") | |||
| 726 | ("libxi" ,libxi) | 726 | ("libxi" ,libxi) |
| 727 | ("libxmu" ,libxmu) | 727 | ("libxmu" ,libxmu) |
| 728 | ("mesa" ,mesa) | 728 | ("mesa" ,mesa) |
| 729 | ("openexr" ,openexr) | 729 | ("openexr" ,openexr-2) |
| 730 | ("sqlite" ,sqlite) | 730 | ("sqlite" ,sqlite) |
| 731 | ("vigra" ,vigra) | 731 | ("vigra" ,vigra) |
| 732 | ("wxwidgets" ,wxwidgets) | 732 | ("wxwidgets" ,wxwidgets) |
diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm index fcdc1a309ba..44eab769187 100644 --- a/gnu/packages/php.scm +++ b/gnu/packages/php.scm | |||
| @@ -60,7 +60,7 @@ | |||
| 60 | (define-public php | 60 | (define-public php |
| 61 | (package | 61 | (package |
| 62 | (name "php") | 62 | (name "php") |
| 63 | (version "7.4.22") | 63 | (version "7.4.25") |
| 64 | (home-page "https://secure.php.net/") | 64 | (home-page "https://secure.php.net/") |
| 65 | (source (origin | 65 | (source (origin |
| 66 | (method url-fetch) | 66 | (method url-fetch) |
| @@ -68,7 +68,7 @@ | |||
| 68 | "php-" version ".tar.xz")) | 68 | "php-" version ".tar.xz")) |
| 69 | (sha256 | 69 | (sha256 |
| 70 | (base32 | 70 | (base32 |
| 71 | "1s5xjy1cchlg0vfxic73wy2wip8spfjr094hzzyc76plsbbqq1wf")) | 71 | "02iw75niazf3zh3ry15k5yjy6ivg49rwzlr8g8w49rgyszqmi9qj")) |
| 72 | (patches (search-patches "php-bug-74093-test.patch")) | 72 | (patches (search-patches "php-bug-74093-test.patch")) |
| 73 | (modules '((guix build utils))) | 73 | (modules '((guix build utils))) |
| 74 | (snippet | 74 | (snippet |
| @@ -82,8 +82,7 @@ | |||
| 82 | ;;"fileinfo/libmagic" ; a patched version of libmagic | 82 | ;;"fileinfo/libmagic" ; a patched version of libmagic |
| 83 | '("gd/libgd" | 83 | '("gd/libgd" |
| 84 | "pcre/pcre2lib" | 84 | "pcre/pcre2lib" |
| 85 | "xmlrpc/libxmlrpc")) | 85 | "xmlrpc/libxmlrpc")))))) |
| 86 | #t)))) | ||
| 87 | (build-system gnu-build-system) | 86 | (build-system gnu-build-system) |
| 88 | (arguments | 87 | (arguments |
| 89 | `(#:configure-flags | 88 | `(#:configure-flags |
diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm index 9ae697d85f0..cb812762c9b 100644 --- a/gnu/packages/python-check.scm +++ b/gnu/packages/python-check.scm | |||
| @@ -120,7 +120,7 @@ interfaces with pytest.") | |||
| 120 | ("python-six" ,python-six))) | 120 | ("python-six" ,python-six))) |
| 121 | (home-page "https://github.com/nicoulaj/pytest-csv") | 121 | (home-page "https://github.com/nicoulaj/pytest-csv") |
| 122 | (synopsis "CSV reporter for Pytest") | 122 | (synopsis "CSV reporter for Pytest") |
| 123 | (description "This packages provides a plugin for Pytest that enables a | 123 | (description "This package provides a plugin for Pytest that enables a |
| 124 | CSV output mode for Pytest. It can be enabled via the @option{--csv} option | 124 | CSV output mode for Pytest. It can be enabled via the @option{--csv} option |
| 125 | it adds to the Pytest command line interface (CLI).") | 125 | it adds to the Pytest command line interface (CLI).") |
| 126 | (license license:gpl3+))) | 126 | (license license:gpl3+))) |
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 8783c750374..164886ce791 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm | |||
| @@ -4571,13 +4571,13 @@ Python.") | |||
| 4571 | (define-public python-slugify | 4571 | (define-public python-slugify |
| 4572 | (package | 4572 | (package |
| 4573 | (name "python-slugify") | 4573 | (name "python-slugify") |
| 4574 | (version "4.0.1") | 4574 | (version "5.0.2") |
| 4575 | (source | 4575 | (source |
| 4576 | (origin | 4576 | (origin |
| 4577 | (method url-fetch) | 4577 | (method url-fetch) |
| 4578 | (uri (pypi-uri "python-slugify" version)) | 4578 | (uri (pypi-uri "python-slugify" version)) |
| 4579 | (sha256 | 4579 | (sha256 |
| 4580 | (base32 "0w22fapghmzk3xdasc4dn7h8sl58l08d1h5zbf72dh80drv1g9b9")))) | 4580 | (base32 "1aww2ncglyii4jkbfjxqhinivawf9zmwifcj32d69gpwp6h86czi")))) |
| 4581 | (propagated-inputs | 4581 | (propagated-inputs |
| 4582 | `(("python-unidecode" ,python-unidecode) | 4582 | `(("python-unidecode" ,python-unidecode) |
| 4583 | ("python-text-unidecode" ,python-text-unidecode))) | 4583 | ("python-text-unidecode" ,python-text-unidecode))) |
| @@ -4585,8 +4585,9 @@ Python.") | |||
| 4585 | `(#:phases | 4585 | `(#:phases |
| 4586 | (modify-phases %standard-phases | 4586 | (modify-phases %standard-phases |
| 4587 | (replace 'check | 4587 | (replace 'check |
| 4588 | (lambda _ | 4588 | (lambda* (#:key tests? #:allow-other-keys) |
| 4589 | (invoke "python" "test.py")))))) | 4589 | (when tests? |
| 4590 | (invoke "python" "test.py"))))))) | ||
| 4590 | (build-system python-build-system) | 4591 | (build-system python-build-system) |
| 4591 | (home-page "https://github.com/un33k/python-slugify") | 4592 | (home-page "https://github.com/un33k/python-slugify") |
| 4592 | (synopsis "Python Slugify application that handles Unicode") | 4593 | (synopsis "Python Slugify application that handles Unicode") |
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index b2aaef14d3b..5f46e524726 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm | |||
| @@ -110,6 +110,7 @@ | |||
| 110 | ;;; Copyright © 2021 Pradana Aumars <paumars@courrier.dev> | 110 | ;;; Copyright © 2021 Pradana Aumars <paumars@courrier.dev> |
| 111 | ;;; Copyright © 2021 Felix Gruber <felgru@posteo.net> | 111 | ;;; Copyright © 2021 Felix Gruber <felgru@posteo.net> |
| 112 | ;;; Copyright © 2021 Sébastien Lerique <sl@eauchat.org> | 112 | ;;; Copyright © 2021 Sébastien Lerique <sl@eauchat.org> |
| 113 | ;;; Copyright © 2021 Raphaël Mélotte <raphael.melotte@mind.be> | ||
| 113 | ;;; | 114 | ;;; |
| 114 | ;;; This file is part of GNU Guix. | 115 | ;;; This file is part of GNU Guix. |
| 115 | ;;; | 116 | ;;; |
| @@ -4332,7 +4333,7 @@ software version simply.") | |||
| 4332 | (define-public python-deprecated | 4333 | (define-public python-deprecated |
| 4333 | (package | 4334 | (package |
| 4334 | (name "python-deprecated") | 4335 | (name "python-deprecated") |
| 4335 | (version "1.2.5") | 4336 | (version "1.2.13") |
| 4336 | (source | 4337 | (source |
| 4337 | (origin | 4338 | (origin |
| 4338 | (method git-fetch) | 4339 | (method git-fetch) |
| @@ -4342,13 +4343,14 @@ software version simply.") | |||
| 4342 | (file-name (git-file-name name version)) | 4343 | (file-name (git-file-name name version)) |
| 4343 | (sha256 | 4344 | (sha256 |
| 4344 | (base32 | 4345 | (base32 |
| 4345 | "14909glxxwwc4b9qpz2b9jdriwzi5n65ichw85xqppap5f79wcwz")))) | 4346 | "0v4ys9xr8lski2r98da99spsj6hjlnnqgnhhmyhrm66myiix885c")))) |
| 4346 | (build-system python-build-system) | 4347 | (build-system python-build-system) |
| 4347 | (arguments | 4348 | (arguments |
| 4348 | `(#:phases (modify-phases %standard-phases | 4349 | `(#:phases (modify-phases %standard-phases |
| 4349 | (replace 'check | 4350 | (replace 'check |
| 4350 | (lambda _ | 4351 | (lambda* (#:key tests? #:allow-other-keys) |
| 4351 | (invoke "pytest")))))) | 4352 | (when tests? |
| 4353 | (invoke "pytest"))))))) | ||
| 4352 | (propagated-inputs | 4354 | (propagated-inputs |
| 4353 | `(("python-wrapt" ,python-wrapt))) | 4355 | `(("python-wrapt" ,python-wrapt))) |
| 4354 | (native-inputs | 4356 | (native-inputs |
| @@ -18389,14 +18391,14 @@ perform the operations required for synchronizing plain text.") | |||
| 18389 | (define-public python-levenshtein | 18391 | (define-public python-levenshtein |
| 18390 | (package | 18392 | (package |
| 18391 | (name "python-levenshtein") | 18393 | (name "python-levenshtein") |
| 18392 | (version "0.12.0") | 18394 | (version "0.12.2") |
| 18393 | (source | 18395 | (source |
| 18394 | (origin | 18396 | (origin |
| 18395 | (method url-fetch) | 18397 | (method url-fetch) |
| 18396 | (uri (pypi-uri "python-Levenshtein" version)) | 18398 | (uri (pypi-uri "python-Levenshtein" version)) |
| 18397 | (sha256 | 18399 | (sha256 |
| 18398 | (base32 | 18400 | (base32 |
| 18399 | "1c9ybqcja31nghfcc8xxbbz9h60s9qi12b9hr4jyl69xbvg12fh3")))) | 18401 | "1xj60gymwx1jl2ra9razx2wk8nb9cv1i7l8d14qsp8a8s7xra8yw")))) |
| 18400 | (build-system python-build-system) | 18402 | (build-system python-build-system) |
| 18401 | (home-page "https://github.com/ztane/python-Levenshtein") | 18403 | (home-page "https://github.com/ztane/python-Levenshtein") |
| 18402 | (synopsis "Fast computation of Levenshtein distance and string similarity") | 18404 | (synopsis "Fast computation of Levenshtein distance and string similarity") |
| @@ -27051,8 +27053,8 @@ result.") | |||
| 27051 | (home-page "https://github.com/readthedocs/recommonmark") | 27053 | (home-page "https://github.com/readthedocs/recommonmark") |
| 27052 | (synopsis "Docutils-compatibility bridge to CommonMark") | 27054 | (synopsis "Docutils-compatibility bridge to CommonMark") |
| 27053 | (description | 27055 | (description |
| 27054 | "This packages provides a docutils-compatibility bridge to CommonMark, | 27056 | "This package provides a docutils-compatibility bridge to CommonMark that |
| 27055 | enabling you to write CommonMark inside of Docutils & Sphinx projects.") | 27057 | lets you write CommonMark inside of Docutils & Sphinx projects.") |
| 27056 | (license license:expat))) | 27058 | (license license:expat))) |
| 27057 | 27059 | ||
| 27058 | (define-public python-pyhull | 27060 | (define-public python-pyhull |
| @@ -27125,7 +27127,8 @@ and BMI2).") | |||
| 27125 | (file-name (git-file-name name version)) | 27127 | (file-name (git-file-name name version)) |
| 27126 | (sha256 | 27128 | (sha256 |
| 27127 | (base32 | 27129 | (base32 |
| 27128 | "1yy62k3cjr6556nbp651w6v4hzl7kz4y75wy2dfqgndgbnixskx2")))) | 27130 | "1yy62k3cjr6556nbp651w6v4hzl7kz4y75wy2dfqgndgbnixskx2")) |
| 27131 | (patches (search-patches "python-peachpy-determinism.patch")))) | ||
| 27129 | (build-system python-build-system) | 27132 | (build-system python-build-system) |
| 27130 | (arguments | 27133 | (arguments |
| 27131 | '(#:phases (modify-phases %standard-phases | 27134 | '(#:phases (modify-phases %standard-phases |
| @@ -27660,3 +27663,38 @@ and decorators library. It is useful when changing behavior in existing | |||
| 27660 | code is desired. It includes tools for debugging and testing: | 27663 | code is desired. It includes tools for debugging and testing: |
| 27661 | simple mock/record and a complete capture/replay framework.") | 27664 | simple mock/record and a complete capture/replay framework.") |
| 27662 | (license license:bsd-2))) | 27665 | (license license:bsd-2))) |
| 27666 | |||
| 27667 | (define-public python-ijson | ||
| 27668 | (package | ||
| 27669 | (name "python-ijson") | ||
| 27670 | (version "3.1.4") | ||
| 27671 | (source | ||
| 27672 | (origin | ||
| 27673 | (method url-fetch) | ||
| 27674 | (uri (pypi-uri "ijson" version)) | ||
| 27675 | (sha256 | ||
| 27676 | (base32 "1sp463ywj4jv5cp6hsv2qwiima30d09xsabxb2dyq5b17jp0640x")))) | ||
| 27677 | (arguments | ||
| 27678 | `(#:phases | ||
| 27679 | (modify-phases %standard-phases | ||
| 27680 | ;; the tests run by the default setup.py require yajl 1.x, | ||
| 27681 | ;; but we have 2.x. yajl 1.x support is going to be removed | ||
| 27682 | ;; anyway, so use pytest to avoid running the yajl1-related | ||
| 27683 | ;; tests. See: https://github.com/ICRAR/ijson/issues/55 | ||
| 27684 | (replace 'check | ||
| 27685 | (lambda* (#:key tests? #:allow-other-keys) | ||
| 27686 | (when tests? | ||
| 27687 | (invoke "pytest" "-vv"))))))) | ||
| 27688 | (inputs | ||
| 27689 | ;; libyajl is optional, but compiling with it makes faster | ||
| 27690 | ;; backends available to ijson: | ||
| 27691 | `(("libyajl", libyajl))) | ||
| 27692 | (native-inputs | ||
| 27693 | `(("python-pytest", python-pytest))) | ||
| 27694 | (build-system python-build-system) | ||
| 27695 | (home-page "https://github.com/ICRAR/ijson") | ||
| 27696 | (synopsis "Iterative JSON parser with Python iterator interfaces") | ||
| 27697 | (description | ||
| 27698 | "Ijson is an iterative JSON parser with standard Python iterator | ||
| 27699 | interfaces.") | ||
| 27700 | (license license:bsd-3))) | ||
diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm index 09878f1669f..69ecba4054b 100644 --- a/gnu/packages/radio.scm +++ b/gnu/packages/radio.scm | |||
| @@ -380,14 +380,14 @@ SoapySDR library.") | |||
| 380 | (define-public chirp | 380 | (define-public chirp |
| 381 | (package | 381 | (package |
| 382 | (name "chirp") | 382 | (name "chirp") |
| 383 | (version "20201121") | 383 | (version "20211016") |
| 384 | (source | 384 | (source |
| 385 | (origin | 385 | (origin |
| 386 | (method url-fetch) | 386 | (method url-fetch) |
| 387 | (uri (string-append "https://trac.chirp.danplanet.com/chirp_daily/daily-" | 387 | (uri (string-append "https://trac.chirp.danplanet.com/chirp_daily/daily-" |
| 388 | version "/chirp-daily-" version ".tar.gz")) | 388 | version "/chirp-daily-" version ".tar.gz")) |
| 389 | (sha256 | 389 | (sha256 |
| 390 | (base32 "092jryb1jn9li6zj243awv6piz1lhghqsm4phrz7j0rgqf76dy4n")))) | 390 | (base32 "13xzqnhvnw6yipv4izkq0s9ykyl9pc5ifpr1ii8xfp28ch706qyw")))) |
| 391 | (build-system python-build-system) | 391 | (build-system python-build-system) |
| 392 | (inputs | 392 | (inputs |
| 393 | `(("python2-libxml2" ,python2-libxml2) | 393 | `(("python2-libxml2" ,python2-libxml2) |
| @@ -954,7 +954,7 @@ or USB connection.") | |||
| 954 | (define-public flamp | 954 | (define-public flamp |
| 955 | (package | 955 | (package |
| 956 | (name "flamp") | 956 | (name "flamp") |
| 957 | (version "2.2.05") | 957 | (version "2.2.07") |
| 958 | (source | 958 | (source |
| 959 | (origin | 959 | (origin |
| 960 | (method git-fetch) | 960 | (method git-fetch) |
| @@ -963,7 +963,7 @@ or USB connection.") | |||
| 963 | (commit (string-append "v" version)))) | 963 | (commit (string-append "v" version)))) |
| 964 | (file-name (git-file-name name version)) | 964 | (file-name (git-file-name name version)) |
| 965 | (sha256 | 965 | (sha256 |
| 966 | (base32 "0ll2wbhyh1sb4iqsypwrd118mrgw3vbsdbz442qhk4r6l8kjzblq")))) | 966 | (base32 "0rygd5w04nspxdj8qj81gpb3mgijvlmii74s1f4mihqs5kb8nwh6")))) |
| 967 | (build-system gnu-build-system) | 967 | (build-system gnu-build-system) |
| 968 | (native-inputs | 968 | (native-inputs |
| 969 | `(("autoconf" ,autoconf) | 969 | `(("autoconf" ,autoconf) |
| @@ -1070,7 +1070,7 @@ you must extend 'udev-service-type' with this package. E.g.: | |||
| 1070 | (define-public hamlib | 1070 | (define-public hamlib |
| 1071 | (package | 1071 | (package |
| 1072 | (name "hamlib") | 1072 | (name "hamlib") |
| 1073 | (version "4.2") | 1073 | (version "4.3.1") |
| 1074 | (source | 1074 | (source |
| 1075 | (origin | 1075 | (origin |
| 1076 | (method url-fetch) | 1076 | (method url-fetch) |
| @@ -1078,7 +1078,7 @@ you must extend 'udev-service-type' with this package. E.g.: | |||
| 1078 | "https://github.com/Hamlib/Hamlib/releases/download/" | 1078 | "https://github.com/Hamlib/Hamlib/releases/download/" |
| 1079 | version "/hamlib-" version ".tar.gz")) | 1079 | version "/hamlib-" version ".tar.gz")) |
| 1080 | (sha256 | 1080 | (sha256 |
| 1081 | (base32 "1m8gb20i8ga6ndnnw187ry1h4z8wx27v1hl7c610r6ky60pv4072")))) | 1081 | (base32 "0c578m04zs8dllbd4cv6nxb44y0dn8kiapzkih84ycfjzmnkhdrl")))) |
| 1082 | (build-system gnu-build-system) | 1082 | (build-system gnu-build-system) |
| 1083 | (native-inputs | 1083 | (native-inputs |
| 1084 | `(("doxygen" ,doxygen) | 1084 | `(("doxygen" ,doxygen) |
| @@ -2130,6 +2130,7 @@ various hardware.") | |||
| 2130 | (inputs | 2130 | (inputs |
| 2131 | `(("airspyhf" ,airspyhf) | 2131 | `(("airspyhf" ,airspyhf) |
| 2132 | ("alsa-lib" ,alsa-lib) | 2132 | ("alsa-lib" ,alsa-lib) |
| 2133 | ("codec2" ,codec2) | ||
| 2133 | ("fftwf" ,fftwf) | 2134 | ("fftwf" ,fftwf) |
| 2134 | ("glew" ,glew) | 2135 | ("glew" ,glew) |
| 2135 | ("glfw" ,glfw) | 2136 | ("glfw" ,glfw) |
| @@ -2144,7 +2145,8 @@ various hardware.") | |||
| 2144 | (arguments | 2145 | (arguments |
| 2145 | `(#:tests? #f ; No test suite. | 2146 | `(#:tests? #f ; No test suite. |
| 2146 | #:configure-flags '("-DOPT_BUILD_AIRSPY_SOURCE=OFF" | 2147 | #:configure-flags '("-DOPT_BUILD_AIRSPY_SOURCE=OFF" |
| 2147 | "-DOPT_BUILD_PLUTOSDR_SOURCE=OFF") | 2148 | "-DOPT_BUILD_PLUTOSDR_SOURCE=OFF" |
| 2149 | "-DOPT_BUILD_M17_DECODER=ON") | ||
| 2148 | #:phases | 2150 | #:phases |
| 2149 | (modify-phases %standard-phases | 2151 | (modify-phases %standard-phases |
| 2150 | (add-after 'unpack 'fix-paths | 2152 | (add-after 'unpack 'fix-paths |
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 332a03f96b8..1cbc3d84f5d 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm | |||
| @@ -8684,6 +8684,8 @@ application.") | |||
| 8684 | (build-system ruby-build-system) | 8684 | (build-system ruby-build-system) |
| 8685 | (arguments | 8685 | (arguments |
| 8686 | '(#:tests? #f)) ; test suite tries to connect to google.com | 8686 | '(#:tests? #f)) ; test suite tries to connect to google.com |
| 8687 | (inputs | ||
| 8688 | `(("openssl" ,openssl))) | ||
| 8687 | (native-inputs | 8689 | (native-inputs |
| 8688 | `(("ruby-rake-compiler" ,ruby-rake-compiler))) | 8690 | `(("ruby-rake-compiler" ,ruby-rake-compiler))) |
| 8689 | (synopsis "Single-threaded network event framework for Ruby") | 8691 | (synopsis "Single-threaded network event framework for Ruby") |
diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index ea1adb99ee1..4bced0a611d 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm | |||
| @@ -440,7 +440,7 @@ mixed.") | |||
| 440 | (define-public chibi-scheme | 440 | (define-public chibi-scheme |
| 441 | (package | 441 | (package |
| 442 | (name "chibi-scheme") | 442 | (name "chibi-scheme") |
| 443 | (version "0.9") | 443 | (version "0.10") |
| 444 | (home-page "https://github.com/ashinn/chibi-scheme") | 444 | (home-page "https://github.com/ashinn/chibi-scheme") |
| 445 | (source | 445 | (source |
| 446 | (origin | 446 | (origin |
| @@ -448,17 +448,15 @@ mixed.") | |||
| 448 | (uri (git-reference (url home-page) (commit version))) | 448 | (uri (git-reference (url home-page) (commit version))) |
| 449 | (file-name (git-file-name name version)) | 449 | (file-name (git-file-name name version)) |
| 450 | (sha256 | 450 | (sha256 |
| 451 | (base32 | 451 | (base32 "0yhmj0lws3r3bl4ivs31dhlzxqc7f0dinixi904mraz1fmrg3w7f")))) |
| 452 | "1lnap41gl9vg82h557f4rlr69jgmd2gh0iqs6cxm77d39kv1scb8")))) | ||
| 453 | (build-system gnu-build-system) | 452 | (build-system gnu-build-system) |
| 454 | (arguments | 453 | (arguments |
| 455 | `(#:phases (modify-phases %standard-phases | 454 | `(#:phases |
| 456 | (delete 'configure) | 455 | (modify-phases %standard-phases |
| 457 | (add-before 'build 'set-cc | 456 | (delete 'configure)) ; no configure script |
| 458 | (lambda _ | ||
| 459 | (setenv "CC" "gcc")))) | ||
| 460 | #:make-flags (let ((out (assoc-ref %outputs "out"))) | 457 | #:make-flags (let ((out (assoc-ref %outputs "out"))) |
| 461 | (list (string-append "PREFIX=" out) | 458 | (list (string-append "PREFIX=" out) |
| 459 | (string-append "CC=" ,(cc-for-target)) | ||
| 462 | (string-append "LDFLAGS=-Wl,-rpath=" out "/lib"))) | 460 | (string-append "LDFLAGS=-Wl,-rpath=" out "/lib"))) |
| 463 | #:test-target "test")) | 461 | #:test-target "test")) |
| 464 | (synopsis "Small embeddable Scheme implementation") | 462 | (synopsis "Small embeddable Scheme implementation") |
diff --git a/gnu/packages/search.scm b/gnu/packages/search.scm index df6a8b2dfc1..14b21e644fa 100644 --- a/gnu/packages/search.scm +++ b/gnu/packages/search.scm | |||
| @@ -2,7 +2,7 @@ | |||
| 2 | ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> | 2 | ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> |
| 3 | ;;; Copyright © 2015, 2016 Eric Bavier <bavier@member.fsf.org> | 3 | ;;; Copyright © 2015, 2016 Eric Bavier <bavier@member.fsf.org> |
| 4 | ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> | 4 | ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> |
| 5 | ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> | 5 | ;;; Copyright © 2017, 2021 Ricardo Wurmus <rekado@elephly.net> |
| 6 | ;;; Copyright © 2018, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr> | 6 | ;;; Copyright © 2018, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr> |
| 7 | ;;; Copyright © 2018 Adam Massmann <massmannak@gmail.com> | 7 | ;;; Copyright © 2018 Adam Massmann <massmannak@gmail.com> |
| 8 | ;;; Copyright © 2020 Hartmut Goebel <h.goebel@crazy-compilers.com> | 8 | ;;; Copyright © 2020 Hartmut Goebel <h.goebel@crazy-compilers.com> |
| @@ -36,19 +36,26 @@ | |||
| 36 | #:use-module (guix build-system python) | 36 | #:use-module (guix build-system python) |
| 37 | #:use-module (guix build-system meson) | 37 | #:use-module (guix build-system meson) |
| 38 | #:use-module (gnu packages) | 38 | #:use-module (gnu packages) |
| 39 | #:use-module (gnu packages aspell) | ||
| 40 | #:use-module (gnu packages base) | ||
| 39 | #:use-module (gnu packages compression) | 41 | #:use-module (gnu packages compression) |
| 40 | #:use-module (gnu packages check) | 42 | #:use-module (gnu packages check) |
| 41 | #:use-module (gnu packages databases) | 43 | #:use-module (gnu packages databases) |
| 44 | #:use-module (gnu packages ebook) | ||
| 42 | #:use-module (gnu packages freedesktop) | 45 | #:use-module (gnu packages freedesktop) |
| 46 | #:use-module (gnu packages gawk) | ||
| 47 | #:use-module (gnu packages groff) | ||
| 43 | #:use-module (gnu packages less) | 48 | #:use-module (gnu packages less) |
| 44 | #:use-module (gnu packages linux) | 49 | #:use-module (gnu packages linux) |
| 45 | #:use-module (gnu packages pcre) | 50 | #:use-module (gnu packages pcre) |
| 46 | #:use-module (gnu packages perl) | 51 | #:use-module (gnu packages perl) |
| 47 | #:use-module (gnu packages pdf) | 52 | #:use-module (gnu packages pdf) |
| 53 | #:use-module (gnu packages photo) | ||
| 48 | #:use-module (gnu packages python) | 54 | #:use-module (gnu packages python) |
| 49 | #:use-module (gnu packages python-crypto) | 55 | #:use-module (gnu packages python-crypto) |
| 50 | #:use-module (gnu packages python-web) | 56 | #:use-module (gnu packages python-web) |
| 51 | #:use-module (gnu packages python-xyz) | 57 | #:use-module (gnu packages python-xyz) |
| 58 | #:use-module (gnu packages qt) | ||
| 52 | #:use-module (gnu packages sphinx) | 59 | #:use-module (gnu packages sphinx) |
| 53 | #:use-module (gnu packages time) | 60 | #:use-module (gnu packages time) |
| 54 | #:use-module (gnu packages web) | 61 | #:use-module (gnu packages web) |
| @@ -286,6 +293,104 @@ accounting for new lines and paragraph changes. It also has robust support | |||
| 286 | for parsing HTML files.") | 293 | for parsing HTML files.") |
| 287 | (license gpl3+))) | 294 | (license gpl3+))) |
| 288 | 295 | ||
| 296 | (define-public recoll | ||
| 297 | (package | ||
| 298 | (name "recoll") | ||
| 299 | (version "1.31.2") | ||
| 300 | (source | ||
| 301 | (origin | ||
| 302 | (method url-fetch) | ||
| 303 | (uri (string-append "https://www.lesbonscomptes.com/recoll/" | ||
| 304 | "recoll-" version ".tar.gz")) | ||
| 305 | (sha256 | ||
| 306 | (base32 "0m1w5hf2n09lbzmzvlrm2lks4lci9vvjxy2mcmgb2avgly7v5vfk")))) | ||
| 307 | (build-system gnu-build-system) | ||
| 308 | (arguments | ||
| 309 | `(#:configure-flags | ||
| 310 | (list "--disable-webkit" | ||
| 311 | "--disable-python-module" | ||
| 312 | "--without-systemd" | ||
| 313 | (string-append "QMAKEPATH=" (assoc-ref %build-inputs "qtbase") | ||
| 314 | "/bin/qmake")) | ||
| 315 | #:phases | ||
| 316 | (modify-phases %standard-phases | ||
| 317 | (add-after 'unpack 'patch-default-data-dir | ||
| 318 | (lambda* (#:key outputs #:allow-other-keys) | ||
| 319 | (substitute* "python/recoll/recoll/rclconfig.py" | ||
| 320 | (("/opt/local") | ||
| 321 | (assoc-ref outputs "out"))))) | ||
| 322 | (add-after 'install 'wrap-filters | ||
| 323 | (lambda* (#:key inputs outputs #:allow-other-keys) | ||
| 324 | (let* ((out (assoc-ref outputs "out")) | ||
| 325 | (mapping | ||
| 326 | '(("rclps" | ||
| 327 | "poppler") | ||
| 328 | ("rclpdf.py" | ||
| 329 | "poppler") | ||
| 330 | ("rclpurple" | ||
| 331 | "gawk") | ||
| 332 | ("rcllyx" | ||
| 333 | "libiconv") | ||
| 334 | ("rcltex" | ||
| 335 | "libiconv") | ||
| 336 | ("rclkwd" | ||
| 337 | "unzip" "gzip" "tar" "libxslt") | ||
| 338 | ("rclman" | ||
| 339 | "groff") | ||
| 340 | ("rclgaim" | ||
| 341 | "gawk" "libiconv") | ||
| 342 | ("rclaptosidman" | ||
| 343 | "sed") | ||
| 344 | ("rclscribus" | ||
| 345 | "grep" "gawk" "sed")))) | ||
| 346 | (for-each | ||
| 347 | (lambda (program packages) | ||
| 348 | (wrap-program (string-append out "/share/recoll/filters/" program) | ||
| 349 | `("PATH" ":" prefix | ||
| 350 | ,(map (lambda (i) | ||
| 351 | (string-append (assoc-ref inputs i) "/bin")) | ||
| 352 | packages)))) | ||
| 353 | (map car mapping) | ||
| 354 | (map cdr mapping)) | ||
| 355 | |||
| 356 | (wrap-program (string-append out "/share/recoll/filters/rclimg") | ||
| 357 | `("PERL5LIB" ":" prefix | ||
| 358 | (,(getenv "PERL5LIB")))))))))) | ||
| 359 | (inputs | ||
| 360 | `(("aspell" ,aspell) | ||
| 361 | ("chmlib" ,chmlib) | ||
| 362 | ("inotify-tools" ,inotify-tools) | ||
| 363 | ("libxslt" ,libxslt) | ||
| 364 | ("libxml2" ,libxml2) | ||
| 365 | ("python" ,python) | ||
| 366 | ("qtbase" ,qtbase-5) | ||
| 367 | ("unzip" ,unzip) | ||
| 368 | ("xapian" ,xapian) | ||
| 369 | ("zlib" ,zlib) | ||
| 370 | |||
| 371 | ;; For filters | ||
| 372 | ("gawk" ,gawk) | ||
| 373 | ("grep" ,grep) | ||
| 374 | ("groff" ,groff) | ||
| 375 | ("gzip" ,gzip) | ||
| 376 | ("libiconv" ,libiconv) | ||
| 377 | ("perl" ,perl) | ||
| 378 | ("perl-image-exiftool" ,perl-image-exiftool) | ||
| 379 | ("poppler" ,poppler) | ||
| 380 | ("sed" ,sed) | ||
| 381 | ("tar" ,tar))) | ||
| 382 | (native-inputs | ||
| 383 | `(("pkg-config" ,pkg-config) | ||
| 384 | ("which" ,which))) | ||
| 385 | (home-page "https://www.lesbonscomptes.com/recoll/") | ||
| 386 | (synopsis "Find documents based on their contents or file names") | ||
| 387 | (description "Recoll finds documents based on their contents as well as | ||
| 388 | their file names. It can search most document formats, but you may need | ||
| 389 | external applications for text extraction. It can reach any storage place: | ||
| 390 | files, archive members, email attachments, transparently handling | ||
| 391 | decompression.") | ||
| 392 | (license gpl2+))) | ||
| 393 | |||
| 289 | (define-public hyperestraier | 394 | (define-public hyperestraier |
| 290 | (package | 395 | (package |
| 291 | (name "hyperestraier") | 396 | (name "hyperestraier") |
diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm index 319cdee0ef6..cc8840bb109 100644 --- a/gnu/packages/security-token.scm +++ b/gnu/packages/security-token.scm | |||
| @@ -53,6 +53,7 @@ | |||
| 53 | #:use-module (gnu packages graphviz) | 53 | #:use-module (gnu packages graphviz) |
| 54 | #:use-module (gnu packages gnupg) | 54 | #:use-module (gnu packages gnupg) |
| 55 | #:use-module (gnu packages gtk) | 55 | #:use-module (gnu packages gtk) |
| 56 | #:use-module (gnu packages libbsd) | ||
| 56 | #:use-module (gnu packages libusb) | 57 | #:use-module (gnu packages libusb) |
| 57 | #:use-module (gnu packages linux) | 58 | #:use-module (gnu packages linux) |
| 58 | #:use-module (gnu packages man) | 59 | #:use-module (gnu packages man) |
| @@ -112,7 +113,8 @@ readers and is needed to communicate with such devices through the | |||
| 112 | (define-public eid-mw | 113 | (define-public eid-mw |
| 113 | (package | 114 | (package |
| 114 | (name "eid-mw") | 115 | (name "eid-mw") |
| 115 | (version "5.0.14") | 116 | ;; When updating, remove the short-lived libbsd input and module import! |
| 117 | (version "5.0.28") | ||
| 116 | (source | 118 | (source |
| 117 | (origin | 119 | (origin |
| 118 | (method git-fetch) | 120 | (method git-fetch) |
| @@ -121,7 +123,7 @@ readers and is needed to communicate with such devices through the | |||
| 121 | (commit (string-append "v" version)))) | 123 | (commit (string-append "v" version)))) |
| 122 | (file-name (git-file-name name version)) | 124 | (file-name (git-file-name name version)) |
| 123 | (sha256 | 125 | (sha256 |
| 124 | (base32 "1hyxsbxjjn9hh5p7jlcfb5yplf3n8dg49dfgi8fjp95phis3gbd4")))) | 126 | (base32 "0fmpdx09a60ndbsvy3m6w77naqy3j6k2ydq6jdcmdvxnr31z7fmf")))) |
| 125 | (build-system glib-or-gtk-build-system) | 127 | (build-system glib-or-gtk-build-system) |
| 126 | (native-inputs | 128 | (native-inputs |
| 127 | `(("autoconf" ,autoconf) | 129 | `(("autoconf" ,autoconf) |
| @@ -134,6 +136,7 @@ readers and is needed to communicate with such devices through the | |||
| 134 | ("perl" ,perl))) | 136 | ("perl" ,perl))) |
| 135 | (inputs | 137 | (inputs |
| 136 | `(("curl" ,curl) | 138 | `(("curl" ,curl) |
| 139 | ("libbsd" ,libbsd) | ||
| 137 | ("openssl" ,openssl) | 140 | ("openssl" ,openssl) |
| 138 | ("gtk+" ,gtk+) | 141 | ("gtk+" ,gtk+) |
| 139 | ("pcsc-lite" ,pcsc-lite) | 142 | ("pcsc-lite" ,pcsc-lite) |
| @@ -153,22 +156,7 @@ readers and is needed to communicate with such devices through the | |||
| 153 | (substitute* "scripts/build-aux/genver.sh" | 156 | (substitute* "scripts/build-aux/genver.sh" |
| 154 | (("/bin/sh") (which "sh")) | 157 | (("/bin/sh") (which "sh")) |
| 155 | (("^(GITDESC=).*" _ match) (string-append match ,version "\n"))) | 158 | (("^(GITDESC=).*" _ match) (string-append match ,version "\n"))) |
| 156 | (invoke "sh" "./bootstrap.sh"))) | 159 | (invoke "sh" "./bootstrap.sh")))))) |
| 157 | (add-after 'unpack 'make-reproducible | ||
| 158 | (lambda _ | ||
| 159 | (substitute* "scripts/mac/create-vers.sh" | ||
| 160 | (("NOW=.*") | ||
| 161 | "NOW=1970-01-01\n")) | ||
| 162 | #t)) | ||
| 163 | ;; Remove failing test that was removed upstream after version 5.0.8. | ||
| 164 | ;; See: https://github.com/Fedict/eid-mw/commit/3d1187b1b61118b9ae97607903d3d2fc0bad7518 | ||
| 165 | (add-before 'check 'remove-failing-test | ||
| 166 | (lambda _ | ||
| 167 | (substitute* "tests/unit/Makefile.am" | ||
| 168 | (("sign_state ordering cardcom_common") | ||
| 169 | "sign_state ordering #cardcom_common")) | ||
| 170 | #t)) | ||
| 171 | ))) | ||
| 172 | (synopsis "Belgian eID Middleware") | 160 | (synopsis "Belgian eID Middleware") |
| 173 | (description "The Belgian eID Middleware is required to authenticate with | 161 | (description "The Belgian eID Middleware is required to authenticate with |
| 174 | online services using the Belgian electronic identity card.") | 162 | online services using the Belgian electronic identity card.") |
diff --git a/gnu/packages/shellutils.scm b/gnu/packages/shellutils.scm index 70236d9e5c2..6e64cee1da0 100644 --- a/gnu/packages/shellutils.scm +++ b/gnu/packages/shellutils.scm | |||
| @@ -12,6 +12,7 @@ | |||
| 12 | ;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re> | 12 | ;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re> |
| 13 | ;;; Copyright © 2021 Alexandr Vityazev <avityazev@posteo.org> | 13 | ;;; Copyright © 2021 Alexandr Vityazev <avityazev@posteo.org> |
| 14 | ;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz> | 14 | ;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz> |
| 15 | ;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com> | ||
| 15 | ;;; | 16 | ;;; |
| 16 | ;;; This file is part of GNU Guix. | 17 | ;;; This file is part of GNU Guix. |
| 17 | ;;; | 18 | ;;; |
| @@ -42,18 +43,21 @@ | |||
| 42 | #:use-module (gnu packages bison) | 43 | #:use-module (gnu packages bison) |
| 43 | #:use-module (gnu packages flex) | 44 | #:use-module (gnu packages flex) |
| 44 | #:use-module (gnu packages golang) | 45 | #:use-module (gnu packages golang) |
| 46 | #:use-module (gnu packages libunistring) | ||
| 45 | #:use-module (gnu packages ncurses) | 47 | #:use-module (gnu packages ncurses) |
| 48 | #:use-module (gnu packages pcre) | ||
| 46 | #:use-module (gnu packages pkg-config) | 49 | #:use-module (gnu packages pkg-config) |
| 47 | #:use-module (gnu packages python) | 50 | #:use-module (gnu packages python) |
| 48 | #:use-module (gnu packages readline) | 51 | #:use-module (gnu packages readline) |
| 49 | #:use-module (gnu packages ruby) | 52 | #:use-module (gnu packages ruby) |
| 50 | #:use-module (gnu packages shells) | 53 | #:use-module (gnu packages shells) |
| 51 | #:use-module (gnu packages tmux)) | 54 | #:use-module (gnu packages tmux) |
| 55 | #:use-module (gnu packages vim)) | ||
| 52 | 56 | ||
| 53 | (define-public boxes | 57 | (define-public boxes |
| 54 | (package | 58 | (package |
| 55 | (name "boxes") | 59 | (name "boxes") |
| 56 | (version "1.3") | 60 | (version "2.1.1") |
| 57 | (source (origin | 61 | (source (origin |
| 58 | (method git-fetch) | 62 | (method git-fetch) |
| 59 | (uri (git-reference | 63 | (uri (git-reference |
| @@ -62,32 +66,43 @@ | |||
| 62 | (file-name (git-file-name name version)) | 66 | (file-name (git-file-name name version)) |
| 63 | (sha256 | 67 | (sha256 |
| 64 | (base32 | 68 | (base32 |
| 65 | "0b12rsynrmkldlwcb62drk33kk0aqwbj10mq5y5x3hjf626gjwsi")))) | 69 | "1bf5rnfiw04ffs1l17zhbg4wvq2vfn2qbz1xmd250xqj15lysw88")))) |
| 66 | (build-system gnu-build-system) | 70 | (build-system gnu-build-system) |
| 67 | (arguments | 71 | (arguments |
| 68 | `(#:test-target "test" | 72 | `(#:test-target "test" |
| 69 | #:make-flags (list (string-append "GLOBALCONF=" | 73 | #:make-flags (list (string-append "GLOBALCONF=" |
| 70 | (assoc-ref %outputs "out") | 74 | (assoc-ref %outputs "out") |
| 71 | "/etc/boxes-config")) | 75 | "/etc/boxes-config")) |
| 76 | #:modules | ||
| 77 | ((ice-9 match) | ||
| 78 | ,@%gnu-build-system-modules) | ||
| 72 | #:phases | 79 | #:phases |
| 73 | (modify-phases %standard-phases | 80 | (modify-phases %standard-phases |
| 74 | (delete 'configure) | 81 | (delete 'configure) |
| 75 | (replace 'install | 82 | (replace 'install |
| 76 | (lambda* (#:key outputs #:allow-other-keys) | 83 | (lambda* (#:key outputs #:allow-other-keys) |
| 77 | (let ((dest (assoc-ref outputs "out"))) | 84 | (let ((out (assoc-ref outputs "out"))) |
| 78 | (for-each (lambda (x) | 85 | (for-each (match-lambda |
| 79 | (install-file (car x) | 86 | ((source target) |
| 80 | (string-append dest "/" (cdr x)))) | 87 | (install-file source |
| 81 | '(("src/boxes" . "bin") | 88 | (string-append out "/" target)))) |
| 82 | ("doc/boxes.1" . "share/man/man1") | 89 | '(("out/boxes" "bin/") |
| 83 | ("boxes-config" . "etc/"))) | 90 | ("doc/boxes.1" "share/man/man1/") |
| 84 | #t)))))) | 91 | ("boxes-config" "etc/"))))))))) |
| 85 | (native-inputs `(("flex" ,flex) ("bison" ,bison))) | 92 | (native-inputs |
| 93 | `(("bison" ,bison) | ||
| 94 | ("flex" ,flex) | ||
| 95 | |||
| 96 | ;; For the tests. | ||
| 97 | ("xxd" ,xxd))) | ||
| 98 | (inputs | ||
| 99 | `(("libunistring" ,libunistring) | ||
| 100 | ("pcre2" ,pcre2))) | ||
| 101 | (home-page "https://boxes.thomasjensen.com") | ||
| 86 | (synopsis "Command line ASCII boxes") | 102 | (synopsis "Command line ASCII boxes") |
| 87 | (description | 103 | (description |
| 88 | "This command-line filter program draws ASCII-art boxes around your input | 104 | "This command-line filter program draws ASCII-art boxes around your input |
| 89 | text.") | 105 | text.") |
| 90 | (home-page "https://boxes.thomasjensen.com/build.html") | ||
| 91 | (license license:gpl2))) | 106 | (license license:gpl2))) |
| 92 | 107 | ||
| 93 | (define-public zsh-autosuggestions | 108 | (define-public zsh-autosuggestions |
| @@ -449,3 +464,51 @@ the UNIX philosophy, these commands are designed to be composed via pipes. A | |||
| 449 | large collection of functions such as basename, replace, contains or is_dir | 464 | large collection of functions such as basename, replace, contains or is_dir |
| 450 | are provided as arguments to these commands.") | 465 | are provided as arguments to these commands.") |
| 451 | (license license:expat))) | 466 | (license license:expat))) |
| 467 | |||
| 468 | (define-public rig | ||
| 469 | (package | ||
| 470 | (name "rig") | ||
| 471 | (version "1.11") | ||
| 472 | (source (origin | ||
| 473 | (method url-fetch) | ||
| 474 | (uri (string-append "mirror://sourceforge/rig/rig/" | ||
| 475 | version "/rig-" | ||
| 476 | version ".tar.gz")) | ||
| 477 | (sha256 | ||
| 478 | (base32 | ||
| 479 | "1f3snysjqqlpk2kgvm5p2icrj4lsdymccmn3igkc2f60smqckgq0")))) | ||
| 480 | (build-system gnu-build-system) | ||
| 481 | (arguments `(#:make-flags | ||
| 482 | (list (string-append "CXX=" ,(cxx-for-target)) | ||
| 483 | (string-append "PREFIX=" %output)) | ||
| 484 | #:phases | ||
| 485 | (modify-phases %standard-phases | ||
| 486 | (delete 'configure) | ||
| 487 | (add-after 'unpack 'fix-build | ||
| 488 | (lambda _ | ||
| 489 | (substitute* "rig.cc" | ||
| 490 | (("^#include <string>") | ||
| 491 | "#include <cstring>")) | ||
| 492 | (substitute* "Makefile" | ||
| 493 | (("g\\+\\+") | ||
| 494 | "${CXX} -O2") | ||
| 495 | (("install -g 0 -m 755 -o 0 -s rig \\$\\(BINDIR\\)") | ||
| 496 | "install -m 755 -d $(DESTDIR)$(BINDIR)\n\t\ | ||
| 497 | install -m 755 rig $(DESTDIR)$(BINDIR)/rig") | ||
| 498 | (("install -g 0 -m 644 -o 0 rig.6 \\$\\(MANDIR\\)/man6/rig.6") | ||
| 499 | "install -m 755 -d $(DESTDIR)$(MANDIR)/man6/\n\t\ | ||
| 500 | install -m 644 rig.6 $(DESTDIR)$(MANDIR)/man6/rig.6") | ||
| 501 | (("install -g 0 -m 755 -o 0 -d \\$\\(DATADIR\\)") | ||
| 502 | "install -m 755 -d $(DESTDIR)$(DATADIR)") | ||
| 503 | (("install -g 0 -m 644 -o 0 data/\\*.idx \\$\\(DATADIR\\)") | ||
| 504 | "install -m 644 data/*.idx $(DESTDIR)$(DATADIR)"))))) | ||
| 505 | #:tests? #f)) | ||
| 506 | (home-page "http://rig.sourceforge.net") | ||
| 507 | (synopsis "Random identity generator") | ||
| 508 | (description | ||
| 509 | "RIG (Random Identity Generator) generates random, yet real-looking, | ||
| 510 | personal data. It is useful if you need to feed a name to a Web site, BBS, or | ||
| 511 | real person, and are too lazy to think of one yourself. Also, if the Web | ||
| 512 | site/BBS/person you are giving the information to tries to cross-check the | ||
| 513 | city, state, zip, or area code, it will check out.") | ||
| 514 | (license license:gpl2+))) | ||
diff --git a/gnu/packages/skarnet.scm b/gnu/packages/skarnet.scm index b38d3f418f3..a2823990241 100644 --- a/gnu/packages/skarnet.scm +++ b/gnu/packages/skarnet.scm | |||
| @@ -30,14 +30,14 @@ | |||
| 30 | (define-public skalibs | 30 | (define-public skalibs |
| 31 | (package | 31 | (package |
| 32 | (name "skalibs") | 32 | (name "skalibs") |
| 33 | (version "2.10.0.3") | 33 | (version "2.11.0.0") |
| 34 | (source | 34 | (source |
| 35 | (origin | 35 | (origin |
| 36 | (method url-fetch) | 36 | (method url-fetch) |
| 37 | (uri (string-append "https://skarnet.org/software/skalibs/skalibs-" | 37 | (uri (string-append "https://skarnet.org/software/skalibs/skalibs-" |
| 38 | version ".tar.gz")) | 38 | version ".tar.gz")) |
| 39 | (sha256 | 39 | (sha256 |
| 40 | (base32 "0ka6n5rnxd5sn5lycarf596d5wlak5s535zqqlz0rnhdcnpb105p")))) | 40 | (base32 "1n9l7mb54dlb0iijjaf446jba6nmq1ql9n39s095ngrk5ahcipwq")))) |
| 41 | (build-system gnu-build-system) | 41 | (build-system gnu-build-system) |
| 42 | (arguments | 42 | (arguments |
| 43 | '(#:tests? #f ; no tests exist | 43 | '(#:tests? #f ; no tests exist |
| @@ -48,8 +48,7 @@ | |||
| 48 | ;; and *.so files are reproducible. | 48 | ;; and *.so files are reproducible. |
| 49 | (substitute* "Makefile" | 49 | (substitute* "Makefile" |
| 50 | (("\\$\\(wildcard src/lib\\*/\\*.c\\)") | 50 | (("\\$\\(wildcard src/lib\\*/\\*.c\\)") |
| 51 | "$(sort $(wildcard src/lib*/*.c))")) | 51 | "$(sort $(wildcard src/lib*/*.c))"))))))) |
| 52 | #t))))) | ||
| 53 | (home-page "https://skarnet.org/software/skalibs/") | 52 | (home-page "https://skarnet.org/software/skalibs/") |
| 54 | (synopsis "Platform abstraction libraries for skarnet.org software") | 53 | (synopsis "Platform abstraction libraries for skarnet.org software") |
| 55 | (description | 54 | (description |
| @@ -62,14 +61,14 @@ and file system operations. It is used by all skarnet.org software.") | |||
| 62 | (define-public execline | 61 | (define-public execline |
| 63 | (package | 62 | (package |
| 64 | (name "execline") | 63 | (name "execline") |
| 65 | (version "2.8.0.1") | 64 | (version "2.8.1.0") |
| 66 | (source | 65 | (source |
| 67 | (origin | 66 | (origin |
| 68 | (method url-fetch) | 67 | (method url-fetch) |
| 69 | (uri (string-append "https://skarnet.org/software/execline/execline-" | 68 | (uri (string-append "https://skarnet.org/software/execline/execline-" |
| 70 | version ".tar.gz")) | 69 | version ".tar.gz")) |
| 71 | (sha256 | 70 | (sha256 |
| 72 | (base32 "1v9swmhw2rcrr9fmkmd7qh8qq0kslhmvxwz2a3bhan9ksabz8wx3")))) | 71 | (base32 "0msmzf5zwjcsgjlvvq28rd2i0fkdb2skmv8ii0ix8dhyckwwjmav")))) |
| 73 | (build-system gnu-build-system) | 72 | (build-system gnu-build-system) |
| 74 | (inputs `(("skalibs" ,skalibs))) | 73 | (inputs `(("skalibs" ,skalibs))) |
| 75 | (arguments | 74 | (arguments |
| @@ -104,14 +103,14 @@ complexity."))) | |||
| 104 | (define-public s6 | 103 | (define-public s6 |
| 105 | (package | 104 | (package |
| 106 | (name "s6") | 105 | (name "s6") |
| 107 | (version "2.10.0.3") | 106 | (version "2.11.0.0") |
| 108 | (source | 107 | (source |
| 109 | (origin | 108 | (origin |
| 110 | (method url-fetch) | 109 | (method url-fetch) |
| 111 | (uri (string-append "https://skarnet.org/software/s6/s6-" | 110 | (uri (string-append "https://skarnet.org/software/s6/s6-" |
| 112 | version ".tar.gz")) | 111 | version ".tar.gz")) |
| 113 | (sha256 | 112 | (sha256 |
| 114 | (base32 "0mw7blp8dwr09z58m9mrxwmmvvpnjzq9klcf1vgm0hbha4qkf88x")))) | 113 | (base32 "1a3lj0xfhn1w3a4ygqsxy8q4dr3n48hnwml4xzdpz3nrikhy8if5")))) |
| 115 | (build-system gnu-build-system) | 114 | (build-system gnu-build-system) |
| 116 | (inputs `(("skalibs" ,skalibs) | 115 | (inputs `(("skalibs" ,skalibs) |
| 117 | ("execline" ,execline))) | 116 | ("execline" ,execline))) |
| @@ -133,8 +132,7 @@ complexity."))) | |||
| 133 | (lambda* (#:key outputs #:allow-other-keys) | 132 | (lambda* (#:key outputs #:allow-other-keys) |
| 134 | (let* ((out (assoc-ref outputs "out")) | 133 | (let* ((out (assoc-ref outputs "out")) |
| 135 | (doc (string-append out "/share/doc/s6-" ,version))) | 134 | (doc (string-append out "/share/doc/s6-" ,version))) |
| 136 | (copy-recursively "doc" doc) | 135 | (copy-recursively "doc" doc))))))) |
| 137 | #t)))))) | ||
| 138 | (home-page "https://skarnet.org/software/s6") | 136 | (home-page "https://skarnet.org/software/s6") |
| 139 | (license isc) | 137 | (license isc) |
| 140 | (synopsis "Small suite of programs for process supervision") | 138 | (synopsis "Small suite of programs for process supervision") |
| @@ -150,14 +148,14 @@ functionality with a very small amount of code."))) | |||
| 150 | (define-public s6-dns | 148 | (define-public s6-dns |
| 151 | (package | 149 | (package |
| 152 | (name "s6-dns") | 150 | (name "s6-dns") |
| 153 | (version "2.3.5.1") | 151 | (version "2.3.5.2") |
| 154 | (source | 152 | (source |
| 155 | (origin | 153 | (origin |
| 156 | (method url-fetch) | 154 | (method url-fetch) |
| 157 | (uri (string-append "https://skarnet.org/software/s6-dns/s6-dns-" | 155 | (uri (string-append "https://skarnet.org/software/s6-dns/s6-dns-" |
| 158 | version ".tar.gz")) | 156 | version ".tar.gz")) |
| 159 | (sha256 | 157 | (sha256 |
| 160 | (base32 "0qsgqwdr5ms337fc9f2b4aa5cr7myvbzndvgkgswnrdwszjm078c")))) | 158 | (base32 "0nczzjprvp6wirzycgf5h32dlgx4r8grzkqhif27n3ii6f5g78yw")))) |
| 161 | (build-system gnu-build-system) | 159 | (build-system gnu-build-system) |
| 162 | (inputs `(("skalibs" ,skalibs))) | 160 | (inputs `(("skalibs" ,skalibs))) |
| 163 | (arguments | 161 | (arguments |
| @@ -179,14 +177,14 @@ as an alternative to the BIND, djbdns or other DNS clients."))) | |||
| 179 | (define-public s6-networking | 177 | (define-public s6-networking |
| 180 | (package | 178 | (package |
| 181 | (name "s6-networking") | 179 | (name "s6-networking") |
| 182 | (version "2.4.1.1") | 180 | (version "2.5.0.0") |
| 183 | (source | 181 | (source |
| 184 | (origin | 182 | (origin |
| 185 | (method url-fetch) | 183 | (method url-fetch) |
| 186 | (uri (string-append "https://skarnet.org/software/s6-networking/" | 184 | (uri (string-append "https://skarnet.org/software/s6-networking/" |
| 187 | "s6-networking-" version ".tar.gz")) | 185 | "s6-networking-" version ".tar.gz")) |
| 188 | (sha256 | 186 | (sha256 |
| 189 | (base32 "0m55ibx7k2wgrqbpci1n667ij0h925ajzggxalq2pj65kmwcmyx3")))) | 187 | (base32 "1fn3g9gkwgmnxallhk82f5rly81pnkilj7n49g5fbfmaalsq96mh")))) |
| 190 | (build-system gnu-build-system) | 188 | (build-system gnu-build-system) |
| 191 | (inputs `(("skalibs" ,skalibs) | 189 | (inputs `(("skalibs" ,skalibs) |
| 192 | ("execline" ,execline) | 190 | ("execline" ,execline) |
| @@ -222,14 +220,14 @@ clock synchronization."))) | |||
| 222 | (define-public s6-rc | 220 | (define-public s6-rc |
| 223 | (package | 221 | (package |
| 224 | (name "s6-rc") | 222 | (name "s6-rc") |
| 225 | (version "0.5.2.2") | 223 | (version "0.5.2.3") |
| 226 | (source | 224 | (source |
| 227 | (origin | 225 | (origin |
| 228 | (method url-fetch) | 226 | (method url-fetch) |
| 229 | (uri (string-append "https://skarnet.org/software/s6-rc/s6-rc-" | 227 | (uri (string-append "https://skarnet.org/software/s6-rc/s6-rc-" |
| 230 | version ".tar.gz")) | 228 | version ".tar.gz")) |
| 231 | (sha256 | 229 | (sha256 |
| 232 | (base32 "12bzc483jpd16xmhfsfrib84daj1k3kwy5s5nc18ap60apa1r39a")))) | 230 | (base32 "1xyaplwzvqnb53mg59a7jklakzwsiqivp6qggsry3sbaw4hf3d5j")))) |
| 233 | (build-system gnu-build-system) | 231 | (build-system gnu-build-system) |
| 234 | (inputs `(("skalibs" ,skalibs) | 232 | (inputs `(("skalibs" ,skalibs) |
| 235 | ("execline" ,execline) | 233 | ("execline" ,execline) |
| @@ -263,7 +261,7 @@ environment."))) | |||
| 263 | (define-public s6-portable-utils | 261 | (define-public s6-portable-utils |
| 264 | (package | 262 | (package |
| 265 | (name "s6-portable-utils") | 263 | (name "s6-portable-utils") |
| 266 | (version "2.2.3.2") | 264 | (version "2.2.3.3") |
| 267 | (source | 265 | (source |
| 268 | (origin | 266 | (origin |
| 269 | (method url-fetch) | 267 | (method url-fetch) |
| @@ -271,7 +269,7 @@ environment."))) | |||
| 271 | "https://skarnet.org/software/s6-portable-utils/s6-portable-utils-" | 269 | "https://skarnet.org/software/s6-portable-utils/s6-portable-utils-" |
| 272 | version ".tar.gz")) | 270 | version ".tar.gz")) |
| 273 | (sha256 | 271 | (sha256 |
| 274 | (base32 "173nmygkp7ky3093dg4rx3ahvyl7ll86z8qj6pl3jd96xb9s49v6")))) | 272 | (base32 "132jj5qk8x40kw6lrrn7jiqhvqj9d2h6g6mhl8zma1sp37bg0i84")))) |
| 275 | (build-system gnu-build-system) | 273 | (build-system gnu-build-system) |
| 276 | (inputs `(("skalibs" ,skalibs))) | 274 | (inputs `(("skalibs" ,skalibs))) |
| 277 | (arguments | 275 | (arguments |
| @@ -295,7 +293,7 @@ systems and other constrained environments, but they work everywhere."))) | |||
| 295 | (define-public s6-linux-init | 293 | (define-public s6-linux-init |
| 296 | (package | 294 | (package |
| 297 | (name "s6-linux-init") | 295 | (name "s6-linux-init") |
| 298 | (version "1.0.6.3") | 296 | (version "1.0.6.4") |
| 299 | (source | 297 | (source |
| 300 | (origin | 298 | (origin |
| 301 | (method url-fetch) | 299 | (method url-fetch) |
| @@ -303,7 +301,7 @@ systems and other constrained environments, but they work everywhere."))) | |||
| 303 | "https://skarnet.org/software/s6-linux-init/s6-linux-init-" | 301 | "https://skarnet.org/software/s6-linux-init/s6-linux-init-" |
| 304 | version ".tar.gz")) | 302 | version ".tar.gz")) |
| 305 | (sha256 | 303 | (sha256 |
| 306 | (base32 "1idqjcxhl5wgff8yrsvx2812wahjri2hcs7qs6k62g0sdd8niqr9")))) | 304 | (base32 "0grqk111d6aqym1c4l9j26fdqcgra1hvwb9vdgylrfbvn1c3hlpb")))) |
| 307 | (build-system gnu-build-system) | 305 | (build-system gnu-build-system) |
| 308 | (inputs | 306 | (inputs |
| 309 | `(("execline" ,execline) | 307 | `(("execline" ,execline) |
| @@ -341,7 +339,7 @@ all the details."))) | |||
| 341 | (define-public s6-linux-utils | 339 | (define-public s6-linux-utils |
| 342 | (package | 340 | (package |
| 343 | (name "s6-linux-utils") | 341 | (name "s6-linux-utils") |
| 344 | (version "2.5.1.5") | 342 | (version "2.5.1.6") |
| 345 | (source | 343 | (source |
| 346 | (origin | 344 | (origin |
| 347 | (method url-fetch) | 345 | (method url-fetch) |
| @@ -349,7 +347,7 @@ all the details."))) | |||
| 349 | "https://skarnet.org/software/s6-linux-utils/s6-linux-utils-" | 347 | "https://skarnet.org/software/s6-linux-utils/s6-linux-utils-" |
| 350 | version ".tar.gz")) | 348 | version ".tar.gz")) |
| 351 | (sha256 | 349 | (sha256 |
| 352 | (base32 "1fj5ldlrc6bx40pphg29rp3byd6fal6869v85kw86c2kdgrxn063")))) | 350 | (base32 "0hr49nl0d7a6i5w8cfg43xzvzayb8kpqij9xg7bmw2fyvc2z338z")))) |
| 353 | (build-system gnu-build-system) | 351 | (build-system gnu-build-system) |
| 354 | (inputs `(("skalibs" ,skalibs))) | 352 | (inputs `(("skalibs" ,skalibs))) |
| 355 | (arguments | 353 | (arguments |
diff --git a/gnu/packages/suckless.scm b/gnu/packages/suckless.scm index bb8099be555..9ea442d1ec8 100644 --- a/gnu/packages/suckless.scm +++ b/gnu/packages/suckless.scm | |||
| @@ -904,6 +904,38 @@ It is a front end for ii-like chat programs. It uses @code{tail -f} to get the | |||
| 904 | chat output in the background.") | 904 | chat output in the background.") |
| 905 | (license license:isc)))) | 905 | (license license:isc)))) |
| 906 | 906 | ||
| 907 | (define-public snooze | ||
| 908 | (package | ||
| 909 | (name "snooze") | ||
| 910 | (version "0.5") | ||
| 911 | (source | ||
| 912 | (origin | ||
| 913 | (method git-fetch) | ||
| 914 | (uri | ||
| 915 | (git-reference | ||
| 916 | (url "https://github.com/leahneukirchen/snooze") | ||
| 917 | (commit (string-append "v" version)))) | ||
| 918 | (file-name (git-file-name name version)) | ||
| 919 | (sha256 | ||
| 920 | (base32 "02ng3r1gzgpyjia4b60i11dj5bhn3xjsdcbwmxaam6dzb33dmgib")))) | ||
| 921 | (build-system gnu-build-system) | ||
| 922 | (arguments | ||
| 923 | `(#:tests? #f ; There are no tests. | ||
| 924 | #:make-flags | ||
| 925 | (list (string-append "CC=" ,(cc-for-target)) | ||
| 926 | ;; Set prefix path to root of package path in store instead | ||
| 927 | ;; of /usr/local. | ||
| 928 | (string-append "PREFIX=" %output)) | ||
| 929 | #:phases | ||
| 930 | (modify-phases %standard-phases | ||
| 931 | (delete 'configure)))) | ||
| 932 | (home-page "https://github.com/leahneukirchen/snooze") | ||
| 933 | (synopsis "Run a command at a particular time") | ||
| 934 | (description | ||
| 935 | "@command{snooze} is a tool for waiting until a particular time and then | ||
| 936 | running a command.") | ||
| 937 | (license license:cc0))) | ||
| 938 | |||
| 907 | (define-public scron | 939 | (define-public scron |
| 908 | (package | 940 | (package |
| 909 | (name "scron") | 941 | (name "scron") |
diff --git a/gnu/packages/task-management.scm b/gnu/packages/task-management.scm index 80ad8163ea4..49b9bce3706 100644 --- a/gnu/packages/task-management.scm +++ b/gnu/packages/task-management.scm | |||
| @@ -143,7 +143,7 @@ and querying data, exposing task data in multiple formats to other tools.") | |||
| 143 | (define-public dstask | 143 | (define-public dstask |
| 144 | (package | 144 | (package |
| 145 | (name "dstask") | 145 | (name "dstask") |
| 146 | (version "0.24.1") | 146 | (version "0.25") |
| 147 | (source | 147 | (source |
| 148 | (origin | 148 | (origin |
| 149 | (method git-fetch) | 149 | (method git-fetch) |
| @@ -152,7 +152,7 @@ and querying data, exposing task data in multiple formats to other tools.") | |||
| 152 | (commit (string-append "v" version)))) | 152 | (commit (string-append "v" version)))) |
| 153 | (file-name (git-file-name name version)) | 153 | (file-name (git-file-name name version)) |
| 154 | (sha256 | 154 | (sha256 |
| 155 | (base32 "03rl2wh58xd6a80ji43c7ak3h0ysi3ddg570pn8ry24s7s45zsz2")))) | 155 | (base32 "1m83zc2zqvpcbjng92jvlnk0biw4krv12wjvjas66jbbk3sjghcy")))) |
| 156 | (build-system go-build-system) | 156 | (build-system go-build-system) |
| 157 | (arguments | 157 | (arguments |
| 158 | `(#:import-path "github.com/naggie/dstask" | 158 | `(#:import-path "github.com/naggie/dstask" |
| @@ -178,8 +178,7 @@ and querying data, exposing task data in multiple formats to other tools.") | |||
| 178 | (install-file "dstask" bindir) | 178 | (install-file "dstask" bindir) |
| 179 | (install-file "dstask-import" bindir) | 179 | (install-file "dstask-import" bindir) |
| 180 | (install-file ".dstask-bash-completions.sh" bash-completion) | 180 | (install-file ".dstask-bash-completions.sh" bash-completion) |
| 181 | (install-file ".dstask-zsh-completions.sh" zsh-completion))) | 181 | (install-file ".dstask-zsh-completions.sh" zsh-completion)))))))) |
| 182 | #t))))) | ||
| 183 | (synopsis "CLI-based TODO manager with git-based sync + markdown notes per task") | 182 | (synopsis "CLI-based TODO manager with git-based sync + markdown notes per task") |
| 184 | (description "dstask is a personal task tracker that uses git for | 183 | (description "dstask is a personal task tracker that uses git for |
| 185 | synchronization. It offers a note command to attach a Markdown based note to | 184 | synchronization. It offers a note command to attach a Markdown based note to |
diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index 01b8f7a1e22..eb9a749a168 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm | |||
| @@ -198,7 +198,7 @@ insert mode and command mode where keybindings have different functions.") | |||
| 198 | (define-public asciinema | 198 | (define-public asciinema |
| 199 | (package | 199 | (package |
| 200 | (name "asciinema") | 200 | (name "asciinema") |
| 201 | (version "2.0.2") | 201 | (version "2.1.0") |
| 202 | (source | 202 | (source |
| 203 | (origin | 203 | (origin |
| 204 | (method git-fetch) | 204 | (method git-fetch) |
| @@ -207,22 +207,13 @@ insert mode and command mode where keybindings have different functions.") | |||
| 207 | (commit (string-append "v" version)))) | 207 | (commit (string-append "v" version)))) |
| 208 | (file-name (git-file-name name version)) | 208 | (file-name (git-file-name name version)) |
| 209 | (sha256 | 209 | (sha256 |
| 210 | (base32 | 210 | (base32 "1alcz018jrrpasrmgs8nw775a6pf62xq2xgs54c4mb396prdqy4x")))) |
| 211 | "1a2pysxnp6icyd08mgf66xr6f6j0irnfxdpf3fmzcz31ix7l9kc4")))) | ||
| 212 | (build-system python-build-system) | 211 | (build-system python-build-system) |
| 213 | (arguments | 212 | (arguments |
| 214 | `(#:phases | 213 | `(#:phases |
| 215 | (modify-phases %standard-phases | 214 | (modify-phases %standard-phases |
| 216 | (add-before 'build 'patch-exec-paths | ||
| 217 | (lambda* (#:key inputs #:allow-other-keys) | ||
| 218 | (let ((ncurses (assoc-ref inputs "ncurses"))) | ||
| 219 | (substitute* "asciinema/term.py" | ||
| 220 | (("'tput'") | ||
| 221 | (string-append "'" ncurses "/bin/tput'")))) | ||
| 222 | #t)) | ||
| 223 | (replace 'check | 215 | (replace 'check |
| 224 | (lambda _ (invoke "nosetests" "-v")))))) | 216 | (lambda _ (invoke "nosetests" "-v")))))) |
| 225 | (inputs `(("ncurses" ,ncurses))) | ||
| 226 | (native-inputs | 217 | (native-inputs |
| 227 | ;; For tests. | 218 | ;; For tests. |
| 228 | `(("python-nose" ,python-nose))) | 219 | `(("python-nose" ,python-nose))) |
diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index 18914b342ee..c5cec0a3b2b 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm | |||
| @@ -925,14 +925,14 @@ Octave. TeXmacs is completely extensible via Guile.") | |||
| 925 | (define-public scintilla | 925 | (define-public scintilla |
| 926 | (package | 926 | (package |
| 927 | (name "scintilla") | 927 | (name "scintilla") |
| 928 | (version "5.1.1") | 928 | (version "5.1.3") |
| 929 | (source | 929 | (source |
| 930 | (origin | 930 | (origin |
| 931 | (method url-fetch) | 931 | (method url-fetch) |
| 932 | (uri (let ((v (apply string-append (string-split version #\.)))) | 932 | (uri (let ((v (apply string-append (string-split version #\.)))) |
| 933 | (string-append "https://www.scintilla.org/scintilla" v ".tgz"))) | 933 | (string-append "https://www.scintilla.org/scintilla" v ".tgz"))) |
| 934 | (sha256 | 934 | (sha256 |
| 935 | (base32 "1d0yjx2wlx4fj5bccxdgfmrr7nzazkw4m08i6h4c0a54sb484yif")))) | 935 | (base32 "1zgzpbl7yzyqwqlk7l8s8g74ddg02wa6f0w4dkwdp7fp7ayjn9a2")))) |
| 936 | (build-system gnu-build-system) | 936 | (build-system gnu-build-system) |
| 937 | (arguments | 937 | (arguments |
| 938 | `(#:make-flags (list "GTK3=1" "CC=gcc" "-Cgtk") | 938 | `(#:make-flags (list "GTK3=1" "CC=gcc" "-Cgtk") |
diff --git a/gnu/packages/time.scm b/gnu/packages/time.scm index df4b8ac6f53..b60fab5db52 100644 --- a/gnu/packages/time.scm +++ b/gnu/packages/time.scm | |||
| @@ -435,10 +435,10 @@ timestamps.") | |||
| 435 | ("python-pytest" ,python-pytest) | 435 | ("python-pytest" ,python-pytest) |
| 436 | ("python-pytest-cov" ,python-pytest-cov) | 436 | ("python-pytest-cov" ,python-pytest-cov) |
| 437 | ("python-pytest-mock" ,python-pytest-mock) | 437 | ("python-pytest-mock" ,python-pytest-mock) |
| 438 | ("python-pytz" ,python-pytz) | ||
| 438 | ("python-simplejson" ,python-simplejson))) | 439 | ("python-simplejson" ,python-simplejson))) |
| 439 | (propagated-inputs | 440 | (propagated-inputs |
| 440 | `(("python-dateutil" ,python-dateutil) | 441 | `(("python-dateutil" ,python-dateutil))) |
| 441 | ("python-pytz" ,python-pytz))) | ||
| 442 | (home-page "https://github.com/arrow-py/arrow") | 442 | (home-page "https://github.com/arrow-py/arrow") |
| 443 | (synopsis "Dates and times for Python") | 443 | (synopsis "Dates and times for Python") |
| 444 | (description | 444 | (description |
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index b7f3ddd953e..908858f6eb3 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm | |||
| @@ -20,6 +20,7 @@ | |||
| 20 | ;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re> | 20 | ;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re> |
| 21 | ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> | 21 | ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> |
| 22 | ;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org> | 22 | ;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org> |
| 23 | ;;; Copyright © 2021 John Kehayias <john.kehayias@protonmail.com> | ||
| 23 | ;;; | 24 | ;;; |
| 24 | ;;; This file is part of GNU Guix. | 25 | ;;; This file is part of GNU Guix. |
| 25 | ;;; | 26 | ;;; |
| @@ -180,7 +181,7 @@ in intelligent transportation networks.") | |||
| 180 | (substitute* "Makefile" | 181 | (substitute* "Makefile" |
| 181 | (("test-runtime\\$\\(EXEEXT\\)") "")) | 182 | (("test-runtime\\$\\(EXEEXT\\)") "")) |
| 182 | #t))))) | 183 | #t))))) |
| 183 | (home-page "https://p11-glue.freedesktop.org/p11-kit.html") | 184 | (home-page "https://p11-glue.github.io/p11-glue/p11-kit.html") |
| 184 | (synopsis "PKCS#11 library") | 185 | (synopsis "PKCS#11 library") |
| 185 | (description | 186 | (description |
| 186 | "p11-kit provides a way to load and enumerate PKCS#11 modules. It | 187 | "p11-kit provides a way to load and enumerate PKCS#11 modules. It |
| @@ -190,6 +191,24 @@ coordinating the use of PKCS#11 by different components or libraries | |||
| 190 | living in the same process.") | 191 | living in the same process.") |
| 191 | (license license:bsd-3))) | 192 | (license license:bsd-3))) |
| 192 | 193 | ||
| 194 | (define-public p11-kit-next | ||
| 195 | (package | ||
| 196 | (inherit p11-kit) | ||
| 197 | (version "0.24.0") | ||
| 198 | (source | ||
| 199 | (origin | ||
| 200 | (method url-fetch) | ||
| 201 | (uri (string-append "https://github.com/p11-glue/p11-kit/releases/" | ||
| 202 | "download/" version "/p11-kit-" version ".tar.xz")) | ||
| 203 | (sha256 | ||
| 204 | (base32 "11f6saclxsclc1f3lbavzw8kikws4cr3mfd1avly8dgnhh2i9rl1")))) | ||
| 205 | (arguments | ||
| 206 | ;; Use the default certificates so that users such as flatpak find them. | ||
| 207 | ;; See <https://issues.guix.gnu.org/49957>. | ||
| 208 | (substitute-keyword-arguments (package-arguments p11-kit) | ||
| 209 | ((#:configure-flags flags ''()) | ||
| 210 | ''("--with-trust-paths=/etc/ssl/certs/ca-certificates.crt")))))) | ||
| 211 | |||
| 193 | (define-public gnutls | 212 | (define-public gnutls |
| 194 | (package | 213 | (package |
| 195 | (name "gnutls") | 214 | (name "gnutls") |
diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm index 972160fb8e7..2507f80c742 100644 --- a/gnu/packages/tor.scm +++ b/gnu/packages/tor.scm | |||
| @@ -57,14 +57,14 @@ | |||
| 57 | (define-public tor | 57 | (define-public tor |
| 58 | (package | 58 | (package |
| 59 | (name "tor") | 59 | (name "tor") |
| 60 | (version "0.4.6.7") | 60 | (version "0.4.6.8") |
| 61 | (source (origin | 61 | (source (origin |
| 62 | (method url-fetch) | 62 | (method url-fetch) |
| 63 | (uri (string-append "https://dist.torproject.org/tor-" | 63 | (uri (string-append "https://dist.torproject.org/tor-" |
| 64 | version ".tar.gz")) | 64 | version ".tar.gz")) |
| 65 | (sha256 | 65 | (sha256 |
| 66 | (base32 | 66 | (base32 |
| 67 | "16hga7195va8v0x062dc05nbz4sm3dscifcqpl8235dj47hmqrpz")))) | 67 | "0sj7qn6d6js6gk4vjfkc7p9g021czbfaq00yfq3mn5ycnhvimkhm")))) |
| 68 | (build-system gnu-build-system) | 68 | (build-system gnu-build-system) |
| 69 | (arguments | 69 | (arguments |
| 70 | `(#:configure-flags | 70 | `(#:configure-flags |
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 3bd087d6723..ab36625abae 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm | |||
| @@ -875,16 +875,16 @@ to lock down your entire repository.") | |||
| 875 | (define-public git-remote-gcrypt | 875 | (define-public git-remote-gcrypt |
| 876 | (package | 876 | (package |
| 877 | (name "git-remote-gcrypt") | 877 | (name "git-remote-gcrypt") |
| 878 | (version "1.3") | 878 | (version "1.4") |
| 879 | (source (origin | 879 | (source (origin |
| 880 | (method git-fetch) | 880 | (method git-fetch) |
| 881 | (uri (git-reference | 881 | (uri (git-reference |
| 882 | (url "https://git.spwhitton.name/git-remote-gcrypt") | 882 | (url "https://git.spwhitton.name/git-remote-gcrypt") |
| 883 | (commit version))) | 883 | (commit version))) |
| 884 | (file-name (string-append name "-" version "-checkout")) | 884 | (file-name (git-file-name name version)) |
| 885 | (sha256 | 885 | (sha256 |
| 886 | (base32 | 886 | (base32 |
| 887 | "0n8fzvr6y0pxrbvkywlky2bd8jvi0ayp4n9hwi84l1ldmv4a40dh")))) | 887 | "1x5ca1fi0hyn5w5mnz230x27bqr8j78adnzmlc7cbhzr13q36y5q")))) |
| 888 | (build-system trivial-build-system) | 888 | (build-system trivial-build-system) |
| 889 | (arguments | 889 | (arguments |
| 890 | `(#:modules ((guix build utils)) | 890 | `(#:modules ((guix build utils)) |
| @@ -894,8 +894,7 @@ to lock down your entire repository.") | |||
| 894 | (output (assoc-ref %outputs "out")) | 894 | (output (assoc-ref %outputs "out")) |
| 895 | (bindir (string-append output "/bin"))) | 895 | (bindir (string-append output "/bin"))) |
| 896 | (install-file (string-append source "/git-remote-gcrypt") | 896 | (install-file (string-append source "/git-remote-gcrypt") |
| 897 | bindir) | 897 | bindir))))) |
| 898 | #t)))) | ||
| 899 | (home-page "https://spwhitton.name/tech/code/git-remote-gcrypt/") | 898 | (home-page "https://spwhitton.name/tech/code/git-remote-gcrypt/") |
| 900 | (synopsis "Whole remote repository encryption") | 899 | (synopsis "Whole remote repository encryption") |
| 901 | (description "git-remote-gcrypt is a Git remote helper to push and pull from | 900 | (description "git-remote-gcrypt is a Git remote helper to push and pull from |
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index ebee15e296a..3a711f97320 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm | |||
| @@ -54,6 +54,7 @@ | |||
| 54 | ;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name> | 54 | ;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name> |
| 55 | ;;; Copyright © 2021 Thiago Jung Bauermann <bauermann@kolabnow.com> | 55 | ;;; Copyright © 2021 Thiago Jung Bauermann <bauermann@kolabnow.com> |
| 56 | ;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com> | 56 | ;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com> |
| 57 | ;;; Copyright © 2021 Robin Templeton <robin@terpri.org> | ||
| 57 | ;;; | 58 | ;;; |
| 58 | ;;; This file is part of GNU Guix. | 59 | ;;; This file is part of GNU Guix. |
| 59 | ;;; | 60 | ;;; |
| @@ -143,6 +144,7 @@ | |||
| 143 | #:use-module (gnu packages man) | 144 | #:use-module (gnu packages man) |
| 144 | #:use-module (gnu packages markup) | 145 | #:use-module (gnu packages markup) |
| 145 | #:use-module (gnu packages maths) | 146 | #:use-module (gnu packages maths) |
| 147 | #:use-module (gnu packages music) | ||
| 146 | #:use-module (gnu packages mp3) | 148 | #:use-module (gnu packages mp3) |
| 147 | #:use-module (gnu packages ncurses) | 149 | #:use-module (gnu packages ncurses) |
| 148 | #:use-module (gnu packages networking) | 150 | #:use-module (gnu packages networking) |
| @@ -2363,6 +2365,74 @@ YouTube.com and many more sites.") | |||
| 2363 | (home-page "https://yt-dl.org") | 2365 | (home-page "https://yt-dl.org") |
| 2364 | (license license:public-domain))) | 2366 | (license license:public-domain))) |
| 2365 | 2367 | ||
| 2368 | (define-public yt-dlp | ||
| 2369 | (package/inherit youtube-dl | ||
| 2370 | (name "yt-dlp") | ||
| 2371 | (version "2021.10.22") | ||
| 2372 | (source (origin | ||
| 2373 | (method url-fetch) | ||
| 2374 | (uri (string-append "https://github.com/yt-dlp/yt-dlp/" | ||
| 2375 | "releases/download/" | ||
| 2376 | version "/yt-dlp.tar.gz")) | ||
| 2377 | (sha256 | ||
| 2378 | (base32 | ||
| 2379 | "0xh4cwmvx49pxn8x07wj2dy8ynj6xg8977l5493vv0l8zc27wp87")) | ||
| 2380 | (snippet | ||
| 2381 | '(begin | ||
| 2382 | ;; Delete the pre-generated files, except for the man page | ||
| 2383 | ;; which requires 'pandoc' to build. | ||
| 2384 | (for-each delete-file '("yt-dlp" | ||
| 2385 | ;;pandoc is needed to generate | ||
| 2386 | ;;"yt-dlp.1" | ||
| 2387 | "completions/bash/yt-dlp" | ||
| 2388 | "completions/fish/yt-dlp.fish" | ||
| 2389 | "completions/zsh/_yt-dlp")) | ||
| 2390 | #t)))) | ||
| 2391 | (arguments | ||
| 2392 | (substitute-keyword-arguments (package-arguments youtube-dl) | ||
| 2393 | ((#:tests? _) #t) | ||
| 2394 | ((#:phases phases) | ||
| 2395 | `(modify-phases ,phases | ||
| 2396 | ;; See the comment for the corresponding phase in youtube-dl. | ||
| 2397 | (replace 'default-to-the-ffmpeg-input | ||
| 2398 | (lambda _ | ||
| 2399 | (substitute* "yt_dlp/postprocessor/ffmpeg.py" | ||
| 2400 | (("\\.get_param\\('ffmpeg_location'\\)" match) | ||
| 2401 | (format #f "~a or '~a'" match (which "ffmpeg")))) | ||
| 2402 | #t)) | ||
| 2403 | (replace 'build-generated-files | ||
| 2404 | (lambda _ | ||
| 2405 | ;; Avoid the yt-dlp.1 target, which requires pandoc. | ||
| 2406 | (invoke "make" "PYTHON=python" "yt-dlp" "completions"))) | ||
| 2407 | (replace 'fix-the-data-directories | ||
| 2408 | (lambda* (#:key outputs #:allow-other-keys) | ||
| 2409 | (let ((prefix (assoc-ref outputs "out"))) | ||
| 2410 | (substitute* "setup.py" | ||
| 2411 | (("'etc/") | ||
| 2412 | (string-append "'" prefix "/etc/")) | ||
| 2413 | (("'share/") | ||
| 2414 | (string-append "'" prefix "/share/")))) | ||
| 2415 | #t)) | ||
| 2416 | (delete 'install-completion) | ||
| 2417 | (replace 'check | ||
| 2418 | (lambda* (#:key tests? #:allow-other-keys) | ||
| 2419 | (when tests? | ||
| 2420 | (invoke "pytest" "-k" "not download")))))))) | ||
| 2421 | (inputs | ||
| 2422 | `(("python-mutagen" ,python-mutagen) | ||
| 2423 | ("python-pycryptodomex" ,python-pycryptodomex) | ||
| 2424 | ("python-websockets" ,python-websockets) | ||
| 2425 | ,@(package-inputs youtube-dl))) | ||
| 2426 | (native-inputs | ||
| 2427 | `(("python-pytest" ,python-pytest) | ||
| 2428 | ,@(package-native-inputs youtube-dl))) | ||
| 2429 | (description | ||
| 2430 | "yt-dlp is a small command-line program to download videos from | ||
| 2431 | YouTube.com and many more sites. It is a fork of youtube-dl with a | ||
| 2432 | focus on adding new features while keeping up-to-date with the | ||
| 2433 | original project.") | ||
| 2434 | (home-page "https://github.com/yt-dlp/yt-dlp"))) | ||
| 2435 | |||
| 2366 | (define-public youtube-dl-gui | 2436 | (define-public youtube-dl-gui |
| 2367 | (package | 2437 | (package |
| 2368 | (name "youtube-dl-gui") | 2438 | (name "youtube-dl-gui") |
diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index bd41800cbd8..0b3eee89318 100644 --- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm | |||
| @@ -1159,3 +1159,61 @@ anything). | |||
| 1159 | @item Mappings and usage conform to Vim's conventions. | 1159 | @item Mappings and usage conform to Vim's conventions. |
| 1160 | @end itemize") | 1160 | @end itemize") |
| 1161 | (license license:vim))) | 1161 | (license license:vim))) |
| 1162 | |||
| 1163 | (define-public vim-mucomplete | ||
| 1164 | (package | ||
| 1165 | (name "vim-mucomplete") | ||
| 1166 | (version "1.5.0") | ||
| 1167 | (source | ||
| 1168 | (origin | ||
| 1169 | (method git-fetch) | ||
| 1170 | (uri (git-reference | ||
| 1171 | (url "https://github.com/lifepillar/vim-mucomplete") | ||
| 1172 | (commit (string-append "v" version)))) | ||
| 1173 | (file-name (git-file-name name version)) | ||
| 1174 | (sha256 | ||
| 1175 | (base32 "054g80n09mmxxlh8xaic29bn8bgn3clvv732rymljdyvbj1mlhwd")))) | ||
| 1176 | (build-system copy-build-system) | ||
| 1177 | (arguments | ||
| 1178 | '(#:install-plan | ||
| 1179 | '(("autoload" "share/vim/vimfiles/") | ||
| 1180 | ("doc" "share/vim/vimfiles/") | ||
| 1181 | ("plugin" "share/vim/vimfiles/")))) | ||
| 1182 | (home-page "https://github.com/lifepillar/vim-mucomplete") | ||
| 1183 | (synopsis "MUcomplete is a minimalist autocompletion plugin for Vim") | ||
| 1184 | (description | ||
| 1185 | "MUcomplete is an implementation of chained (fallback) completion, | ||
| 1186 | whereby several completion methods are attempted one after another until a | ||
| 1187 | result is returned.") | ||
| 1188 | (license license:expat))) | ||
| 1189 | |||
| 1190 | (define-public vim-gitgutter | ||
| 1191 | (let ((commit "256702dd1432894b3607d3de6cd660863b331818") | ||
| 1192 | (revision "1")) | ||
| 1193 | (package | ||
| 1194 | (name "vim-gitgutter") | ||
| 1195 | (version (git-version "0.0.0" revision commit)) | ||
| 1196 | (source | ||
| 1197 | (origin | ||
| 1198 | (method git-fetch) | ||
| 1199 | (uri (git-reference | ||
| 1200 | (url "https://github.com/airblade/vim-gitgutter") | ||
| 1201 | (commit commit))) | ||
| 1202 | (file-name (git-file-name name version)) | ||
| 1203 | (sha256 | ||
| 1204 | (base32 "0zpa7cs59a8sq0k3frlf9flpf30jcn239yrpmv40r7nqvxzglbpl")))) | ||
| 1205 | (build-system copy-build-system) | ||
| 1206 | (arguments | ||
| 1207 | '(#:install-plan | ||
| 1208 | '(("autoload" "share/vim/vimfiles/") | ||
| 1209 | ("doc" "share/vim/vimfiles/") | ||
| 1210 | ("plugin" "share/vim/vimfiles/")))) | ||
| 1211 | (synopsis "Vim plugin which shows a git diff in the sign column") | ||
| 1212 | (description | ||
| 1213 | "A Vim plugin which shows a git diff in the sign column. It shows which | ||
| 1214 | lines have been added, modified, or removed. You can also preview, stage, and | ||
| 1215 | undo individual hunks; and stage partial hunks. The plugin also provides a hunk | ||
| 1216 | text object. The signs are always up to date and the plugin never saves your | ||
| 1217 | buffer.") | ||
| 1218 | (home-page "https://github.com/airblade/vim-gitgutter") | ||
| 1219 | (license license:expat)))) | ||
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index 9d005eec522..51dcea2daeb 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm | |||
| @@ -159,7 +159,8 @@ | |||
| 159 | (base32 | 159 | (base32 |
| 160 | "15iw7982g6vc4jy1l9kk1z9sl5bm1bdbwr74y7nvwjs1nffhig7f")) | 160 | "15iw7982g6vc4jy1l9kk1z9sl5bm1bdbwr74y7nvwjs1nffhig7f")) |
| 161 | (patches (search-patches "qemu-CVE-2021-20203.patch" | 161 | (patches (search-patches "qemu-CVE-2021-20203.patch" |
| 162 | "qemu-build-info-manual.patch")) | 162 | "qemu-build-info-manual.patch" |
| 163 | "qemu-fix-agent-paths.patch")) | ||
| 163 | (modules '((guix build utils))) | 164 | (modules '((guix build utils))) |
| 164 | (snippet | 165 | (snippet |
| 165 | '(begin | 166 | '(begin |
| @@ -1519,14 +1520,16 @@ domains, their live performance and resource utilization statistics.") | |||
| 1519 | (define-public criu | 1520 | (define-public criu |
| 1520 | (package | 1521 | (package |
| 1521 | (name "criu") | 1522 | (name "criu") |
| 1522 | (version "3.16") | 1523 | (version "3.16.1") |
| 1523 | (source (origin | 1524 | (source |
| 1524 | (method url-fetch) | 1525 | (origin |
| 1525 | (uri (string-append "https://download.openvz.org/criu/criu-" | 1526 | (method git-fetch) |
| 1526 | version ".tar.bz2")) | 1527 | (uri (git-reference |
| 1527 | (sha256 | 1528 | (url "https://github.com/checkpoint-restore/criu") |
| 1528 | (base32 | 1529 | (commit (string-append "v" version)))) |
| 1529 | "13x4s7nms3ckb016d03icdsrw4k6f7i33qz9n84fzhmibm0grj70")))) | 1530 | (file-name (git-file-name name version)) |
| 1531 | (sha256 | ||
| 1532 | (base32 "1riw15197fnrs254jl7wks9x8bdml76kf1vnqkkgyypr13dnq55g")))) | ||
| 1530 | (build-system gnu-build-system) | 1533 | (build-system gnu-build-system) |
| 1531 | (arguments | 1534 | (arguments |
| 1532 | `(#:test-target "test" | 1535 | `(#:test-target "test" |
| @@ -1538,19 +1541,14 @@ domains, their live performance and resource utilization statistics.") | |||
| 1538 | (string-append "ASCIIDOC=" | 1541 | (string-append "ASCIIDOC=" |
| 1539 | (search-input-file %build-inputs | 1542 | (search-input-file %build-inputs |
| 1540 | "/bin/asciidoc")) | 1543 | "/bin/asciidoc")) |
| 1544 | (string-append "PYTHON=python3") | ||
| 1541 | (string-append "XMLTO=" | 1545 | (string-append "XMLTO=" |
| 1542 | (search-input-file %build-input | 1546 | (search-input-file %build-input |
| 1543 | "/bin/xmlto"))) | 1547 | "/bin/xmlto"))) |
| 1544 | #:phases | 1548 | #:phases |
| 1545 | (modify-phases %standard-phases | 1549 | (modify-phases %standard-phases |
| 1546 | (replace 'configure | 1550 | (delete 'configure) ; no configure script |
| 1547 | (lambda* (#:key inputs #:allow-other-keys) | 1551 | (add-after 'unpack 'fix-documentation |
| 1548 | ;; The includes for libnl are located in a sub-directory. | ||
| 1549 | (setenv "C_INCLUDE_PATH" | ||
| 1550 | (string-append | ||
| 1551 | (search-input-directory inputs "/include/libnl3") | ||
| 1552 | ":" (or (getenv "C_INCLUDE_PATH") ""))))) | ||
| 1553 | (add-after 'configure 'fix-documentation | ||
| 1554 | (lambda* (#:key inputs outputs #:allow-other-keys) | 1552 | (lambda* (#:key inputs outputs #:allow-other-keys) |
| 1555 | (substitute* "Documentation/Makefile" | 1553 | (substitute* "Documentation/Makefile" |
| 1556 | (("-m custom.xsl") | 1554 | (("-m custom.xsl") |
| @@ -1564,13 +1562,7 @@ domains, their live performance and resource utilization statistics.") | |||
| 1564 | (lambda* (#:key inputs #:allow-other-keys) | 1562 | (lambda* (#:key inputs #:allow-other-keys) |
| 1565 | ;; Hardcode arm version detection | 1563 | ;; Hardcode arm version detection |
| 1566 | (substitute* "Makefile" | 1564 | (substitute* "Makefile" |
| 1567 | (("ARMV.*:=.*") "ARMV := 7\n")) | 1565 | (("ARMV.*:=.*") "ARMV := 7\n")))) |
| 1568 | ;; We are currently using python-2 | ||
| 1569 | (substitute* "crit/Makefile" | ||
| 1570 | (("\\$\\(PYTHON\\)") "python2")) | ||
| 1571 | (substitute* "lib/Makefile" | ||
| 1572 | (("\\$\\(PYTHON\\)") | ||
| 1573 | (search-input-file inputs "/bin/python"))))) | ||
| 1574 | (add-before 'build 'fix-symlink | 1566 | (add-before 'build 'fix-symlink |
| 1575 | (lambda* (#:key inputs #:allow-other-keys) | 1567 | (lambda* (#:key inputs #:allow-other-keys) |
| 1576 | ;; The file 'images/google/protobuf/descriptor.proto' points to | 1568 | ;; The file 'images/google/protobuf/descriptor.proto' points to |
| @@ -1585,15 +1577,14 @@ domains, their live performance and resource utilization statistics.") | |||
| 1585 | (add-after 'install 'wrap | 1577 | (add-after 'install 'wrap |
| 1586 | (lambda* (#:key inputs outputs #:allow-other-keys) | 1578 | (lambda* (#:key inputs outputs #:allow-other-keys) |
| 1587 | ;; Make sure 'crit' runs with the correct PYTHONPATH. | 1579 | ;; Make sure 'crit' runs with the correct PYTHONPATH. |
| 1588 | (let* ((out (assoc-ref outputs "out")) | 1580 | (let* ((out (assoc-ref outputs "out")) |
| 1589 | (path (string-append out | 1581 | (site (string-append out "/lib/python" |
| 1590 | "/lib/python" | 1582 | ,(version-major+minor |
| 1591 | (string-take (string-take-right | 1583 | (package-version python)) |
| 1592 | (assoc-ref inputs "python") 5) 3) | 1584 | "/site-packages")) |
| 1593 | "/site-packages:" | 1585 | (path (getenv "GUIX_PYTHONPATH"))) |
| 1594 | (or (getenv "GUIX_PYTHONPATH") "")))) | ||
| 1595 | (wrap-program (string-append out "/bin/crit") | 1586 | (wrap-program (string-append out "/bin/crit") |
| 1596 | `("GUIX_PYTHONPATH" ":" prefix (,path)))))) | 1587 | `("GUIX_PYTHONPATH" ":" prefix (,site ,path)))))) |
| 1597 | (add-after 'install 'delete-static-libraries | 1588 | (add-after 'install 'delete-static-libraries |
| 1598 | ;; Not building/installing these at all doesn't seem to be supported. | 1589 | ;; Not building/installing these at all doesn't seem to be supported. |
| 1599 | (lambda* (#:key outputs #:allow-other-keys) | 1590 | (lambda* (#:key outputs #:allow-other-keys) |
| @@ -1601,9 +1592,8 @@ domains, their live performance and resource utilization statistics.") | |||
| 1601 | (for-each delete-file (find-files out "\\.a$")))))))) | 1592 | (for-each delete-file (find-files out "\\.a$")))))))) |
| 1602 | (inputs | 1593 | (inputs |
| 1603 | `(("protobuf" ,protobuf) | 1594 | `(("protobuf" ,protobuf) |
| 1604 | ("python" ,python-2) | 1595 | ("python" ,python) |
| 1605 | ("python2-protobuf" ,python2-protobuf) | 1596 | ("python-protobuf" ,python-protobuf) |
| 1606 | ("python2-ipaddr" ,python2-ipaddr) | ||
| 1607 | ("iproute" ,iproute) | 1597 | ("iproute" ,iproute) |
| 1608 | ("libaio" ,libaio) | 1598 | ("libaio" ,libaio) |
| 1609 | ("libcap" ,libcap) | 1599 | ("libcap" ,libcap) |
| @@ -1997,11 +1987,11 @@ DOS or Microsoft Windows.") | |||
| 1997 | (define-public xen | 1987 | (define-public xen |
| 1998 | (package | 1988 | (package |
| 1999 | (name "xen") | 1989 | (name "xen") |
| 2000 | (version "4.14.1") | 1990 | (version "4.14.1") ; please update the mini-os input as well |
| 2001 | (source (origin | 1991 | (source (origin |
| 2002 | (method git-fetch) | 1992 | (method git-fetch) |
| 2003 | (uri (git-reference | 1993 | (uri (git-reference |
| 2004 | (url "git://xenbits.xenproject.org/xen.git") | 1994 | (url "https://xenbits.xen.org/git-http/xen.git") |
| 2005 | (commit (string-append "RELEASE-" version)))) | 1995 | (commit (string-append "RELEASE-" version)))) |
| 2006 | (file-name (git-file-name name version)) | 1996 | (file-name (git-file-name name version)) |
| 2007 | (sha256 | 1997 | (sha256 |
| @@ -2173,11 +2163,13 @@ override CC = " (assoc-ref inputs "cross-gcc") "/bin/i686-linux-gnu-gcc")) | |||
| 2173 | ,(origin | 2163 | ,(origin |
| 2174 | (method git-fetch) | 2164 | (method git-fetch) |
| 2175 | (uri (git-reference | 2165 | (uri (git-reference |
| 2176 | (url "http://xenbits.xen.org/git-http/mini-os.git") | 2166 | (url "https://xenbits.xen.org/git-http/mini-os.git") |
| 2177 | (commit (string-append "xen-RELEASE-" version)))) | 2167 | ;; This corresponds to (string-append "xen-RELEASE-" version)) |
| 2168 | ;; at time of packaging, but upstream has unfortunately modified | ||
| 2169 | ;; existing tags in the past. | ||
| 2170 | (commit "0b4b7897e08b967a09bed2028a79fabff82342dd"))) | ||
| 2178 | (sha256 | 2171 | (sha256 |
| 2179 | (base32 | 2172 | (base32 "1i8pcl19n60i2m9vlg79q3nknpj209c9ic5x10wxaicx45kc107f")) |
| 2180 | "1i8pcl19n60i2m9vlg79q3nknpj209c9ic5x10wxaicx45kc107f")) | ||
| 2181 | (file-name "mini-os-git-checkout"))) | 2173 | (file-name "mini-os-git-checkout"))) |
| 2182 | ("perl" ,perl) | 2174 | ("perl" ,perl) |
| 2183 | ; TODO: markdown | 2175 | ; TODO: markdown |
diff --git a/gnu/packages/vnc.scm b/gnu/packages/vnc.scm index 4c2b13c93c5..10ae2b6e878 100644 --- a/gnu/packages/vnc.scm +++ b/gnu/packages/vnc.scm | |||
| @@ -61,7 +61,7 @@ | |||
| 61 | (define-public remmina | 61 | (define-public remmina |
| 62 | (package | 62 | (package |
| 63 | (name "remmina") | 63 | (name "remmina") |
| 64 | (version "1.4.20") | 64 | (version "1.4.21") |
| 65 | (source | 65 | (source |
| 66 | (origin | 66 | (origin |
| 67 | (method git-fetch) | 67 | (method git-fetch) |
| @@ -71,7 +71,7 @@ | |||
| 71 | (commit (string-append "v" version)))) | 71 | (commit (string-append "v" version)))) |
| 72 | (file-name (git-file-name name version)) | 72 | (file-name (git-file-name name version)) |
| 73 | (sha256 | 73 | (sha256 |
| 74 | (base32 "0apm4lqcmqskdp2fjxl8dbg3686cm4w0b5806fqj7w43hdmd8w4v")))) | 74 | (base32 "1g6aqbkbjfywkbaigyysivxswmbp8fbcw9x5ppysaj658cfdnicx")))) |
| 75 | (build-system cmake-build-system) | 75 | (build-system cmake-build-system) |
| 76 | (arguments | 76 | (arguments |
| 77 | `(#:tests? #f ; No target | 77 | `(#:tests? #f ; No target |
| @@ -102,8 +102,7 @@ | |||
| 102 | (gi-typelib-path (getenv "GI_TYPELIB_PATH"))) | 102 | (gi-typelib-path (getenv "GI_TYPELIB_PATH"))) |
| 103 | (wrap-program file | 103 | (wrap-program file |
| 104 | `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))) | 104 | `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))) |
| 105 | '("remmina" "remmina-file-wrapper"))) | 105 | '("remmina" "remmina-file-wrapper")))))))) |
| 106 | #t))))) | ||
| 107 | (native-inputs | 106 | (native-inputs |
| 108 | `(("gettext" ,gettext-minimal) | 107 | `(("gettext" ,gettext-minimal) |
| 109 | ("glib:bin" ,glib "bin") | 108 | ("glib:bin" ,glib "bin") |
diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm index 89eb61007fb..35e8db7e91a 100644 --- a/gnu/packages/web-browsers.scm +++ b/gnu/packages/web-browsers.scm | |||
| @@ -73,6 +73,7 @@ | |||
| 73 | #:use-module (gnu packages libunistring) | 73 | #:use-module (gnu packages libunistring) |
| 74 | #:use-module (gnu packages linux) | 74 | #:use-module (gnu packages linux) |
| 75 | #:use-module (gnu packages lisp) | 75 | #:use-module (gnu packages lisp) |
| 76 | #:use-module (gnu packages lisp-check) | ||
| 76 | #:use-module (gnu packages lisp-xyz) | 77 | #:use-module (gnu packages lisp-xyz) |
| 77 | #:use-module (gnu packages lua) | 78 | #:use-module (gnu packages lua) |
| 78 | #:use-module (gnu packages man) | 79 | #:use-module (gnu packages man) |
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index bb52eeab826..38be76d5827 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm | |||
| @@ -809,7 +809,7 @@ programming language."))) | |||
| 809 | ;; The nginx source code is part of the module’s source. | 809 | ;; The nginx source code is part of the module’s source. |
| 810 | (format #t "decompressing nginx source code~%") | 810 | (format #t "decompressing nginx source code~%") |
| 811 | (invoke "tar" "xvf" (assoc-ref inputs "nginx-sources") | 811 | (invoke "tar" "xvf" (assoc-ref inputs "nginx-sources") |
| 812 | ;; This packages's LICENSE file would be | 812 | ;; This package's LICENSE file would be |
| 813 | ;; overwritten with the one from nginx when | 813 | ;; overwritten with the one from nginx when |
| 814 | ;; unpacking the nginx source, so rename the nginx | 814 | ;; unpacking the nginx source, so rename the nginx |
| 815 | ;; one when unpacking. | 815 | ;; one when unpacking. |
| @@ -5805,28 +5805,29 @@ and similar services.") | |||
| 5805 | (define-public darkhttpd | 5805 | (define-public darkhttpd |
| 5806 | (package | 5806 | (package |
| 5807 | (name "darkhttpd") | 5807 | (name "darkhttpd") |
| 5808 | (version "1.12") | 5808 | (version "1.13") |
| 5809 | (source | 5809 | (source |
| 5810 | (origin | 5810 | (origin |
| 5811 | (method url-fetch) | 5811 | (method git-fetch) |
| 5812 | (uri (string-append "https://unix4lyfe.org/darkhttpd/darkhttpd-" | 5812 | (uri (git-reference |
| 5813 | version ".tar.bz2")) | 5813 | (url "https://github.com/emikulic/darkhttpd") |
| 5814 | (commit (string-append "v" version)))) | ||
| 5815 | (file-name (git-file-name name version)) | ||
| 5814 | (sha256 | 5816 | (sha256 |
| 5815 | (base32 | 5817 | (base32 "0w11xq160q9yyffv4mw9ncp1n0dl50d9plmwxb0yijaaxls9i4sk")))) |
| 5816 | "0185wlyx4iqiwfigp1zvql14zw7gxfacncii3d15yaxk4av1f155")))) | ||
| 5817 | (build-system gnu-build-system) | 5818 | (build-system gnu-build-system) |
| 5818 | (arguments | 5819 | (arguments |
| 5819 | `(#:make-flags '("CC=gcc") | 5820 | `(#:make-flags |
| 5821 | (list (string-append "CC=" ,(cc-for-target))) | ||
| 5820 | #:tests? #f ; No test suite | 5822 | #:tests? #f ; No test suite |
| 5821 | #:phases | 5823 | #:phases |
| 5822 | (modify-phases %standard-phases | 5824 | (modify-phases %standard-phases |
| 5823 | (delete 'configure) | 5825 | (delete 'configure) ; no configure script |
| 5824 | (replace 'install | 5826 | (replace 'install |
| 5825 | (lambda* (#:key outputs #:allow-other-keys) | 5827 | (lambda* (#:key outputs #:allow-other-keys) |
| 5826 | (install-file "darkhttpd" | 5828 | (install-file "darkhttpd" |
| 5827 | (string-append (assoc-ref outputs "out") | 5829 | (string-append (assoc-ref outputs "out") |
| 5828 | "/bin")) | 5830 | "/bin"))))))) |
| 5829 | #t))))) | ||
| 5830 | (synopsis "Simple static web server") | 5831 | (synopsis "Simple static web server") |
| 5831 | (description "darkhttpd is a simple static web server. It is | 5832 | (description "darkhttpd is a simple static web server. It is |
| 5832 | standalone and does not need inetd or ucspi-tcp. It does not need any | 5833 | standalone and does not need inetd or ucspi-tcp. It does not need any |
| @@ -5837,20 +5838,19 @@ config files---you only have to specify the www root.") | |||
| 5837 | (define-public goaccess | 5838 | (define-public goaccess |
| 5838 | (package | 5839 | (package |
| 5839 | (name "goaccess") | 5840 | (name "goaccess") |
| 5840 | (version "1.5.1") | 5841 | (version "1.5.2") |
| 5841 | (source (origin | 5842 | (source (origin |
| 5842 | (method url-fetch) | 5843 | (method url-fetch) |
| 5843 | (uri (string-append "http://tar.goaccess.io/goaccess-" | 5844 | (uri (string-append "http://tar.goaccess.io/goaccess-" |
| 5844 | version ".tar.gz")) | 5845 | version ".tar.gz")) |
| 5845 | (sha256 | 5846 | (sha256 |
| 5846 | (base32 | 5847 | (base32 |
| 5847 | "03wp75n1krv8g643q00gcv1ikmzwwh8jjqmph0wxww1bwrw7whc8")) | 5848 | "12hwmd9cn7yy7vj92110skjaslpxkn05msb9wj228qmjjf9jzkm0")) |
| 5848 | (modules '((guix build utils))) | 5849 | (modules '((guix build utils))) |
| 5849 | (snippet '(begin | 5850 | (snippet '(begin |
| 5850 | (substitute* "src/error.h" | 5851 | (substitute* "src/error.h" |
| 5851 | (("__DATE__") "\"1970-01-01\"") | 5852 | (("__DATE__") "\"1970-01-01\"") |
| 5852 | (("__TIME__") "\"00:00:00\"")) | 5853 | (("__TIME__") "\"00:00:00\"")))))) |
| 5853 | #t)))) | ||
| 5854 | (build-system gnu-build-system) | 5854 | (build-system gnu-build-system) |
| 5855 | (inputs | 5855 | (inputs |
| 5856 | ;; TODO: Add dependency on geoip-tools. | 5856 | ;; TODO: Add dependency on geoip-tools. |
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index acb593ade2d..e19a08da478 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm | |||
| @@ -102,6 +102,7 @@ | |||
| 102 | #:use-module (gnu packages imagemagick) | 102 | #:use-module (gnu packages imagemagick) |
| 103 | #:use-module (gnu packages libevent) | 103 | #:use-module (gnu packages libevent) |
| 104 | #:use-module (gnu packages linux) | 104 | #:use-module (gnu packages linux) |
| 105 | #:use-module (gnu packages lisp-check) | ||
| 105 | #:use-module (gnu packages lisp-xyz) | 106 | #:use-module (gnu packages lisp-xyz) |
| 106 | #:use-module (gnu packages logging) | 107 | #:use-module (gnu packages logging) |
| 107 | #:use-module (gnu packages lua) | 108 | #:use-module (gnu packages lua) |
| @@ -1422,14 +1423,14 @@ its size | |||
| 1422 | (define-public polybar | 1423 | (define-public polybar |
| 1423 | (package | 1424 | (package |
| 1424 | (name "polybar") | 1425 | (name "polybar") |
| 1425 | (version "3.5.5") | 1426 | (version "3.5.7") |
| 1426 | (source | 1427 | (source |
| 1427 | (origin | 1428 | (origin |
| 1428 | (method url-fetch) | 1429 | (method url-fetch) |
| 1429 | (uri (string-append "https://github.com/polybar/polybar/releases/" | 1430 | (uri (string-append "https://github.com/polybar/polybar/releases/" |
| 1430 | "download/" version "/polybar-" version ".tar.gz")) | 1431 | "download/" version "/polybar-" version ".tar.gz")) |
| 1431 | (sha256 | 1432 | (sha256 |
| 1432 | (base32 "1c8br9972x1qw7l2shj9aqzv0gsx58fdh3r0f1z5i1bqdwxmsqky")))) | 1433 | (base32 "1nr386jdlm8qkbdf23w7lyvbfhr362s90f957fawnyi1finhw8bk")))) |
| 1433 | (build-system cmake-build-system) | 1434 | (build-system cmake-build-system) |
| 1434 | (arguments | 1435 | (arguments |
| 1435 | ;; Test is disabled because it requires downloading googletest from the | 1436 | ;; Test is disabled because it requires downloading googletest from the |
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 53a97931daa..166a747229f 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm | |||
| @@ -11,7 +11,7 @@ | |||
| 11 | ;;; Copyright © 2015 Florian Paul Schmidt <mista.tapas@gmx.net> | 11 | ;;; Copyright © 2015 Florian Paul Schmidt <mista.tapas@gmx.net> |
| 12 | ;;; Copyright © 2016 Christine Lemmer-Webber <cwebber@dustycloud.org> | 12 | ;;; Copyright © 2016 Christine Lemmer-Webber <cwebber@dustycloud.org> |
| 13 | ;;; Copyright © 2016, 2018 Ricardo Wurmus <rekado@elephly.net> | 13 | ;;; Copyright © 2016, 2018 Ricardo Wurmus <rekado@elephly.net> |
| 14 | ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> | 14 | ;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> |
| 15 | ;;; Copyright © 2016 Leo Famulari <leo@famulari.name> | 15 | ;;; Copyright © 2016 Leo Famulari <leo@famulari.name> |
| 16 | ;;; Copyright © 2016, 2017, 2019, 2020 Marius Bakke <mbakke@fastmail.com> | 16 | ;;; Copyright © 2016, 2017, 2019, 2020 Marius Bakke <mbakke@fastmail.com> |
| 17 | ;;; Copyright © 2016 Petter <petter@mykolab.ch> | 17 | ;;; Copyright © 2016 Petter <petter@mykolab.ch> |
| @@ -70,6 +70,7 @@ | |||
| 70 | 70 | ||
| 71 | (define-module (gnu packages xdisorg) | 71 | (define-module (gnu packages xdisorg) |
| 72 | #:use-module (guix build-system cmake) | 72 | #:use-module (guix build-system cmake) |
| 73 | #:use-module (guix build-system copy) | ||
| 73 | #:use-module (guix build-system glib-or-gtk) | 74 | #:use-module (guix build-system glib-or-gtk) |
| 74 | #:use-module (guix build-system gnu) | 75 | #:use-module (guix build-system gnu) |
| 75 | #:use-module (guix build-system meson) | 76 | #:use-module (guix build-system meson) |
| @@ -85,6 +86,7 @@ | |||
| 85 | #:use-module (gnu packages algebra) | 86 | #:use-module (gnu packages algebra) |
| 86 | #:use-module (gnu packages autotools) | 87 | #:use-module (gnu packages autotools) |
| 87 | #:use-module (gnu packages base) | 88 | #:use-module (gnu packages base) |
| 89 | #:use-module (gnu packages bash) | ||
| 88 | #:use-module (gnu packages bison) | 90 | #:use-module (gnu packages bison) |
| 89 | #:use-module (gnu packages check) | 91 | #:use-module (gnu packages check) |
| 90 | #:use-module (gnu packages compression) | 92 | #:use-module (gnu packages compression) |
| @@ -2399,6 +2401,50 @@ binary to setuid-binaries: | |||
| 2399 | Wayland.") | 2401 | Wayland.") |
| 2400 | (license license:gpl3+))) | 2402 | (license license:gpl3+))) |
| 2401 | 2403 | ||
| 2404 | (define-public wl-clipboard-x11 | ||
| 2405 | (package | ||
| 2406 | (name "wl-clipboard-x11") | ||
| 2407 | (version "5") | ||
| 2408 | (source | ||
| 2409 | (origin | ||
| 2410 | (method git-fetch) | ||
| 2411 | (uri (git-reference | ||
| 2412 | (url "https://github.com/brunelli/wl-clipboard-x11") | ||
| 2413 | (commit (string-append "v" version)))) | ||
| 2414 | (file-name (git-file-name name version)) | ||
| 2415 | (sha256 | ||
| 2416 | (base32 "1y7jv7rps0sdzmm859wn2l8q4pg2x35smcrm7mbfxn5vrga0bslb")))) | ||
| 2417 | (build-system copy-build-system) | ||
| 2418 | (arguments | ||
| 2419 | `(#:install-plan | ||
| 2420 | '(("src/" "bin/") | ||
| 2421 | ("man/" "man/man1")) | ||
| 2422 | #:phases | ||
| 2423 | (modify-phases %standard-phases | ||
| 2424 | (add-after 'install 'wrap-binary | ||
| 2425 | (lambda* (#:key inputs outputs #:allow-other-keys) | ||
| 2426 | (let ((out (assoc-ref outputs "out")) | ||
| 2427 | (wl-clipboard (assoc-ref inputs "wl-clipboard"))) | ||
| 2428 | (wrap-program (string-append out "/bin/wl-clipboard-x11") | ||
| 2429 | `("PATH" prefix (,(string-append wl-clipboard "/bin"))))) | ||
| 2430 | #t)) | ||
| 2431 | (add-after 'wrap-binary 'symlink-utilities | ||
| 2432 | ;; As seen in the Makefile. | ||
| 2433 | (lambda* (#:key outputs #:allow-other-keys) | ||
| 2434 | (let ((bin (string-append (assoc-ref outputs "out") "/bin/"))) | ||
| 2435 | (symlink "wl-clipboard-x11" (string-append bin "xclip")) | ||
| 2436 | (symlink "wl-clipboard-x11" (string-append bin "xsel"))) | ||
| 2437 | #t))))) | ||
| 2438 | (inputs | ||
| 2439 | `(("bash-minimal" ,bash-minimal) | ||
| 2440 | ("wl-clipboard" ,wl-clipboard))) | ||
| 2441 | (home-page "https://github.com/brunelli/wl-clipboard-x11") | ||
| 2442 | (synopsis "Use wl-clipboard as a drop-in replacement to X11 clipboard tools") | ||
| 2443 | (description "This package provides a wrapper script around | ||
| 2444 | @code{x11-clipboard} to use it as a clipboard on X11 also. It also contains | ||
| 2445 | helper scripts for @code{xclip} and @code{xsel} to assist with the transition.") | ||
| 2446 | (license license:gpl3+))) | ||
| 2447 | |||
| 2402 | (define-public autocutsel | 2448 | (define-public autocutsel |
| 2403 | (package | 2449 | (package |
| 2404 | (name "autocutsel") | 2450 | (name "autocutsel") |
diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index e259cefac44..c9efdc6efe3 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm | |||
| @@ -2129,3 +2129,28 @@ lan interface (signal state, signal quality, network name (SSID)).") | |||
| 2129 | local weather in the panel, using forecast data provided by the | 2129 | local weather in the panel, using forecast data provided by the |
| 2130 | @uref{https://met.no, Norwegian Meteorological Institute}.") | 2130 | @uref{https://met.no, Norwegian Meteorological Institute}.") |
| 2131 | (license gpl2+))) | 2131 | (license gpl2+))) |
| 2132 | |||
| 2133 | (define-public xfce4-dev-tools | ||
| 2134 | (package | ||
| 2135 | (name "xfce4-dev-tools") | ||
| 2136 | (version "4.17.0") | ||
| 2137 | (source (origin | ||
| 2138 | (method url-fetch) | ||
| 2139 | (uri (string-append "https://archive.xfce.org/src/xfce/" | ||
| 2140 | "xfce4-dev-tools/" (version-major+minor version) "/" | ||
| 2141 | "xfce4-dev-tools-" version ".tar.bz2")) | ||
| 2142 | (sha256 | ||
| 2143 | (base32 | ||
| 2144 | "1iwkqj96x2s7fk4srg1pymvsiwb2rn6vvhy6hrmnc3hl1vqw2d6k")))) | ||
| 2145 | (build-system gnu-build-system) | ||
| 2146 | (native-inputs | ||
| 2147 | `(("pkg-config" ,pkg-config))) | ||
| 2148 | (inputs | ||
| 2149 | `(("glib" ,glib))) | ||
| 2150 | (home-page "https://docs.xfce.org/xfce/xfce4-dev-tools/") | ||
| 2151 | (synopsis "Xfce developer tools") | ||
| 2152 | (description | ||
| 2153 | "The Xfce development tools are a collection of tools and macros for Xfce | ||
| 2154 | developers and people that want to build Xfce from Git In addition it contains | ||
| 2155 | the Xfce developer's handbook.") | ||
| 2156 | (license gpl2+))) | ||
diff --git a/gnu/packages/zig.scm b/gnu/packages/zig.scm new file mode 100644 index 00000000000..ab62f554f4d --- /dev/null +++ b/gnu/packages/zig.scm | |||
| @@ -0,0 +1,104 @@ | |||
| 1 | ;;; GNU Guix --- Functional package management for GNU | ||
| 2 | ;;; Copyright © 2021 Liliana Prikler <liliana.prikler@gmail.com> | ||
| 3 | ;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev> | ||
| 4 | ;;; | ||
| 5 | ;;; This file is part of GNU Guix. | ||
| 6 | ;;; | ||
| 7 | ;;; GNU Guix is free software; you can redistribute it and/or modify it | ||
| 8 | ;;; under the terms of the GNU General Public License as published by | ||
| 9 | ;;; the Free Software Foundation; either version 3 of the License, or (at | ||
| 10 | ;;; your option) any later version. | ||
| 11 | ;;; | ||
| 12 | ;;; GNU Guix is distributed in the hope that it will be useful, but | ||
| 13 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 14 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 15 | ;;; GNU General Public License for more details. | ||
| 16 | ;;; | ||
| 17 | ;;; You should have received a copy of the GNU General Public License | ||
| 18 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | ||
| 19 | |||
| 20 | (define-module (gnu packages zig) | ||
| 21 | #:use-module (guix packages) | ||
| 22 | #:use-module (guix git-download) | ||
| 23 | #:use-module ((guix licenses) #:prefix license:) | ||
| 24 | #:use-module (guix build-system cmake) | ||
| 25 | #:use-module (gnu packages) | ||
| 26 | #:use-module (gnu packages llvm)) | ||
| 27 | |||
| 28 | (define-public zig | ||
| 29 | (package | ||
| 30 | (name "zig") | ||
| 31 | (version "0.8.1") | ||
| 32 | (source | ||
| 33 | (origin | ||
| 34 | (method git-fetch) | ||
| 35 | (uri (git-reference | ||
| 36 | (url "https://github.com/ziglang/zig.git") | ||
| 37 | (commit version))) | ||
| 38 | (file-name (git-file-name name version)) | ||
| 39 | (sha256 | ||
| 40 | (base32 "147qx7xgj0r353wh5ragzn6kmm1vrf31i8038z3zqwjnqqgqxi6c")) | ||
| 41 | (patches | ||
| 42 | (search-patches | ||
| 43 | "zig-disable-libc-note-test.patch" | ||
| 44 | "zig-use-system-paths.patch")))) | ||
| 45 | (build-system cmake-build-system) | ||
| 46 | (inputs | ||
| 47 | `(("clang" ,clang-12) ; Clang propagates llvm. | ||
| 48 | ("lld" ,lld))) | ||
| 49 | ;; Zig compiles fine with GCC, but also needs native LLVM libraries. | ||
| 50 | (native-inputs | ||
| 51 | `(("llvm" ,llvm-12))) | ||
| 52 | (arguments | ||
| 53 | `(#:configure-flags | ||
| 54 | (list ,@(if (%current-target-system) | ||
| 55 | (string-append "-DZIG_TARGET_TRIPLE=" | ||
| 56 | (%current-target-system)) | ||
| 57 | '())) | ||
| 58 | #:out-of-source? #f ; for tests | ||
| 59 | #:phases | ||
| 60 | (modify-phases %standard-phases | ||
| 61 | (add-after 'configure 'set-cache-dir | ||
| 62 | (lambda _ | ||
| 63 | ;; Set cache dir, otherwise Zig looks for `$HOME/.cache'. | ||
| 64 | (setenv "ZIG_GLOBAL_CACHE_DIR" | ||
| 65 | (string-append (getcwd) "/zig-cache")))) | ||
| 66 | (delete 'check) | ||
| 67 | (add-after 'install 'check | ||
| 68 | (lambda* (#:key outputs tests? #:allow-other-keys) | ||
| 69 | (when tests? | ||
| 70 | (invoke (string-append (assoc-ref outputs "out") "/bin/zig") | ||
| 71 | ;; Testing the standard library takes >7.5GB RAM, and | ||
| 72 | ;; will fail if it is OOM-killed. The 'test-toolchain' | ||
| 73 | ;; target skips standard library and doc tests. | ||
| 74 | "build" "test-toolchain" | ||
| 75 | ;; Stage 2 is experimental, not what we run with `zig', | ||
| 76 | ;; and stage 2 tests require a lot of RAM. | ||
| 77 | "-Dskip-stage2-tests" | ||
| 78 | ;; Non-native tests try to link and execute non-native | ||
| 79 | ;; binaries. | ||
| 80 | "-Dskip-non-native"))))))) | ||
| 81 | (native-search-paths | ||
| 82 | (list | ||
| 83 | (search-path-specification | ||
| 84 | (variable "C_INCLUDE_PATH") | ||
| 85 | (files '("include"))) | ||
| 86 | (search-path-specification | ||
| 87 | (variable "CPLUS_INCLUDE_PATH") | ||
| 88 | (files '("include/c++" "include"))) | ||
| 89 | (search-path-specification | ||
| 90 | (variable "LIBRARY_PATH") | ||
| 91 | (files '("lib" "lib64"))))) | ||
| 92 | (synopsis "General purpose programming language and toolchain") | ||
| 93 | (description "Zig is a general-purpose programming language and | ||
| 94 | toolchain. Among other features it provides | ||
| 95 | @itemize | ||
| 96 | @item an Optional type instead of null pointers, | ||
| 97 | @item manual memory management, | ||
| 98 | @item generic data structures and functions, | ||
| 99 | @item compile-time reflection and compile-time code execution, | ||
| 100 | @item integration with C using zig as a C compiler, and | ||
| 101 | @item concurrency via async functions. | ||
| 102 | @end itemize") | ||
| 103 | (home-page "https://github.com/ziglang/zig") | ||
| 104 | (license license:expat))) | ||
diff --git a/gnu/services/rsync.scm b/gnu/services/rsync.scm index 6c117bbda44..59faed78f6d 100644 --- a/gnu/services/rsync.scm +++ b/gnu/services/rsync.scm | |||
| @@ -45,6 +45,8 @@ | |||
| 45 | rsync-configuration? | 45 | rsync-configuration? |
| 46 | (package rsync-configuration-package ; package | 46 | (package rsync-configuration-package ; package |
| 47 | (default rsync)) | 47 | (default rsync)) |
| 48 | (address rsync-configuration-address ; string | #f | ||
| 49 | (default #f)) | ||
| 48 | (port-number rsync-configuration-port-number ; integer | 50 | (port-number rsync-configuration-port-number ; integer |
| 49 | (default 873)) | 51 | (default 873)) |
| 50 | (pid-file rsync-configuration-pid-file ; string | 52 | (pid-file rsync-configuration-pid-file ; string |
| @@ -110,7 +112,7 @@ | |||
| 110 | (define rsync-config-file | 112 | (define rsync-config-file |
| 111 | ;; Return the rsync configuration file corresponding to CONFIG. | 113 | ;; Return the rsync configuration file corresponding to CONFIG. |
| 112 | (match-lambda | 114 | (match-lambda |
| 113 | (($ <rsync-configuration> package port-number pid-file lock-file log-file | 115 | (($ <rsync-configuration> package address port-number pid-file lock-file log-file |
| 114 | use-chroot? share-path share-comment read-only? | 116 | use-chroot? share-path share-comment read-only? |
| 115 | timeout user group uid gid) | 117 | timeout user group uid gid) |
| 116 | (if (not (string=? user "root")) | 118 | (if (not (string=? user "root")) |
| @@ -132,6 +134,7 @@ | |||
| 132 | "pid file = " pid-file "\n" | 134 | "pid file = " pid-file "\n" |
| 133 | "lock file = " lock-file "\n" | 135 | "lock file = " lock-file "\n" |
| 134 | "log file = " log-file "\n" | 136 | "log file = " log-file "\n" |
| 137 | (if address (string-append "address = " address "\n") "") | ||
| 135 | "port = " (number->string port-number) "\n" | 138 | "port = " (number->string port-number) "\n" |
| 136 | "use chroot = " (if use-chroot? "true" "false") "\n" | 139 | "use chroot = " (if use-chroot? "true" "false") "\n" |
| 137 | (if uid (string-append "uid = " uid "\n") "") | 140 | (if uid (string-append "uid = " uid "\n") "") |
diff --git a/guix/build/syscalls.scm b/guix/build/syscalls.scm index 99a3b45004a..b305133c374 100644 --- a/guix/build/syscalls.scm +++ b/guix/build/syscalls.scm | |||
| @@ -180,6 +180,8 @@ | |||
| 180 | terminal-window-size | 180 | terminal-window-size |
| 181 | terminal-columns | 181 | terminal-columns |
| 182 | terminal-rows | 182 | terminal-rows |
| 183 | openpty | ||
| 184 | login-tty | ||
| 183 | 185 | ||
| 184 | utmpx? | 186 | utmpx? |
| 185 | utmpx-login-type | 187 | utmpx-login-type |
| @@ -422,15 +424,21 @@ expansion-time error is raised if FIELD does not exist in TYPE." | |||
| 422 | "Evaluate EXPR and restart upon EINTR. Return the value of EXPR." | 424 | "Evaluate EXPR and restart upon EINTR. Return the value of EXPR." |
| 423 | (call-with-restart-on-EINTR (lambda () expr))) | 425 | (call-with-restart-on-EINTR (lambda () expr))) |
| 424 | 426 | ||
| 425 | (define (syscall->procedure return-type name argument-types) | 427 | (define* (syscall->procedure return-type name argument-types |
| 428 | #:key library) | ||
| 426 | "Return a procedure that wraps the C function NAME using the dynamic FFI, | 429 | "Return a procedure that wraps the C function NAME using the dynamic FFI, |
| 427 | and that returns two values: NAME's return value, and errno. | 430 | and that returns two values: NAME's return value, and errno. When LIBRARY is |
| 431 | specified, look up NAME in that library rather than in the global symbol name | ||
| 432 | space. | ||
| 428 | 433 | ||
| 429 | If an error occurs while creating the binding, defer the error report until | 434 | If an error occurs while creating the binding, defer the error report until |
| 430 | the returned procedure is called." | 435 | the returned procedure is called." |
| 431 | (catch #t | 436 | (catch #t |
| 432 | (lambda () | 437 | (lambda () |
| 433 | (let ((ptr (dynamic-func name (dynamic-link)))) | 438 | (let ((ptr (dynamic-func name |
| 439 | (if library | ||
| 440 | (dynamic-link library) | ||
| 441 | (dynamic-link))))) | ||
| 434 | ;; The #:return-errno? facility was introduced in Guile 2.0.12. | 442 | ;; The #:return-errno? facility was introduced in Guile 2.0.12. |
| 435 | (pointer->procedure return-type ptr argument-types | 443 | (pointer->procedure return-type ptr argument-types |
| 436 | #:return-errno? #t))) | 444 | #:return-errno? #t))) |
| @@ -2286,6 +2294,41 @@ PORT, trying to guess a reasonable value if all else fails. The result is | |||
| 2286 | always a positive integer." | 2294 | always a positive integer." |
| 2287 | (terminal-dimension window-size-rows port (const 25))) | 2295 | (terminal-dimension window-size-rows port (const 25))) |
| 2288 | 2296 | ||
| 2297 | (define openpty | ||
| 2298 | (let ((proc (syscall->procedure int "openpty" '(* * * * *) | ||
| 2299 | #:library "libutil"))) | ||
| 2300 | (lambda () | ||
| 2301 | "Return two file descriptors: one for the pseudo-terminal control side, | ||
| 2302 | and one for the controlled side." | ||
| 2303 | (let ((head (make-bytevector (sizeof int))) | ||
| 2304 | (inferior (make-bytevector (sizeof int)))) | ||
| 2305 | (let-values (((ret err) | ||
| 2306 | (proc (bytevector->pointer head) | ||
| 2307 | (bytevector->pointer inferior) | ||
| 2308 | %null-pointer %null-pointer %null-pointer))) | ||
| 2309 | (unless (zero? ret) | ||
| 2310 | (throw 'system-error "openpty" "~A" | ||
| 2311 | (list (strerror err)) | ||
| 2312 | (list err)))) | ||
| 2313 | |||
| 2314 | (let ((* (lambda (bv) | ||
| 2315 | (bytevector-sint-ref bv 0 (native-endianness) | ||
| 2316 | (sizeof int))))) | ||
| 2317 | (values (* head) (* inferior))))))) | ||
| 2318 | |||
| 2319 | (define login-tty | ||
| 2320 | (let* ((proc (syscall->procedure int "login_tty" (list int) | ||
| 2321 | #:library "libutil"))) | ||
| 2322 | (lambda (fd) | ||
| 2323 | "Make FD the controlling terminal of the current process (with the | ||
| 2324 | TIOCSCTTY ioctl), redirect standard input, standard output and standard error | ||
| 2325 | output to this terminal, and close FD." | ||
| 2326 | (let-values (((ret err) (proc fd))) | ||
| 2327 | (unless (zero? ret) | ||
| 2328 | (throw 'system-error "login-pty" "~A" | ||
| 2329 | (list (strerror err)) | ||
| 2330 | (list err))))))) | ||
| 2331 | |||
| 2289 | 2332 | ||
| 2290 | ;;; | 2333 | ;;; |
| 2291 | ;;; utmpx. | 2334 | ;;; utmpx. |
diff --git a/guix/cache.scm b/guix/cache.scm index 0401a9d4281..51009809bd3 100644 --- a/guix/cache.scm +++ b/guix/cache.scm | |||
| @@ -101,7 +101,13 @@ CLEANUP-PERIOD denotes the minimum time between two cache cleanups." | |||
| 101 | #:now now | 101 | #:now now |
| 102 | #:entry-expiration entry-expiration | 102 | #:entry-expiration entry-expiration |
| 103 | #:delete-entry delete-entry) | 103 | #:delete-entry delete-entry) |
| 104 | (call-with-output-file expiry-file | 104 | (catch 'system-error |
| 105 | (cute write (time-second now) <>)))) | 105 | (lambda () |
| 106 | (call-with-output-file expiry-file | ||
| 107 | (cute write (time-second now) <>))) | ||
| 108 | (lambda args | ||
| 109 | ;; ENOENT means CACHE does not exist. | ||
| 110 | (unless (= ENOENT (system-error-errno args)) | ||
| 111 | (apply throw args)))))) | ||
| 106 | 112 | ||
| 107 | ;;; cache.scm ends here | 113 | ;;; cache.scm ends here |
diff --git a/guix/import/cran.scm b/guix/import/cran.scm index 510882bc00e..9387a82065f 100644 --- a/guix/import/cran.scm +++ b/guix/import/cran.scm | |||
| @@ -34,6 +34,8 @@ | |||
| 34 | #:use-module (web uri) | 34 | #:use-module (web uri) |
| 35 | #:use-module (guix memoization) | 35 | #:use-module (guix memoization) |
| 36 | #:use-module (guix http-client) | 36 | #:use-module (guix http-client) |
| 37 | #:use-module (guix diagnostics) | ||
| 38 | #:use-module (guix i18n) | ||
| 37 | #:use-module (gcrypt hash) | 39 | #:use-module (gcrypt hash) |
| 38 | #:use-module (guix store) | 40 | #:use-module (guix store) |
| 39 | #:use-module ((guix serialization) #:select (write-file)) | 41 | #:use-module ((guix serialization) #:select (write-file)) |
| @@ -171,11 +173,11 @@ package definition." | |||
| 171 | release." | 173 | release." |
| 172 | (let ((url (string->uri (bioconductor-packages-list-url type)))) | 174 | (let ((url (string->uri (bioconductor-packages-list-url type)))) |
| 173 | (guard (c ((http-get-error? c) | 175 | (guard (c ((http-get-error? c) |
| 174 | (format (current-error-port) | 176 | (warning (G_ "failed to retrieve list of packages \ |
| 175 | "error: failed to retrieve list of packages from ~s: ~a (~s)~%" | 177 | from ~a: ~a (~a)~%") |
| 176 | (uri->string (http-get-error-uri c)) | 178 | (uri->string (http-get-error-uri c)) |
| 177 | (http-get-error-code c) | 179 | (http-get-error-code c) |
| 178 | (http-get-error-reason c)) | 180 | (http-get-error-reason c)) |
| 179 | #f)) | 181 | #f)) |
| 180 | ;; Split the big list on empty lines, then turn each chunk into an | 182 | ;; Split the big list on empty lines, then turn each chunk into an |
| 181 | ;; alist of attributes. | 183 | ;; alist of attributes. |
| @@ -237,12 +239,11 @@ case-sensitive." | |||
| 237 | ((cran) | 239 | ((cran) |
| 238 | (let ((url (string-append %cran-url name "/DESCRIPTION"))) | 240 | (let ((url (string-append %cran-url name "/DESCRIPTION"))) |
| 239 | (guard (c ((http-get-error? c) | 241 | (guard (c ((http-get-error? c) |
| 240 | (format (current-error-port) | 242 | (warning (G_ "failed to retrieve package information \ |
| 241 | "error: failed to retrieve package information \ | 243 | from ~a: ~a (~a)~%") |
| 242 | from ~s: ~a (~s)~%" | 244 | (uri->string (http-get-error-uri c)) |
| 243 | (uri->string (http-get-error-uri c)) | 245 | (http-get-error-code c) |
| 244 | (http-get-error-code c) | 246 | (http-get-error-reason c)) |
| 245 | (http-get-error-reason c)) | ||
| 246 | #f)) | 247 | #f)) |
| 247 | (let* ((port (http-fetch url)) | 248 | (let* ((port (http-fetch url)) |
| 248 | (result (description->alist (read-string port)))) | 249 | (result (description->alist (read-string port)))) |
diff --git a/guix/lint.scm b/guix/lint.scm index 5edb9dea284..8bbbe210d62 100644 --- a/guix/lint.scm +++ b/guix/lint.scm | |||
| @@ -322,6 +322,21 @@ markup is valid return a plain-text version of DESCRIPTION, otherwise #f." | |||
| 322 | (G_ "Texinfo markup in description is invalid") | 322 | (G_ "Texinfo markup in description is invalid") |
| 323 | #:field 'description)))) | 323 | #:field 'description)))) |
| 324 | 324 | ||
| 325 | (define (check-description-typo description typo-corrections) | ||
| 326 | "Check that DESCRIPTION does not contain typo, with optional correction" | ||
| 327 | (append-map | ||
| 328 | (match-lambda | ||
| 329 | ((typo . correction) | ||
| 330 | (if (string-contains description typo) | ||
| 331 | (list | ||
| 332 | (make-warning package | ||
| 333 | (G_ | ||
| 334 | (format #false | ||
| 335 | "description contains typo '~a'~@[, should be '~a'~]" | ||
| 336 | typo correction)))) | ||
| 337 | '()))) | ||
| 338 | typo-corrections)) | ||
| 339 | |||
| 325 | (define (check-trademarks description) | 340 | (define (check-trademarks description) |
| 326 | "Check that DESCRIPTION does not contain '™' or '®' characters. See | 341 | "Check that DESCRIPTION does not contain '™' or '®' characters. See |
| 327 | http://www.gnu.org/prep/standards/html_node/Trademarks.html." | 342 | http://www.gnu.org/prep/standards/html_node/Trademarks.html." |
| @@ -402,6 +417,10 @@ by two spaces; possible infraction~p at ~{~a~^, ~}") | |||
| 402 | (check-not-empty description) | 417 | (check-not-empty description) |
| 403 | (check-quotes description) | 418 | (check-quotes description) |
| 404 | (check-trademarks description) | 419 | (check-trademarks description) |
| 420 | (check-description-typo description '(("This packages" . "This package") | ||
| 421 | ("This modules" . "This module") | ||
| 422 | ("allows to" . #f) | ||
| 423 | ("permits to" . #f))) | ||
| 405 | ;; Use raw description for this because Texinfo rendering | 424 | ;; Use raw description for this because Texinfo rendering |
| 406 | ;; automatically fixes end of sentence space. | 425 | ;; automatically fixes end of sentence space. |
| 407 | (check-end-of-sentence-space description) | 426 | (check-end-of-sentence-space description) |
diff --git a/guix/packages.scm b/guix/packages.scm index fa23cc39b34..fb7eabdc646 100644 --- a/guix/packages.scm +++ b/guix/packages.scm | |||
| @@ -52,6 +52,7 @@ | |||
| 52 | #:use-module (srfi srfi-35) | 52 | #:use-module (srfi srfi-35) |
| 53 | #:use-module (rnrs bytevectors) | 53 | #:use-module (rnrs bytevectors) |
| 54 | #:use-module (web uri) | 54 | #:use-module (web uri) |
| 55 | #:autoload (texinfo) (texi-fragment->stexi) | ||
| 55 | #:re-export (%current-system | 56 | #:re-export (%current-system |
| 56 | %current-target-system | 57 | %current-target-system |
| 57 | search-path-specification) ;for convenience | 58 | search-path-specification) ;for convenience |
| @@ -169,6 +170,7 @@ | |||
| 169 | bag-transitive-host-inputs | 170 | bag-transitive-host-inputs |
| 170 | bag-transitive-build-inputs | 171 | bag-transitive-build-inputs |
| 171 | bag-transitive-target-inputs | 172 | bag-transitive-target-inputs |
| 173 | package-development-inputs | ||
| 172 | package-closure | 174 | package-closure |
| 173 | 175 | ||
| 174 | default-guile | 176 | default-guile |
| @@ -465,6 +467,49 @@ lexical scope of its body." | |||
| 465 | (lambda (s) #,location))) | 467 | (lambda (s) #,location))) |
| 466 | body ...)))))) | 468 | body ...)))))) |
| 467 | 469 | ||
| 470 | (define-syntax validate-texinfo | ||
| 471 | (let ((validate? (getenv "GUIX_UNINSTALLED"))) | ||
| 472 | (define ensure-thread-safe-texinfo-parser! | ||
| 473 | ;; Work around <https://issues.guix.gnu.org/51264> for Guile <= 3.0.7. | ||
| 474 | (let ((patched? (or (> (string->number (major-version)) 3) | ||
| 475 | (> (string->number (minor-version)) 0) | ||
| 476 | (> (string->number (micro-version)) 7))) | ||
| 477 | (next-token-of/thread-safe | ||
| 478 | (lambda (pred port) | ||
| 479 | (let loop ((chars '())) | ||
| 480 | (match (read-char port) | ||
| 481 | ((? eof-object?) | ||
| 482 | (list->string (reverse! chars))) | ||
| 483 | (chr | ||
| 484 | (let ((chr* (pred chr))) | ||
| 485 | (if chr* | ||
| 486 | (loop (cons chr* chars)) | ||
| 487 | (begin | ||
| 488 | (unread-char chr port) | ||
| 489 | (list->string (reverse! chars))))))))))) | ||
| 490 | (lambda () | ||
| 491 | (unless patched? | ||
| 492 | (set! (@@ (texinfo) next-token-of) next-token-of/thread-safe) | ||
| 493 | (set! patched? #t))))) | ||
| 494 | |||
| 495 | (lambda (s) | ||
| 496 | "Raise a syntax error when passed a literal string that is not valid | ||
| 497 | Texinfo. Otherwise, return the string." | ||
| 498 | (syntax-case s () | ||
| 499 | ((_ str) | ||
| 500 | (string? (syntax->datum #'str)) | ||
| 501 | (if validate? | ||
| 502 | (catch 'parser-error | ||
| 503 | (lambda () | ||
| 504 | (ensure-thread-safe-texinfo-parser!) | ||
| 505 | (texi-fragment->stexi (syntax->datum #'str)) | ||
| 506 | #'str) | ||
| 507 | (lambda _ | ||
| 508 | (syntax-violation 'package "invalid Texinfo markup" #'str))) | ||
| 509 | #'str)) | ||
| 510 | ((_ obj) | ||
| 511 | #'obj))))) | ||
| 512 | |||
| 468 | ;; A package. | 513 | ;; A package. |
| 469 | (define-record-type* <package> | 514 | (define-record-type* <package> |
| 470 | package make-package | 515 | package make-package |
| @@ -502,9 +547,11 @@ lexical scope of its body." | |||
| 502 | (replacement package-replacement ; package | #f | 547 | (replacement package-replacement ; package | #f |
| 503 | (default #f) (thunked) (innate)) | 548 | (default #f) (thunked) (innate)) |
| 504 | 549 | ||
| 505 | (synopsis package-synopsis) ; one-line description | 550 | (synopsis package-synopsis |
| 506 | (description package-description) ; one or two paragraphs | 551 | (sanitize validate-texinfo)) ; one-line description |
| 507 | (license package-license) | 552 | (description package-description |
| 553 | (sanitize validate-texinfo)) ; one or two paragraphs | ||
| 554 | (license package-license) ; <license> instance or list | ||
| 508 | (home-page package-home-page) | 555 | (home-page package-home-page) |
| 509 | (supported-systems package-supported-systems ; list of strings | 556 | (supported-systems package-supported-systems ; list of strings |
| 510 | (default %supported-systems)) | 557 | (default %supported-systems)) |
| @@ -1176,23 +1223,36 @@ in INPUTS and their transitive propagated inputs." | |||
| 1176 | 1223 | ||
| 1177 | (define package-transitive-supported-systems | 1224 | (define package-transitive-supported-systems |
| 1178 | (let () | 1225 | (let () |
| 1179 | (define supported-systems | 1226 | (define (supported-systems-procedure system) |
| 1180 | (mlambda (package system) | 1227 | (define supported-systems |
| 1181 | (parameterize ((%current-system system)) | 1228 | (mlambdaq (package) |
| 1182 | (fold (lambda (input systems) | 1229 | (parameterize ((%current-system system)) |
| 1183 | (match input | 1230 | (fold (lambda (input systems) |
| 1184 | ((label (? package? package) . _) | 1231 | (match input |
| 1185 | (lset-intersection string=? systems | 1232 | ((label (? package? package) . _) |
| 1186 | (supported-systems package system))) | 1233 | (lset-intersection string=? systems |
| 1187 | (_ | 1234 | (supported-systems package))) |
| 1188 | systems))) | 1235 | (_ |
| 1189 | (package-supported-systems package) | 1236 | systems))) |
| 1190 | (bag-direct-inputs (package->bag package)))))) | 1237 | (package-supported-systems package) |
| 1238 | (bag-direct-inputs (package->bag package)))))) | ||
| 1239 | |||
| 1240 | supported-systems) | ||
| 1241 | |||
| 1242 | (define procs | ||
| 1243 | ;; Map system strings to one-argument procedures. This allows these | ||
| 1244 | ;; procedures to have fast 'eq?' memoization on their argument. | ||
| 1245 | (make-hash-table)) | ||
| 1191 | 1246 | ||
| 1192 | (lambda* (package #:optional (system (%current-system))) | 1247 | (lambda* (package #:optional (system (%current-system))) |
| 1193 | "Return the intersection of the systems supported by PACKAGE and those | 1248 | "Return the intersection of the systems supported by PACKAGE and those |
| 1194 | supported by its dependencies." | 1249 | supported by its dependencies." |
| 1195 | (supported-systems package system)))) | 1250 | (match (hash-ref procs system) |
| 1251 | (#f | ||
| 1252 | (hash-set! procs system (supported-systems-procedure system)) | ||
| 1253 | (package-transitive-supported-systems package system)) | ||
| 1254 | (proc | ||
| 1255 | (proc package)))))) | ||
| 1196 | 1256 | ||
| 1197 | (define* (supported-package? package #:optional (system (%current-system))) | 1257 | (define* (supported-package? package #:optional (system (%current-system))) |
| 1198 | "Return true if PACKAGE is supported on SYSTEM--i.e., if PACKAGE and all its | 1258 | "Return true if PACKAGE is supported on SYSTEM--i.e., if PACKAGE and all its |
| @@ -1229,6 +1289,15 @@ dependencies are known to build on SYSTEM." | |||
| 1229 | (%current-system (bag-system bag))) | 1289 | (%current-system (bag-system bag))) |
| 1230 | (transitive-inputs (bag-target-inputs bag)))) | 1290 | (transitive-inputs (bag-target-inputs bag)))) |
| 1231 | 1291 | ||
| 1292 | (define* (package-development-inputs package | ||
| 1293 | #:optional (system (%current-system)) | ||
| 1294 | #:key target) | ||
| 1295 | "Return the list of inputs required by PACKAGE for development purposes on | ||
| 1296 | SYSTEM. When TARGET is true, return the inputs needed to cross-compile | ||
| 1297 | PACKAGE from SYSTEM to TRIPLET, where TRIPLET is a triplet such as | ||
| 1298 | \"aarch64-linux-gnu\"." | ||
| 1299 | (bag-transitive-inputs (package->bag package system target))) | ||
| 1300 | |||
| 1232 | (define* (package-closure packages #:key (system (%current-system))) | 1301 | (define* (package-closure packages #:key (system (%current-system))) |
| 1233 | "Return the closure of PACKAGES on SYSTEM--i.e., PACKAGES and the list of | 1302 | "Return the closure of PACKAGES on SYSTEM--i.e., PACKAGES and the list of |
| 1234 | packages they depend on, recursively." | 1303 | packages they depend on, recursively." |
diff --git a/guix/profiles.scm b/guix/profiles.scm index 94946842284..aad23c0c0e9 100644 --- a/guix/profiles.scm +++ b/guix/profiles.scm | |||
| @@ -124,6 +124,7 @@ | |||
| 124 | 124 | ||
| 125 | profile-manifest | 125 | profile-manifest |
| 126 | package->manifest-entry | 126 | package->manifest-entry |
| 127 | package->development-manifest | ||
| 127 | packages->manifest | 128 | packages->manifest |
| 128 | ca-certificate-bundle | 129 | ca-certificate-bundle |
| 129 | %default-profile-hooks | 130 | %default-profile-hooks |
| @@ -400,6 +401,24 @@ file name." | |||
| 400 | (properties properties)))) | 401 | (properties properties)))) |
| 401 | entry)) | 402 | entry)) |
| 402 | 403 | ||
| 404 | (define* (package->development-manifest package | ||
| 405 | #:optional | ||
| 406 | (system (%current-system)) | ||
| 407 | #:key target) | ||
| 408 | "Return a manifest for the \"development inputs\" of PACKAGE for SYSTEM, | ||
| 409 | optionally when cross-compiling to TARGET. Development inputs include both | ||
| 410 | explicit and implicit inputs of PACKAGE." | ||
| 411 | (manifest | ||
| 412 | (filter-map (match-lambda | ||
| 413 | ((label (? package? package)) | ||
| 414 | (package->manifest-entry package)) | ||
| 415 | ((label (? package? package) output) | ||
| 416 | (package->manifest-entry package output)) | ||
| 417 | ;; TODO: Support <inferior-package>. | ||
| 418 | (_ | ||
| 419 | #f)) | ||
| 420 | (package-development-inputs package system #:target target)))) | ||
| 421 | |||
| 403 | (define (packages->manifest packages) | 422 | (define (packages->manifest packages) |
| 404 | "Return a list of manifest entries, one for each item listed in PACKAGES. | 423 | "Return a list of manifest entries, one for each item listed in PACKAGES. |
| 405 | Elements of PACKAGES can be either package objects or package/string tuples | 424 | Elements of PACKAGES can be either package objects or package/string tuples |
diff --git a/guix/scripts/environment.scm b/guix/scripts/environment.scm index 6958bd6238b..cca0ad991b8 100644 --- a/guix/scripts/environment.scm +++ b/guix/scripts/environment.scm | |||
| @@ -34,23 +34,32 @@ | |||
| 34 | #:use-module (guix scripts) | 34 | #:use-module (guix scripts) |
| 35 | #:use-module (guix scripts build) | 35 | #:use-module (guix scripts build) |
| 36 | #:use-module (guix transformations) | 36 | #:use-module (guix transformations) |
| 37 | #:use-module (gnu build linux-container) | 37 | #:autoload (gnu build linux-container) (call-with-container %namespaces |
| 38 | #:use-module (gnu build accounts) | 38 | user-namespace-supported? |
| 39 | #:use-module ((guix build syscalls) #:select (set-network-interface-up)) | 39 | unprivileged-user-namespace-supported? |
| 40 | #:use-module (gnu system linux-container) | 40 | setgroups-supported?) |
| 41 | #:autoload (gnu build accounts) (password-entry group-entry | ||
| 42 | password-entry-name password-entry-directory | ||
| 43 | write-passwd write-group) | ||
| 44 | #:autoload (guix build syscalls) (set-network-interface-up openpty login-tty) | ||
| 41 | #:use-module (gnu system file-systems) | 45 | #:use-module (gnu system file-systems) |
| 42 | #:use-module (gnu packages) | 46 | #:autoload (gnu packages) (specification->package+output) |
| 43 | #:use-module (gnu packages bash) | 47 | #:autoload (gnu packages bash) (bash) |
| 44 | #:use-module ((gnu packages bootstrap) | 48 | #:autoload (gnu packages bootstrap) (bootstrap-executable %bootstrap-guile) |
| 45 | #:select (bootstrap-executable %bootstrap-guile)) | ||
| 46 | #:use-module (ice-9 match) | 49 | #:use-module (ice-9 match) |
| 50 | #:autoload (ice-9 rdelim) (read-line) | ||
| 51 | #:use-module (ice-9 vlist) | ||
| 47 | #:use-module (srfi srfi-1) | 52 | #:use-module (srfi srfi-1) |
| 48 | #:use-module (srfi srfi-11) | 53 | #:use-module (srfi srfi-11) |
| 49 | #:use-module (srfi srfi-26) | 54 | #:use-module (srfi srfi-26) |
| 50 | #:use-module (srfi srfi-37) | 55 | #:use-module (srfi srfi-37) |
| 51 | #:use-module (srfi srfi-98) | 56 | #:use-module (srfi srfi-98) |
| 52 | #:export (assert-container-features | 57 | #:export (assert-container-features |
| 53 | guix-environment)) | 58 | guix-environment |
| 59 | guix-environment* | ||
| 60 | show-environment-options-help | ||
| 61 | (%options . %environment-options) | ||
| 62 | (%default-options . %environment-default-options))) | ||
| 54 | 63 | ||
| 55 | (define %default-shell | 64 | (define %default-shell |
| 56 | (or (getenv "SHELL") "/bin/sh")) | 65 | (or (getenv "SHELL") "/bin/sh")) |
| @@ -66,41 +75,18 @@ do not augment existing environment variables with additional search paths." | |||
| 66 | (newline))) | 75 | (newline))) |
| 67 | (profile-search-paths profile manifest))) | 76 | (profile-search-paths profile manifest))) |
| 68 | 77 | ||
| 69 | (define (input->manifest-entry input) | 78 | (define (show-environment-options-help) |
| 70 | "Return a manifest entry for INPUT, or #f if INPUT does not correspond to a | 79 | "Print help about options shared between 'guix environment' and 'guix |
| 71 | package." | 80 | shell'." |
| 72 | (match input | ||
| 73 | ((_ (? package? package)) | ||
| 74 | (package->manifest-entry package)) | ||
| 75 | ((_ (? package? package) output) | ||
| 76 | (package->manifest-entry package output)) | ||
| 77 | (_ | ||
| 78 | #f))) | ||
| 79 | |||
| 80 | (define (package-environment-inputs package) | ||
| 81 | "Return a list of manifest entries corresponding to the transitive input | ||
| 82 | packages for PACKAGE." | ||
| 83 | ;; Remove non-package inputs such as origin records. | ||
| 84 | (filter-map input->manifest-entry | ||
| 85 | (bag-transitive-inputs (package->bag package)))) | ||
| 86 | |||
| 87 | (define (show-help) | ||
| 88 | (display (G_ "Usage: guix environment [OPTION]... PACKAGE... [-- COMMAND...] | ||
| 89 | Build an environment that includes the dependencies of PACKAGE and execute | ||
| 90 | COMMAND or an interactive shell in that environment.\n")) | ||
| 91 | (display (G_ " | 81 | (display (G_ " |
| 92 | -e, --expression=EXPR create environment for the package that EXPR | 82 | -e, --expression=EXPR create environment for the package that EXPR |
| 93 | evaluates to")) | 83 | evaluates to")) |
| 94 | (display (G_ " | 84 | (display (G_ " |
| 95 | -l, --load=FILE create environment for the package that the code within | ||
| 96 | FILE evaluates to")) | ||
| 97 | (display (G_ " | ||
| 98 | -m, --manifest=FILE create environment with the manifest from FILE")) | 85 | -m, --manifest=FILE create environment with the manifest from FILE")) |
| 99 | (display (G_ " | 86 | (display (G_ " |
| 100 | -p, --profile=PATH create environment from profile at PATH")) | 87 | -p, --profile=PATH create environment from profile at PATH")) |
| 101 | (display (G_ " | 88 | (display (G_ " |
| 102 | --ad-hoc include all specified packages in the environment instead | 89 | --check check if the shell clobbers environment variables")) |
| 103 | of only their inputs")) | ||
| 104 | (display (G_ " | 90 | (display (G_ " |
| 105 | --pure unset existing environment variables")) | 91 | --pure unset existing environment variables")) |
| 106 | (display (G_ " | 92 | (display (G_ " |
| @@ -136,7 +122,24 @@ COMMAND or an interactive shell in that environment.\n")) | |||
| 136 | (display (G_ " | 122 | (display (G_ " |
| 137 | -v, --verbosity=LEVEL use the given verbosity LEVEL")) | 123 | -v, --verbosity=LEVEL use the given verbosity LEVEL")) |
| 138 | (display (G_ " | 124 | (display (G_ " |
| 139 | --bootstrap use bootstrap binaries to build the environment")) | 125 | --bootstrap use bootstrap binaries to build the environment"))) |
| 126 | |||
| 127 | (define (show-help) | ||
| 128 | (display (G_ "Usage: guix environment [OPTION]... PACKAGE... [-- COMMAND...] | ||
| 129 | Build an environment that includes the dependencies of PACKAGE and execute | ||
| 130 | COMMAND or an interactive shell in that environment.\n")) | ||
| 131 | (warning (G_ "This command is deprecated in favor of 'guix shell'.\n")) | ||
| 132 | (newline) | ||
| 133 | |||
| 134 | ;; These two options are left out in 'guix shell'. | ||
| 135 | (display (G_ " | ||
| 136 | -l, --load=FILE create environment for the package that the code within | ||
| 137 | FILE evaluates to")) | ||
| 138 | (display (G_ " | ||
| 139 | --ad-hoc include all specified packages in the environment instead | ||
| 140 | of only their inputs")) | ||
| 141 | |||
| 142 | (show-environment-options-help) | ||
| 140 | (newline) | 143 | (newline) |
| 141 | (show-build-options-help) | 144 | (show-build-options-help) |
| 142 | (newline) | 145 | (newline) |
| @@ -179,6 +182,9 @@ COMMAND or an interactive shell in that environment.\n")) | |||
| 179 | (option '(#\V "version") #f #f | 182 | (option '(#\V "version") #f #f |
| 180 | (lambda args | 183 | (lambda args |
| 181 | (show-version-and-exit "guix environment"))) | 184 | (show-version-and-exit "guix environment"))) |
| 185 | (option '("check") #f #f | ||
| 186 | (lambda (opt name arg result) | ||
| 187 | (alist-cons 'check? #t result))) | ||
| 182 | (option '("pure") #f #f | 188 | (option '("pure") #f #f |
| 183 | (lambda (opt name arg result) | 189 | (lambda (opt name arg result) |
| 184 | (alist-cons 'pure #t result))) | 190 | (alist-cons 'pure #t result))) |
| @@ -297,11 +303,11 @@ for the corresponding packages." | |||
| 297 | ((? package? package) | 303 | ((? package? package) |
| 298 | (if (eq? mode 'ad-hoc-package) | 304 | (if (eq? mode 'ad-hoc-package) |
| 299 | (list (package->manifest-entry* package)) | 305 | (list (package->manifest-entry* package)) |
| 300 | (package-environment-inputs package))) | 306 | (manifest-entries (package->development-manifest package)))) |
| 301 | (((? package? package) (? string? output)) | 307 | (((? package? package) (? string? output)) |
| 302 | (if (eq? mode 'ad-hoc-package) | 308 | (if (eq? mode 'ad-hoc-package) |
| 303 | (list (package->manifest-entry* package output)) | 309 | (list (package->manifest-entry* package output)) |
| 304 | (package-environment-inputs package))) | 310 | (manifest-entries (package->development-manifest package)))) |
| 305 | ((lst ...) | 311 | ((lst ...) |
| 306 | (append-map (cut packages->outputs <> mode) lst)))) | 312 | (append-map (cut packages->outputs <> mode) lst)))) |
| 307 | 313 | ||
| @@ -313,8 +319,9 @@ for the corresponding packages." | |||
| 313 | (specification->package+output spec))) | 319 | (specification->package+output spec))) |
| 314 | (list (package->manifest-entry* package output)))) | 320 | (list (package->manifest-entry* package output)))) |
| 315 | (('package 'package (? string? spec)) | 321 | (('package 'package (? string? spec)) |
| 316 | (package-environment-inputs | 322 | (manifest-entries |
| 317 | (transform (specification->package+output spec)))) | 323 | (package->development-manifest |
| 324 | (transform (specification->package+output spec))))) | ||
| 318 | (('expression mode str) | 325 | (('expression mode str) |
| 319 | ;; Add all the outputs of the package STR evaluates to. | 326 | ;; Add all the outputs of the package STR evaluates to. |
| 320 | (packages->outputs (read/eval str) mode)) | 327 | (packages->outputs (read/eval str) mode)) |
| @@ -396,6 +403,155 @@ regexps in WHITE-LIST." | |||
| 396 | ((program . args) | 403 | ((program . args) |
| 397 | (apply execlp program program args)))) | 404 | (apply execlp program program args)))) |
| 398 | 405 | ||
| 406 | (define (child-shell-environment shell profile manifest) | ||
| 407 | "Create a child process, load PROFILE and MANIFEST, and then run SHELL in | ||
| 408 | interactive mode in it. Return a name/value vhash for all the variables shown | ||
| 409 | by running 'set' in the shell." | ||
| 410 | (define-values (controller inferior) | ||
| 411 | (openpty)) | ||
| 412 | |||
| 413 | (define script | ||
| 414 | ;; Script to obtain the list of environment variable values. On a POSIX | ||
| 415 | ;; shell we can rely on 'set', but on fish we have to use 'env' (fish's | ||
| 416 | ;; 'set' truncates values and prints them in a different format.) | ||
| 417 | "env || /usr/bin/env || set; echo GUIX-CHECK-DONE; read x; exit\n") | ||
| 418 | |||
| 419 | (define lines | ||
| 420 | (match (primitive-fork) | ||
| 421 | (0 | ||
| 422 | (catch #t | ||
| 423 | (lambda () | ||
| 424 | (load-profile profile manifest #:pure? #t) | ||
| 425 | (setenv "GUIX_ENVIRONMENT" profile) | ||
| 426 | (close-fdes controller) | ||
| 427 | (login-tty inferior) | ||
| 428 | (execl shell shell)) | ||
| 429 | (lambda _ | ||
| 430 | (primitive-exit 127)))) | ||
| 431 | (pid | ||
| 432 | (close-fdes inferior) | ||
| 433 | (let* ((port (fdopen controller "r+l")) | ||
| 434 | (result (begin | ||
| 435 | (display script port) | ||
| 436 | (let loop ((lines '())) | ||
| 437 | (match (read-line port) | ||
| 438 | ((? eof-object?) (reverse lines)) | ||
| 439 | ("GUIX-CHECK-DONE\r" | ||
| 440 | (display "done\n" port) | ||
| 441 | (reverse lines)) | ||
| 442 | (line | ||
| 443 | ;; Drop the '\r' from LINE. | ||
| 444 | (loop (cons (string-drop-right line 1) | ||
| 445 | lines)))))))) | ||
| 446 | (close-port port) | ||
| 447 | (waitpid pid) | ||
| 448 | result)))) | ||
| 449 | |||
| 450 | (fold (lambda (line table) | ||
| 451 | ;; Note: 'set' in fish outputs "NAME VALUE" instead of "NAME=VALUE" | ||
| 452 | ;; but it also truncates values anyway, so don't try to support it. | ||
| 453 | (let ((index (string-index line #\=))) | ||
| 454 | (if index | ||
| 455 | (vhash-cons (string-take line index) | ||
| 456 | (string-drop line (+ 1 index)) | ||
| 457 | table) | ||
| 458 | table))) | ||
| 459 | vlist-null | ||
| 460 | lines)) | ||
| 461 | |||
| 462 | (define* (validate-child-shell-environment profile manifest | ||
| 463 | #:optional (shell %default-shell)) | ||
| 464 | "Run SHELL in interactive mode in an environment for PROFILE and MANIFEST | ||
| 465 | and report clobbered environment variables." | ||
| 466 | (define warned? #f) | ||
| 467 | (define-syntax-rule (warn exp ...) | ||
| 468 | (begin | ||
| 469 | (set! warned? #t) | ||
| 470 | (warning exp ...))) | ||
| 471 | |||
| 472 | (info (G_ "checking the environment variables visible from shell '~a'...~%") | ||
| 473 | shell) | ||
| 474 | (let ((actual (child-shell-environment shell profile manifest))) | ||
| 475 | (when (vlist-null? actual) | ||
| 476 | (leave (G_ "failed to determine environment of shell '~a'~%") | ||
| 477 | shell)) | ||
| 478 | (for-each (match-lambda | ||
| 479 | ((spec . expected) | ||
| 480 | (let ((name (search-path-specification-variable spec))) | ||
| 481 | (match (vhash-assoc name actual) | ||
| 482 | (#f | ||
| 483 | (warn (G_ "variable '~a' is missing from shell \ | ||
| 484 | environment~%") | ||
| 485 | name)) | ||
| 486 | ((_ . actual) | ||
| 487 | (cond ((string=? expected actual) | ||
| 488 | #t) | ||
| 489 | ((string-prefix? expected actual) | ||
| 490 | (warn (G_ "variable '~a' has unexpected \ | ||
| 491 | suffix '~a'~%") | ||
| 492 | name | ||
| 493 | (string-drop actual | ||
| 494 | (string-length expected)))) | ||
| 495 | (else | ||
| 496 | (warn (G_ "variable '~a' is clobbered: '~a'~%") | ||
| 497 | name actual)))))))) | ||
| 498 | (profile-search-paths profile manifest)) | ||
| 499 | |||
| 500 | ;; Special case. | ||
| 501 | (match (vhash-assoc "GUIX_ENVIRONMENT" actual) | ||
| 502 | (#f | ||
| 503 | (warn (G_ "'GUIX_ENVIRONMENT' is missing from the shell \ | ||
| 504 | environment~%"))) | ||
| 505 | ((_ . value) | ||
| 506 | (unless (string=? value profile) | ||
| 507 | (warn (G_ "'GUIX_ENVIRONMENT' is set to '~a' instead of '~a'~%") | ||
| 508 | value profile)))) | ||
| 509 | |||
| 510 | ;; Check the prompt unless we have more important warnings. | ||
| 511 | (unless warned? | ||
| 512 | (match (vhash-assoc "PS1" actual) | ||
| 513 | (#f #f) | ||
| 514 | (str | ||
| 515 | (when (and (getenv "PS1") (string=? str (getenv "PS1"))) | ||
| 516 | (warning (G_ "'PS1' is the same in sub-shell~%")) | ||
| 517 | (display-hint (G_ "Consider setting a different prompt for | ||
| 518 | environment shells to make them distinguishable. | ||
| 519 | |||
| 520 | If you are using Bash, you can do that by adding these lines to | ||
| 521 | @file{~/.bashrc}: | ||
| 522 | |||
| 523 | @example | ||
| 524 | if [ -n \"$GUIX_ENVIRONMENT\" ] | ||
| 525 | then | ||
| 526 | export PS1=\"\\u@@\\h \\w [env]\\$ \" | ||
| 527 | fi | ||
| 528 | @end example | ||
| 529 | ")))))) | ||
| 530 | |||
| 531 | (if warned? | ||
| 532 | (begin | ||
| 533 | (display-hint (G_ "One or more environment variables have a | ||
| 534 | different value in the shell than the one we set. This means that you may | ||
| 535 | find yourself running code in an environment different from the one you asked | ||
| 536 | Guix to prepare. | ||
| 537 | |||
| 538 | This usually indicates that your shell startup files are unexpectedly | ||
| 539 | modifying those environment variables. For example, if you are using Bash, | ||
| 540 | make sure that environment variables are set or modified in | ||
| 541 | @file{~/.bash_profile} and @emph{not} in @file{~/.bashrc}. For more | ||
| 542 | information on Bash startup files, run: | ||
| 543 | |||
| 544 | @example | ||
| 545 | info \"(bash) Bash Startup Files\" | ||
| 546 | @end example | ||
| 547 | |||
| 548 | Alternatively, you can avoid the problem by passing the @option{--container} | ||
| 549 | or @option{-C} option. That will give you a fully isolated environment | ||
| 550 | running in a \"container\", immune to the issue described above.")) | ||
| 551 | (exit 1)) | ||
| 552 | (info (G_ "All is good! The shell gets correct environment \ | ||
| 553 | variables.~%"))))) | ||
| 554 | |||
| 399 | (define* (launch-environment/fork command profile manifest | 555 | (define* (launch-environment/fork command profile manifest |
| 400 | #:key pure? (white-list '())) | 556 | #:key pure? (white-list '())) |
| 401 | "Run COMMAND in a new process with an environment containing PROFILE, with | 557 | "Run COMMAND in a new process with an environment containing PROFILE, with |
| @@ -666,11 +822,15 @@ message if any test fails." | |||
| 666 | 822 | ||
| 667 | (define-command (guix-environment . args) | 823 | (define-command (guix-environment . args) |
| 668 | (category development) | 824 | (category development) |
| 669 | (synopsis "spawn one-off software environments") | 825 | (synopsis "spawn one-off software environments (deprecated)") |
| 826 | |||
| 827 | (guix-environment* (parse-args args))) | ||
| 670 | 828 | ||
| 829 | (define (guix-environment* opts) | ||
| 830 | "Run the 'guix environment' command on OPTS, an alist resulting for | ||
| 831 | command-line option processing with 'parse-command-line'." | ||
| 671 | (with-error-handling | 832 | (with-error-handling |
| 672 | (let* ((opts (parse-args args)) | 833 | (let* ((pure? (assoc-ref opts 'pure)) |
| 673 | (pure? (assoc-ref opts 'pure)) | ||
| 674 | (container? (assoc-ref opts 'container?)) | 834 | (container? (assoc-ref opts 'container?)) |
| 675 | (link-prof? (assoc-ref opts 'link-profile?)) | 835 | (link-prof? (assoc-ref opts 'link-profile?)) |
| 676 | (network? (assoc-ref opts 'network?)) | 836 | (network? (assoc-ref opts 'network?)) |
| @@ -690,6 +850,26 @@ message if any test fails." | |||
| 690 | (mappings (pick-all opts 'file-system-mapping)) | 850 | (mappings (pick-all opts 'file-system-mapping)) |
| 691 | (white-list (pick-all opts 'inherit-regexp))) | 851 | (white-list (pick-all opts 'inherit-regexp))) |
| 692 | 852 | ||
| 853 | (define store-needed? | ||
| 854 | ;; Whether connecting to the daemon is needed. | ||
| 855 | (or container? (not profile))) | ||
| 856 | |||
| 857 | (define-syntax-rule (with-store/maybe store exp ...) | ||
| 858 | ;; Evaluate EXP... with STORE bound to a connection, unless | ||
| 859 | ;; STORE-NEEDED? is false, in which case STORE is bound to #f. | ||
| 860 | (let ((proc (lambda (store) exp ...))) | ||
| 861 | (if store-needed? | ||
| 862 | (with-store s | ||
| 863 | (set-build-options-from-command-line s opts) | ||
| 864 | (with-build-handler (build-notifier #:use-substitutes? | ||
| 865 | (assoc-ref opts 'substitutes?) | ||
| 866 | #:verbosity | ||
| 867 | (assoc-ref opts 'verbosity) | ||
| 868 | #:dry-run? | ||
| 869 | (assoc-ref opts 'dry-run?)) | ||
| 870 | (proc s))) | ||
| 871 | (proc #f)))) | ||
| 872 | |||
| 693 | (when container? (assert-container-features)) | 873 | (when container? (assert-container-features)) |
| 694 | 874 | ||
| 695 | (when (and (not container?) link-prof?) | 875 | (when (and (not container?) link-prof?) |
| @@ -700,85 +880,89 @@ message if any test fails." | |||
| 700 | (leave (G_ "--no-cwd cannot be used without --container~%"))) | 880 | (leave (G_ "--no-cwd cannot be used without --container~%"))) |
| 701 | 881 | ||
| 702 | 882 | ||
| 703 | (with-store store | 883 | (with-store/maybe store |
| 704 | (with-build-handler (build-notifier #:use-substitutes? | 884 | (with-status-verbosity (assoc-ref opts 'verbosity) |
| 705 | (assoc-ref opts 'substitutes?) | 885 | (define manifest-from-opts |
| 706 | #:verbosity | 886 | (options/resolve-packages store opts)) |
| 707 | (assoc-ref opts 'verbosity) | 887 | |
| 708 | #:dry-run? | 888 | (define manifest |
| 709 | (assoc-ref opts 'dry-run?)) | 889 | (if profile |
| 710 | (with-status-verbosity (assoc-ref opts 'verbosity) | 890 | (profile-manifest profile) |
| 711 | (define manifest-from-opts | 891 | manifest-from-opts)) |
| 712 | (options/resolve-packages store opts)) | 892 | |
| 713 | 893 | (when (and profile | |
| 714 | (define manifest | 894 | (> (length (manifest-entries manifest-from-opts)) 0)) |
| 715 | (if profile | 895 | (leave (G_ "'--profile' cannot be used with package options~%"))) |
| 716 | (profile-manifest profile) | 896 | |
| 717 | manifest-from-opts)) | 897 | (when (null? (manifest-entries manifest)) |
| 718 | 898 | (warning (G_ "no packages specified; creating an empty environment~%"))) | |
| 719 | (when (and profile | 899 | |
| 720 | (> (length (manifest-entries manifest-from-opts)) 0)) | 900 | ;; Use the bootstrap Guile when requested. |
| 721 | (leave (G_ "'--profile' cannot be used with package options~%"))) | 901 | (parameterize ((%graft? (assoc-ref opts 'graft?)) |
| 722 | 902 | (%guile-for-build | |
| 723 | (when (null? (manifest-entries manifest)) | 903 | (and store-needed? |
| 724 | (warning (G_ "no packages specified; creating an empty environment~%"))) | 904 | (package-derivation |
| 725 | 905 | store | |
| 726 | (set-build-options-from-command-line store opts) | 906 | (if bootstrap? |
| 727 | 907 | %bootstrap-guile | |
| 728 | ;; Use the bootstrap Guile when requested. | 908 | (default-guile)))))) |
| 729 | (parameterize ((%graft? (assoc-ref opts 'graft?)) | 909 | (run-with-store store |
| 730 | (%guile-for-build | 910 | ;; Containers need a Bourne shell at /bin/sh. |
| 731 | (package-derivation | 911 | (mlet* %store-monad ((bash (environment-bash container? |
| 732 | store | 912 | bootstrap? |
| 733 | (if bootstrap? | 913 | system)) |
| 734 | %bootstrap-guile | 914 | (prof-drv (if profile |
| 735 | (default-guile))))) | 915 | (return #f) |
| 736 | (run-with-store store | 916 | (manifest->derivation |
| 737 | ;; Containers need a Bourne shell at /bin/sh. | 917 | manifest system bootstrap?))) |
| 738 | (mlet* %store-monad ((bash (environment-bash container? | 918 | (profile -> (if profile |
| 739 | bootstrap? | ||
| 740 | system)) | ||
| 741 | (prof-drv (manifest->derivation | ||
| 742 | manifest system bootstrap?)) | ||
| 743 | (profile -> (if profile | ||
| 744 | (readlink* profile) | 919 | (readlink* profile) |
| 745 | (derivation->output-path prof-drv))) | 920 | (derivation->output-path prof-drv))) |
| 746 | (gc-root -> (assoc-ref opts 'gc-root))) | 921 | (gc-root -> (assoc-ref opts 'gc-root))) |
| 747 | 922 | ||
| 748 | ;; First build the inputs. This is necessary even for | 923 | ;; First build the inputs. This is necessary even for |
| 749 | ;; --search-paths. Additionally, we might need to build bash for | 924 | ;; --search-paths. Additionally, we might need to build bash for |
| 750 | ;; a container. | 925 | ;; a container. |
| 751 | (mbegin %store-monad | 926 | (mbegin %store-monad |
| 752 | (built-derivations (if (derivation? bash) | 927 | (mwhen store-needed? |
| 753 | (list prof-drv bash) | 928 | (built-derivations (append |
| 754 | (list prof-drv))) | 929 | (if prof-drv (list prof-drv) '()) |
| 755 | (mwhen gc-root | 930 | (if (derivation? bash) (list bash) '())))) |
| 756 | (register-gc-root profile gc-root)) | 931 | (mwhen gc-root |
| 757 | 932 | (register-gc-root profile gc-root)) | |
| 758 | (cond | 933 | |
| 759 | ((assoc-ref opts 'search-paths) | 934 | (mwhen (assoc-ref opts 'check?) |
| 760 | (show-search-paths profile manifest #:pure? pure?) | 935 | (return |
| 761 | (return #t)) | 936 | (validate-child-shell-environment profile manifest))) |
| 762 | (container? | 937 | |
| 763 | (let ((bash-binary | 938 | (cond |
| 764 | (if bootstrap? | 939 | ((assoc-ref opts 'search-paths) |
| 765 | (derivation->output-path bash) | 940 | (show-search-paths profile manifest #:pure? pure?) |
| 766 | (string-append (derivation->output-path bash) | 941 | (return #t)) |
| 767 | "/bin/sh")))) | 942 | (container? |
| 768 | (launch-environment/container #:command command | 943 | (let ((bash-binary |
| 769 | #:bash bash-binary | 944 | (if bootstrap? |
| 770 | #:user user | 945 | (derivation->output-path bash) |
| 771 | #:user-mappings mappings | 946 | (string-append (derivation->output-path bash) |
| 772 | #:profile profile | 947 | "/bin/sh")))) |
| 773 | #:manifest manifest | 948 | (launch-environment/container #:command command |
| 774 | #:white-list white-list | 949 | #:bash bash-binary |
| 775 | #:link-profile? link-prof? | 950 | #:user user |
| 776 | #:network? network? | 951 | #:user-mappings mappings |
| 777 | #:map-cwd? (not no-cwd?)))) | 952 | #:profile profile |
| 778 | 953 | #:manifest manifest | |
| 779 | (else | 954 | #:white-list white-list |
| 780 | (return | 955 | #:link-profile? link-prof? |
| 781 | (exit/status | 956 | #:network? network? |
| 782 | (launch-environment/fork command profile manifest | 957 | #:map-cwd? (not no-cwd?)))) |
| 783 | #:white-list white-list | 958 | |
| 784 | #:pure? pure?))))))))))))))) | 959 | (else |
| 960 | (return | ||
| 961 | (exit/status | ||
| 962 | (launch-environment/fork command profile manifest | ||
| 963 | #:white-list white-list | ||
| 964 | #:pure? pure?)))))))))))))) | ||
| 965 | |||
| 966 | ;;; Local Variables: | ||
| 967 | ;;; eval: (put 'with-store/maybe 'scheme-indent-function 1) | ||
| 968 | ;;; End: | ||
diff --git a/guix/scripts/home.scm b/guix/scripts/home.scm index 55e7b436c17..3f48b98ed44 100644 --- a/guix/scripts/home.scm +++ b/guix/scripts/home.scm | |||
| @@ -40,6 +40,7 @@ | |||
| 40 | #:autoload (guix scripts pull) (channel-commit-hyperlink) | 40 | #:autoload (guix scripts pull) (channel-commit-hyperlink) |
| 41 | #:use-module (guix scripts home import) | 41 | #:use-module (guix scripts home import) |
| 42 | #:use-module ((guix status) #:select (with-status-verbosity)) | 42 | #:use-module ((guix status) #:select (with-status-verbosity)) |
| 43 | #:use-module ((guix build utils) #:select (mkdir-p)) | ||
| 43 | #:use-module (guix gexp) | 44 | #:use-module (guix gexp) |
| 44 | #:use-module (guix monads) | 45 | #:use-module (guix monads) |
| 45 | #:use-module (srfi srfi-1) | 46 | #:use-module (srfi srfi-1) |
| @@ -260,15 +261,20 @@ argument list and OPTS is the option alist." | |||
| 260 | (apply search args)) | 261 | (apply search args)) |
| 261 | ((import) | 262 | ((import) |
| 262 | (let* ((profiles (delete-duplicates | 263 | (let* ((profiles (delete-duplicates |
| 263 | (match (filter-map (match-lambda | 264 | (match (filter-map (match-lambda |
| 264 | (('profile . p) p) | 265 | (('profile . p) p) |
| 265 | (_ #f)) | 266 | (_ #f)) |
| 266 | opts) | 267 | opts) |
| 267 | (() (list %current-profile)) | 268 | (() (list %current-profile)) |
| 268 | (lst (reverse lst))))) | 269 | (lst (reverse lst))))) |
| 269 | (manifest (concatenate-manifests | 270 | (manifest (concatenate-manifests |
| 270 | (map profile-manifest profiles)))) | 271 | (map profile-manifest profiles))) |
| 271 | (import-manifest manifest (current-output-port)))) | 272 | (destination (match args |
| 273 | ((destination) destination) | ||
| 274 | (_ (leave (G_ "wrong number of arguments~%")))))) | ||
| 275 | (unless (file-exists? destination) | ||
| 276 | (mkdir-p destination)) | ||
| 277 | (import-manifest manifest destination (current-output-port)))) | ||
| 272 | ((describe) | 278 | ((describe) |
| 273 | (match (generation-number %guix-home) | 279 | (match (generation-number %guix-home) |
| 274 | (0 | 280 | (0 |
diff --git a/guix/scripts/home/import.scm b/guix/scripts/home/import.scm index 611f580e85f..7a7712dd968 100644 --- a/guix/scripts/home/import.scm +++ b/guix/scripts/home/import.scm | |||
| @@ -1,6 +1,7 @@ | |||
| 1 | ;;; GNU Guix --- Functional package management for GNU | 1 | ;;; GNU Guix --- Functional package management for GNU |
| 2 | ;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz> | 2 | ;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz> |
| 3 | ;;; Copyright © 2021 Andrew Tropin <andrew@trop.in> | 3 | ;;; Copyright © 2021 Andrew Tropin <andrew@trop.in> |
| 4 | ;;; Copyright © 2021 Ludovic Courtès <ludo@gnu.org> | ||
| 4 | ;;; | 5 | ;;; |
| 5 | ;;; This file is part of GNU Guix. | 6 | ;;; This file is part of GNU Guix. |
| 6 | ;;; | 7 | ;;; |
| @@ -22,12 +23,16 @@ | |||
| 22 | #:use-module (guix ui) | 23 | #:use-module (guix ui) |
| 23 | #:use-module (guix utils) | 24 | #:use-module (guix utils) |
| 24 | #:use-module (guix packages) | 25 | #:use-module (guix packages) |
| 26 | #:autoload (guix scripts package) (manifest-entry-version-prefix) | ||
| 25 | #:use-module (gnu packages) | 27 | #:use-module (gnu packages) |
| 26 | #:use-module (ice-9 match) | 28 | #:use-module (ice-9 match) |
| 27 | #:use-module (ice-9 pretty-print) | 29 | #:use-module (ice-9 pretty-print) |
| 28 | #:use-module (srfi srfi-1) | 30 | #:use-module (srfi srfi-1) |
| 29 | #:use-module (srfi srfi-26) | 31 | #:use-module (srfi srfi-26) |
| 30 | #:export (import-manifest)) | 32 | #:export (import-manifest |
| 33 | |||
| 34 | ;; For tests. | ||
| 35 | manifest+configuration-files->code)) | ||
| 31 | 36 | ||
| 32 | ;;; Commentary: | 37 | ;;; Commentary: |
| 33 | ;;; | 38 | ;;; |
| @@ -36,200 +41,114 @@ | |||
| 36 | ;;; | 41 | ;;; |
| 37 | ;;; Code: | 42 | ;;; Code: |
| 38 | 43 | ||
| 39 | 44 | (define (basename+remove-dots file-name) | |
| 40 | (define (generate-bash-module+configuration) | 45 | "Remove the dot from the dotfile FILE-NAME; replace the other dots in |
| 41 | (let ((rc (string-append (getenv "HOME") "/.bashrc")) | 46 | FILE-NAME with \"-\", and return the basename of it." |
| 42 | (profile (string-append (getenv "HOME") "/.bash_profile")) | 47 | (string-map (match-lambda |
| 43 | (logout (string-append (getenv "HOME") "/.bash_logout"))) | 48 | (#\. #\-) |
| 44 | `((gnu home services bash) | 49 | (c c)) |
| 45 | (service home-bash-service-type | 50 | (let ((base (basename file-name))) |
| 46 | (home-bash-configuration | 51 | (if (string-prefix? "." base) |
| 47 | ,@(if (file-exists? rc) | 52 | (string-drop base 1) |
| 48 | `((bashrc | 53 | base)))) |
| 49 | (list (local-file ,rc)))) | 54 | |
| 50 | '()) | 55 | (define (generate-bash-configuration+modules destination-directory) |
| 51 | ,@(if (file-exists? profile) | 56 | (define (destination-append path) |
| 52 | `((bash-profile | 57 | (string-append destination-directory "/" path)) |
| 53 | (list (local-file ,profile)))) | 58 | |
| 54 | '()) | 59 | (let ((rc (destination-append ".bashrc")) |
| 55 | ,@(if (file-exists? logout) | 60 | (profile (destination-append ".bash_profile")) |
| 56 | `((bash-logout | 61 | (logout (destination-append ".bash_logout"))) |
| 57 | (list (local-file ,logout)))) | 62 | `((service home-bash-service-type |
| 58 | '())))))) | 63 | (home-bash-configuration |
| 59 | 64 | ,@(if (file-exists? rc) | |
| 60 | 65 | `((bashrc | |
| 61 | (define %files-configurations-alist | 66 | (list (local-file ,rc |
| 62 | `((".bashrc" . ,generate-bash-module+configuration) | 67 | ,(basename+remove-dots rc))))) |
| 63 | (".bash_profile" . ,generate-bash-module+configuration) | 68 | '()) |
| 64 | (".bash_logout" . ,generate-bash-module+configuration))) | 69 | ,@(if (file-exists? profile) |
| 65 | 70 | `((bash-profile | |
| 66 | (define (modules+configurations) | 71 | (list (local-file ,profile |
| 67 | (let ((configurations (delete-duplicates | 72 | ,(basename+remove-dots profile))))) |
| 68 | (filter-map (match-lambda | 73 | '()) |
| 69 | ((file . proc) | 74 | ,@(if (file-exists? logout) |
| 70 | (if (file-exists? | 75 | `((bash-logout |
| 71 | (string-append (getenv "HOME") "/" file)) | 76 | (list (local-file ,logout |
| 72 | proc | 77 | ,(basename+remove-dots logout))))) |
| 73 | #f))) | 78 | '()))) |
| 74 | %files-configurations-alist) | 79 | (guix gexp) |
| 75 | (lambda (x y) | 80 | (gnu home services shells)))) |
| 76 | (equal? (procedure-name x) (procedure-name y)))))) | 81 | |
| 77 | (map (lambda (proc) (proc)) configurations))) | 82 | (define %files+configurations-alist |
| 78 | 83 | `((".bashrc" . ,generate-bash-configuration+modules) | |
| 79 | ;; Based on `manifest->code' from (guix profiles) | 84 | (".bash_profile" . ,generate-bash-configuration+modules) |
| 80 | ;; MAYBE: Upstream it? | 85 | (".bash_logout" . ,generate-bash-configuration+modules))) |
| 81 | (define* (manifest->code manifest | 86 | |
| 82 | #:key | 87 | (define (configurations+modules configuration-directory) |
| 83 | (entry-package-version (const "")) | 88 | "Return a list of procedures which when called, generate code for a home |
| 84 | (home-environment? #f)) | 89 | service declaration. Copy configuration files to CONFIGURATION-DIRECTORY; the |
| 85 | "Return an sexp representing code to build an approximate version of | 90 | generated service declarations will refer to those files that have been saved |
| 86 | MANIFEST; the code is wrapped in a top-level 'begin' form. If | 91 | in CONFIGURATION-DIRECTORY." |
| 87 | HOME-ENVIRONMENT? is #t, return an <home-environment> definition. | 92 | (define configurations |
| 88 | Call ENTRY-PACKAGE-VERSION to determine the version number to use in | 93 | (delete-duplicates |
| 89 | the spec for a given entry; it can be set to 'manifest-entry-version' | 94 | (filter-map (match-lambda |
| 90 | for fully-specified version numbers, or to some other procedure to | 95 | ((file . proc) |
| 91 | disambiguate versions for packages for which several versions are | 96 | (let ((absolute-path (string-append (getenv "HOME") |
| 92 | available." | 97 | "/" file))) |
| 93 | (define (entry-transformations entry) | 98 | (and (file-exists? absolute-path) |
| 94 | ;; Return the transformations that apply to ENTRY. | 99 | (begin |
| 95 | (assoc-ref (manifest-entry-properties entry) 'transformations)) | 100 | (copy-file absolute-path |
| 96 | 101 | (string-append | |
| 97 | (define transformation-procedures | 102 | configuration-directory "/" file)) |
| 98 | ;; List of transformation options/procedure name pairs. | 103 | proc))))) |
| 99 | (let loop ((entries (manifest-entries manifest)) | 104 | %files+configurations-alist) |
| 100 | (counter 1) | 105 | eq?)) |
| 101 | (result '())) | 106 | |
| 102 | (match entries | 107 | (map (lambda (proc) (proc configuration-directory)) configurations)) |
| 103 | (() result) | 108 | |
| 104 | ((entry . tail) | 109 | (define (manifest+configuration-files->code manifest |
| 105 | (match (entry-transformations entry) | 110 | configuration-directory) |
| 106 | (#f | 111 | "Read MANIFEST and the user's configuration files listed in |
| 107 | (loop tail counter result)) | 112 | %FILES+CONFIGURATIONS-ALIST, and return a 'home-environment' sexp. Copy the |
| 108 | (options | 113 | user's files to CONFIGURATION-DIRECTORY; the generated sexp refers to them." |
| 109 | (if (assoc-ref result options) | 114 | (match (manifest->code manifest |
| 110 | (loop tail counter result) | 115 | #:entry-package-version |
| 111 | (loop tail (+ 1 counter) | 116 | manifest-entry-version-prefix) |
| 112 | (alist-cons options | 117 | (('begin ('use-modules profile-modules ...) |
| 113 | (string->symbol | 118 | definitions ... ('packages->manifest packages)) |
| 114 | (format #f "transform~a" counter)) | 119 | (match (configurations+modules configuration-directory) |
| 115 | result))))))))) | 120 | (((services . modules) ...) |
| 116 | 121 | `(begin | |
| 117 | (define (qualified-name entry) | 122 | (use-modules (gnu home) |
| 118 | ;; Return the name of ENTRY possibly with "@" followed by a version. | 123 | (gnu packages) |
| 119 | (match (entry-package-version entry) | 124 | (gnu services) |
| 120 | ("" (manifest-entry-name entry)) | 125 | ,@(delete-duplicates |
| 121 | (version (string-append (manifest-entry-name entry) | 126 | (append profile-modules (concatenate modules)))) |
| 122 | "@" version)))) | 127 | |
| 123 | 128 | ,@definitions | |
| 124 | (if (null? transformation-procedures) | 129 | |
| 125 | (let ((specs (map (lambda (entry) | 130 | (home-environment |
| 126 | (match (manifest-entry-output entry) | 131 | (packages ,packages) |
| 127 | ("out" (qualified-name entry)) | 132 | (services (list ,@services))))))) |
| 128 | (output (string-append (qualified-name entry) | 133 | (('begin ('specifications->manifest packages)) |
| 129 | ":" output)))) | 134 | (match (configurations+modules configuration-directory) |
| 130 | (manifest-entries manifest)))) | 135 | (((services . modules) ...) |
| 131 | (if home-environment? | 136 | `(begin |
| 132 | (let ((modules+configurations (modules+configurations))) | 137 | (use-modules (gnu home) |
| 133 | `(begin | 138 | (gnu packages) |
| 134 | (use-modules (gnu home) | 139 | (gnu services) |
| 135 | (gnu packages) | 140 | ,@(delete-duplicates (concatenate modules))) |
| 136 | ,@(map first modules+configurations)) | 141 | |
| 137 | ,(home-environment-template | 142 | (home-environment |
| 138 | #:specs specs | 143 | (packages (map specification->package ,packages)) |
| 139 | #:services (map second modules+configurations)))) | 144 | (services (list ,@services))))))))) |
| 140 | `(begin | ||
| 141 | (use-modules (gnu packages)) | ||
| 142 | |||
| 143 | (specifications->manifest | ||
| 144 | (list ,@specs))))) | ||
| 145 | (let* ((transform (lambda (options exp) | ||
| 146 | (if (not options) | ||
| 147 | exp | ||
| 148 | (let ((proc (assoc-ref transformation-procedures | ||
| 149 | options))) | ||
| 150 | `(,proc ,exp))))) | ||
| 151 | (packages (map (lambda (entry) | ||
| 152 | (define options | ||
| 153 | (entry-transformations entry)) | ||
| 154 | |||
| 155 | (define name | ||
| 156 | (qualified-name entry)) | ||
| 157 | |||
| 158 | (match (manifest-entry-output entry) | ||
| 159 | ("out" | ||
| 160 | (transform options | ||
| 161 | `(specification->package ,name))) | ||
| 162 | (output | ||
| 163 | `(list ,(transform | ||
| 164 | options | ||
| 165 | `(specification->package ,name)) | ||
| 166 | ,output)))) | ||
| 167 | (manifest-entries manifest))) | ||
| 168 | (transformations (map (match-lambda | ||
| 169 | ((options . name) | ||
| 170 | `(define ,name | ||
| 171 | (options->transformation ',options)))) | ||
| 172 | transformation-procedures))) | ||
| 173 | (if home-environment? | ||
| 174 | (let ((modules+configurations (modules+configurations))) | ||
| 175 | `(begin | ||
| 176 | (use-modules (guix transformations) | ||
| 177 | (gnu home) | ||
| 178 | (gnu packages) | ||
| 179 | ,@(map first modules+configurations)) | ||
| 180 | |||
| 181 | ,@transformations | ||
| 182 | |||
| 183 | ,(home-environment-template | ||
| 184 | #:packages packages | ||
| 185 | #:services (map second modules+configurations)))) | ||
| 186 | `(begin | ||
| 187 | (use-modules (guix transformations) | ||
| 188 | (gnu packages)) | ||
| 189 | |||
| 190 | ,@transformations | ||
| 191 | |||
| 192 | (packages->manifest | ||
| 193 | (list ,@packages))))))) | ||
| 194 | |||
| 195 | (define* (home-environment-template #:key (packages #f) (specs #f) services) | ||
| 196 | "Return an S-exp containing a <home-environment> declaration | ||
| 197 | containing PACKAGES, or SPECS (package specifications), and SERVICES." | ||
| 198 | `(home-environment | ||
| 199 | (packages | ||
| 200 | ,@(if packages | ||
| 201 | `((list ,@packages)) | ||
| 202 | `((map specification->package | ||
| 203 | (list ,@specs))))) | ||
| 204 | (services (list ,@services)))) | ||
| 205 | 145 | ||
| 206 | (define* (import-manifest | 146 | (define* (import-manifest |
| 207 | manifest | 147 | manifest destination-directory |
| 208 | #:optional (port (current-output-port))) | 148 | #:optional (port (current-output-port))) |
| 209 | "Write to PORT a <home-environment> corresponding to MANIFEST." | 149 | "Write to PORT a <home-environment> corresponding to MANIFEST." |
| 210 | (define (version-spec entry) | 150 | (match (manifest+configuration-files->code manifest |
| 211 | (let ((name (manifest-entry-name entry))) | 151 | destination-directory) |
| 212 | (match (map package-version (find-packages-by-name name)) | ||
| 213 | ((_) | ||
| 214 | ;; A single version of NAME is available, so do not specify the | ||
| 215 | ;; version number, even if the available version doesn't match ENTRY. | ||
| 216 | "") | ||
| 217 | (versions | ||
| 218 | ;; If ENTRY uses the latest version, don't specify any version. | ||
| 219 | ;; Otherwise return the shortest unique version prefix. Note that | ||
| 220 | ;; this is based on the currently available packages, which could | ||
| 221 | ;; differ from the packages available in the revision that was used | ||
| 222 | ;; to build MANIFEST. | ||
| 223 | (let ((current (manifest-entry-version entry))) | ||
| 224 | (if (every (cut version>? current <>) | ||
| 225 | (delete current versions)) | ||
| 226 | "" | ||
| 227 | (version-unique-prefix (manifest-entry-version entry) | ||
| 228 | versions))))))) | ||
| 229 | |||
| 230 | (match (manifest->code manifest | ||
| 231 | #:entry-package-version version-spec | ||
| 232 | #:home-environment? #t) | ||
| 233 | (('begin exp ...) | 152 | (('begin exp ...) |
| 234 | (format port (G_ "\ | 153 | (format port (G_ "\ |
| 235 | ;; This \"home-environment\" file can be passed to 'guix home reconfigure' | 154 | ;; This \"home-environment\" file can be passed to 'guix home reconfigure' |
diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm index a34ecdcb541..4b9c5f210d4 100644 --- a/guix/scripts/package.scm +++ b/guix/scripts/package.scm | |||
| @@ -68,6 +68,7 @@ | |||
| 68 | guix-package | 68 | guix-package |
| 69 | 69 | ||
| 70 | search-path-environment-variables | 70 | search-path-environment-variables |
| 71 | manifest-entry-version-prefix | ||
| 71 | 72 | ||
| 72 | transaction-upgrade-entry ;mostly for testing | 73 | transaction-upgrade-entry ;mostly for testing |
| 73 | 74 | ||
| @@ -327,31 +328,35 @@ Alternately, see @command{guix package --search-paths -p ~s}.") | |||
| 327 | ;;; Export a manifest. | 328 | ;;; Export a manifest. |
| 328 | ;;; | 329 | ;;; |
| 329 | 330 | ||
| 331 | (define (manifest-entry-version-prefix entry) | ||
| 332 | "Search among all the versions of ENTRY's package that are available, and | ||
| 333 | return the shortest unambiguous version prefix for this package. If only one | ||
| 334 | version of ENTRY's package is available, return the empty string." | ||
| 335 | (let ((name (manifest-entry-name entry))) | ||
| 336 | (match (map package-version (find-packages-by-name name)) | ||
| 337 | ((_) | ||
| 338 | ;; A single version of NAME is available, so do not specify the | ||
| 339 | ;; version number, even if the available version doesn't match ENTRY. | ||
| 340 | "") | ||
| 341 | (versions | ||
| 342 | ;; If ENTRY uses the latest version, don't specify any version. | ||
| 343 | ;; Otherwise return the shortest unique version prefix. Note that | ||
| 344 | ;; this is based on the currently available packages, which could | ||
| 345 | ;; differ from the packages available in the revision that was used | ||
| 346 | ;; to build MANIFEST. | ||
| 347 | (let ((current (manifest-entry-version entry))) | ||
| 348 | (if (every (cut version>? current <>) | ||
| 349 | (delete current versions)) | ||
| 350 | "" | ||
| 351 | (version-unique-prefix (manifest-entry-version entry) | ||
| 352 | versions))))))) | ||
| 353 | |||
| 330 | (define* (export-manifest manifest | 354 | (define* (export-manifest manifest |
| 331 | #:optional (port (current-output-port))) | 355 | #:optional (port (current-output-port))) |
| 332 | "Write to PORT a manifest corresponding to MANIFEST." | 356 | "Write to PORT a manifest corresponding to MANIFEST." |
| 333 | (define (version-spec entry) | ||
| 334 | (let ((name (manifest-entry-name entry))) | ||
| 335 | (match (map package-version (find-packages-by-name name)) | ||
| 336 | ((_) | ||
| 337 | ;; A single version of NAME is available, so do not specify the | ||
| 338 | ;; version number, even if the available version doesn't match ENTRY. | ||
| 339 | "") | ||
| 340 | (versions | ||
| 341 | ;; If ENTRY uses the latest version, don't specify any version. | ||
| 342 | ;; Otherwise return the shortest unique version prefix. Note that | ||
| 343 | ;; this is based on the currently available packages, which could | ||
| 344 | ;; differ from the packages available in the revision that was used | ||
| 345 | ;; to build MANIFEST. | ||
| 346 | (let ((current (manifest-entry-version entry))) | ||
| 347 | (if (every (cut version>? current <>) | ||
| 348 | (delete current versions)) | ||
| 349 | "" | ||
| 350 | (version-unique-prefix (manifest-entry-version entry) | ||
| 351 | versions))))))) | ||
| 352 | |||
| 353 | (match (manifest->code manifest | 357 | (match (manifest->code manifest |
| 354 | #:entry-package-version version-spec) | 358 | #:entry-package-version |
| 359 | manifest-entry-version-prefix) | ||
| 355 | (('begin exp ...) | 360 | (('begin exp ...) |
| 356 | (format port (G_ "\ | 361 | (format port (G_ "\ |
| 357 | ;; This \"manifest\" file can be passed to 'guix package -m' to reproduce | 362 | ;; This \"manifest\" file can be passed to 'guix package -m' to reproduce |
diff --git a/guix/scripts/shell.scm b/guix/scripts/shell.scm new file mode 100644 index 00000000000..5749485a44f --- /dev/null +++ b/guix/scripts/shell.scm | |||
| @@ -0,0 +1,394 @@ | |||
| 1 | ;;; GNU Guix --- Functional package management for GNU | ||
| 2 | ;;; Copyright © 2021 Ludovic Courtès <ludo@gnu.org> | ||
| 3 | ;;; | ||
| 4 | ;;; This file is part of GNU Guix. | ||
| 5 | ;;; | ||
| 6 | ;;; GNU Guix is free software; you can redistribute it and/or modify it | ||
| 7 | ;;; under the terms of the GNU General Public License as published by | ||
| 8 | ;;; the Free Software Foundation; either version 3 of the License, or (at | ||
| 9 | ;;; your option) any later version. | ||
| 10 | ;;; | ||
| 11 | ;;; GNU Guix is distributed in the hope that it will be useful, but | ||
| 12 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | ;;; GNU General Public License for more details. | ||
| 15 | ;;; | ||
| 16 | ;;; You should have received a copy of the GNU General Public License | ||
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | ||
| 18 | |||
| 19 | (define-module (guix scripts shell) | ||
| 20 | #:use-module (guix ui) | ||
| 21 | #:use-module ((guix diagnostics) #:select (location)) | ||
| 22 | #:use-module (guix scripts environment) | ||
| 23 | #:autoload (guix scripts build) (show-build-options-help) | ||
| 24 | #:autoload (guix transformations) (show-transformation-options-help) | ||
| 25 | #:use-module (guix scripts) | ||
| 26 | #:use-module (guix packages) | ||
| 27 | #:use-module (guix profiles) | ||
| 28 | #:use-module (srfi srfi-1) | ||
| 29 | #:use-module (srfi srfi-26) | ||
| 30 | #:use-module (srfi srfi-37) | ||
| 31 | #:use-module (srfi srfi-71) | ||
| 32 | #:use-module (ice-9 match) | ||
| 33 | #:autoload (ice-9 rdelim) (read-line) | ||
| 34 | #:autoload (guix base32) (bytevector->base32-string) | ||
| 35 | #:autoload (rnrs bytevectors) (string->utf8) | ||
| 36 | #:autoload (guix utils) (config-directory cache-directory) | ||
| 37 | #:autoload (guix describe) (current-channels) | ||
| 38 | #:autoload (guix channels) (channel-commit) | ||
| 39 | #:autoload (gcrypt hash) (sha256) | ||
| 40 | #:use-module ((guix build utils) #:select (mkdir-p)) | ||
| 41 | #:use-module (guix cache) | ||
| 42 | #:use-module ((ice-9 ftw) #:select (scandir)) | ||
| 43 | #:export (guix-shell)) | ||
| 44 | |||
| 45 | (define (show-help) | ||
| 46 | (display (G_ "Usage: guix shell [OPTION] PACKAGES... [-- COMMAND...] | ||
| 47 | Build an environment that includes PACKAGES and execute COMMAND or an | ||
| 48 | interactive shell in that environment.\n")) | ||
| 49 | (newline) | ||
| 50 | |||
| 51 | ;; These two options differ from 'guix environment'. | ||
| 52 | (display (G_ " | ||
| 53 | -D, --development include the development inputs of the next package")) | ||
| 54 | (display (G_ " | ||
| 55 | -f, --file=FILE create environment for the package that the code within | ||
| 56 | FILE evaluates to")) | ||
| 57 | (display (G_ " | ||
| 58 | -q inhibit loading of 'guix.scm' and 'manifest.scm'")) | ||
| 59 | (display (G_ " | ||
| 60 | --rebuild-cache rebuild cached environment, if any")) | ||
| 61 | |||
| 62 | (show-environment-options-help) | ||
| 63 | (newline) | ||
| 64 | (show-build-options-help) | ||
| 65 | (newline) | ||
| 66 | (show-transformation-options-help) | ||
| 67 | (newline) | ||
| 68 | (display (G_ " | ||
| 69 | -h, --help display this help and exit")) | ||
| 70 | (display (G_ " | ||
| 71 | -V, --version display version information and exit")) | ||
| 72 | (newline) | ||
| 73 | (show-bug-report-information)) | ||
| 74 | |||
| 75 | (define (tag-package-arg opts arg) | ||
| 76 | "Return a two-element list with the form (TAG ARG) that tags ARG with either | ||
| 77 | 'ad-hoc' in OPTS has the 'ad-hoc?' key set to #t, or 'inputs' otherwise." | ||
| 78 | (if (assoc-ref opts 'ad-hoc?) | ||
| 79 | `(ad-hoc-package ,arg) | ||
| 80 | `(package ,arg))) | ||
| 81 | |||
| 82 | (define (ensure-ad-hoc alist) | ||
| 83 | (if (assq-ref alist 'ad-hoc?) | ||
| 84 | alist | ||
| 85 | `((ad-hoc? . #t) ,@alist))) | ||
| 86 | |||
| 87 | (define (wrapped-option opt) | ||
| 88 | "Wrap OPT, a SRFI-37 option, such that its processor always adds the | ||
| 89 | 'ad-hoc?' flag to the resulting alist." | ||
| 90 | (option (option-names opt) | ||
| 91 | (option-required-arg? opt) | ||
| 92 | (option-optional-arg? opt) | ||
| 93 | (compose ensure-ad-hoc (option-processor opt)))) | ||
| 94 | |||
| 95 | (define %options | ||
| 96 | ;; Specification of the command-line options. | ||
| 97 | (let ((to-remove '("ad-hoc" "inherit" "load" "help" "version"))) | ||
| 98 | (append | ||
| 99 | (list (option '(#\h "help") #f #f | ||
| 100 | (lambda args | ||
| 101 | (show-help) | ||
| 102 | (exit 0))) | ||
| 103 | (option '(#\V "version") #f #f | ||
| 104 | (lambda args | ||
| 105 | (show-version-and-exit "guix shell"))) | ||
| 106 | |||
| 107 | (option '(#\D "development") #f #f | ||
| 108 | (lambda (opt name arg result) | ||
| 109 | ;; Temporarily remove the 'ad-hoc?' flag from result. | ||
| 110 | ;; The next option will put it back thanks to | ||
| 111 | ;; 'wrapped-option'. | ||
| 112 | (alist-delete 'ad-hoc? result))) | ||
| 113 | |||
| 114 | ;; For consistency with 'guix package', support '-f' rather than | ||
| 115 | ;; '-l' like 'guix environment' does. | ||
| 116 | (option '(#\f "file") #t #f | ||
| 117 | (lambda (opt name arg result) | ||
| 118 | (alist-cons 'load (tag-package-arg result arg) | ||
| 119 | result))) | ||
| 120 | (option '(#\q) #f #f | ||
| 121 | (lambda (opt name arg result) | ||
| 122 | (alist-cons 'explicit-loading? #t result))) | ||
| 123 | (option '("rebuild-cache") #f #f | ||
| 124 | (lambda (opt name arg result) | ||
| 125 | (alist-cons 'rebuild-cache? #t result)))) | ||
| 126 | (filter-map (lambda (opt) | ||
| 127 | (and (not (any (lambda (name) | ||
| 128 | (member name to-remove)) | ||
| 129 | (option-names opt))) | ||
| 130 | (wrapped-option opt))) | ||
| 131 | %environment-options)))) | ||
| 132 | |||
| 133 | (define %default-options | ||
| 134 | `((ad-hoc? . #t) ;always true | ||
| 135 | ,@%environment-default-options)) | ||
| 136 | |||
| 137 | (define (parse-args args) | ||
| 138 | "Parse the list of command line arguments ARGS." | ||
| 139 | (define (handle-argument arg result) | ||
| 140 | (alist-cons 'package (tag-package-arg result arg) | ||
| 141 | (ensure-ad-hoc result))) | ||
| 142 | |||
| 143 | ;; The '--' token is used to separate the command to run from the rest of | ||
| 144 | ;; the operands. | ||
| 145 | (let ((args command (break (cut string=? "--" <>) args))) | ||
| 146 | (let ((opts (parse-command-line args %options (list %default-options) | ||
| 147 | #:argument-handler handle-argument))) | ||
| 148 | (options-with-caching | ||
| 149 | (auto-detect-manifest | ||
| 150 | (match command | ||
| 151 | (() opts) | ||
| 152 | (("--") opts) | ||
| 153 | (("--" command ...) (alist-cons 'exec command opts)))))))) | ||
| 154 | |||
| 155 | (define (find-file-in-parent-directories candidates) | ||
| 156 | "Find one of CANDIDATES in the current directory or one of its ancestors." | ||
| 157 | (define start (getcwd)) | ||
| 158 | (define device (stat:dev (stat start))) | ||
| 159 | |||
| 160 | (let loop ((directory start)) | ||
| 161 | (let ((stat (stat directory))) | ||
| 162 | (and (= (stat:uid stat) (getuid)) | ||
| 163 | (= (stat:dev stat) device) | ||
| 164 | (or (any (lambda (candidate) | ||
| 165 | (let ((candidate (string-append directory "/" candidate))) | ||
| 166 | (and (file-exists? candidate) candidate))) | ||
| 167 | candidates) | ||
| 168 | (and (not (string=? directory "/")) | ||
| 169 | (loop (dirname directory)))))))) ;lexical ".." resolution | ||
| 170 | |||
| 171 | (define (authorized-directory-file) | ||
| 172 | "Return the name of the file listing directories for which 'guix shell' may | ||
| 173 | automatically load 'guix.scm' or 'manifest.scm' files." | ||
| 174 | (string-append (config-directory) "/shell-authorized-directories")) | ||
| 175 | |||
| 176 | (define (authorized-shell-directory? directory) | ||
| 177 | "Return true if DIRECTORY is among the authorized directories for automatic | ||
| 178 | loading. The list of authorized directories is read from | ||
| 179 | 'authorized-directory-file'; each line must be either: an absolute file name, | ||
| 180 | a hash-prefixed comment, or a blank line." | ||
| 181 | (catch 'system-error | ||
| 182 | (lambda () | ||
| 183 | (call-with-input-file (authorized-directory-file) | ||
| 184 | (lambda (port) | ||
| 185 | (let loop () | ||
| 186 | (match (read-line port) | ||
| 187 | ((? eof-object?) #f) | ||
| 188 | ((= string-trim line) | ||
| 189 | (cond ((string-prefix? "#" line) ;comment | ||
| 190 | (loop)) | ||
| 191 | ((string-prefix? "/" line) ;absolute file name | ||
| 192 | (or (string=? line directory) | ||
| 193 | (loop))) | ||
| 194 | ((string-null? (string-trim-right line)) ;blank line | ||
| 195 | (loop)) | ||
| 196 | (else ;bogus line | ||
| 197 | (let ((loc (location (port-filename port) | ||
| 198 | (port-line port) | ||
| 199 | (port-column port)))) | ||
| 200 | (warning loc (G_ "ignoring invalid file name: '~a'~%") | ||
| 201 | line)))))))))) | ||
| 202 | (const #f))) | ||
| 203 | |||
| 204 | (define (options-with-caching opts) | ||
| 205 | "If OPTS contains exactly one 'load' or one 'manifest' key, automatically | ||
| 206 | add a 'profile' key (when a profile for that file is already in cache) or a | ||
| 207 | 'gc-root' key (to add the profile to cache)." | ||
| 208 | (define (single-file-for-caching opts) | ||
| 209 | (let loop ((opts opts) | ||
| 210 | (file #f)) | ||
| 211 | (match opts | ||
| 212 | (() file) | ||
| 213 | ((('package . _) . _) #f) | ||
| 214 | ((('load . ('package candidate)) . rest) | ||
| 215 | (and (not file) (loop rest candidate))) | ||
| 216 | ((('manifest . candidate) . rest) | ||
| 217 | (and (not file) (loop rest candidate))) | ||
| 218 | ((('expression . _) . _) #f) | ||
| 219 | ((_ . rest) (loop rest file))))) | ||
| 220 | |||
| 221 | ;; Check whether there's a single 'load' or 'manifest' option. When that is | ||
| 222 | ;; the case, arrange to automatically cache the resulting profile. | ||
| 223 | (match (single-file-for-caching opts) | ||
| 224 | (#f opts) | ||
| 225 | (file | ||
| 226 | (let* ((root (profile-cached-gc-root file)) | ||
| 227 | (stat (and root (false-if-exception (lstat root))))) | ||
| 228 | (if (and (not (assoc-ref opts 'rebuild-cache?)) | ||
| 229 | stat | ||
| 230 | (<= (stat:mtime ((@ (guile) stat) file)) | ||
| 231 | (stat:mtime stat))) | ||
| 232 | (let ((now (current-time))) | ||
| 233 | ;; Update the atime on ROOT to reflect usage. | ||
| 234 | (utime root | ||
| 235 | now (stat:mtime stat) 0 (stat:mtimensec stat) | ||
| 236 | AT_SYMLINK_NOFOLLOW) | ||
| 237 | (alist-cons 'profile root | ||
| 238 | (remove (match-lambda | ||
| 239 | (('load . _) #t) | ||
| 240 | (('manifest . _) #t) | ||
| 241 | (_ #f)) | ||
| 242 | opts))) ;load right away | ||
| 243 | (if (and root (not (assq-ref opts 'gc-root))) | ||
| 244 | (begin | ||
| 245 | (if stat | ||
| 246 | (delete-file root) | ||
| 247 | (mkdir-p (dirname root))) | ||
| 248 | (alist-cons 'gc-root root opts)) | ||
| 249 | opts)))))) | ||
| 250 | |||
| 251 | (define (auto-detect-manifest opts) | ||
| 252 | "If OPTS do not specify packages or a manifest, load a \"guix.scm\" or | ||
| 253 | \"manifest.scm\" file from the current directory or one of its ancestors. | ||
| 254 | Return the modified OPTS." | ||
| 255 | (define (options-contain-payload? opts) | ||
| 256 | (match opts | ||
| 257 | (() #f) | ||
| 258 | ((('package . _) . _) #t) | ||
| 259 | ((('load . _) . _) #t) | ||
| 260 | ((('manifest . _) . _) #t) | ||
| 261 | ((('expression . _) . _) #t) | ||
| 262 | ((_ . rest) (options-contain-payload? rest)))) | ||
| 263 | |||
| 264 | (define interactive? | ||
| 265 | (not (assoc-ref opts 'exec))) | ||
| 266 | |||
| 267 | (define disallow-implicit-load? | ||
| 268 | (assoc-ref opts 'explicit-loading?)) | ||
| 269 | |||
| 270 | (if (or (not interactive?) | ||
| 271 | disallow-implicit-load? | ||
| 272 | (options-contain-payload? opts)) | ||
| 273 | opts | ||
| 274 | (match (find-file-in-parent-directories '("manifest.scm" "guix.scm")) | ||
| 275 | (#f | ||
| 276 | (warning (G_ "no packages specified; creating an empty environment~%")) | ||
| 277 | opts) | ||
| 278 | (file | ||
| 279 | (if (authorized-shell-directory? (dirname file)) | ||
| 280 | (begin | ||
| 281 | (info (G_ "loading environment from '~a'...~%") file) | ||
| 282 | (match (basename file) | ||
| 283 | ("guix.scm" (alist-cons 'load `(package ,file) opts)) | ||
| 284 | ("manifest.scm" (alist-cons 'manifest file opts)))) | ||
| 285 | (begin | ||
| 286 | (report-error | ||
| 287 | (G_ "not loading '~a' because not authorized to do so~%") | ||
| 288 | file) | ||
| 289 | (display-hint (format #f (G_ "To allow automatic loading of | ||
| 290 | @file{~a} when running @command{guix shell}, you must explicitly authorize its | ||
| 291 | directory, like so: | ||
| 292 | |||
| 293 | @example | ||
| 294 | echo ~a >> ~a | ||
| 295 | @end example\n") | ||
| 296 | file | ||
| 297 | (dirname file) | ||
| 298 | (authorized-directory-file))) | ||
| 299 | (exit 1))))))) | ||
| 300 | |||
| 301 | |||
| 302 | ;;; | ||
| 303 | ;;; Profile cache. | ||
| 304 | ;;; | ||
| 305 | |||
| 306 | (define %profile-cache-directory | ||
| 307 | ;; Directory where profiles created by 'guix shell' alone (without extra | ||
| 308 | ;; options) are cached. | ||
| 309 | (make-parameter (string-append (cache-directory #:ensure? #f) | ||
| 310 | "/profiles"))) | ||
| 311 | |||
| 312 | (define (profile-cache-key file) | ||
| 313 | "Return the cache key for the profile corresponding to FILE, a 'guix.scm' or | ||
| 314 | 'manifest.scm' file, or #f if we lack channel information." | ||
| 315 | (match (current-channels) | ||
| 316 | (() #f) | ||
| 317 | (((= channel-commit commits) ...) | ||
| 318 | (let ((stat (stat file))) | ||
| 319 | (bytevector->base32-string | ||
| 320 | ;; Since FILE is not canonicalized, only include the device/inode | ||
| 321 | ;; numbers. XXX: In some rare cases involving Btrfs and NFS, this can | ||
| 322 | ;; be insufficient: <https://lwn.net/Articles/866582/>. | ||
| 323 | (sha256 (string->utf8 | ||
| 324 | (string-append (string-join commits) ":" | ||
| 325 | (number->string (stat:dev stat)) ":" | ||
| 326 | (number->string (stat:ino stat)))))))))) | ||
| 327 | |||
| 328 | (define (profile-cached-gc-root file) | ||
| 329 | "Return the cached GC root for FILE, a 'guix.scm' or 'manifest.scm' file, or | ||
| 330 | #f if we lack information to cache it." | ||
| 331 | (match (profile-cache-key file) | ||
| 332 | (#f #f) | ||
| 333 | (key (string-append (%profile-cache-directory) "/" key)))) | ||
| 334 | |||
| 335 | |||
| 336 | ;;; | ||
| 337 | ;;; One-time hints. | ||
| 338 | ;;; | ||
| 339 | |||
| 340 | (define (hint-directory) | ||
| 341 | "Return the directory name where previously given hints are recorded." | ||
| 342 | (string-append (cache-directory #:ensure? #f) "/hints")) | ||
| 343 | |||
| 344 | (define (hint-file hint) | ||
| 345 | "Return the name of the file that marks HINT as already printed." | ||
| 346 | (string-append (hint-directory) "/" (symbol->string hint))) | ||
| 347 | |||
| 348 | (define (record-hint hint) | ||
| 349 | "Mark HINT as already given." | ||
| 350 | (let ((file (hint-file hint))) | ||
| 351 | (mkdir-p (dirname file)) | ||
| 352 | (close-fdes (open-fdes file (logior O_CREAT O_WRONLY))))) | ||
| 353 | |||
| 354 | (define (hint-given? hint) | ||
| 355 | "Return true if HINT was already given." | ||
| 356 | (file-exists? (hint-file hint))) | ||
| 357 | |||
| 358 | |||
| 359 | (define-command (guix-shell . args) | ||
| 360 | (category development) | ||
| 361 | (synopsis "spawn one-off software environments") | ||
| 362 | |||
| 363 | (define (cache-entries directory) | ||
| 364 | (filter-map (match-lambda | ||
| 365 | ((or "." "..") #f) | ||
| 366 | (file (string-append directory "/" file))) | ||
| 367 | (or (scandir directory) '()))) | ||
| 368 | |||
| 369 | (define* (entry-expiration file) | ||
| 370 | ;; Return the time at which FILE, a cached profile, is considered expired. | ||
| 371 | (match (false-if-exception (lstat file)) | ||
| 372 | (#f 0) ;FILE may have been deleted in the meantime | ||
| 373 | (st (+ (stat:atime st) (* 60 60 24 7))))) | ||
| 374 | |||
| 375 | (define opts | ||
| 376 | (parse-args args)) | ||
| 377 | |||
| 378 | (define interactive? | ||
| 379 | (not (assoc-ref opts 'exec))) | ||
| 380 | |||
| 381 | (if (assoc-ref opts 'check?) | ||
| 382 | (record-hint 'shell-check) | ||
| 383 | (when (and interactive? | ||
| 384 | (not (hint-given? 'shell-check)) | ||
| 385 | (not (assoc-ref opts 'container?)) | ||
| 386 | (not (assoc-ref opts 'search-paths))) | ||
| 387 | (display-hint (G_ "Consider passing the @option{--check} option once | ||
| 388 | to make sure your shell does not clobber environment variables."))) ) | ||
| 389 | |||
| 390 | (let ((result (guix-environment* opts))) | ||
| 391 | (maybe-remove-expired-cache-entries (%profile-cache-directory) | ||
| 392 | cache-entries | ||
| 393 | #:entry-expiration entry-expiration) | ||
| 394 | result)) | ||
diff --git a/guix/store.scm b/guix/store.scm index 89a719bcfc5..7388953d15a 100644 --- a/guix/store.scm +++ b/guix/store.scm | |||
| @@ -1349,11 +1349,14 @@ on the build output of a previous derivation." | |||
| 1349 | (things unresolved-things) | 1349 | (things unresolved-things) |
| 1350 | (continuation unresolved-continuation)) | 1350 | (continuation unresolved-continuation)) |
| 1351 | 1351 | ||
| 1352 | (define (build-accumulator continue store things mode) | 1352 | (define (build-accumulator expected-store) |
| 1353 | "This build handler accumulates THINGS and returns an <unresolved> object." | 1353 | "Return a build handler that accumulates THINGS and returns an <unresolved> |
| 1354 | (if (= mode (build-mode normal)) | 1354 | object, only for build requests on EXPECTED-STORE." |
| 1355 | (unresolved things continue) | 1355 | (lambda (continue store things mode) |
| 1356 | (continue #t))) | 1356 | (if (and (eq? store expected-store) |
| 1357 | (= mode (build-mode normal))) | ||
| 1358 | (unresolved things continue) | ||
| 1359 | (continue #t)))) | ||
| 1357 | 1360 | ||
| 1358 | (define* (map/accumulate-builds store proc lst | 1361 | (define* (map/accumulate-builds store proc lst |
| 1359 | #:key (cutoff 30)) | 1362 | #:key (cutoff 30)) |
| @@ -1366,13 +1369,16 @@ CUTOFF is the threshold above which we stop accumulating unresolved nodes." | |||
| 1366 | ;; stumbling upon the same .drv build requests with many incoming edges. | 1369 | ;; stumbling upon the same .drv build requests with many incoming edges. |
| 1367 | ;; See <https://bugs.gnu.org/49439>. | 1370 | ;; See <https://bugs.gnu.org/49439>. |
| 1368 | 1371 | ||
| 1372 | (define accumulator | ||
| 1373 | (build-accumulator store)) | ||
| 1374 | |||
| 1369 | (define-values (result rest) | 1375 | (define-values (result rest) |
| 1370 | (let loop ((lst lst) | 1376 | (let loop ((lst lst) |
| 1371 | (result '()) | 1377 | (result '()) |
| 1372 | (unresolved 0)) | 1378 | (unresolved 0)) |
| 1373 | (match lst | 1379 | (match lst |
| 1374 | ((head . tail) | 1380 | ((head . tail) |
| 1375 | (match (with-build-handler build-accumulator | 1381 | (match (with-build-handler accumulator |
| 1376 | (proc head)) | 1382 | (proc head)) |
| 1377 | ((? unresolved? obj) | 1383 | ((? unresolved? obj) |
| 1378 | (if (>= unresolved cutoff) | 1384 | (if (>= unresolved cutoff) |
diff --git a/guix/ui.scm b/guix/ui.scm index 1428c254b30..b01bb3d587f 100644 --- a/guix/ui.scm +++ b/guix/ui.scm | |||
| @@ -1431,10 +1431,22 @@ converted to a space; sequences of more than one line break are preserved." | |||
| 1431 | (with-fluids ((%default-port-encoding "UTF-8")) | 1431 | (with-fluids ((%default-port-encoding "UTF-8")) |
| 1432 | (stexi->plain-text (texi-fragment->stexi str)))) | 1432 | (stexi->plain-text (texi-fragment->stexi str)))) |
| 1433 | 1433 | ||
| 1434 | (define (texi->plain-text* package str) | ||
| 1435 | "Same as 'texi->plain-text', but gracefully handle Texinfo errors." | ||
| 1436 | (catch 'parser-error | ||
| 1437 | (lambda () | ||
| 1438 | (texi->plain-text str)) | ||
| 1439 | (lambda args | ||
| 1440 | (warning (package-location package) | ||
| 1441 | (G_ "~a: invalid Texinfo markup~%") | ||
| 1442 | (package-full-name package)) | ||
| 1443 | str))) | ||
| 1444 | |||
| 1434 | (define (package-field-string package field-accessor) | 1445 | (define (package-field-string package field-accessor) |
| 1435 | "Return a plain-text representation of PACKAGE field." | 1446 | "Return a plain-text representation of PACKAGE field." |
| 1436 | (and=> (field-accessor package) | 1447 | (and=> (field-accessor package) |
| 1437 | (compose texi->plain-text P_))) | 1448 | (lambda (str) |
| 1449 | (texi->plain-text* package (P_ str))))) | ||
| 1438 | 1450 | ||
| 1439 | (define (package-description-string package) | 1451 | (define (package-description-string package) |
| 1440 | "Return a plain-text representation of PACKAGE description field." | 1452 | "Return a plain-text representation of PACKAGE description field." |
| @@ -1555,7 +1567,8 @@ HYPERLINKS? is true, emit hyperlink escape sequences when appropriate." | |||
| 1555 | (parameterize ((%text-width width*)) | 1567 | (parameterize ((%text-width width*)) |
| 1556 | ;; Call 'texi->plain-text' on the concatenated string to account | 1568 | ;; Call 'texi->plain-text' on the concatenated string to account |
| 1557 | ;; for the width of "description:" in paragraph filling. | 1569 | ;; for the width of "description:" in paragraph filling. |
| 1558 | (texi->plain-text | 1570 | (texi->plain-text* |
| 1571 | p | ||
| 1559 | (string-append "description: " | 1572 | (string-append "description: " |
| 1560 | (or (and=> (package-description p) P_) | 1573 | (or (and=> (package-description p) P_) |
| 1561 | "")))) | 1574 | "")))) |
| @@ -2085,10 +2098,17 @@ contain a 'define-command' form." | |||
| 2085 | (lambda (command) | 2098 | (lambda (command) |
| 2086 | (eq? category (command-category command)))) | 2099 | (eq? category (command-category command)))) |
| 2087 | 2100 | ||
| 2088 | (format #t (G_ "Usage: guix COMMAND ARGS... | 2101 | (display (G_ "Usage: guix OPTION | COMMAND ARGS... |
| 2089 | Run COMMAND with ARGS.\n")) | 2102 | Run COMMAND with ARGS, if given.\n")) |
| 2103 | |||
| 2104 | (display (G_ " | ||
| 2105 | -h, --help display this helpful text again and exit")) | ||
| 2106 | (display (G_ " | ||
| 2107 | -V, --version display version and copyright information and exit")) | ||
| 2108 | (newline) | ||
| 2109 | |||
| 2090 | (newline) | 2110 | (newline) |
| 2091 | (format #t (G_ "COMMAND must be one of the sub-commands listed below:\n")) | 2111 | (display (G_ "COMMAND must be one of the sub-commands listed below:\n")) |
| 2092 | 2112 | ||
| 2093 | (let ((commands (commands)) | 2113 | (let ((commands (commands)) |
| 2094 | (categories (module-ref (resolve-interface '(guix scripts)) | 2114 | (categories (module-ref (resolve-interface '(guix scripts)) |
diff --git a/po/guix/POTFILES.in b/po/guix/POTFILES.in index d517d1ee0ad..a8ce6c3e8fa 100644 --- a/po/guix/POTFILES.in +++ b/po/guix/POTFILES.in | |||
| @@ -140,6 +140,7 @@ guix/scripts/offload.scm | |||
| 140 | guix/scripts/perform-download.scm | 140 | guix/scripts/perform-download.scm |
| 141 | guix/scripts/refresh.scm | 141 | guix/scripts/refresh.scm |
| 142 | guix/scripts/repl.scm | 142 | guix/scripts/repl.scm |
| 143 | guix/scripts/shell.scm | ||
| 143 | guix/scripts/style.scm | 144 | guix/scripts/style.scm |
| 144 | guix/scripts/system/reconfigure.scm | 145 | guix/scripts/system/reconfigure.scm |
| 145 | nix/nix-daemon/guix-daemon.cc | 146 | nix/nix-daemon/guix-daemon.cc |
diff --git a/tests/guix-environment-container.sh b/tests/guix-environment-container.sh index f2d15c8d0c7..2e238c501d6 100644 --- a/tests/guix-environment-container.sh +++ b/tests/guix-environment-container.sh | |||
| @@ -44,6 +44,14 @@ else | |||
| 44 | test $? = 42 | 44 | test $? = 42 |
| 45 | fi | 45 | fi |
| 46 | 46 | ||
| 47 | # Try '--root' and '--profile'. | ||
| 48 | root="$tmpdir/root" | ||
| 49 | guix environment -C --ad-hoc --bootstrap guile-bootstrap -r "$root" -- guile --version | ||
| 50 | guix environment -C -p "$root" --bootstrap -- guile --version | ||
| 51 | path1=$(guix environment -C -p "$root" --bootstrap -- guile -c '(display (getenv "PATH"))') | ||
| 52 | path2=$(guix environment -C --ad-hoc --bootstrap guile-bootstrap -- guile -c '(display (getenv "PATH"))') | ||
| 53 | test "$path1" = "$path2" | ||
| 54 | |||
| 47 | # Make sure "localhost" resolves. | 55 | # Make sure "localhost" resolves. |
| 48 | guix environment --container --ad-hoc --bootstrap guile-bootstrap \ | 56 | guix environment --container --ad-hoc --bootstrap guile-bootstrap \ |
| 49 | -- guile -c '(exit (pair? (getaddrinfo "localhost" "80")))' | 57 | -- guile -c '(exit (pair? (getaddrinfo "localhost" "80")))' |
diff --git a/tests/guix-environment.sh b/tests/guix-environment.sh index fe2430b6589..95fe95b4371 100644 --- a/tests/guix-environment.sh +++ b/tests/guix-environment.sh | |||
| @@ -119,6 +119,13 @@ test `readlink "$gcroot"` = "$expected" | |||
| 119 | guix environment --bootstrap -r "$gcroot" --ad-hoc guile-bootstrap \ | 119 | guix environment --bootstrap -r "$gcroot" --ad-hoc guile-bootstrap \ |
| 120 | -- guile -c 1 | 120 | -- guile -c 1 |
| 121 | test `readlink "$gcroot"` = "$expected" | 121 | test `readlink "$gcroot"` = "$expected" |
| 122 | |||
| 123 | # Make sure '-p' works as expected. | ||
| 124 | test $(guix environment -p "$gcroot" -- "$SHELL" -c 'echo $GUIX_ENVIRONMENT') = "$expected" | ||
| 125 | paths1="$(guix environment -p "$gcroot" --search-paths)" | ||
| 126 | paths2="$(guix environment --bootstrap --ad-hoc guile-bootstrap --search-paths)" | ||
| 127 | test "$paths1" = "$paths2" | ||
| 128 | |||
| 122 | rm "$gcroot" | 129 | rm "$gcroot" |
| 123 | 130 | ||
| 124 | # Try '-r' with a relative file name. | 131 | # Try '-r' with a relative file name. |
diff --git a/tests/guix-shell.sh b/tests/guix-shell.sh new file mode 100644 index 00000000000..3bdf625189c --- /dev/null +++ b/tests/guix-shell.sh | |||
| @@ -0,0 +1,102 @@ | |||
| 1 | # GNU Guix --- Functional package management for GNU | ||
| 2 | # Copyright © 2021 Ludovic Courtès <ludo@gnu.org> | ||
| 3 | # | ||
| 4 | # This file is part of GNU Guix. | ||
| 5 | # | ||
| 6 | # GNU Guix is free software; you can redistribute it and/or modify it | ||
| 7 | # under the terms of the GNU General Public License as published by | ||
| 8 | # the Free Software Foundation; either version 3 of the License, or (at | ||
| 9 | # your option) any later version. | ||
| 10 | # | ||
| 11 | # GNU Guix is distributed in the hope that it will be useful, but | ||
| 12 | # WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | # GNU General Public License for more details. | ||
| 15 | # | ||
| 16 | # You should have received a copy of the GNU General Public License | ||
| 17 | # along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | ||
| 18 | |||
| 19 | # | ||
| 20 | # Test the 'guix shell' alias. | ||
| 21 | # | ||
| 22 | |||
| 23 | guix shell --version | ||
| 24 | |||
| 25 | configdir="t-guix-shell-config-$$" | ||
| 26 | tmpdir="t-guix-shell-$$" | ||
| 27 | trap 'rm -r "$tmpdir" "$configdir"' EXIT | ||
| 28 | mkdir "$tmpdir" "$configdir" "$configdir/guix" | ||
| 29 | |||
| 30 | XDG_CONFIG_HOME="$(realpath $configdir)" | ||
| 31 | export XDG_CONFIG_HOME | ||
| 32 | |||
| 33 | guix shell --bootstrap --pure guile-bootstrap -- guile --version | ||
| 34 | |||
| 35 | # '--ad-hoc' is a thing of the past. | ||
| 36 | ! guix shell --ad-hoc guile-bootstrap | ||
| 37 | |||
| 38 | # Ignoring unauthorized files. | ||
| 39 | cat > "$tmpdir/guix.scm" <<EOF | ||
| 40 | This is a broken guix.scm file. | ||
| 41 | EOF | ||
| 42 | ! (cd "$tmpdir"; SHELL="$(type -P true)" guix shell --bootstrap 2> "stderr") | ||
| 43 | grep "not authorized" "$tmpdir/stderr" | ||
| 44 | rm "$tmpdir/stderr" | ||
| 45 | |||
| 46 | # Authorize the directory. | ||
| 47 | echo "$(realpath "$tmpdir")" > "$configdir/guix/shell-authorized-directories" | ||
| 48 | |||
| 49 | # Ignoring 'manifest.scm' and 'guix.scm' in non-interactive use. | ||
| 50 | (cd "$tmpdir"; guix shell --bootstrap -- true) | ||
| 51 | mv "$tmpdir/guix.scm" "$tmpdir/manifest.scm" | ||
| 52 | (cd "$tmpdir"; guix shell --bootstrap -- true) | ||
| 53 | rm "$tmpdir/manifest.scm" | ||
| 54 | |||
| 55 | # Honoring the local 'manifest.scm' file. | ||
| 56 | cat > "$tmpdir/manifest.scm" <<EOF | ||
| 57 | (specifications->manifest '("guile-bootstrap")) | ||
| 58 | EOF | ||
| 59 | cat > "$tmpdir/fake-shell.sh" <<EOF | ||
| 60 | #!$SHELL | ||
| 61 | # This fake shell allows us to test interactive use. | ||
| 62 | exec echo "\$GUIX_ENVIRONMENT" | ||
| 63 | EOF | ||
| 64 | chmod +x "$tmpdir/fake-shell.sh" | ||
| 65 | profile1="$(cd "$tmpdir"; SHELL="$(realpath fake-shell.sh)" guix shell --bootstrap)" | ||
| 66 | profile2="$(guix shell --bootstrap guile-bootstrap -- "$SHELL" -c 'echo $GUIX_ENVIRONMENT')" | ||
| 67 | test -n "$profile1" | ||
| 68 | test "$profile1" = "$profile2" | ||
| 69 | rm "$tmpdir/manifest.scm" | ||
| 70 | |||
| 71 | # Do not read manifest when passed '-q'. | ||
| 72 | echo "Broken manifest." > "$tmpdir/manifest.scm" | ||
| 73 | (cd "$tmpdir"; SHELL="$(realpath fake-shell.sh)" guix shell --bootstrap -q) | ||
| 74 | rm "$tmpdir/manifest.scm" | ||
| 75 | |||
| 76 | if guile -c '(getaddrinfo "www.gnu.org" "80" AI_NUMERICSERV)' 2> /dev/null | ||
| 77 | then | ||
| 78 | # Compute the build environment for the initial GNU Make. | ||
| 79 | guix shell --bootstrap --no-substitutes --search-paths --pure \ | ||
| 80 | -D -e '(@ (guix tests) gnu-make-for-tests)' > "$tmpdir/a" | ||
| 81 | |||
| 82 | # Make sure bootstrap binaries are in the profile. | ||
| 83 | profile=`grep "^export PATH" "$tmpdir/a" | sed -r 's|^.*="(.*)/bin"|\1|'` | ||
| 84 | |||
| 85 | # Make sure the bootstrap binaries are all listed where they belong. | ||
| 86 | grep -E "^export PATH=\"$profile/bin\"" "$tmpdir/a" | ||
| 87 | grep -E "^export CPATH=\"$profile/include\"" "$tmpdir/a" | ||
| 88 | grep -E "^export LIBRARY_PATH=\"$profile/lib\"" "$tmpdir/a" | ||
| 89 | for dep in bootstrap-binaries-0 gcc-bootstrap-0 glibc-bootstrap-0 | ||
| 90 | do | ||
| 91 | guix gc --references "$profile" | grep "$dep" | ||
| 92 | done | ||
| 93 | |||
| 94 | # 'make-boot0' itself must not be listed. | ||
| 95 | ! guix gc --references "$profile" | grep make-boot0 | ||
| 96 | |||
| 97 | # Honoring the local 'guix.scm' file. | ||
| 98 | echo '(@ (guix tests) gnu-make-for-tests)' > "$tmpdir/guix.scm" | ||
| 99 | (cd "$tmpdir"; guix shell --bootstrap --search-paths --pure > "b") | ||
| 100 | cmp "$tmpdir/a" "$tmpdir/b" | ||
| 101 | rm "$tmpdir/guix.scm" | ||
| 102 | fi | ||
diff --git a/tests/home-import.scm b/tests/home-import.scm new file mode 100644 index 00000000000..abd3cec43db --- /dev/null +++ b/tests/home-import.scm | |||
| @@ -0,0 +1,187 @@ | |||
| 1 | ;;; GNU Guix --- Functional package management for GNU | ||
| 2 | ;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz> | ||
| 3 | ;;; | ||
| 4 | ;;; This file is part of GNU Guix. | ||
| 5 | ;;; | ||
| 6 | ;;; GNU Guix is free software; you can redistribute it and/or modify it | ||
| 7 | ;;; under the terms of the GNU General Public License as published by | ||
| 8 | ;;; the Free Software Foundation; either version 3 of the License, or (at | ||
| 9 | ;;; your option) any later version. | ||
| 10 | ;;; | ||
| 11 | ;;; GNU Guix is distributed in the hope that it will be useful, but | ||
| 12 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 13 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 14 | ;;; GNU General Public License for more details. | ||
| 15 | ;;; | ||
| 16 | ;;; You should have received a copy of the GNU General Public License | ||
| 17 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. | ||
| 18 | |||
| 19 | (define-module (test-home-import) | ||
| 20 | #:use-module (guix scripts home import) | ||
| 21 | #:use-module (guix utils) | ||
| 22 | #:use-module (guix build utils) | ||
| 23 | #:use-module (guix packages) | ||
| 24 | #:use-module (ice-9 match) | ||
| 25 | #:use-module ((guix profiles) #:hide (manifest->code)) | ||
| 26 | #:use-module ((guix build syscalls) #:select (mkdtemp!)) | ||
| 27 | #:use-module ((guix scripts package) | ||
| 28 | #:select (manifest-entry-version-prefix)) | ||
| 29 | #:use-module (gnu packages) | ||
| 30 | #:use-module (srfi srfi-1) | ||
| 31 | #:use-module (srfi srfi-26) | ||
| 32 | #:use-module (srfi srfi-64)) | ||
| 33 | |||
| 34 | ;; Test the (guix scripts home import) tools. | ||
| 35 | |||
| 36 | (test-begin "home-import") | ||
| 37 | |||
| 38 | ;; Example manifest entries. | ||
| 39 | |||
| 40 | (define guile-2.0.9 | ||
| 41 | (manifest-entry | ||
| 42 | (name "guile") | ||
| 43 | (version "2.0.9") | ||
| 44 | (item "/gnu/store/..."))) | ||
| 45 | |||
| 46 | (define glibc | ||
| 47 | (manifest-entry | ||
| 48 | (name "glibc") | ||
| 49 | (version "2.19") | ||
| 50 | (item "/gnu/store/..."))) | ||
| 51 | |||
| 52 | (define gcc | ||
| 53 | (manifest-entry | ||
| 54 | (name "gcc") | ||
| 55 | (version "10.3.0") | ||
| 56 | (item "/gnu/store/..."))) | ||
| 57 | |||
| 58 | ;; Helpers for checking and generating home environments. | ||
| 59 | |||
| 60 | (define %destination-directory "/tmp/guix-config") | ||
| 61 | (mkdir-p %destination-directory) | ||
| 62 | |||
| 63 | (define %temporary-home-directory (mkdtemp! "/tmp/guix-home-import.XXXXXX")) | ||
| 64 | |||
| 65 | (define-syntax-rule (define-home-environment-matcher name pattern) | ||
| 66 | (define (name obj) | ||
| 67 | (match obj | ||
| 68 | (pattern #t) | ||
| 69 | (x (pk 'fail x #f))))) | ||
| 70 | |||
| 71 | (define (create-temporary-home files-alist) | ||
| 72 | "Create a temporary home directory in '%temporary-home-directory'. | ||
| 73 | FILES-ALIST is an association list of files and the content of the | ||
| 74 | corresponding file." | ||
| 75 | (define (create-file file content) | ||
| 76 | (let ((absolute-path (string-append %temporary-home-directory "/" file))) | ||
| 77 | (unless (file-exists? absolute-path) | ||
| 78 | (mkdir-p (dirname absolute-path))) | ||
| 79 | (call-with-output-file absolute-path | ||
| 80 | (cut display content <>)))) | ||
| 81 | |||
| 82 | (for-each (match-lambda | ||
| 83 | ((file . content) (create-file file content))) | ||
| 84 | files-alist)) | ||
| 85 | |||
| 86 | (define (eval-test-with-home-environment files-alist manifest matcher) | ||
| 87 | (create-temporary-home files-alist) | ||
| 88 | (setenv "HOME" %temporary-home-directory) | ||
| 89 | (mkdir-p %temporary-home-directory) | ||
| 90 | (let* ((home-environment (manifest+configuration-files->code | ||
| 91 | manifest %destination-directory)) | ||
| 92 | (result (matcher home-environment))) | ||
| 93 | (delete-file-recursively %temporary-home-directory) | ||
| 94 | result)) | ||
| 95 | |||
| 96 | (define-home-environment-matcher match-home-environment-no-services | ||
| 97 | ('begin | ||
| 98 | ('use-modules | ||
| 99 | ('gnu 'home) | ||
| 100 | ('gnu 'packages) | ||
| 101 | ('gnu 'services)) | ||
| 102 | ('home-environment | ||
| 103 | ('packages | ||
| 104 | ('map 'specification->package | ||
| 105 | ('list "guile@2.0.9" "gcc" "glibc@2.19"))) | ||
| 106 | ('services | ||
| 107 | ('list))))) | ||
| 108 | |||
| 109 | (define-home-environment-matcher match-home-environment-transformations | ||
| 110 | ('begin | ||
| 111 | ('use-modules | ||
| 112 | ('gnu 'home) | ||
| 113 | ('gnu 'packages) | ||
| 114 | ('gnu 'services) | ||
| 115 | ('guix 'transformations)) | ||
| 116 | |||
| 117 | ('define transform ('options->transformation _)) | ||
| 118 | ('home-environment | ||
| 119 | ('packages | ||
| 120 | ('list (transform ('specification->package "guile@2.0.9")) | ||
| 121 | ('specification->package "gcc") | ||
| 122 | ('specification->package "glibc@2.19"))) | ||
| 123 | ('services ('list))))) | ||
| 124 | |||
| 125 | (define-home-environment-matcher match-home-environment-no-services-nor-packages | ||
| 126 | ('begin | ||
| 127 | ('use-modules | ||
| 128 | ('gnu 'home) | ||
| 129 | ('gnu 'packages) | ||
| 130 | ('gnu 'services)) | ||
| 131 | ('home-environment | ||
| 132 | ('packages | ||
| 133 | ('map 'specification->package | ||
| 134 | ('list))) | ||
| 135 | ('services | ||
| 136 | ('list))))) | ||
| 137 | |||
| 138 | (define-home-environment-matcher match-home-environment-bash-service | ||
| 139 | ('begin | ||
| 140 | ('use-modules | ||
| 141 | ('gnu 'home) | ||
| 142 | ('gnu 'packages) | ||
| 143 | ('gnu 'services) | ||
| 144 | ('guix 'gexp) | ||
| 145 | ('gnu 'home 'services 'shells)) | ||
| 146 | ('home-environment | ||
| 147 | ('packages | ||
| 148 | ('map 'specification->package | ||
| 149 | ('list))) | ||
| 150 | ('services | ||
| 151 | ('list ('service | ||
| 152 | 'home-bash-service-type | ||
| 153 | ('home-bash-configuration | ||
| 154 | ('bashrc | ||
| 155 | ('list ('local-file "/tmp/guix-config/.bashrc" | ||
| 156 | "bashrc")))))))))) | ||
| 157 | |||
| 158 | |||
| 159 | (test-assert "manifest->code: No services" | ||
| 160 | (eval-test-with-home-environment | ||
| 161 | '() | ||
| 162 | (make-manifest (list guile-2.0.9 gcc glibc)) | ||
| 163 | match-home-environment-no-services)) | ||
| 164 | |||
| 165 | (test-assert "manifest->code: No services, package transformations" | ||
| 166 | (eval-test-with-home-environment | ||
| 167 | '() | ||
| 168 | (make-manifest (list (manifest-entry | ||
| 169 | (inherit guile-2.0.9) | ||
| 170 | (properties `((transformations | ||
| 171 | . ((foo . "bar")))))) | ||
| 172 | gcc glibc)) | ||
| 173 | match-home-environment-transformations)) | ||
| 174 | |||
| 175 | (test-assert "manifest->code: No packages nor services" | ||
| 176 | (eval-test-with-home-environment | ||
| 177 | '() | ||
| 178 | (make-manifest '()) | ||
| 179 | match-home-environment-no-services-nor-packages)) | ||
| 180 | |||
| 181 | (test-assert "manifest->code: Bash service" | ||
| 182 | (eval-test-with-home-environment | ||
| 183 | '((".bashrc" . "echo 'hello guix'")) | ||
| 184 | (make-manifest '()) | ||
| 185 | match-home-environment-bash-service)) | ||
| 186 | |||
| 187 | (test-end "home-import") | ||
diff --git a/tests/lint.scm b/tests/lint.scm index ddef50b98bd..a2e9699d5aa 100644 --- a/tests/lint.scm +++ b/tests/lint.scm | |||
| @@ -177,6 +177,20 @@ | |||
| 177 | (description "Whitespace. ")))) | 177 | (description "Whitespace. ")))) |
| 178 | (check-description-style pkg)))) | 178 | (check-description-style pkg)))) |
| 179 | 179 | ||
| 180 | (test-equal "description: pluralized 'This package'" | ||
| 181 | "description contains typo 'This packages', should be 'This package'" | ||
| 182 | (single-lint-warning-message | ||
| 183 | (let ((pkg (dummy-package "x" | ||
| 184 | (description "This packages is a typo.")))) | ||
| 185 | (check-description-style pkg)))) | ||
| 186 | |||
| 187 | (test-equal "description: grammar 'allows to'" | ||
| 188 | "description contains typo 'allows to'" | ||
| 189 | (single-lint-warning-message | ||
| 190 | (let ((pkg (dummy-package "x" | ||
| 191 | (description "This package allows to do stuff.")))) | ||
| 192 | (check-description-style pkg)))) | ||
| 193 | |||
| 180 | (test-equal "synopsis: not a string" | 194 | (test-equal "synopsis: not a string" |
| 181 | "invalid synopsis: #f" | 195 | "invalid synopsis: #f" |
| 182 | (single-lint-warning-message | 196 | (single-lint-warning-message |
diff --git a/tests/packages.scm b/tests/packages.scm index a9494b5c0eb..3506f94f918 100644 --- a/tests/packages.scm +++ b/tests/packages.scm | |||
| @@ -358,6 +358,20 @@ | |||
| 358 | (package-transitive-supported-systems d) | 358 | (package-transitive-supported-systems d) |
| 359 | (package-transitive-supported-systems e)))) | 359 | (package-transitive-supported-systems e)))) |
| 360 | 360 | ||
| 361 | (test-assert "package-development-inputs" | ||
| 362 | ;; Note: Due to propagated inputs, 'package-development-inputs' returns a | ||
| 363 | ;; couple more inputs, such as 'linux-libre-headers'. | ||
| 364 | (lset<= equal? | ||
| 365 | `(("source" ,(package-source hello)) ,@(standard-packages)) | ||
| 366 | (package-development-inputs hello))) | ||
| 367 | |||
| 368 | (test-assert "package-development-inputs, cross-compilation" | ||
| 369 | (lset<= equal? | ||
| 370 | `(("source" ,(package-source hello)) | ||
| 371 | ,@(standard-cross-packages "mips64el-linux-gnu" 'host) | ||
| 372 | ,@(standard-cross-packages "mips64el-linux-gnu" 'target)) | ||
| 373 | (package-development-inputs hello #:target "mips64el-linux-gnu"))) | ||
| 374 | |||
| 361 | (test-assert "package-closure" | 375 | (test-assert "package-closure" |
| 362 | (let-syntax ((dummy-package/no-implicit | 376 | (let-syntax ((dummy-package/no-implicit |
| 363 | (syntax-rules () | 377 | (syntax-rules () |
diff --git a/tests/profiles.scm b/tests/profiles.scm index 06a03872213..cac5b733471 100644 --- a/tests/profiles.scm +++ b/tests/profiles.scm | |||
| @@ -265,6 +265,13 @@ | |||
| 265 | (manifest-transaction-removal-candidate? guile-2.0.9 t) | 265 | (manifest-transaction-removal-candidate? guile-2.0.9 t) |
| 266 | (null? install) (null? downgrade) (null? upgrade))))) | 266 | (null? install) (null? downgrade) (null? upgrade))))) |
| 267 | 267 | ||
| 268 | (test-assert "package->development-manifest" | ||
| 269 | (let ((manifest (package->development-manifest packages:hello))) | ||
| 270 | (every (lambda (name) | ||
| 271 | (manifest-installed? manifest | ||
| 272 | (manifest-pattern (name name)))) | ||
| 273 | '("gcc" "binutils" "glibc" "coreutils" "grep" "sed")))) | ||
| 274 | |||
| 268 | (test-assertm "profile-derivation" | 275 | (test-assertm "profile-derivation" |
| 269 | (mlet* %store-monad | 276 | (mlet* %store-monad |
| 270 | ((entry -> (package->manifest-entry %bootstrap-guile)) | 277 | ((entry -> (package->manifest-entry %bootstrap-guile)) |
diff --git a/tests/store.scm b/tests/store.scm index d895a328a47..7fc29884765 100644 --- a/tests/store.scm +++ b/tests/store.scm | |||
| @@ -490,6 +490,34 @@ | |||
| 490 | (equal? (map derivation-file-name (drop d 16)) batch3) | 490 | (equal? (map derivation-file-name (drop d 16)) batch3) |
| 491 | lst))))) | 491 | lst))))) |
| 492 | 492 | ||
| 493 | (test-equal "map/accumulate-builds and different store" | ||
| 494 | '(d2) ;see <https://issues.guix.gnu.org/46756> | ||
| 495 | (let* ((b (add-text-to-store %store "build" "echo $foo > $out" '())) | ||
| 496 | (s (add-to-store %store "bash" #t "sha256" | ||
| 497 | (search-bootstrap-binary "bash" | ||
| 498 | (%current-system)))) | ||
| 499 | (d1 (derivation %store "first" | ||
| 500 | s `("-e" ,b) | ||
| 501 | #:env-vars `(("foo" . ,(random-text))) | ||
| 502 | #:sources (list b s))) | ||
| 503 | (d2 (derivation %store "second" | ||
| 504 | s `("-e" ,b) | ||
| 505 | #:env-vars `(("foo" . ,(random-text)) | ||
| 506 | ("bar" . "baz")) | ||
| 507 | #:sources (list b s)))) | ||
| 508 | (with-store alternate-store | ||
| 509 | (with-build-handler (lambda (continue store things mode) | ||
| 510 | ;; If this handler is called, it means that | ||
| 511 | ;; 'map/accumulate-builds' triggered a build, | ||
| 512 | ;; which it shouldn't since the inner | ||
| 513 | ;; 'build-derivations' call is for another store. | ||
| 514 | 'failed) | ||
| 515 | (map/accumulate-builds %store | ||
| 516 | (lambda (drv) | ||
| 517 | (build-derivations alternate-store (list d2)) | ||
| 518 | 'd2) | ||
| 519 | (list d1)))))) | ||
| 520 | |||
| 493 | (test-assert "mapm/accumulate-builds" | 521 | (test-assert "mapm/accumulate-builds" |
| 494 | (let* ((d1 (run-with-store %store | 522 | (let* ((d1 (run-with-store %store |
| 495 | (gexp->derivation "foo" #~(mkdir #$output)))) | 523 | (gexp->derivation "foo" #~(mkdir #$output)))) |
diff --git a/tests/syscalls.scm b/tests/syscalls.scm index 706dd4177fc..c9e011f4537 100644 --- a/tests/syscalls.scm +++ b/tests/syscalls.scm | |||
| @@ -26,6 +26,7 @@ | |||
| 26 | #:use-module (srfi srfi-1) | 26 | #:use-module (srfi srfi-1) |
| 27 | #:use-module (srfi srfi-26) | 27 | #:use-module (srfi srfi-26) |
| 28 | #:use-module (srfi srfi-64) | 28 | #:use-module (srfi srfi-64) |
| 29 | #:use-module (srfi srfi-71) | ||
| 29 | #:use-module (system foreign) | 30 | #:use-module (system foreign) |
| 30 | #:use-module ((ice-9 ftw) #:select (scandir)) | 31 | #:use-module ((ice-9 ftw) #:select (scandir)) |
| 31 | #:use-module (ice-9 match)) | 32 | #:use-module (ice-9 match)) |
| @@ -582,6 +583,40 @@ | |||
| 582 | (test-assert "terminal-rows" | 583 | (test-assert "terminal-rows" |
| 583 | (> (terminal-rows) 0)) | 584 | (> (terminal-rows) 0)) |
| 584 | 585 | ||
| 586 | (test-assert "openpty" | ||
| 587 | (let ((head inferior (openpty))) | ||
| 588 | (and (integer? head) (integer? inferior) | ||
| 589 | (let ((port (fdopen inferior "r+0"))) | ||
| 590 | (and (isatty? port) | ||
| 591 | (begin | ||
| 592 | (close-port port) | ||
| 593 | (close-fdes head) | ||
| 594 | #t)))))) | ||
| 595 | |||
| 596 | (test-equal "openpty + login-tty" | ||
| 597 | '(hello world) | ||
| 598 | (let ((head inferior (openpty))) | ||
| 599 | (match (primitive-fork) | ||
| 600 | (0 | ||
| 601 | (dynamic-wind | ||
| 602 | (const #t) | ||
| 603 | (lambda () | ||
| 604 | (setvbuf (current-input-port) 'none) | ||
| 605 | (close-fdes head) | ||
| 606 | (login-tty inferior) | ||
| 607 | (write (read)) | ||
| 608 | (read)) ;this gets EIO when HEAD is closed | ||
| 609 | (lambda () | ||
| 610 | (primitive-_exit 42)))) | ||
| 611 | (pid | ||
| 612 | (close-fdes inferior) | ||
| 613 | (let ((head (fdopen head "r+0"))) | ||
| 614 | (write '(hello world) head) | ||
| 615 | (let ((result (read head))) | ||
| 616 | (close-port head) | ||
| 617 | (waitpid pid) | ||
| 618 | result)))))) | ||
| 619 | |||
| 585 | (test-assert "utmpx-entries" | 620 | (test-assert "utmpx-entries" |
| 586 | (match (utmpx-entries) | 621 | (match (utmpx-entries) |
| 587 | (((? utmpx? entries) ...) | 622 | (((? utmpx? entries) ...) |
