Archived
1
0
Fork 0

Merge branch 'master' into staging

This commit is contained in:
Ludovic Courtès 2022-05-26 17:11:20 +02:00
commit 7097e98586
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
180 changed files with 7908 additions and 3336 deletions

View file

@ -132,6 +132,12 @@ MODULES = \
guix/workers.scm \
guix/least-authority.scm \
guix/ipfs.scm \
guix/platform.scm \
guix/platforms/arm.scm \
guix/platforms/mips.scm \
guix/platforms/powerpc.scm \
guix/platforms/riscv.scm \
guix/platforms/x86.scm \
guix/build-system.scm \
guix/build-system/android-ndk.scm \
guix/build-system/ant.scm \
@ -141,6 +147,7 @@ MODULES = \
guix/build-system/cmake.scm \
guix/build-system/dub.scm \
guix/build-system/dune.scm \
guix/build-system/elm.scm \
guix/build-system/emacs.scm \
guix/build-system/font.scm \
guix/build-system/go.scm \
@ -192,6 +199,7 @@ MODULES = \
guix/build/cmake-build-system.scm \
guix/build/dub-build-system.scm \
guix/build/dune-build-system.scm \
guix/build/elm-build-system.scm \
guix/build/emacs-build-system.scm \
guix/build/meson-build-system.scm \
guix/build/minify-build-system.scm \
@ -257,6 +265,7 @@ MODULES = \
guix/import/cran.scm \
guix/import/crate.scm \
guix/import/egg.scm \
guix/import/elm.scm \
guix/import/elpa.scm \
guix/import/gem.scm \
guix/import/git.scm \
@ -308,6 +317,7 @@ MODULES = \
guix/scripts/import/crate.scm \
guix/scripts/import/cran.scm \
guix/scripts/import/egg.scm \
guix/scripts/import/elm.scm \
guix/scripts/import/elpa.scm \
guix/scripts/import/gem.scm \
guix/scripts/import/gnu.scm \
@ -472,6 +482,7 @@ SCM_TESTS = \
tests/derivations.scm \
tests/discovery.scm \
tests/egg.scm \
tests/elm.scm \
tests/elpa.scm \
tests/file-systems.scm \
tests/gem.scm \

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017, 2018, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016-2018, 2020, 2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2021 Mathieu Othacehe <othacehe@gnu.org>
;;;
@ -78,28 +78,35 @@
;; up the evaluation speed as the evaluations can be performed
;; concurrently. It also decreases the amount of memory needed per
;; evaluation process.
(n-par-for-each
(/ (current-processor-count) 2)
(lambda (system)
(with-store store
(let ((inferior
(open-inferior (derivation->output-path derivation)))
(channels (map channel-instance->sexp instances)))
(inferior-eval '(use-modules (gnu ci)) inferior)
(let ((jobs
(inferior-eval-with-store
inferior store
`(lambda (store)
(cuirass-jobs store
'((subset . all)
(systems . ,(list system))
(channels . ,channels))))))
(file
(string-append directory "/jobs-" system ".scm")))
(call-with-output-file file
(lambda (port)
(write jobs port)))))))
%cuirass-supported-systems))))))
;;
;; Fork inferior processes upfront before we have created any
;; threads.
(let ((inferiors (map (lambda _
(open-inferior (derivation->output-path derivation)))
%cuirass-supported-systems)))
(n-par-for-each
(min (length %cuirass-supported-systems)
(current-processor-count))
(lambda (system inferior)
(with-store store
(let ((channels (map channel-instance->sexp instances)))
(inferior-eval '(use-modules (gnu ci)) inferior)
(let ((jobs
(inferior-eval-with-store
inferior store
`(lambda (store)
(cuirass-jobs store
'((subset . all)
(systems . ,(list system))
(channels . ,channels))))))
(file
(string-append directory "/jobs-" system ".scm")))
(close-inferior inferior)
(call-with-output-file file
(lambda (port)
(write jobs port)))))))
%cuirass-supported-systems
inferiors)))))))
(x
(format (current-error-port) "Wrong command: ~a~%." x)
(exit 1)))

View file

@ -447,6 +447,7 @@ needed is to review and apply the patch.
* Perl Modules:: Little pearls.
* Java Packages:: Coffee break.
* Rust Crates:: Beware of oxidation.
* Elm Packages:: Trees of browser code
* Fonts:: Fond of fonts.
@end menu
@ -898,6 +899,87 @@ developed for a different Operating System, depend on features from the Nightly
Rust compiler, or the test suite may have atrophied since it was released.
@node Elm Packages
@subsection Elm Packages
@cindex Elm
Elm applications can be named like other software: their names need not
mention Elm.
Packages in the Elm sense (see @code{elm-build-system} under @ref{Build
Systems}) are required use names of the format
@var{author}@code{/}@var{project}, where both the @var{author} and the
@var{project} may contain hyphens internally, and the @var{author} sometimes
contains uppercase letters.
To form the Guix package name from the upstream name, we follow a convention
similar to Python packages (@pxref{Python Modules}), adding an @code{elm-}
prefix unless the name would already begin with @code{elm-}.
In many cases we can reconstruct an Elm package's upstream name heuristically,
but, since conversion to a Guix-style name involves a loss of information,
this is not always possible. Care should be taken to add the
@code{'upstream-name} property when necessary so that @samp{guix import elm}
will work correctly (@pxref{Invoking guix import}). The most notable scenarios
when explicitly specifying the upstream name is necessary are:
@enumerate
@item
When the @var{author} is @code{elm} and the @var{project} contains one or more
hyphens, as with @code{elm/virtual-dom}; and
@item
When the @var{author} contains hyphens or uppercase letters, as with
@code{Elm-Canvas/raster-shapes}---unless the @var{author} is
@code{elm-explorations}, which is handled as a special case, so packages like
@code{elm-explorations/markdown} do @emph{not} need to use the
@code{'upstream-name} property.
@end enumerate
The module @code{(guix build-system elm)} provides the following utilities for
working with names and related conventions:
@deffn {Scheme procedure} elm-package-origin @var{elm-name} @var{version} @
@var{hash}
Returns a Git origin using the repository naming and tagging regime required
for a published Elm package with the upstream name @var{elm-name} at version
@var{version} with sha256 checksum @var{hash}.
For example:
@lisp
(package
(name "elm-html")
(version "1.0.0")
(source
(elm-package-origin
"elm/html"
version
(base32 "15k1679ja57vvlpinpv06znmrxy09lbhzfkzdc89i01qa8c4gb4a")))
...)
@end lisp
@end deffn
@deffn {Scheme procedure} elm->package-name @var{elm-name}
Returns the Guix-style package name for an Elm package with upstream name
@var{elm-name}.
Note that there is more than one possible @var{elm-name} for which
@code{elm->package-name} will produce a given result.
@end deffn
@deffn {Scheme procedure} guix-package->elm-name @var{package}
Given an Elm @var{package}, returns the possibly-inferred upstream name, or
@code{#f} the upstream name is not specified via the @code{'upstream-name}
property and can not be inferred by @code{infer-elm-package-name}.
@end deffn
@deffn {Scheme procedure} infer-elm-package-name @var{guix-name}
Given the @var{guix-name} of an Elm package, returns the inferred upstream
name, or @code{#f} if the upstream name can't be inferred. If the result is
not @code{#f}, supplying it to @code{elm->package-name} would produce
@var{guix-name}.
@end deffn
@node Fonts
@subsection Fonts
@ -1926,7 +2008,7 @@ When a language is included, it may be removed in the future if it stays
out of sync and falls below 60% completion.
The manual and cookbook are automatically added in the default compilation
target. Everytime we synchronize translations, developers need to
target. Every time we synchronize translations, developers need to
recompile all the translated manuals and cookbooks. This is useless for what
is essentially the English manual or cookbook. Therefore, we will only
include a new language when it reaches 10% completion in the component.

View file

@ -41,7 +41,7 @@ Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Julien Lepiller@*
Copyright @copyright{} 2016 Alex ter Weele@*
Copyright @copyright{} 2016, 2017, 2018, 2019, 2020, 2021 Christopher Baines@*
Copyright @copyright{} 2017, 2018, 2019 Clément Lassieur@*
Copyright @copyright{} 2017, 2018, 2020, 2021 Mathieu Othacehe@*
Copyright @copyright{} 2017, 2018, 2020, 2021, 2022 Mathieu Othacehe@*
Copyright @copyright{} 2017 Federico Beffa@*
Copyright @copyright{} 2017, 2018 Carlo Zancanaro@*
Copyright @copyright{} 2017 Thomas Danckaert@*
@ -102,6 +102,7 @@ Copyright @copyright{} 2021 Sarah Morgensen@*
Copyright @copyright{} 2021 Josselin Poiret@*
Copyright @copyright{} 2022 Remco van 't Veer@*
Copyright @copyright{} 2022 Aleksandr Vityazev@*
Copyright @copyright{} 2022 Philip M@sup{c}Grath@*
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
@ -173,6 +174,7 @@ Weblate} (@pxref{Translating Guix}).
* Development:: Guix-aided software development.
* Programming Interface:: Using Guix in Scheme.
* Utilities:: Package management commands.
* Foreign Architectures:: Build for foreign architectures.
* System Configuration:: Configuring the operating system.
* Home Configuration:: Configuring the home environment.
* Documentation:: Browsing software user manuals.
@ -321,6 +323,10 @@ Invoking @command{guix build}
* Additional Build Options:: Options specific to 'guix build'.
* Debugging Build Failures:: Real life packaging experience.
Foreign Architectures
* Using cross-compilation:: Build for foreign architecture using cross-compilation.
* Using native builds:: Build for foreign architectures natively.
System Configuration
* Using the Configuration System:: Customizing your GNU system.
@ -5175,7 +5181,7 @@ write in @code{~/.config/guix/channels.scm} this specification:
@noindent
From there on, @command{guix pull} will fetch code from the @code{super-hacks}
branch of the repository at @code{example.org}. The authentication concern is
addressed below ((@pxref{Channel Authentication}).
addressed below (@pxref{Channel Authentication}).
@node Replicating Guix
@section Replicating Guix
@ -5202,7 +5208,7 @@ say, on another machine, by providing a channel specification in
The @command{guix describe --format=channels} command can even generate this
list of channels directly (@pxref{Invoking guix describe}). The resulting
file can be used with the -C options of @command{guix pull}
file can be used with the @option{-C} option of @command{guix pull}
(@pxref{Invoking guix pull}) or @command{guix time-machine}
(@pxref{Invoking guix time-machine}).
@ -5670,17 +5676,22 @@ before @command{guix shell} was invoked. The next garbage collection
(@pxref{Invoking guix gc}) may clean up packages that were installed in
the environment and that are no longer used outside of it.
As an added convenience, when running from a directory that contains a
@file{manifest.scm} or a @file{guix.scm} file (in this order), possibly
in a parent directory, @command{guix shell} automatically loads the
file---provided the directory is listed in
@file{~/.config/guix/shell-authorized-directories}, and only for
interactive use:
As an added convenience, @command{guix shell} will try to do what you
mean when it is invoked interactively without any other arguments
as in:
@example
guix shell
@end example
If it finds a @file{manifest.scm} in the current working directory or
any of its parents, it uses this manifest as though it was given via @code{--manifest}.
Likewise, if it finds a @file{guix.scm} in the same directories, it uses
it to build a development profile as though both @code{--development}
and @code{--file} were present.
In either case, the file will only be loaded if the directory it
resides in is listed in
@file{~/.config/guix/shell-authorized-directories}.
This provides an easy way to define, share, and enter development
environments.
@ -8712,6 +8723,60 @@ only one of them. This is equivalent to passing the @code{-p} argument to
@end defvr
@defvr {Scheme variable} elm-build-system
This variable is exported by @code{(guix build-system elm)}. It implements a
build procedure for @url{https://elm-lang.org, Elm} packages similar to
@samp{elm install}.
The build system adds an Elm compiler package to the set of inputs. The
default compiler package (currently @code{elm-sans-reactor}) can be overridden
using the @code{#:elm} argument. Additionally, Elm packages needed by the
build system itself are added as implicit inputs if they are not already
present: to suppress this behavior, use the
@code{#:implicit-elm-package-inputs?} argument, which is primarily useful for
bootstrapping.
The @code{"dependencies"} and @code{"test-dependencies"} in an Elm package's
@file{elm.json} file correspond to @code{propagated-inputs} and @code{inputs},
respectively.
Elm requires a particular structure for package names: @pxref{Elm Packages}
for more details, including utilities provided by @code{(guix build-system
elm)}.
There are currently a few noteworthy limitations to @code{elm-build-system}:
@itemize
@item
The build system is focused on @dfn{packages} in the Elm sense of the word:
Elm @dfn{projects} which declare @code{@{ "type": "package" @}} in their
@file{elm.json} files. Using @code{elm-build-system} to build Elm
@dfn{applications} (which declare @code{@{ "type": "application" @}}) is
possible, but requires ad-hoc modifications to the build phases. For
examples, see the definitions of the @code{elm-todomvc} example application and
the @code{elm} package itself (because the front-end for the
@samp{elm reactor} command is an Elm application).
@item
Elm supports multiple versions of a package coexisting simultaneously under
@env{ELM_HOME}, but this does not yet work well with @code{elm-build-system}.
This limitation primarily affects Elm applications, because they specify
exact versions for their dependencies, whereas Elm packages specify supported
version ranges. As a workaround, the example applications mentioned above use
the @code{patch-application-dependencies} procedure provided by
@code{(guix build elm-build-system)} to rewrite their @file{elm.json} files to
refer to the package versions actually present in the build environment.
Alternatively, Guix package transformations (@pxref{Defining Package
Variants}) could be used to rewrite an application's entire dependency graph.
@item
We are not yet able to run tests for Elm projects because neither
@url{https://github.com/mpizenberg/elm-test-rs, @command{elm-test-rs}} nor the
Node.js-based @url{https://github.com/rtfeldman/node-test-runner,
@command{elm-test}} runner has been packaged for Guix yet.
@end itemize
@end defvr
@defvr {Scheme Variable} go-build-system
This variable is exported by @code{(guix build-system go)}. It
implements a build procedure for Go packages using the standard
@ -12337,6 +12402,14 @@ Cross-build for @var{triplet}, which must be a valid GNU triplet, such
as @code{"aarch64-linux-gnu"} (@pxref{Specifying Target Triplets, GNU
configuration triplets,, autoconf, Autoconf}).
@item --list-systems
List all the supported systems, that can be passed as an argument to
@option{--system}.
@item --list-targets
List all the supported targets, that can be passed as an argument to
@option{--target}.
@anchor{build-check}
@item --check
@cindex determinism, checking
@ -13100,6 +13173,31 @@ and generate package expressions for all those packages that are not yet
in Guix.
@end table
@item elm
@cindex elm
Import metadata from the Elm package repository
@uref{https://package.elm-lang.org, package.elm-lang.org}, as in this example:
@example
guix import elm elm-explorations/webgl
@end example
The Elm importer also allows you to specify a version string:
@example
guix import elm elm-explorations/webgl@@1.1.3
@end example
Additional options include:
@table @code
@item --recursive
@itemx -r
Traverse the dependency graph of the given upstream package recursively
and generate package expressions for all those packages that are not yet
in Guix.
@end table
@item opam
@cindex OPAM
@cindex OCaml
@ -15118,6 +15216,168 @@ Session_PID: 4278
@end table
@end table
@node Foreign Architectures
@chapter Foreign Architectures
You can target computers of different CPU architectures when producing
packages (@pxref{Invoking guix package}), packs (@pxref{Invoking guix
pack}) or full systems (@pxref{Invoking guix system}).
GNU Guix supports two distinct mechanisms to target foreign
architectures:
@enumerate
@item
The traditional
@uref{https://en.wikipedia.org/wiki/Cross_compiler,cross-compilation}
mechanism.
@item
The native building mechanism which consists in building using the CPU
instruction set of the foreign system you are targeting. It often
requires emulation, using the QEMU program for instance.
@end enumerate
@menu
* Using cross-compilation:: Build for foreign architecture using cross-compilation.
* Using native builds:: Build for foreign architectures natively.
@end menu
@node Using cross-compilation
@section Using cross-compilation
@cindex foreign architectures
The commands supporting cross-compilation are proposing the
@option{--list-targets} and @option{--target} options.
The @option{--list-targets} option lists all the supported targets that
can be passed as an argument to @option{--target}.
@example
$ guix build --list-targets
The available targets are:
- aarch64-linux-gnu
- arm-linux-gnueabihf
- i586-pc-gnu
- i686-linux-gnu
- i686-w64-mingw32
- mips64el-linux-gnu
- powerpc-linux-gnu
- powerpc64le-linux-gnu
- riscv64-linux-gnu
- x86_64-linux-gnu
- x86_64-w64-mingw32
@end example
Targets are specified as GNU triplets (@pxref{Specifying Target
Triplets, GNU configuration triplets,, autoconf, Autoconf}).
Those triplets are passed to GCC and the other underlying compilers
possibly involved when building a package, a system image or any other
GNU Guix output.
@example
$ guix build --target=aarch64-linux-gnu hello
/gnu/store/9926by9qrxa91ijkhw9ndgwp4bn24g9h-hello-2.12
$ file /gnu/store/9926by9qrxa91ijkhw9ndgwp4bn24g9h-hello-2.12/bin/hello
/gnu/store/9926by9qrxa91ijkhw9ndgwp4bn24g9h-hello-2.12/bin/hello: ELF
64-bit LSB executable, ARM aarch64 @dots{}
@end example
The major benefit of cross-compilation is that there are no performance
penaly compared to emulation using QEMU. There are however higher risks
that some packages fail to cross-compile because few users are using
this mechanism extensively.
@node Using native builds
@section Using native builds
The commands that support impersonating a specific system have the
@option{--list-systems} and @option{--system} options.
The @option{--list-systems} option lists all the supported systems that
can be passed as an argument to @option{--system}.
@example
$ guix build --list-systems
The available systems are:
- x86_64-linux [current]
- aarch64-linux
- armhf-linux
- i586-gnu
- i686-linux
- mips64el-linux
- powerpc-linux
- powerpc64le-linux
- riscv64-linux
$ guix build --system=i686-linux hello
/gnu/store/cc0km35s8x2z4pmwkrqqjx46i8b1i3gm-hello-2.12
$ file /gnu/store/cc0km35s8x2z4pmwkrqqjx46i8b1i3gm-hello-2.12/bin/hello
/gnu/store/cc0km35s8x2z4pmwkrqqjx46i8b1i3gm-hello-2.12/bin/hello: ELF
32-bit LSB executable, Intel 80386 @dots{}
@end example
In the above example, the current system is @var{x86_64-linux}. The
@var{hello} package is however built for the @var{i686-linux} system.
This is possible because the @var{i686} CPU instruction set is a subset
of the @var{x86_64}, hence @var{i686} targeting binaries can be run on
@var{x86_64}.
Still in the context of the previous example, if picking the
@var{aarch64-linux} system and the @command{guix build
--system=aarch64-linux hello} has to build some derivations, an extra
step might be needed.
The @var{aarch64-linux} targeting binaries cannot directly be run on a
@var{x86_64-linux} system. An emulation layer is requested. The GNU
Guix daemon can take advantage of the Linux kernel
@uref{https://en.wikipedia.org/wiki/Binfmt_misc,binfmt_misc} mechanism
for that. In short, the Linux kernel can defer the execution of a
binary targeting a foreign platform, here @var{aarch64-linux}, to a
userspace program, usually an emulator.
There is a service that registers QEMU as a backend for the
@code{binfmt_misc} mechanism (@pxref{Virtualization Services,
@code{qemu-binfmt-service-type}}). On Debian based foreign
distributions, the alternative would be the @code{qemu-user-static}
package.
If the @code{binfmt_misc} mechanism is not setup correctly, the building
will fail this way:
@example
$ guix build --system=armhf-linux hello --check
@dots{}
@ unsupported-platform /gnu/store/jjn969pijv7hff62025yxpfmc8zy0aq0-hello-2.12.drv aarch64-linux
while setting up the build environment: a `aarch64-linux' is required to
build `/gnu/store/jjn969pijv7hff62025yxpfmc8zy0aq0-hello-2.12.drv', but
I am a `x86_64-linux'@dots{}
@end example
whereas, with the @code{binfmt_misc} mechanism correctly linked with
QEMU, one can expect to see:
@example
$ guix build --system=armhf-linux hello --check
/gnu/store/13xz4nghg39wpymivlwghy08yzj97hlj-hello-2.12
@end example
The main advantage of native building compared to cross-compiling, is
that more packages are likely to build correctly. However it comes at a
price: compilation backed by QEMU is @emph{way slower} than
cross-compilation, because every instruction needs to be emulated.
The availability of substitutes for the architecture targeted by the
@code{--system} option can mitigate this problem. An other way to work
around it is to install GNU Guix on a machine which CPU is supporting
the targeted instruction set, an set it up as an offload machine
(@pxref{Daemon Offload Setup}).
@node System Configuration
@chapter System Configuration
@ -20271,10 +20531,31 @@ The default SLiM theme and its name.
@end defvr
@cindex login manager
@cindex X11 login
@defvr {Scheme Variable} sddm-service-type
This is the type of the service to run the
@uref{https://github.com/sddm/sddm,SDDM display manager}. Its value
must be a @code{sddm-configuration} record (see below).
Here's an example use:
@lisp
(service sddm-service-type
(sddm-configuration
(auto-login-user "alice")
(auto-login-session "xfce.desktop")))
@end lisp
@end defvr
@deftp {Data Type} sddm-configuration
This is the data type representing the SDDM service configuration.
This data type represents the configuration of the SDDM login manager.
The available fields are:
@table @asis
@item @code{sddm} (default: @code{sddm})
The SDDM package to use.
@item @code{display-server} (default: "x11")
Select display server to use for the greeter. Valid values are
@samp{"x11"} or @samp{"wayland"}.
@ -20350,10 +20631,11 @@ Directory to look for desktop files starting X sessions.
Minimum VT to use.
@item @code{auto-login-user} (default "")
User to use for auto-login.
User account that will be automatically logged in.
Setting this to the empty string disables auto-login.
@item @code{auto-login-session} (default "")
Desktop file to use for auto-login.
The @file{.desktop} file name to use as the auto-login session, or the empty string.
@item @code{relogin?} (default #f)
Relogin after logout.
@ -20361,45 +20643,6 @@ Relogin after logout.
@end table
@end deftp
@cindex login manager
@cindex X11 login
@defvr {Scheme Variable} sddm-service-type
This is the type of the service to run the
@uref{https://github.com/sddm/sddm,SDDM display manager}. Its value
must be a @code{sddm-configuration} record (see below).
Here's an example use:
@lisp
(service sddm-service-type
(sddm-configuration
(auto-login-user "alice")
(auto-login-session "xfce.desktop")))
@end lisp
@end defvr
@deftp {Data Type} sddm-configuration
This data type represents the configuration of the SDDM login manager.
The available fields are:
@table @asis
@item @code{sddm} (default: @code{sddm})
The SDDM package to use.
@item @code{display-server} (default: @code{"x11"})
This must be either @code{"x11"} or @code{"wayland"}.
@c FIXME: Add more fields.
@item @code{auto-login-user} (default: @code{""})
If non-empty, this is the user account under which to log in
automatically.
@item @code{auto-login-session} (default: @code{""})
If non-empty, this is the @file{.desktop} file name to use as the
auto-login session.
@end table
@end deftp
@cindex Xorg, configuration
@deftp {Data Type} xorg-configuration
@ -22100,23 +22343,23 @@ LE scanning interval used for connection establishment.
LE scanning window used for connection establishment.
@item @code{min-connection-interval} (default: @code{#f})
LE default minimum connection interval. This value is superceeded by any specific
LE default minimum connection interval. This value is superseded by any specific
value provided via the Load Connection Parameters interface.
@item @code{max-connection-interval} (default: @code{#f})
LE default maximum connection interval. This value is superceeded by any specific
LE default maximum connection interval. This value is superseded by any specific
value provided via the Load Connection Parameters interface.
@item @code{connection-latency} (default: @code{#f})
LE default connection latency. This value is superceeded by any specific
LE default connection latency. This value is superseded by any specific
value provided via the Load Connection Parameters interface.
@item @code{connection-supervision-timeout} (default: @code{#f})
LE default connection supervision timeout. This value is superceeded by any specific
LE default connection supervision timeout. This value is superseded by any specific
value provided via the Load Connection Parameters interface.
@item @code{autoconnect-timeout} (default: @code{#f})
LE default autoconnect timeout. This value is superceeded by any specific
LE default autoconnect timeout. This value is superseded by any specific
value provided via the Load Connection Parameters interface.
@item @code{adv-mon-allowlist-scan-duration} (default: @code{300})
@ -34600,6 +34843,12 @@ derivations to build.
The Guix Data Service instance from which to query to find out about
derivations to build.
@item @code{guix-data-service-build-server-id} (default: @code{#f})
The Guix Data Service build server ID corresponding to the builds being
submitted. Providing this speeds up the submitting of builds as
derivations that have already been submitted can be skipped before
asking the coordinator to build them.
@item @code{processed-commits-file} (default: @code{"/var/cache/guix-build-coordinator-queue-builds/processed-commits"})
A file to record which commits have been processed, to avoid needlessly
processing them again if the service is restarted.
@ -40200,20 +40449,22 @@ one:
guix build --target=armv5tel-linux-gnueabi bootstrap-tarballs
@end example
For this to work, the @code{glibc-dynamic-linker} procedure in
@code{(gnu packages bootstrap)} must be augmented to return the right
file name for libc's dynamic linker on that platform; likewise,
@code{system->linux-architecture} in @code{(gnu packages linux)} must be
taught about the new platform.
For this to work, it is first required to register a new platform as
defined in the @code{(guix platform)} module. A platform is making the
connection between a GNU triplet (@pxref{Specifying Target Triplets, GNU
configuration triplets,, autoconf, Autoconf}), the equivalent
@var{system} in Nix notation, the name of the
@var{glibc-dynamic-linker}, and the corresponding Linux architecture
name if applicable.
Once these are built, the @code{(gnu packages bootstrap)} module needs
to be updated to refer to these binaries on the target platform. That
is, the hashes and URLs of the bootstrap tarballs for the new platform
must be added alongside those of the currently supported platforms. The
bootstrap Guile tarball is treated specially: it is expected to be
available locally, and @file{gnu/local.mk} has rules to download it for
the supported architectures; a rule for the new platform must be added
as well.
Once the bootstrap tarball are built, the @code{(gnu packages
bootstrap)} module needs to be updated to refer to these binaries on the
target platform. That is, the hashes and URLs of the bootstrap tarballs
for the new platform must be added alongside those of the currently
supported platforms. The bootstrap Guile tarball is treated specially:
it is expected to be available locally, and @file{gnu/local.mk} has
rules to download it for the supported architectures; a rule for the new
platform must be added as well.
In practice, there may be some complications. First, it may be that the
extended GNU triplet that specifies an ABI (like the @code{eabi} suffix

View file

@ -25,6 +25,51 @@
(channel-news
(version 0)
(entry (commit "903c82583e1cec4c9ff09d5895c5cc646c37b661")
(title
(en "New @command{guix import elm} command")
(de "Neuer Befehl @command{guix import elm}")
(fr "Nouvelle commande @command{guix import elm}"))
(body
(en "The new @command{guix import elm} command allows packagers to
generate a package definition or given the name of a package for Elm, a
functional programming language for the Web:
@example
guix import elm elm/bytes
@end example
Run @command{info \"(guix) Invoking guix import\"} for more info.
This comes with a new build system for Elm packages---run @command{info
\"(guix) Build Systems\"} for details.")
(de "Mit dem neuen Befehl @command{guix import elm} können Paketautoren
eine Paketdefinition anhand des Namens eines Pakets für Elm, einer funktionalen
Programmiersprache für das Web, erzeugen:
@example
guix import elm elm/bytes
@end example
Führen Sie @command{info \"(guix.de) Aufruf von guix import\"} aus, um mehr
Informationen zu bekommen.
Dazu kommt ein neues Erstellungssystem für Elm-Pakete. Führen Sie
@command{info \"(guix.de) Erstellungssysteme\"} aus, um mehr zu erfahren.")
(fr "La nouvelle commande @command{guix import elm} permet de générer
une définition de paquet reposant sur Elm, un langage de programmation
fonctionnelle pour le Web:
@example
guix import elm elm/bytes
@end example
Lancer @command{info \"(guix.fr) Invoquer guix import\"} pour plus
d'informations.
Cela vient avec un nouveau système de construction pour paquets Elm---lancer
@command{info \"(guix.fr) Systèmes de construction\"} pour plus de détails.")))
(entry (commit "b6b2de2a0d52530bc1ee128c61580bed662ee15c")
(title (en "Linux-libre kernel updated to 5.17")
(de "Linux-libre-Kernel wird auf 5.17 aktualisiert"))

View file

@ -23,7 +23,7 @@
(use-modules (gnu packages)
(guix packages)
(guix profiles)
((gnu ci) #:select (%cross-targets))
((guix platform) #:select (targets))
((gnu services xorg) #:select (%default-xorg-modules))
(guix utils)
(srfi srfi-1)
@ -144,7 +144,7 @@ TARGET."
%packages-to-cross-build)))
;; XXX: Important bits like libsigsegv and libffi don't support
;; RISCV at the moment, so don't require RISCV support.
(delete "riscv64-linux-gnu" %cross-targets))))
(delete "riscv64-linux-gnu" (targets)))))
(define %cross-bootstrap-manifest
(manifest

View file

@ -5,6 +5,7 @@
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020, 2022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2022 Pavel Shlyak <p.shlyak@pantherx.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -48,12 +49,13 @@
"Take SEXP, a tuple as returned by 'partition->gexp', and turn it into a
<partition> record."
(match sexp
((size file-system file-system-options label uuid)
((size file-system file-system-options label uuid flags)
(partition (size size)
(file-system file-system)
(file-system-options file-system-options)
(label label)
(uuid uuid)))))
(uuid uuid)
(flags flags)))))
(define (size-in-kib size)
"Convert SIZE expressed in bytes, to kilobytes and return it as a string."
@ -78,6 +80,7 @@ turn doesn't take any constant overhead into account, force a 1-MiB minimum."
(fs-options (partition-file-system-options partition))
(label (partition-label partition))
(uuid (partition-uuid partition))
(flags (partition-flags partition))
(journal-options "lazy_itable_init=1,lazy_journal_init=1"))
(apply invoke
`("fakeroot" "mke2fs" "-t" ,fs "-d" ,root

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016-2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Chris Marusich <cmmarusich@gmail.com>
;;;
;;; This file is part of GNU Guix.
@ -196,31 +196,38 @@ FILE has not shown up after TIMEOUT seconds, raise an error."
(error "file didn't show up" file))))
(define* (wait-for-tcp-port port marionette
#:key (timeout 20))
#:key
(timeout 20)
(address `(make-socket-address AF_INET
INADDR_LOOPBACK
,port)))
"Wait for up to TIMEOUT seconds for PORT to accept connections in
MARIONETTE. Raise an error on failure."
MARIONETTE. ADDRESS must be an expression that returns a socket address,
typically a call to 'make-socket-address'. Raise an error on failure."
;; Note: The 'connect' loop has to run within the guest because, when we
;; forward ports to the host, connecting to the host never raises
;; ECONNREFUSED.
(match (marionette-eval
`(begin
(let ((sock (socket PF_INET SOCK_STREAM 0)))
(let loop ((i 0))
(catch 'system-error
(lambda ()
(connect sock AF_INET INADDR_LOOPBACK ,port)
(close-port sock)
'success)
(lambda args
(if (< i ,timeout)
(begin
(sleep 1)
(loop (+ 1 i)))
'failure))))))
`(let* ((address ,address)
(sock (socket (sockaddr:fam address) SOCK_STREAM 0)))
(let loop ((i 0))
(catch 'system-error
(lambda ()
(connect sock address)
(close-port sock)
'success)
(lambda args
(if (< i ,timeout)
(begin
(sleep 1)
(loop (+ 1 i)))
(list 'failure address))))))
marionette)
('success #t)
('failure
(error "nobody's listening on port" port))))
(('failure address)
(error "nobody's listening on port"
(list (inet-ntop (sockaddr:fam address) (sockaddr:addr address))
(sockaddr:port address))))))
(define* (wait-for-unix-socket file-name marionette
#:key (timeout 20))

View file

@ -55,6 +55,7 @@
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages make-bootstrap)
#:use-module (gnu packages package-management)
#:use-module (guix platform)
#:use-module (gnu system)
#:use-module (gnu system image)
#:use-module (gnu system vm)
@ -71,7 +72,6 @@
image->job
%core-packages
%cross-targets
channel-source->package
arguments->systems
@ -169,17 +169,6 @@ SYSTEM."
(drop-right %core-packages 6)
%core-packages))
(define %cross-targets
'("mips64el-linux-gnu"
"arm-linux-gnueabihf"
"aarch64-linux-gnu"
"powerpc-linux-gnu"
"powerpc64le-linux-gnu"
"riscv64-linux-gnu"
"i586-pc-gnu" ;aka. GNU/Hurd
"i686-w64-mingw32"
"x86_64-w64-mingw32"))
(define (cross-jobs store system)
"Return a list of cross-compilation jobs for SYSTEM."
(define (from-32-to-64? target)
@ -221,7 +210,7 @@ SYSTEM."
package target system))
(packages-to-cross-build target)))
(remove (either from-32-to-64? same? pointless?)
%cross-targets)))
(targets))))
(define* (guix-jobs store systems #:key source commit)
"Return a list of jobs for Guix itself."

View file

@ -17,7 +17,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu image)
#:use-module (gnu platform)
#:use-module (guix platform)
#:use-module (guix records)
#:export (partition
partition?

View file

@ -69,5 +69,10 @@
(supplementary-groups '("wheel" "netdev"
"audio" "video"))))
`((users (cons* ,@(map user->sexp users)
%base-user-accounts))))
`((users (cons*
,@(filter-map (lambda (user)
;; Do not emit a 'user-account' form for "root".
(and (not (string=? (user-name user) "root"))
(user->sexp user)))
users)
%base-user-accounts))))

View file

@ -89,7 +89,6 @@ GNU_SYSTEM_MODULES = \
%D%/home/services/utils.scm \
%D%/home/services/xdg.scm \
%D%/image.scm \
%D%/platform.scm \
%D%/packages.scm \
%D%/packages/abduco.scm \
%D%/packages/abiword.scm \
@ -631,9 +630,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/zile.scm \
%D%/packages/zwave.scm \
\
%D%/platforms/arm.scm \
%D%/platforms/hurd.scm \
\
%D%/services.scm \
%D%/services/admin.scm \
%D%/services/audio.scm \
@ -1024,16 +1020,18 @@ dist_patch_DATA = \
%D%/packages/patches/einstein-build.patch \
%D%/packages/patches/elfutils-tests-ptrace.patch \
%D%/packages/patches/elixir-path-length.patch \
%D%/packages/patches/elm-compiler-disable-reactor.patch \
%D%/packages/patches/elm-compiler-fix-map-key.patch \
%D%/packages/patches/elm-offline-package-registry.patch \
%D%/packages/patches/elm-reactor-static-files.patch \
%D%/packages/patches/elogind-revert-polkit-detection.patch \
%D%/packages/patches/emacs-exec-path.patch \
%D%/packages/patches/emacs-ess-fix-obsolete-function-alias.patch \
%D%/packages/patches/emacs-git-email-missing-parens.patch \
%D%/packages/patches/emacs-fix-scheme-indent-function.patch \
%D%/packages/patches/emacs-json-reformat-fix-tests.patch \
%D%/packages/patches/emacs-highlight-stages-add-gexp.patch \
%D%/packages/patches/emacs-hyperbole-toggle-messaging.patch \
%D%/packages/patches/emacs-libgit-use-system-libgit2.patch \
%D%/packages/patches/emacs-lispy-fix-thread-last-test.patch \
%D%/packages/patches/emacs-source-date-epoch.patch \
%D%/packages/patches/emacs-telega-path-placeholder.patch \
%D%/packages/patches/emacs-telega-test-env.patch \
@ -1130,7 +1128,9 @@ dist_patch_DATA = \
%D%/packages/patches/gcc-8-strmov-store-file-names.patch \
%D%/packages/patches/gcc-9-asan-fix-limits-include.patch \
%D%/packages/patches/gcc-9-strmov-store-file-names.patch \
%D%/packages/patches/gcc-12-strmov-store-file-names.patch \
%D%/packages/patches/gcc-10-cross-environment-variables.patch \
%D%/packages/patches/gcolor3-update-libportal-usage.patch \
%D%/packages/patches/gd-fix-tests-on-i686.patch \
%D%/packages/patches/gd-brect-bounds.patch \
%D%/packages/patches/gd-Revert-fix-303-gdlib.pc.patch \
@ -1332,6 +1332,7 @@ dist_patch_DATA = \
%D%/packages/patches/kdbusaddons-kinit-file-name.patch \
%D%/packages/patches/libffi-3.3-powerpc-fixes.patch \
%D%/packages/patches/libffi-float128-powerpc64le.patch \
%D%/packages/patches/libobjc2-unbundle-robin-map.patch \
%D%/packages/patches/librime-fix-build-with-gcc10.patch \
%D%/packages/patches/libvirt-add-install-prefix.patch \
%D%/packages/patches/libziparchive-add-includes.patch \
@ -1606,8 +1607,6 @@ dist_patch_DATA = \
%D%/packages/patches/sdl-pango-sans-serif.patch \
%D%/packages/patches/smalltalk-multiplication-overflow.patch \
%D%/packages/patches/sqlite-hurd.patch \
%D%/packages/patches/sssd-collision-with-external-nss-symbol.patch \
%D%/packages/patches/sssd-fix-samba-4.15.3.patch \
%D%/packages/patches/strace-readlink-tests.patch \
%D%/packages/patches/sunxi-tools-remove-sys-io.patch \
%D%/packages/patches/p11-kit-hurd.patch \
@ -1822,7 +1821,7 @@ dist_patch_DATA = \
%D%/packages/patches/snappy-add-inline-for-GCC.patch \
%D%/packages/patches/sphinxbase-fix-doxygen.patch \
%D%/packages/patches/spice-vdagent-glib-2.68.patch \
%D%/packages/patches/sssd-fix-samba.patch \
%D%/packages/patches/sssd-optional-systemd.patch \
%D%/packages/patches/sssd-system-directories.patch \
%D%/packages/patches/steghide-fixes.patch \
%D%/packages/patches/suitesparse-mongoose-cmake.patch \
@ -1982,8 +1981,6 @@ dist_patch_DATA = \
%D%/packages/patches/xterm-370-explicit-xcursor.patch \
%D%/packages/patches/xygrib-fix-finding-data.patch \
%D%/packages/patches/yggdrasil-extra-config.patch \
%D%/packages/patches/ytnef-CVE-2021-3403.patch \
%D%/packages/patches/ytnef-CVE-2021-3404.patch \
%D%/packages/patches/zig-use-system-paths.patch
MISC_DISTRO_FILES = \

View file

@ -315,14 +315,14 @@ interface and is based on GNU Guile.")
(define-public shepherd-0.9
(package
(inherit shepherd)
(version "0.9.0")
(version "0.9.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/shepherd/shepherd-"
version ".tar.gz"))
(sha256
(base32
"1rdwhrcibs2ly4hjwwb5kmzb133ccjmrfvb0a70cqkv9jy1pg061"))))
"0l2arn6gsyw88xk9phxnyplvv1mn8sqp3ipgyyb0nszdzvxlgd36"))))
(arguments
(list #:configure-flags #~'("--localstatedir=/var")
#:make-flags #~'("GUILE_AUTO_COMPILE=0")
@ -4367,7 +4367,7 @@ Logitech Unifying Receiver.")
(package
(name "lynis")
;; Also update the lynis-sdk input to the commit matching this release.
(version "3.0.6")
(version "3.0.8")
(source
(origin
(method git-fetch)
@ -4376,7 +4376,7 @@ Logitech Unifying Receiver.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1a1n8alcq6zil1rwk9940cg3x2nz3igcxfad99505pdh7ccz9324"))
(base32 "19kz1ffbbd431cdfw7fjcl5hjkks3gfkwk3w2zkwsxgyiky1gx3w"))
(modules '((guix build utils)))
(snippet
'(begin
@ -4392,13 +4392,20 @@ Logitech Unifying Receiver.")
(method git-fetch)
(uri (git-reference
(url "https://github.com/CISOfy/lynis-sdk")
(commit "1c4e5f60a03e29a1525ca9ec17c793461058253d")))
(commit "dffe5d352e4d6029ea95a84d50604ccd97cb8999")))
(file-name (git-file-name "lynis-sdk" version))
(sha256
(base32 "060k8k1q4c7nvrv3cwscxq8md2v75q3nrwwim1hgfw20divw3npy"))))))
(base32 "05qq4395x8f0kyl1ppm74npsf8sb3hhgz0ck4fya91sy6a26b4ja"))))))
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'unpack
;; XXX Remove after fixing <https://issues.guix.gnu.org/55287>.
(lambda* (#:key source #:allow-other-keys)
(mkdir "source")
(chdir "source")
(copy-recursively source "."
#:keep-mtime? #t)))
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* "lynis"
@ -4693,49 +4700,40 @@ Netgear devices.")
(define-public atop
(package
(name "atop")
(version "2.6.0")
(version "2.7.1")
(source (origin
(method url-fetch)
(uri (string-append "https://www.atoptool.nl/download/atop-"
version ".tar.gz"))
(sha256
(base32
"0wlg0n0h9vwpjp2dcb623jvvqck422jrjpq9mbpzg4hnawxcmhly"))))
"0kjwgf94skbrndv1krlmsrq34smzi3iwk73fbsnyw787gvqx4j6a"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no test suite
(list
#:tests? #f ; no test suite
#:make-flags
(list (string-append "CC=" ,(cc-for-target))
;; The installer requires a choice between systemd or SysV.
"systemdinstall"
(string-append "DESTDIR=" (assoc-ref %outputs "out"))
(string-append "BINPATH=/bin")
(string-append "SBINPATH=/sbin")
(string-append "SYSDPATH=/etc/systemd/system")
(string-append "PMPATHD=/etc/systemd/system-sleep")
(string-append "MAN1PATH=/share/man/man1")
(string-append "MAN5PATH=/share/man/man5")
(string-append "MAN8PATH=/share/man/man8")
;; Or else it tries to create /var/log/atop...
(string-append "LOGPATH="))
#~(list (string-append "CC=" #$(cc-for-target))
(string-append "DESTDIR=" #$output)
(string-append "SYSDPATH=/etc/systemd/system")
(string-append "PMPATHD=/etc/systemd/system-sleep")
;; Or else it tries to create /var/log/atop...
(string-append "LOGPATH="))
#:phases
(modify-phases %standard-phases
(delete 'configure) ; No ./configure script
(add-before 'build 'patch-build
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "Makefile"
;; We don't need to chown things in the build environment.
(("chown.*$") "")
;; We can't toggle the setuid bit in the build environment.
(("chmod 04711") "chmod 0711")
;; Otherwise, it creates a blank configuration file as a "default".
(("touch.*DEFPATH)/atop") "")
(("chmod.*DEFPATH)/atop") ""))
#t)))))
#~(modify-phases %standard-phases
(delete 'configure) ; No ./configure script
(add-before 'build 'patch-build
(lambda _
(substitute* "Makefile"
;; Don't use /usr as a prefix.
(("/usr") "")
;; Otherwise, it creates a blank configuration file as a "default".
(("touch.*DEFPATH)/atop") "")
(("chmod.*DEFPATH)/atop") "")))))))
(inputs
`(("ncurses" ,ncurses)
("python" ,python-wrapper) ; for `atopgpud`
("zlib" ,zlib)))
(list ncurses
python-wrapper ; for `atopgpud`
zlib))
(home-page "https://www.atoptool.nl/")
(synopsis "Linux performance monitoring console")
(description "Atop is an ASCII full-screen performance monitor for Linux
@ -4746,6 +4744,8 @@ using colors, etc. At regular intervals, it shows system-level activity related
to the CPU, memory, swap, disks (including LVM) and network layers, and for
every process (and thread) it shows e.g. the CPU utilization, memory growth,
disk utilization, priority, username, state, and exit code.")
(properties
`((release-monitoring-url . "https://www.atoptool.nl/downloadatop.php")))
(license license:gpl2+)))
;; TODO: Unvendor u-root (pkg: forth, golang, testutil).

View file

@ -21,6 +21,7 @@
(define-module (gnu packages antivirus)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system gnu)
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
@ -44,14 +45,14 @@
(define-public clamav
(package
(name "clamav")
(version "0.103.3")
(version "0.103.6")
(source (origin
(method url-fetch)
(uri (string-append "https://www.clamav.net/downloads/production/"
"clamav-" version ".tar.gz"))
(sha256
(base32
"1sba4zccgwjqk29b5qkgfc9gm794hmk6j7bpj8wilgcz8hc3svlz"))
"0cxsv5m9pqxxb56qd7hlj11pwmdgm07s3msh3hxk47czq4yjx8da"))
(modules '((guix build utils)))
(snippet
'(begin
@ -59,8 +60,7 @@
'("win32" ; unnecessary
"libclamav/c++/llvm" ; use system llvm
"libclamav/tomsfastmath" ; use system tomsfastmath
"libclamunrar")) ; non-free license
#t))
"libclamunrar")))) ; non-free license
(patches
(search-patches "clamav-system-tomsfastmath.patch"
"clamav-config-llvm-libs.patch"))))
@ -72,70 +72,70 @@
libtool
pkg-config))
(inputs
`(("bzip2" ,bzip2)
("libcurl" ,curl)
("libjson" ,json-c)
("libltdl" ,libltdl)
("libmspack" ,libmspack)
("llvm" ,llvm-3.6) ; requires <3.7, for JIT/verifier
("ncurses" ,ncurses)
("openssl" ,libressl)
("pcre2" ,pcre2)
("sasl" ,cyrus-sasl) ; for linking curl with libtool
("tomsfastmath" ,tomsfastmath)
("xml" ,libxml2)
("zlib" ,zlib)))
(list bzip2
curl
json-c
libltdl
libmspack
llvm-3.6 ; requires <3.7, for JIT/verifier
ncurses
libressl
pcre2
cyrus-sasl ; for linking curl with libtool
tomsfastmath
libxml2
zlib))
(arguments
`(#:configure-flags
(let-syntax ((with (syntax-rules ()
((_ name)
(list #:configure-flags
#~(let-syntax ((with (syntax-rules ()
((_ name use)
(string-append "--with-" name "="
(assoc-ref %build-inputs name))))))
(list "--disable-unrar"
"--enable-llvm"
"--with-system-llvm"
"--with-system-libmspack"
"--without-included-ltdl"
(with "xml")
(with "openssl")
(with "libjson")
(with "pcre2")
(with "zlib")
(with "libcurl")
;; For sanity, specifying --enable-* flags turns
;; "support unavailable" warnings into errors.
"--enable-bzip2"
"--enable-check"
"--sysconfdir=/etc/clamav"
;; Default database directory needs to be writeable
"--with-dbdir=/var/db/clamav"))
;; install sample .conf files to %output/etc rather than /etc/clamav
#:make-flags (list (string-append "sysconfdir=" %output "/etc"))
#:phases (modify-phases %standard-phases
;; Regenerate configure script. Without this we don't get
;; the correct value for LLVM linker variables.
(add-after 'unpack 'reconf
(lambda _ (invoke "autoreconf" "-vfi")))
(add-before 'configure 'patch-llvm-config
(lambda _
(substitute* '("libclamav/c++/detect.cpp"
"libclamav/c++/ClamBCRTChecks.cpp"
"libclamav/c++/bytecode2llvm.cpp")
(("llvm/Config/config.h") "llvm/Config/llvm-config.h"))
;; `llvm-config --libfiles` inappropriately lists lib*.a
;; libraries, rather than the lib*.so's that our llvm
;; contains. They're used only for listing extra build
;; dependencies, so ignore them until that's fixed.
(substitute* "libclamav/c++/Makefile.in"
(("@LLVMCONFIG_LIBFILES@") ""))
#t))
(add-before 'check 'skip-clamd-tests
;; XXX: The check?_clamd tests fail inside the build
;; chroot, but pass outside.
(lambda _
(substitute* "unit_tests/Makefile"
(("check2_clamd.sh.*check4_clamd.sh") ""))
#t)))))
(assoc-ref %build-inputs use))))))
(list "--disable-unrar"
"--enable-llvm"
"--with-system-llvm"
"--with-system-libmspack"
"--without-included-ltdl"
(with "xml" "libxml2")
(with "openssl" "libressl")
(with "libjson" "json-c")
(with "pcre2" "pcre2")
(with "zlib" "zlib")
(with "libcurl" "curl")
;; For sanity, specifying --enable-* flags turns
;; "support unavailable" warnings into errors.
"--enable-bzip2"
"--enable-check"
"--sysconfdir=/etc/clamav"
;; Default database directory needs to be writeable
"--with-dbdir=/var/db/clamav"))
;; install sample .conf files to %output/etc rather than /etc/clamav
#:make-flags
#~(list (string-append "sysconfdir=" %output "/etc"))
#:phases
#~(modify-phases %standard-phases
;; Regenerate configure script. Without this we don't get
;; the correct value for LLVM linker variables.
(add-after 'unpack 'reconf
(lambda _ (invoke "autoreconf" "-vfi")))
(add-before 'configure 'patch-llvm-config
(lambda _
(substitute* '("libclamav/c++/detect.cpp"
"libclamav/c++/ClamBCRTChecks.cpp"
"libclamav/c++/bytecode2llvm.cpp")
(("llvm/Config/config.h") "llvm/Config/llvm-config.h"))
;; `llvm-config --libfiles` inappropriately lists lib*.a
;; libraries, rather than the lib*.so's that our llvm
;; contains. They're used only for listing extra build
;; dependencies, so ignore them until that's fixed.
(substitute* "libclamav/c++/Makefile.in"
(("@LLVMCONFIG_LIBFILES@") ""))))
(add-before 'check 'skip-clamd-tests
;; XXX: The check?_clamd tests fail inside the build
;; chroot, but pass outside.
(lambda _
(substitute* "unit_tests/Makefile"
(("check2_clamd.sh.*check4_clamd.sh") "")))))))
(home-page "https://www.clamav.net")
(synopsis "Antivirus engine")
(description

View file

@ -2974,14 +2974,14 @@ different audio devices such as ALSA or PulseAudio.")
(define-public qjackctl
(package
(name "qjackctl")
(version "0.9.6")
(version "0.9.7")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/qjackctl/qjackctl/"
version "/qjackctl-" version ".tar.gz"))
(sha256
(base32
"0sqni9ppwadc01fnyqj6lkwy30ql1vccqglv9imd3zdchffjpjir"))))
"104hfvr15v8cbkzil8slrqj48y3fl7lx060alj80q1sjh5hl6j2j"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f)) ; no check target

View file

@ -4560,6 +4560,48 @@ the results is also provided. All PCA methods make use of the same data
structure (pcaRes) to provide a common interface to the PCA results.")
(license license:gpl3+)))
;; This is a CRAN package, but it depends on a Bioconductor package:
;; r-aroma-light, r-dnacopy..
(define-public r-pscbs
(package
(name "r-pscbs")
(version "0.66.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "PSCBS" version))
(sha256
(base32 "14rs2wywipbkia3dbzfhpnkmfgdvm2bf586lggsx63sywlv5d02q"))))
(properties `((upstream-name . "PSCBS")))
(build-system r-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'install 'change-home-dir
(lambda _
;; Change from /homeless-shelter to /tmp for write permission.
(setenv "HOME" "/tmp"))))))
(propagated-inputs
(list r-aroma-light
r-dnacopy
r-future
r-listenv
r-matrixstats
r-r-cache
r-r-methodss3
r-r-oo
r-r-utils))
(native-inputs
(list r-r-rsp ;used to build vignettes
r-r-devices))
(home-page "https://github.com/HenrikBengtsson/PSCBS")
(synopsis "Analysis of parent-specific DNA copy numbers")
(description
"This is a package for segmentation of allele-specific DNA copy number
data and detection of regions with abnormal copy number within each parental
chromosome. Both tumor-normal paired and tumor-only analyses are supported.")
(license license:gpl2+)))
(define-public r-protgenerics
(package
(name "r-protgenerics")

View file

@ -161,6 +161,7 @@
#:use-module (gnu packages wget)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (guix platform)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:use-module (ice-9 match))
@ -6576,10 +6577,12 @@ simultaneously.")
;; architecture name ("i386") instead of the target system prefix
;; ("i686").
(mkdir (string-append (assoc-ref outputs "out") "/ilib"))
(copy-recursively (string-append "build/ncbi-vdb/linux/gcc/"
,(system->linux-architecture
(or (%current-target-system)
(%current-system)))
(copy-recursively (string-append
"build/ncbi-vdb/linux/gcc/"
,(platform-linux-architecture
(lookup-platform-by-target-or-system
(or (%current-target-system)
(%current-system))))
"/rel/ilib")
(string-append (assoc-ref outputs "out")
"/ilib"))
@ -7821,7 +7824,7 @@ single-cell data.")
r-rlist))
(home-page "https://github.com/soumelis-lab/ICELLNET")
(synopsis "Transcriptomic-based framework to dissect cell communication")
(description "This packages provides a a transcriptomic-based framework
(description "This package provides a a transcriptomic-based framework
to dissect cell communication in a global manner. It integrates an original
expert-curated database of ligand-receptor interactions taking into account
multiple subunits expression. Based on transcriptomic profiles (gene

View file

@ -26,6 +26,7 @@
(define-module (gnu packages bootstrap)
#:use-module (guix licenses)
#:use-module (gnu packages)
#:use-module (guix platform)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system)
@ -314,33 +315,29 @@ or false to signal an error."
(%current-system))))
"Return the name of Glibc's dynamic linker for SYSTEM."
;; See the 'SYSDEP_KNOWN_INTERPRETER_NAMES' cpp macro in libc.
(cond ((string=? system "x86_64-linux") "/lib/ld-linux-x86-64.so.2")
((string=? system "i686-linux") "/lib/ld-linux.so.2")
((string=? system "armhf-linux") "/lib/ld-linux-armhf.so.3")
((string=? system "mips64el-linux") "/lib/ld.so.1")
((string=? system "i586-gnu") "/lib/ld.so.1")
((string=? system "i686-gnu") "/lib/ld.so.1")
((string=? system "aarch64-linux") "/lib/ld-linux-aarch64.so.1")
((string=? system "powerpc-linux") "/lib/ld.so.1")
((string=? system "powerpc64-linux") "/lib/ld64.so.1")
((string=? system "powerpc64le-linux") "/lib/ld64.so.2")
((string=? system "alpha-linux") "/lib/ld-linux.so.2")
((string=? system "s390x-linux") "/lib/ld64.so.1")
((string=? system "riscv64-linux") "/lib/ld-linux-riscv64-lp64d.so.1")
(let ((platform (lookup-platform-by-system system)))
(cond
((platform? platform)
(platform-glibc-dynamic-linker platform))
;; XXX: This one is used bare-bones, without a libc, so add a case
;; here just so we can keep going.
((string=? system "arm-elf") "no-ld.so")
((string=? system "arm-eabi") "no-ld.so")
((string=? system "xtensa-elf") "no-ld.so")
((string=? system "avr") "no-ld.so")
((string=? system "propeller-elf") "no-ld.so")
((string=? system "i686-mingw") "no-ld.so")
((string=? system "x86_64-mingw") "no-ld.so")
((string=? system "vc4-elf") "no-ld.so")
;; TODO: Define those as platforms.
((string=? system "i686-gnu") "/lib/ld.so.1")
((string=? system "powerpc64-linux") "/lib/ld64.so.1")
((string=? system "alpha-linux") "/lib/ld-linux.so.2")
(else (error "dynamic linker name not known for this system"
system))))
;; XXX: This one is used bare-bones, without a libc, so add a case
;; here just so we can keep going.
((string=? system "arm-elf") "no-ld.so")
((string=? system "arm-eabi") "no-ld.so")
((string=? system "xtensa-elf") "no-ld.so")
((string=? system "avr") "no-ld.so")
((string=? system "propeller-elf") "no-ld.so")
((string=? system "i686-mingw") "no-ld.so")
((string=? system "x86_64-mingw") "no-ld.so")
((string=? system "vc4-elf") "no-ld.so")
(else (error "dynamic linker name not known for this system"
system)))))
;;;

View file

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 20182021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 20182022 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -34,7 +34,7 @@
(define-public busybox
(package
(name "busybox")
(version "1.33.1")
(version "1.34.1")
(source (origin
(method url-fetch)
(uri (string-append
@ -42,22 +42,20 @@
version ".tar.bz2"))
(sha256
(base32
"0a0dcvsh7nxnhxc5y73fky0z30i9p7r30qfidm2akn0n5fywdkhj"))))
"0jfm9fik7nv4w21zqdg830pddgkdjmplmna9yjn9ck1lwn4vsps1"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-before 'configure 'disable-timestamps
(lambda _
(setenv "KCONFIG_NOTIMESTAMP" "1")
#t))
(setenv "KCONFIG_NOTIMESTAMP" "1")))
(add-before 'configure 'disable-taskset
;; This feature fails its tests in the build environment,
;; was default 'n' until after 1.26.2.
(lambda _
(substitute* "util-linux/taskset.c"
(("default y") "default n"))
#t))
(("default y") "default n"))))
(replace 'configure
(lambda* (#:key make-flags #:allow-other-keys)
(apply invoke "make" "defconfig" make-flags)))
@ -65,8 +63,7 @@
(lambda _
(substitute* ".config"
(("# CONFIG_INSTALL_NO_USR is not set")
"CONFIG_INSTALL_NO_USR=y"))
#t))
"CONFIG_INSTALL_NO_USR=y"))))
(replace 'check
(lambda* (#:key make-flags #:allow-other-keys)
(substitute* '("testsuite/du/du-s-works"
@ -123,7 +120,7 @@ any small or embedded system.")
(define-public toybox
(package
(name "toybox")
(version "0.8.6")
(version "0.8.7")
(source (origin
(method url-fetch)
(uri (string-append
@ -131,17 +128,18 @@ any small or embedded system.")
version ".tar.gz"))
(sha256
(base32
"0jq3368jps6jg717ikzhlc6whml3k2s9xy69zpj4i0r35c5ck622"))))
"150lvp7hf9ndafvmr42kb8xi86hxjd2zj4binwwhgjw2dwrvy25m"))))
(build-system gnu-build-system)
(arguments
(list #:phases
(list #:make-flags
#~(list (string-append "CC=" #$(cc-for-target))
(string-append "HOSTCC=gcc")
(string-append "PREFIX=" #$output))
#:phases
#~(modify-phases %standard-phases
(add-before 'configure 'set-environment-variables
(lambda _
(setenv "CC" #$(cc-for-target))
(setenv "HOSTCC" (which "gcc"))))
(replace 'configure
(lambda _ (invoke "make" "defconfig")))
(lambda* (#:key make-flags #:allow-other-keys)
(apply invoke "make" "defconfig" make-flags)))
(add-before 'check 'fix-or-skip-broken-tests
(lambda _
;; Some tests expect $USER to magically be the current user.
@ -151,11 +149,6 @@ any small or embedded system.")
;; Delete tests that expect a root or 0 user to exist.
(substitute* "tests/id.test"
(("^testing .*[ \\(]root.*") ""))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(invoke "make"
(string-append "PREFIX=" #$output)
"install")))
(add-after 'install 'remove-usr-directory
(lambda* (#:key outputs #:allow-other-keys)
(delete-file-recursively (string-append #$output "/usr")))))

View file

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017, 2018, 2019, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 20202022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019, 2021 Guillaume Le Vaillant <glv@posteo.net>
@ -13,6 +13,7 @@
;;; Copyright © 2020, 2021 Greg Hogan <code@greghogan.com>
;;; Copyright © 2021 David Dashyan <mail@davie.li>
;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
;;; Copyright © 2022 (unmatched parenthesis <paren@disroot.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -145,6 +146,46 @@ compiler while still keeping it small, simple, fast and understandable.")
;; preferred. See http://pcc.ludd.ltu.se/licenses/ for more details.
(license (list license:bsd-2 license:bsd-3))))
(define-public qbe
(let ((commit "2caa26e388b1c904d2f12fb09f84df7e761d8331")
(revision "1"))
(package
(name "qbe")
(version (git-version "0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "git://c9x.me/qbe")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1gv03ym0gqrl4wkbhysa82025xwrkr1fg44z814b6vnggwlqgljc"))))
(build-system gnu-build-system)
(arguments
(list #:make-flags
#~(list (string-append "CC=" #$(cc-for-target))
(string-append "PREFIX=" #$output))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'allow-cross-compilation
(lambda _
(substitute* "Makefile"
(("`uname -m`") #$(or (%current-target-system)
(%current-system))))))
(add-after 'allow-cross-compilation 'use-$CC-for-tests
(lambda _
(substitute* "tools/test.sh"
(("cc=\"cc -no-pie\"") "cc=\"${CC} -no-pie\""))))
(delete 'configure))))
(supported-systems (list "x86_64-linux" "aarch64-linux" "riscv64-linux"))
(synopsis "Simple compiler backend")
(description
"QBE is a small compiler backend using an SSA-based intermediate
language as input.")
(home-page "https://c9x.me/compile/")
(license license:expat))))
(define-public python-pcpp
(package
(name "python-pcpp")
@ -179,7 +220,7 @@ Python.")
(define-public libbytesize
(package
(name "libbytesize")
(version "2.2")
(version "2.6")
(source (origin
(method url-fetch)
(uri (string-append
@ -187,14 +228,12 @@ Python.")
"download/" version "/libbytesize-" version ".tar.gz"))
(sha256
(base32
"1aivwypmnqcaj2230pifvf3jcgl5chja8rspkxf0j3480asm8g5r"))))
"0h87ryi0mp8msq43h1cna453cqaw5knx1xaggfzm4fxvn8sjpapg"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f))
(native-inputs
`(("gettext" ,gettext-minimal)
("pkg-config" ,pkg-config)
("python" ,python)))
(list gettext-minimal pkg-config python))
(inputs
(list mpfr pcre2))
(home-page "https://github.com/storaged-project/libbytesize")
@ -281,14 +320,14 @@ whose behaviour is inconsistent across *NIX flavours.")
(define-public libhx
(package
(name "libhx")
(version "4.2")
(version "4.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://inai.de/files/libhx/"
"libHX-" version ".tar.xz"))
(sha256
(base32 "1ri3sxiw5a8br27j7f20s40kihfvq6mmxzcrx68zydiwyxjvf5jj"))))
(base32 "06zkzaya6j3vaafz80qcgn5qcri047003bhmjisv5sbikcw97jqy"))))
(build-system gnu-build-system)
(home-page "https://inai.de/projects/libhx/")
(synopsis "C library with common data structures and functions")

View file

@ -529,7 +529,7 @@ current platform. (Chez can then cross-compile bootfiles for all other
supported platforms.)
This package provides bootstrap bootfiles for upstream Chez Scheme.
Currently, it simply packages the binaries checked in to the upsream
Currently, it simply packages the binaries checked in to the upstream
repository. Hopefully we can eventually adapt Racket's @code{cs-bootstrap} to
work with upstream Chez Scheme so that we can bootstrap these files from
source.")))
@ -712,7 +712,7 @@ Chez Scheme.")))
(else
(format #t "not making docs~%"))))))))
(home-page "https://github.com/dybvig/stex")
(synopsis "LaTeX with embeded Scheme code and HTML generation")
(synopsis "LaTeX with embedded Scheme code and HTML generation")
(description "The @code{stex} package extends LaTeX with a handful of
commands for including Scheme code (or pretty much any other kind of code, as
long as you don't plan to use the Scheme-specific transcript support) in a

View file

@ -131,7 +131,7 @@
"third_party/dawn" ;ASL2.0
;; TODO: can likely be unbundled when Vulkan is updated.
"third_party/dawn/third_party/khronos" ;ASL2.0
"third_party/dawn/third_party/tint" ;ASL2.0
"third_party/dawn/third_party/gn/webgpu-cts" ;BSD-3
"third_party/depot_tools/owners.py" ;BSD-3
"third_party/devtools-frontend" ;BSD-3
"third_party/devtools-frontend/src/front_end/third_party/acorn" ;Expat
@ -175,7 +175,6 @@
"third_party/khronos" ;Expat, SGI
"third_party/leveldatabase" ;BSD-3
"third_party/libavif" ;BSD-2
"third_party/libXNVCtrl" ;Expat
"third_party/libaddressinput" ;ASL2.0
"third_party/libaom" ;BSD-2 or "Alliance for Open Media Patent License 1.0"
"third_party/libaom/source/libaom/third_party/fastfeat" ;BSD-3
@ -260,13 +259,13 @@
"third_party/swiftshader/third_party/marl" ;ASL2.0
"third_party/swiftshader/third_party/subzero" ;NCSA
"third_party/swiftshader/third_party/SPIRV-Headers" ;X11-style
"third_party/swiftshader/third_party/SPIRV-Tools" ;ASL2.0
"third_party/tensorflow-text" ;ASL2.0
"third_party/tflite" ;ASL2.0
"third_party/tflite/src/third_party/eigen3" ;MPL2.0
"third_party/tflite/src/third_party/fft2d" ;ASL2.0
"third_party/ukey2" ;ASL2.0
"third_party/usb_ids" ;BSD-3
"third_party/usrsctp" ;BSD-2
"third_party/utf" ;Expat
"third_party/vulkan-deps" ;ASL2.0, BSD-3, Expat
"third_party/vulkan_memory_allocator" ;Expat
@ -313,9 +312,9 @@
;; run the Blink performance tests, just remove everything to save ~70MiB.
'("third_party/blink/perf_tests"))
(define %chromium-version "101.0.4951.64")
(define %chromium-version "102.0.5005.61")
(define %ungoogled-revision (string-append %chromium-version "-1"))
(define %debian-revision "debian/101.0.4951.41-2")
(define %debian-revision "debian/102.0.5005.61-1")
(define %ungoogled-origin
(origin
@ -325,27 +324,48 @@
(file-name (git-file-name "ungoogled-chromium" %ungoogled-revision))
(sha256
(base32
"0k7w6xvjf1yzyak9ywvcdw762d8zbx6d8haz35q87jz0mxfn2mr3"))))
"1hlyi6k894blkkqmqsizx72bag2vj6wlpza0fvi8db5wp6i5b58g"))))
(define* (debian-patch name hash #:optional (revision %debian-revision))
(define %debian-origin
(origin
(method url-fetch)
(uri (string-append "https://salsa.debian.org/chromium-team/chromium/-/raw/"
revision "/debian/patches/" name))
(file-name (match (string-split name #\/)
((category name)
(string-append "ungoogled-chromium-" category "-" name))))
(sha256 (base32 hash))))
(method git-fetch)
(uri (git-reference
(url "https://salsa.debian.org/chromium-team/chromium.git")
(commit %debian-revision)))
(file-name (git-file-name "debian-chromium-patches"
(match (string-split %debian-revision #\/)
((_ version) version))))
(sha256
(base32
"1ln6r1qzlr7dsgvcbssvvc34my4mpkwv9hmvlb2dhjncs7isp65j"))))
(define (debian-patch name)
(computed-file
(basename name)
#~(symlink (string-append #$%debian-origin "/debian/patches/" #$name)
#$output)))
(define %debian-patches
(list (debian-patch "upstream/libxml.patch"
"0fnmidh3sbmi4khw25rpqpd4i9kj8rb42s40n242h55z30hc36qr")
(debian-patch "system/jsoncpp.patch"
"092jkvbkiw474lin62hbkv5vm251qpg0vz3j2qwavqln7qv6mcw1")
(debian-patch "system/zlib.patch"
"1iw4k8in5j6a1qxf12qd5z3sjayvnh5sq5z3qqg8m3cp0v4p947r")
(debian-patch "system/openjpeg.patch"
"1dq4zffhjahw8yd5w7d0zzvjpdb5dzhyfd4icjflrdb7fyf5ykc2")))
(map debian-patch
'("upstream/libxml.patch"
"upstream/dawn-version-fix.patch"
"upstream/blink-ftbfs.patch"
"upstream/nested-nested-nested-nested-nested-nested-regex-patterns.patch"
"system/jsoncpp.patch"
"system/zlib.patch"
"system/openjpeg.patch")))
;; Take a patch from Arch that reverts a change which requires an unreleased
;; version of ffmpeg.
(define %ungoogled-chromium-unroll-ffmpeg.patch
(origin
(method url-fetch)
(uri "https://raw.githubusercontent.com/archlinux/svntogit-packages\
/f3225f99b900e11ac900725992ea883142d7309c/trunk/roll-src-third_party-ffmpeg.patch")
(file-name "ungoogled-chromium-unroll-ffmpeg.patch")
(sha256
(base32
"0i7crn6fcwq09kd6a4smqnffaldyv61lmv2p0drcnpfrwalmkprh"))))
(define %guix-patches
(list (local-file
@ -387,6 +407,9 @@
patch "--no-backup-if-mismatch"))
(append '#+%debian-patches '#+%guix-patches))
(invoke "patch" "-Rp1" "--force" "--input" "--no-backup-if-mismatch"
"--input" #$%ungoogled-chromium-unroll-ffmpeg.patch)
(with-directory-excursion #+%ungoogled-origin
(format #t "Ungooglifying...~%")
(force-output)
@ -454,7 +477,7 @@
%chromium-version ".tar.xz"))
(sha256
(base32
"1xyqm32y9v1hn8ji6qfw6maynqgg3266j58dq4x4aqsm2gj9cn4w"))
"07vbi3gn9g4n04b2qi2hm34r122snrqaifa46yk3pyh1d79rfdqs"))
(modules '((guix build utils)))
(snippet (force ungoogled-chromium-snippet))))
(build-system gnu-build-system)
@ -500,6 +523,8 @@
"build_with_tflite_lib=false"
;; Avoid dependency on code formatting tools.
"blink_enable_generated_code_formatting=false"
;; Don't bother building Dawn tests.
"build_dawn_tests=false"
;; Define a custom toolchain that simply looks up CC, AR and
;; friends from the environment.
@ -560,7 +585,6 @@
"rtc_build_libvpx=true"
"rtc_build_opus=false"
"rtc_build_libsrtp=true" ;FIXME: fails to find headers
"rtc_build_usrsctp=true" ;TODO: package this
"rtc_build_ssl=true") ;XXX: requires BoringSSL
#:phases
#~(modify-phases %standard-phases
@ -702,6 +726,15 @@
(setenv "AR" "llvm-ar") (setenv "NM" "llvm-nm")
(setenv "CC" "clang") (setenv "CXX" "clang++")
;; Disable compiler flags that require Clang 15.
(substitute* "build/config/compiler/BUILD.gn"
(("\"-no-opaque-pointers\",")
"")
(("\"-Wno-unqualified-std-cast-call\"")
"")
(("\"-Wno-deprecated-non-prototype\"")
""))
;; TODO: pre-compile instead. Avoids a race condition.
(setenv "PYTHONDONTWRITEBYTECODE" "1")

View file

@ -164,7 +164,14 @@
;; FIXME: this is propagated by "guile-git", but it needs to be among
;; the inputs to add it to GUILE_LOAD_PATH.
guile-bytestructures
guix))
;; FIXME: The 'cuirass evaluate' command is multithreaded, but it
;; uses 'open-inferior', which calls 'primitive-fork', thus
;; potentially creating child processes that deadlock. To work
;; around that, use the last revision of Guix where
;; 'open-inferior' was using 'open-pipe*' rather than
;; 'primitive-fork'. See <https://issues.guix.gnu.org/55441>.
guix-for-cuirass))
(native-inputs
(list autoconf automake pkg-config texinfo ephemeralpg))
(native-search-paths

View file

@ -3871,6 +3871,9 @@ is the GNU Compiler Collection.")
(define-public gcc-toolchain-11
(make-gcc-toolchain gcc-11))
(define-public gcc-toolchain-12
(make-gcc-toolchain gcc-12))
(define-public gcc-toolchain-aka-gcc
;; It's natural for users to try "guix install gcc". This package
;; automatically "redirects" them to 'gcc-toolchain'.

View file

@ -52,6 +52,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages compression)
#:use-module (guix gexp)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix utils)
#:use-module (guix packages)
@ -980,31 +981,30 @@ byte-for-byte identical output.")
(define-public pigz
(package
(name "pigz")
(version "2.6")
(version "2.7")
(source (origin
(method url-fetch)
(uri (string-append "http://zlib.net/pigz/"
name "-" version ".tar.gz"))
(sha256
(base32
"0z9avc4mifwcpj3qdsf9m2rjw9jx03b2r9pj0c4xgla9fh6ppv9f"))))
"01y7n7lafp6maqnp4jrmasawnv67najh1bd7gjrmv3d08h1ydjdl"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(delete 'configure)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(man (string-append out "/share/man/man1")))
(install-file "pigz" bin)
(symlink "pigz" (string-append bin "/unpigz"))
(install-file "pigz.1" man)
#t))))
#:make-flags
(list ,(string-append "CC=" (cc-for-target)))
#:test-target "tests"))
(list #:make-flags
#~(list (string-append "CC=" #$(cc-for-target)))
#:test-target "test"
#:phases
#~(modify-phases %standard-phases
(delete 'configure)
(replace 'install
(lambda _
(let* ((bin (string-append #$output "/bin"))
(man (string-append #$output "/share/man/man1")))
(install-file "pigz" bin)
(symlink "pigz" (string-append bin "/unpigz"))
(install-file "pigz.1" man)))))))
(native-inputs (list which))
(inputs (list zlib))
(home-page "https://zlib.net/pigz/")
(synopsis "Parallel implementation of gzip")
@ -1088,7 +1088,7 @@ tarballs.")
(define-public libjcat
(package
(name "libjcat")
(version "0.1.9")
(version "0.1.11")
(source
(origin
(method git-fetch)
@ -1098,13 +1098,12 @@ tarballs.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "02cgznk6qdylqpcyks6qykmvhpz1pplvnxp72bjzji1y6yj3zpkj"))))
(base32 "08zywwhm9q8m8v17w2mp23w3w93p40ir1w4x18zrlbhs10xnhiys"))))
(build-system meson-build-system)
(native-inputs
(list gobject-introspection help2man pkg-config))
(inputs
(list git
glib
(list glib
gnupg
gnutls
gpgme
@ -2648,7 +2647,7 @@ to their original, binary CD format.")
(define-public libdeflate
(package
(name "libdeflate")
(version "1.8")
(version "1.10")
(source (origin
(method git-fetch)
(uri (git-reference
@ -2657,7 +2656,7 @@ to their original, binary CD format.")
(file-name (git-file-name name version))
(sha256
(base32
"0nw1zhr2s6ffcc3s0n5wsshvjb6pmybwapagli135zzn2fx1pdiz"))))
"0v5qh1cz787xj86l15x6brkkaw0jbxhqj5f85275q0l945qazvwm"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
@ -2665,6 +2664,10 @@ to their original, binary CD format.")
(string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'skip-static-library-installation
(lambda _
(substitute* "Makefile"
(("install .*\\$\\(STATIC_LIB\\).*") ""))))
(delete 'configure))))
(inputs
(list zlib))

View file

@ -969,7 +969,7 @@ variables.")
(home-page "https://github.com/dynverse/lmds")
(synopsis "Landmark multi-dimensional scaling")
(description
"This package provides a fast dimensionality reduction method scaleable
"This package provides a fast dimensionality reduction method scalable
to large numbers of samples. @dfn{Landmark Multi-Dimensional Scaling} (LMDS)
is an extension of classical Torgerson MDS, but rather than calculating a
complete distance matrix between all pairs of samples, only the distances
@ -28198,7 +28198,7 @@ geometric models.")
(native-inputs (list r-knitr))
(home-page "https://github.com/JiaxiangBU/add2ggplot")
(synopsis "Extension for ggplot2")
(description "This packages provides tools to create themes and color
(description "This package provides tools to create themes and color
palettes for the package ggplot2.")
(license license:expat)))

View file

@ -12781,7 +12781,7 @@ const functions with conditional compilations.")
(home-page "https://github.com/RustCrypto/formats/tree/master/const-oid")
(synopsis "Implementation of the ISO/IEC Object Identifier (OID)")
(description
"This packages is a const-friendly implementation of the ISO/IEC Object
"This package is a const-friendly implementation of the ISO/IEC Object
Identifier (OID) standard as defined in ITU X.660, with support for BER/DER
encoding/decoding as well as heapless no_std (i.e., embedded) support.")
(license (list license:asl2.0 license:expat))))
@ -41728,7 +41728,7 @@ PEM-encoded data.")
(synopsis
"PEM Encoding implementing a subset of Privacy-Enhanced Mail encoding")
(description
"This packages provides PEM Encoding (RFC 7468) for PKIX, PKCS, and CMS
"This package provides PEM Encoding (RFC 7468) for PKIX, PKCS, and CMS
Structures, implementing a strict subset of the original Privacy-Enhanced Mail
encoding intended specifically for use with cryptographic keys, certificates,
and other messages. It provides a no_std-friendly, constant-time
@ -52866,7 +52866,7 @@ clean}.")
(home-page "https://github.com/RustCrypto/password-hashes")
(synopsis "Scrypt password-based key derivation function")
(description
"This packages provides a Scrypt password-based key derivation
"This package provides a Scrypt password-based key derivation
function.")
(license (list license:expat license:asl2.0))))

View file

@ -30,6 +30,7 @@
#:use-module (gnu packages linux)
#:use-module (gnu packages hurd)
#:use-module (gnu packages mingw)
#:use-module (guix platform)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
@ -345,7 +346,8 @@ target that libc."
`(modify-phases ,phases
(replace 'build
(lambda _
(setenv "ARCH" ,(system->linux-architecture target))
(setenv "ARCH" ,(platform-linux-architecture
(lookup-platform-by-target target)))
(format #t "`ARCH' set to `~a' (cross compiling)~%"
(getenv "ARCH"))

View file

@ -23,6 +23,7 @@
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2021, 2022 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2022 Allan Adair <allan@adair.no>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -946,48 +947,44 @@ SHA256, SHA512, SHA3, AICH, ED2K, Tiger, DC++ TTH, BitTorrent BTIH, GOST R
(define-public botan
(package
(name "botan")
(version "2.18.2")
(version "2.19.1")
(source (origin
(method url-fetch)
(uri (string-append "https://botan.randombit.net/releases/"
"Botan-" version ".tar.xz"))
(sha256
(base32
"0zih8agygp39ff0dwi3fv8y7dnnzpz3y86kcgjbhzlxry49kn6jl"))))
"0q2mzzg0a40prp9gwjk7d9fn8kwj6z2x6h6mzlm0hr6sxz7h0vp2"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref %outputs "out"))
(lib (string-append out "/lib")))
;; Upstream tests and benchmarks with -O3.
(setenv "CXXFLAGS" "-O3")
(invoke "python" "./configure.py"
(string-append "--prefix=" out)
"--disable-static"
(list
#:phases
#~(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Upstream tests and benchmarks with -O3.
(setenv "CXXFLAGS" "-O3")
(invoke "python" "./configure.py"
(string-append "--prefix=" #$output)
"--disable-static"
;; Otherwise, the `botan` executable cannot find
;; libbotan.
(string-append "--ldflags=-Wl,-rpath=" lib)
;; Otherwise, the `botan` executable cannot find
;; libbotan.
(string-append "--ldflags=-Wl,-rpath=" #$output "/lib")
"--with-os-feature=getentropy"
"--with-rst2man"
"--with-os-feature=getentropy"
"--with-rst2man"
;; Recommended by upstream
"--with-zlib" "--with-bzip2" "--with-sqlite3"))))
(add-before 'check 'library-path-for-tests
(lambda _ (setenv "LD_LIBRARY_PATH" (getcwd))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(if tests?
(invoke "./botan-test")))))))
(native-inputs
`(("python" ,python-wrapper)
("python-docutils" ,python-docutils)))
(inputs
(list sqlite bzip2 zlib))
;; Recommended by upstream
"--with-zlib" "--with-bzip2" "--with-sqlite3")))
(add-before 'check 'library-path-for-tests
(lambda _ (setenv "LD_LIBRARY_PATH" (getcwd))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "./botan-test")))))))
(native-inputs (list python-wrapper python-docutils))
(inputs (list sqlite bzip2 zlib))
(synopsis "Cryptographic library in C++11")
(description "Botan is a cryptography library, written in C++11, offering
the tools necessary to implement a range of practical systems, such as TLS/DTLS,

View file

@ -112,7 +112,7 @@ Refresh}in-DRAM mitigations effectively and as such can trigger bit flips.")
(build-system python-build-system)
(propagated-inputs
(list python-capstone))
(home-page "http://shell-storm.org/project/ROPgadget/")
(home-page "https://shell-storm.org/project/ROPgadget/")
(synopsis "Semiautomatic return oriented programming")
(description
"This tool lets you search for @acronym{ROP, Return Oriented Programming}

View file

@ -690,13 +690,13 @@ replacement for the code@{python-memcached} library.")
(define-public litecli
(package
(name "litecli")
(version "1.6.0")
(version "1.8.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "litecli" version))
(sha256
(base32 "1yb706mgzizzijm1k0fbny98jf58qh5q6f2870rbplxlfla4w9sd"))))
(base32 "0ghh8hq5bw3y2ybiy4ibbdfz55jxvilg1s6zmhxmqikhg5s95xh2"))))
(build-system python-build-system)
(propagated-inputs
(list python-cli-helpers
@ -1585,14 +1585,14 @@ types are supported, as is encryption.")
(define-public emacs-rec-mode
(package
(name "emacs-rec-mode")
(version "1.8.2")
(version "1.8.3")
(source (origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"rec-mode-" version ".tar"))
(sha256
(base32
"06mjj1la2v8zdhsflj3mwcp7qnkj7gxzm8wbk2pli1h8vnq2zvd0"))
"0lkmvvdj4xx3qhxqggizrcdawav0accyrza2wmhfdq88g2zh5575"))
(snippet '(begin (delete-file "rec-mode.info")))))
(build-system emacs-build-system)
(arguments
@ -1603,7 +1603,7 @@ types are supported, as is encryption.")
(invoke "makeinfo" "--no-split"
"-o" "rec-mode.info" "rec-mode.texi"))))))
(native-inputs
`(("texinfo" ,texinfo)))
(list texinfo))
(home-page "https://www.gnu.org/software/recutils/")
(synopsis "Emacs mode for working with recutils database files")
(description "This package provides an Emacs major mode @code{rec-mode}

View file

@ -155,7 +155,7 @@ synchronisation library. It provides read-side access that scales linearly
with the number of cores. liburcu-cds provides efficient data structures
based on RCU and lock-free algorithms. These structures include hash tables,
queues, stacks, and doubly-linked lists.")
(license license:lgpl2.1+)))
(license (list license:lgpl2.1 license:expat))))
(define-public uthash
(package

View file

@ -22,17 +22,20 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (gnu packages autotools)
#:use-module (gnu packages backup)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages compression)
#:use-module (gnu packages crypto)
#:use-module (gnu packages dbm)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages guile)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
@ -200,62 +203,60 @@ contains the archive keys used for that.")
(base32 "0hfx6k86kby4xf0xqskpllq00g159j4khh66hfi6dhcdb91dgyd7"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-after 'unpack 'patch-source
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(tzdata (assoc-ref inputs "tzdata"))
(debian (assoc-ref inputs "debian-keyring"))
(ubuntu (assoc-ref inputs "ubuntu-keyring")))
(substitute* "Makefile"
(("/usr") "")
(("-o root -g root") "")
(("chown root.*") "\n"))
(substitute* '("scripts/etch"
"scripts/potato"
"scripts/sarge"
"scripts/sid"
"scripts/woody"
"scripts/woody.buildd")
(("/usr") debian))
(substitute* "scripts/gutsy"
(("/usr") ubuntu))
(substitute* "debootstrap"
(("=/usr") (string-append "=" out)))
;; Ensure PATH works both in guix and within the debian chroot
;; workaround for: https://bugs.debian.org/929889
(substitute* "functions"
(("PATH=/sbin:/usr/sbin:/bin:/usr/bin")
"PATH=$PATH:/sbin:/usr/sbin:/bin:/usr/bin"))
(substitute* (find-files "scripts" ".")
(("/usr/share/zoneinfo") (string-append tzdata "/share/zoneinfo")))
#t)))
(add-after 'install 'install-man-file
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(list
#:phases
#~(modify-phases %standard-phases
(delete 'configure)
(add-after 'unpack 'patch-source
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((debian #$(this-package-input "debian-archive-keyring"))
(ubuntu #$(this-package-input "ubuntu-keyring")))
(substitute* "Makefile"
(("/usr") "")
(("-o root -g root") "")
(("chown root.*") "\n"))
(substitute* '("scripts/etch"
"scripts/potato"
"scripts/sarge"
"scripts/sid"
"scripts/woody"
"scripts/woody.buildd")
(("/usr") debian))
(substitute* "scripts/gutsy"
(("/usr") ubuntu))
(substitute* "debootstrap"
(("=/usr") (string-append "=" #$output))
(("/usr/bin/dpkg") (search-input-file inputs "/bin/dpkg")))
;; Ensure PATH works both in guix and within the debian chroot
;; workaround for: https://bugs.debian.org/929889
(substitute* "functions"
(("PATH=/sbin:/usr/sbin:/bin:/usr/bin")
"PATH=$PATH:/sbin:/usr/sbin:/bin:/usr/bin"))
(substitute* (find-files "scripts")
(("/usr/share/zoneinfo")
(search-input-directory inputs "/share/zoneinfo"))))))
(add-after 'install 'install-man-file
(lambda* (#:key outputs #:allow-other-keys)
(install-file "debootstrap.8"
(string-append out "/share/man/man8"))
#t)))
(add-after 'install 'wrap-executable
(lambda* (#:key outputs #:allow-other-keys)
(let ((debootstrap (string-append (assoc-ref outputs "out")
"/sbin/debootstrap"))
(path (getenv "PATH")))
(wrap-program debootstrap
`("PATH" ":" prefix (,path)))
#t))))
#:make-flags (list (string-append "DESTDIR=" (assoc-ref %outputs "out")))
#:tests? #f)) ; no tests
(string-append #$output "/share/man/man8"))))
(add-after 'install 'wrap-executable
(lambda* (#:key outputs #:allow-other-keys)
(let ((debootstrap (string-append #$output "/sbin/debootstrap"))
(path (getenv "PATH")))
(wrap-program debootstrap
`("PATH" ":" prefix (,path)))))))
#:make-flags #~(list (string-append "DESTDIR=" #$output))
#:tests? #f)) ; no tests
(inputs
`(("debian-keyring" ,debian-archive-keyring)
("ubuntu-keyring" ,ubuntu-keyring)
("tzdata" ,tzdata)
(list debian-archive-keyring
ubuntu-keyring
bash-minimal
dpkg
tzdata
;; Called at run-time from various places, needs to be in PATH.
("gnupg" ,gnupg)
("wget" ,wget)))
;; Called at run-time from various places, needs to be in PATH.
gnupg
wget))
(native-inputs
(list perl))
(home-page "https://tracker.debian.org/pkg/debootstrap")
@ -335,7 +336,7 @@ other apt sources typically provided by open source developers.")
(define-public dpkg
(package
(name "dpkg")
(version "1.21.0")
(version "1.21.8")
(source
(origin
(method git-fetch)
@ -344,14 +345,14 @@ other apt sources typically provided by open source developers.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0g33cyd0qbyfdrphcw8m8ikj2hxqpjbyxbhvnp751515c8hgc4rx"))))
(base32 "1whb78pywdlm4v1ablgvvplqjn15b6qrwqkj0pihw5j77aakyz2s"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'bootstrap 'patch-version
(lambda _
(patch-shebang "get-version")
(patch-shebang "build-aux/get-version")
(with-output-to-file ".dist-version"
(lambda () (display ,version)))))
(add-after 'unpack 'set-perl-libdir
@ -361,16 +362,51 @@ other apt sources typically provided by open source developers.")
(setenv "PERL_LIBDIR"
(string-append out
"/lib/perl5/site_perl/"
,(package-version perl)))))))))
,(package-version perl))))))
(add-after 'install 'wrap-scripts
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(with-directory-excursion (string-append out "/bin")
(for-each
(lambda (file)
(wrap-script file
;; Make sure all perl scripts in "bin" find the
;; required Perl modules at runtime.
`("PERL5LIB" ":" prefix
(,(string-append out
"/lib/perl5/site_perl")
,(getenv "PERL5LIB")))
;; DPKG perl modules always expect dpkg to be installed.
;; Work around this by adding dpkg to the path of the scripts.
`("PATH" ":" prefix (,(string-append out "/bin")))))
(list "dpkg-architecture"
"dpkg-buildflags"
"dpkg-buildpackage"
"dpkg-checkbuilddeps"
"dpkg-distaddfile"
"dpkg-genbuildinfo"
"dpkg-genchanges"
"dpkg-gencontrol"
"dpkg-gensymbols"
"dpkg-mergechangelogs"
"dpkg-name"
"dpkg-parsechangelog"
"dpkg-scanpackages"
"dpkg-scansources"
"dpkg-shlibdeps"
"dpkg-source"
"dpkg-vendor")))))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("gettext" ,gettext-minimal)
("libtool" ,libtool)
("pkg-config" ,pkg-config)
("perl-io-string" ,perl-io-string)))
(list autoconf
automake
gettext-minimal
gnupg ; to run t/Dpkg_OpenPGP.t
libtool
pkg-config
perl-io-string))
(inputs
(list bzip2
guile-3.0 ; for wrap-script
libmd
ncurses
perl

View file

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 20172021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 20172022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2018, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2019 Vagrant Cascadian <vagrant@reproducible-builds.org>
@ -74,7 +74,7 @@
(define-public diffoscope
(package
(name "diffoscope")
(version "212")
(version "213")
(source
(origin
(method git-fetch)
@ -83,7 +83,7 @@
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1yzxqynrbr9kj7f5qxfzcxr8vb86xygm2yzgq8rqqc1khzsl7q90"))
(base32 "075zrraj7pibwgi731pa506pkq5i06mpilqa03w3dd548b1jc9py"))
(patches
(search-patches "diffoscope-fix-llvm-test.patch"))))
(build-system python-build-system)

View file

@ -22,7 +22,7 @@
;;; Copyright © 2021 Mathieu Othacehe <othacehe@gnu.org>
;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2021 Justin Veilleux <terramorpha@cock.li>
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
@ -272,6 +272,18 @@ tmpfs/ramfs filesystems.")
tables. It includes a library and command-line utility.")
(license license:gpl3+)))
(define-public parted-3.4
(package
(inherit parted)
(version "3.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/parted/parted-"
version ".tar.xz"))
(sha256
(base32
"0hjkv84x1bs2qqyx1fnzjqyyqrhv7kpdbq9bgydmi99d8wi80ag1"))))))
(define-public fdisk
(package
(name "fdisk")

View file

@ -9,6 +9,7 @@
;;; Copyright © 2020, 2021, 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Luis Felipe López Acevedo <luis.felipe.la@protonmail.com>
;;; Copyright © 2022 Pradana Aumars <paumars@courrier.dev>
;;;
;;; This file is part of GNU Guix.
;;;
@ -153,6 +154,22 @@ to the @dfn{don't repeat yourself} (DRY) principle.")
;; Django 4.0 deprecated pytz in favor of Pythons built-in zoneinfo.
(append python-pytz)))))
;; archivebox requires django>=3.1.3,<3.2
(define-public python-django-3.1.14
(package
(inherit python-django-3.2)
(version "3.1.14")
(source (origin
(method url-fetch)
(uri (pypi-uri "Django" version))
(sha256
(base32
"0ix3v2wlnplv78zxjrlw8z3hiap2d5mxvk0ny2fc65526shsb93j"))))
(propagated-inputs
(modify-inputs (package-propagated-inputs python-django-3.2)
;; Django 4.0 deprecated pytz in favor of Pythons built-in zoneinfo.
(append python-pytz)))))
(define-public python-django-2.2
(package
(inherit python-django-3.2)

View file

@ -333,14 +333,14 @@ and BOOTP/TFTP for network booting of diskless machines.")
;; When updating, check whether isc-dhcp's bundled copy should be as well.
;; The BIND release notes are available here:
;; https://www.isc.org/bind/
(version "9.16.27")
(version "9.16.29")
(source
(origin
(method url-fetch)
(uri (string-append "https://ftp.isc.org/isc/bind9/" version
"/bind-" version ".tar.xz"))
(sha256
(base32 "0rpmighbbim9wi24p2bg814x5z20xkvv5y6nfnfh30ac22pjm44h"))
(base32 "0rklj342khnycs462nd3k35yymsdv6ibv352jv1nymmxxfc8yh68"))
(patches
(search-patches "bind-re-add-attr-constructor-priority.patch"))))
(build-system gnu-build-system)
@ -871,7 +871,7 @@ Extensions} (DNSSEC).")
(define-public knot
(package
(name "knot")
(version "3.1.6")
(version "3.1.8")
(source
(origin
(method git-fetch)
@ -880,7 +880,7 @@ Extensions} (DNSSEC).")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0rwcp55fvmm0vhad1368knfn0ri642sigh8nykvvikdlx06d21cj"))
(base32 "0v3rh27qnyihdqp5nm8bnn9xd5rl2fbwhj4cmdpc8ik4qs21xyf4"))
(modules '((guix build utils)))
(snippet
'(begin

View file

@ -36,7 +36,7 @@
(define-public elixir
(package
(name "elixir")
(version "1.13.2")
(version "1.13.4")
(source
(origin
(method git-fetch)
@ -45,7 +45,7 @@
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1d3mk7abn3rk536vmsfbm4smj52rljff6s40sndg0i7p6dl3kzxa"))
(base32 "1z19hwnv7czmg3p56hdk935gqxig3x7z78yxckh8fs1kdkmslqn4"))
(patches (search-patches "elixir-path-length.patch"))))
(build-system gnu-build-system)
(arguments

View file

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Robert Vollmert <rob@vllmrt.net>
;;; Copyright © 2022 Philip McGrath <philip@philipmcgrath.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -24,18 +25,25 @@
#:use-module (gnu packages haskell-xyz)
#:use-module (gnu packages haskell-web)
#:use-module (guix build-system haskell)
#:use-module (guix build-system elm)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages))
;; The full elm build calls out to itself via Template Haskell to
;; compile the elm reactor web app. elm reactor isn't required to
;; compile elm applications, so we take this part out of this
;; bootstrap package.
(define-public elm-compiler
;; The `elm` build usually calls out to itself via Template Haskell to compile
;; the `elm reactor` web app (which depends on additional Elm packages) and
;; embeds the static files into itself. The reactor isn't required to compile
;; Elm applications, so we want to skip it for the bootstrap package, but we
;; also want to be able to enable it once we can build it. We patch Elm to
;; instead look for the files on disk relative to the executable and to have
;; `elm reactor` exit with a useful error message if they aren't there.
(define %reactor-root-base
"share/elm/reactor-")
(define-public elm-sans-reactor
(package
(name "elm-compiler")
(version "0.19.0")
(name "elm-sans-reactor")
(version "0.19.1")
(source
(origin
(method git-fetch)
@ -44,24 +52,30 @@
(url "https://github.com/elm/compiler/")
(commit version)))
(sha256
(base32 "0s93z9vr0vp5w894ghc5s34nsq09sg1msf59zfiba87sid5vgjqy"))
(base32 "1rdg3xp3js9xadclk3cdypkscm5wahgsfmm4ldcw3xswzhw6ri8w"))
(patches
(search-patches "elm-compiler-disable-reactor.patch"
"elm-compiler-fix-map-key.patch"))))
(search-patches "elm-reactor-static-files.patch"
"elm-offline-package-registry.patch"))))
(build-system haskell-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'configure 'update-constraints
(lambda _
(substitute* "elm.cabal"
(("(ansi-terminal|containers|network|http-client|language-glsl)\\s+[^,]+" all dep)
dep)))))))
(list
#:configure-flags
#~(list (string-append "--ghc-option=-DGUIX_REACTOR_STATIC_REL_ROOT="
"\"../" #$%reactor-root-base
#$(package-version this-package)
"\""))
#:phases
#~(modify-phases %standard-phases
(add-before 'configure 'update-constraints
(lambda _
(substitute* "elm.cabal"
(("(ansi-terminal|containers|network|http-client|language-glsl)\\s+[^,]+" all dep)
dep)))))))
(inputs
(list ghc-ansi-terminal
ghc-ansi-wl-pprint
ghc-edit-distance
ghc-file-embed
ghc-filelock
ghc-http
ghc-http-client
ghc-http-client-tls
@ -79,9 +93,702 @@
ghc-vector
ghc-zip-archive))
(home-page "https://elm-lang.org")
(synopsis "Minimal variant of @command{elm}")
(description
"This package provides a version of the Elm compiler without support for
the @command{elm reactor} development command.")
(license license:bsd-3)))
(define-public elm
(package
(name "elm")
(version (package-version elm-sans-reactor))
(source (package-source elm-sans-reactor))
(native-inputs (list elm-sans-reactor))
(inputs (list elm-sans-reactor
elm-browser
elm-core
elm-html
elm-http
elm-json
elm-project-metadata-utils
elm-svg
elm-explorations-markdown))
(build-system elm-build-system)
(arguments
(list
#:modules
`((srfi srfi-26)
,@%elm-default-modules)
#:phases
#~(modify-phases %standard-phases
(delete 'stage)
(replace 'configure
(lambda* (#:key native-inputs inputs #:allow-other-keys)
(with-directory-excursion "reactor"
(patch-application-dependencies))))
(replace 'build
(lambda* (#:key native-inputs inputs #:allow-other-keys)
(with-directory-excursion "reactor"
(invoke (search-input-file (or native-inputs inputs)
"/bin/elm")
"make"
"--optimize"
"src/NotFound.elm"
"src/Errors.elm"
"src/Index.elm"))))
(replace 'install
(lambda* (#:key inputs #:allow-other-keys)
(let* ((out-dir #$output)
(bin-dir (string-append out-dir "/bin"))
(reactor-dir (string-append out-dir
"/"
#$%reactor-root-base
(getenv "GUIX_ELM_VERSION")))
(reactor-subdir (string-append reactor-dir "/_elm")))
;; We can't use a symlink here because Haskell's
;; `getExecutablePath` follows all symlinks.
;; Guix can make it a hard link later.
(install-file (search-input-file inputs ;; NOT native-inputs
"/bin/elm")
bin-dir)
(install-file "reactor/assets/favicon.ico" reactor-dir)
(for-each (cut install-file <> reactor-subdir)
'("reactor/elm.js"
"reactor/assets/styles.css"
;; TODO: these are source-code-pro v1.017 and
;; source-sans-pro v1.050: there may be breaking
;; changes in Guix's existing
;; font-adobe-source-{code,sans}-pro packages
"reactor/assets/source-code-pro.ttf"
"reactor/assets/source-sans-pro.ttf")))))
(delete 'validate-compiled))))
(home-page "https://elm-lang.org")
(synopsis "Programming language for Web applications")
(description
"This package provides Elm, a statically-typed functional programming
language for the browser. It includes commands for developers such as
@command{elm make} and @command{elm repl}.")
"Elm is a statically-typed, purely-functional programming language for
the browser. The @command{elm} exectable includes commands for developers
such as @command{elm make} and @command{elm repl}.")
(license license:bsd-3)))
;; The 'elm' package used to be called 'elm-compiler'.
(define-public elm-compiler
(deprecated-package "elm-compiler" elm))
(define-public elm-core
(package
(name "elm-core")
(version "1.0.5")
(source
(elm-package-origin
"elm/core"
version
(base32 "0g3xbi8f9k5q45s95nx3jfvzwdf4b2n63a52wr4027d2xjx0pmvl")))
(build-system elm-build-system)
(inputs (list elm-json-bootstrap))
(arguments
(list #:implicit-elm-package-inputs? #f))
(home-page "https://package.elm-lang.org/packages/elm/core/1.0.5")
(synopsis "Elm's standard libraries")
(description "Every Elm project needs this package!")
(license license:bsd-3)))
(define-public elm-json
(package
(name "elm-json")
(version "1.1.3")
(source
(elm-package-origin
"elm/json"
version
(base32 "1hx986yqw1v2bpkrh6brszl8n8awwg1s8zi7v5qg0p1rqwvjlicz")))
(build-system elm-build-system)
(propagated-inputs (list elm-core))
(arguments
(list #:implicit-elm-package-inputs? #f))
(home-page "https://package.elm-lang.org/packages/elm/json/1.1.3")
(synopsis "Encode and decode JSON values in Elm")
(description
"This package helps you convert between Elm values and JSON values.")
(license license:bsd-3)))
(define-public elm-json-bootstrap
;; elm/core doesn't depend on elm/json,
;; but elm-build-system's strategy for building it
;; (and everything else) does
(hidden-package
(package
(inherit elm-json)
(name "elm-json-bootstrap")
(properties '((upstream-name . "elm/json")))
(propagated-inputs '())
(arguments
(list #:phases
#~(modify-phases %standard-phases
(delete 'configure)
(delete 'build)
(delete 'validate-compiled))
#:implicit-elm-package-inputs? #f)))))
(define-public elm-virtual-dom
(package
(name "elm-virtual-dom")
(version "1.0.3")
(source
(elm-package-origin
"elm/virtual-dom"
version
(base32 "1bjyyws7l0qvgp4ixzaimwriq86ncx5bvrzaksvjx3pv7bmkbx69")))
(build-system elm-build-system)
(propagated-inputs (list elm-json elm-core))
(home-page "https://package.elm-lang.org/packages/elm/virtual-dom/1.0.2")
(synopsis
"Elm's low-level virtual DOM implementation")
(description
"This package provides a virtual DOM implementation that backs Elm's
core libraries for HTML and SVG. You should almost certainly use those
higher-level libraries directly.")
(properties '((upstream-name . "elm/virtual-dom")))
(license license:bsd-3)))
(define-public elm-html
(package
(name "elm-html")
(version "1.0.0")
(source
(elm-package-origin
"elm/html"
version
(base32 "15k1679ja57vvlpinpv06znmrxy09lbhzfkzdc89i01qa8c4gb4a")))
(build-system elm-build-system)
(propagated-inputs
(list elm-virtual-dom
elm-json
elm-core))
(home-page "https://package.elm-lang.org/packages/elm/html/1.0.0")
(synopsis "Fast HTML, rendered with virtual DOM diffing")
(description "This package provides Elm's HTML rendering library.")
(license license:bsd-3)))
(define-public elm-svg
(package
(name "elm-svg")
(version "1.0.1")
(source
(elm-package-origin
"elm/svg"
version
(base32 "1iqsc3p129j56lp1y3z3mfc6x1shvrmx3pkhri2777ylhyw90qvl")))
(build-system elm-build-system)
(propagated-inputs
(list elm-html
elm-virtual-dom
elm-json
elm-core))
(home-page "https://package.elm-lang.org/packages/elm/svg/1.0.1")
(synopsis "Fast SVG, rendered with virtual DOM diffing")
(description
"This package provides Elm's @acronym{SVG, Scalable Vector Graphics}
library.")
(license license:bsd-3)))
(define-public elm-time
(package
(name "elm-time")
(version "1.0.0")
(source
(elm-package-origin
"elm/time"
version
(base32 "0wqa2vhl1zf8z0j2yd3yjwfhr0dydfns43bbzll3k4rhnjadxr1l")))
(build-system elm-build-system)
(propagated-inputs (list elm-core))
(home-page "https://package.elm-lang.org/packages/elm/time/1.0.0")
(synopsis
"POSIX time and time zones in Elm")
(description
"This package provides an Elm library for working with POSIX times, time
zones, formatting, and the clock.")
(license license:bsd-3)))
(define-public elm-url
(package
(name "elm-url")
(version "1.0.0")
(source
(elm-package-origin
"elm/url"
version
(base32 "1f2ij4i7zmijnj2i50qf19lpkr14bhms8dkq029inb5mydi9f8gs")))
(build-system elm-build-system)
(propagated-inputs (list elm-core))
(home-page "https://package.elm-lang.org/packages/elm/url/1.0.0")
(synopsis
"Create and parse URLs in Elm")
(description
"This package helps you:
@enumerate
@item
build new URLs; and
@item
parse existing URLs into nice Elm data structures.
@end enumerate
Use it for HTTP and for @dfn{routing} in @acronym{SPAs, single-page apps}.")
(license license:bsd-3)))
(define-public elm-browser
(package
(name "elm-browser")
(version "1.0.2")
(source
(elm-package-origin
"elm/browser"
version
(base32 "0863nw2hhbpm3s03lm1imi5x28wwknzrwg2p79s5mydgvdvgwjf0")))
(build-system elm-build-system)
(propagated-inputs
(list elm-virtual-dom
elm-url
elm-time
elm-json
elm-html
elm-core))
(home-page "https://package.elm-lang.org/packages/elm/browser/1.0.2")
(synopsis
"Run Elm in browsers")
(description
"This package allows you to create Elm programs that run in browsers,
with access to browser history for @acronym{SPAs, single-page apps}.")
(license license:bsd-3)))
(define-public elm-bytes
(package
(name "elm-bytes")
(version "1.0.8")
(source
(elm-package-origin
"elm/bytes"
version
(base32 "0n411j2cyz9m241q6vszfzpq3fraradwal5m0gigp2505mdfpz3x")))
(build-system elm-build-system)
(propagated-inputs (list elm-core))
(home-page "https://package.elm-lang.org/packages/elm/bytes/1.0.8")
(synopsis "Work with sequences of bytes in Elm")
(description "This package provides an Elm library for working with
densely packed sequences of bytes, such as @code{ArrayBuffer}, typed arrays,
and @code{DataView}.")
(license license:bsd-3)))
(define-public elm-file
(package
(name "elm-file")
(version "1.0.5")
(source
(elm-package-origin
"elm/file"
version
(base32 "0aimgicrdpys0v89m2wjx413561zil14cczjh6mkn9jcgckx6yng")))
(build-system elm-build-system)
(propagated-inputs
(list elm-time
elm-json
elm-core
elm-bytes))
(home-page "https://package.elm-lang.org/packages/elm/file/1.0.5")
(synopsis "Work with files in Elm")
(description "This package enables Elm programs to select files, download
files, and work with file content.")
(license license:bsd-3)))
(define-public elm-http
(package
(name "elm-http")
(version "2.0.0")
(source
(elm-package-origin
"elm/http"
version
(base32 "0mfbz0lkfidmq5xpv5csw8943q0yrpvj0rwd2vb0gc8rbsfc9dg8")))
(build-system elm-build-system)
(propagated-inputs
(list elm-json
elm-file
elm-core
elm-bytes))
(home-page "https://package.elm-lang.org/packages/elm/http/2.0.0")
(synopsis "Make HTTP requests in Elm")
(description "This package enables Elm programs to make HTTP requests and
talk to servers.")
(license license:bsd-3)))
(define-public elm-parser
(package
(name "elm-parser")
(version "1.1.0")
(source
(elm-package-origin
"elm/parser"
version
(base32 "06xx29rmagc5r45qfpvrd393lz83ylngidfp08432f1qc8y6r3lh")))
(build-system elm-build-system)
(propagated-inputs (list elm-core))
(home-page "https://package.elm-lang.org/packages/elm/parser/1.1.0")
(synopsis
"Parsing library for Elm")
(description
"Regular expressions are quite confusing and difficult to use. This
library provides a coherent alternative that handles more cases and produces
clearer code. It is focused on simplicity and great error messages.")
(license license:bsd-3)))
(define-public elm-project-metadata-utils
(package
(name "elm-project-metadata-utils")
(version "1.0.2")
(source
(elm-package-origin
"elm/project-metadata-utils"
version
(base32 "1wj7chfy4knwwyc3k0hy431c80hs7hc686qsr34ayn8gip73x2jj")))
(build-system elm-build-system)
(propagated-inputs
(list elm-parser
elm-json
elm-core))
(home-page
"https://package.elm-lang.org/packages/elm/project-metadata-utils/1.0.2")
(synopsis "Work with @file{elm.json} and @file{docs.json} files in Elm")
(description
"This package is meant for people creating Elm tooling, like editor
plugins. If you just want to make stuff in Elm, there is nothing here for
you.")
(properties '((upstream-name . "elm/project-metadata-utils")))
(license license:bsd-3)))
(define-public elm-explorations-markdown
(package
(name "elm-explorations-markdown")
(version "1.0.0")
(source
(elm-package-origin
"elm-explorations/markdown"
version
(base32 "1f57ikdpbbhchcpwj32216gxjxijrc3sdpg27s1cgzia9pnkqk6p")))
(build-system elm-build-system)
(propagated-inputs (list elm-html elm-core))
(home-page
"https://package.elm-lang.org/packages/elm-explorations/markdown/1.0.0")
(synopsis "Fast markdown parsing and rendering in Elm")
(description
"This package is for markdown parsing and rendering in Elm. It is based
on the @code{marked} project, which focuses on speed.")
(license license:bsd-3)))
(define-public elm-todomvc
(let ((commit "f236e7e56941c7705aba6e42cb020ff515fe3290")
(revision "1"))
(package
(name "elm-todomvc")
(version (git-version "1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/evancz/elm-todomvc")
(commit commit)))
(sha256
(base32 "0g37bglzshkf79s4n7aq9ib44h5qn8ng7n72sh2xslgd20h05nfw"))
(file-name (git-file-name name version))))
(inputs (list elm-browser elm-core elm-html elm-json))
(build-system elm-build-system)
(arguments
(list
#:modules
`((srfi srfi-26)
,@%elm-default-modules)
#:phases
#~(modify-phases %standard-phases
(delete 'stage)
(replace 'configure
patch-application-dependencies)
(replace 'build
(lambda* (#:key native-inputs inputs #:allow-other-keys)
(invoke (search-input-file (or native-inputs inputs)
"/bin/elm")
"make"
"src/Main.elm"
"--output=elm.js")))
(replace 'install
(lambda args
(let* ((out-dir #$output)
(dest-dir
(string-append out-dir
"/share/"
(strip-store-file-name out-dir))))
(for-each (cut install-file <> dest-dir)
`("elm.js"
"index.html"
"style.css"
"README.md")))))
(delete 'validate-compiled))))
(home-page "https://github.com/evancz/elm-todomvc")
(synopsis "TodoMVC in Elm")
(description "This is the official Elm implementation of
@url{https://todomvc.com,TodoMVC}, a simple to-do--list application used to
compare front-end web frameworks.")
(license license:bsd-3))))
(define-public elm-debois-elm-dom
(package
(name "elm-debois-elm-dom")
(version "1.3.0")
(source
(elm-package-origin
"debois/elm-dom"
version
(base32 "0w4z4w6ip118lk5g80w6mbbfxhfmivbmdkdm6wsmk63x85gscmqx")))
(build-system elm-build-system)
(propagated-inputs
(list elm-json elm-html elm-core))
(home-page "https://package.elm-lang.org/packages/debois/elm-dom/1.3.0")
(synopsis "DOM traversal for Elm event-handlers")
(description
"This package provides a library for reading information off the DOM.
Use this if you need to discover geometry information (width, position, etc.)
of rendered elements.")
(license license:asl2.0)))
(define-public elm-random
(package
(name "elm-random")
(version "1.0.0")
(source
(elm-package-origin
"elm/random"
version
(base32 "0z0znkwfs35xiabk6pa9yqwsq03jssgd7jmsj1kk000mikfm7f39")))
(build-system elm-build-system)
(propagated-inputs (list elm-time elm-core))
(home-page "https://package.elm-lang.org/packages/elm/random/1.0.0")
(synopsis "Generate random numbers and values in Elm")
(description
"Need to generate random numbers? How about random game boards? Or
random positions in 3D space? This is the package for you!")
(license license:bsd-3)))
(define-public elm-explorations-test
(package
(name "elm-explorations-test")
(version "1.2.2")
(source
(elm-package-origin
"elm-explorations/test"
version
(base32 "0kw32x0lr6nh5j9xk56vgg7x7c705g38grghh7cdp49frwdd6w3l")))
(build-system elm-build-system)
(propagated-inputs
(list elm-virtual-dom
elm-random
elm-json
elm-html
elm-core))
(home-page
"https://package.elm-lang.org/packages/elm-explorations/test/1.2.2")
(synopsis "Testing framework for Elm")
(description "This package enables writing unit and fuzz tests for Elm
code. To actually run the tests, you need the command-line tool from
@url{https://github.com/rtfeldman/node-test-runner}, which has not yet been
packaged for Guix.")
(license license:bsd-3)))
(define-public elm-danhandrea-elm-date-format
(package
(name "elm-danhandrea-elm-date-format")
(version "2.0.1")
(source
(elm-package-origin
"danhandrea/elm-date-format"
version
(base32 "03mglzyywij5sm56m7q2jhhbsv7f9rdirgwmq0q41ghir81bzpv6")))
(build-system elm-build-system)
(propagated-inputs (list elm-time elm-core))
(inputs (list elm-explorations-test))
(home-page
"https://package.elm-lang.org/packages/danhandrea/elm-date-format/2.0.1")
(synopsis "Date formatting for Elm")
(description "This package enhances @code{elm/time} with support for
format strings and internationalization of dates.")
(license license:bsd-3)))
(define-public elm-danhandrea-elm-time-extra
(package
(name "elm-danhandrea-elm-time-extra")
(version "1.1.0")
(source
(elm-package-origin
"danhandrea/elm-time-extra"
version
(base32 "0z13q8x148d5amcc89f846yzql89n9gyan8fr48y91dhhn7vxibf")))
(build-system elm-build-system)
(propagated-inputs (list elm-time elm-core))
(inputs
(list elm-explorations-test
elm-danhandrea-elm-date-format))
(home-page
"https://package.elm-lang.org/packages/danhandrea/elm-time-extra/1.1.0")
(synopsis "Extra utilities for POSIX time in Elm")
(description "This package enhances @code{elm/time} with extra utilities
for working with POSIX times.")
(license license:bsd-3)))
(define-public elm-justinmimbs-date
(package
(name "elm-justinmimbs-date")
(version "4.0.1")
(source
(elm-package-origin
"justinmimbs/date"
version
(base32 "13mf97137f0yb3gx1mxbya2y70qciah4hp5bcnpj8166vgzb7l3l")))
(build-system elm-build-system)
(propagated-inputs
(list elm-time
elm-parser
elm-core))
(home-page "https://package.elm-lang.org/packages/justinmimbs/date/4.0.1")
(synopsis "Work with dates without times or zones in Elm")
(description
"This Elm package provides a simple @code{Date} type for working with
dates without times or zones.")
(license license:bsd-3)))
(define-public elm-justinmimbs-time-extra
(package
(name "elm-justinmimbs-time-extra")
(version "1.1.1")
(source
(elm-package-origin
"justinmimbs/time-extra"
version
(base32 "1gmgvzlpzkysvm86d0md75ply10pz28bg699m4763frss0jvrngh")))
(build-system elm-build-system)
(propagated-inputs
(list elm-justinmimbs-date
elm-time
elm-core))
(home-page
"https://package.elm-lang.org/packages/justinmimbs/time-extra/1.1.1")
(synopsis "Extra functions for POSIX times in Elm")
(description
"This package provides extra functions for working with @code{Posix}
times from @code{elm/time}.")
(license license:bsd-3)))
(define-public elm-myrho-elm-round
(package
(name "elm-myrho-elm-round")
(version "1.0.4")
(source
(elm-package-origin
"myrho/elm-round"
version
(base32 "0y3j43wr815cvwz5310zalnqzpg3hw8h127zjjlf6x8ynapc2mdb")))
(build-system elm-build-system)
(propagated-inputs (list elm-core))
(inputs (list elm-explorations-test))
(home-page "https://package.elm-lang.org/packages/myrho/elm-round/1.0.4")
(synopsis "Flexible rounding of Elm @code{Float}s")
(description
"This library converts a @code{Float} to a @code{String} with ultimate
control how many digits after the decimal point are shown and how the
remaining digits are rounded. It rounds, floors and ceils the @dfn{common}
way (i.e. half up) or the @dfn{commerical} way (ie. half away from zero).")
(license license:bsd-3)))
(define-public elm-ryannhg-date-format
(package
(name "elm-ryannhg-date-format")
(version "2.3.0")
(source
(elm-package-origin
"ryannhg/date-format"
version
(base32 "0razh6im5qwmla10knk67j8w11mqlqlyfnclykbfl06kaksfm3sp")))
(build-system elm-build-system)
(propagated-inputs (list elm-time elm-core))
(inputs (list elm-explorations-test))
(home-page
"https://package.elm-lang.org/packages/ryannhg/date-format/2.3.0")
(synopsis "Reliable advanced dates formatting for Elm")
(description
"This package provides Elm programs with reliable, powerful tools for
formatting dates and times. It uses Elm's type system instead of format
strings, which makes formatting code more readable and can catch some errors
at compile time.")
(license license:bsd-3)))
(define-public elm-terezka-intervals
(package
(name "elm-terezka-intervals")
(version "2.0.1")
(source
(elm-package-origin
"terezka/intervals"
version
(base32 "0h3im58sa6awyppch1v8ppcrzwc5h48yn45crx98m8zs4isx91lj")))
(build-system elm-build-system)
(propagated-inputs
(list elm-ryannhg-date-format
elm-myrho-elm-round
elm-justinmimbs-time-extra
elm-time
elm-svg
elm-json
elm-html
elm-core
elm-danhandrea-elm-time-extra))
(inputs (list elm-explorations-test))
(home-page "https://package.elm-lang.org/packages/terezka/intervals/2.0.1")
(synopsis "Produce nice intervals for Elm charts")
(description
"This package provides an Elm library for producing nice intervals for
charts. It's useful in combination with @code{terezka/elm-charts}. When I
say ``nice'', I just mean that I try to calculate intervals which begin with
10, 5, 3, 2, or 1 (adjusted to magnitude, of course!). For dates, I try to
hit whole days, weeks, and months or hours, minutes, and seconds.")
(license license:bsd-3)))
(define-public elm-terezka-elm-charts
(package
(name "elm-terezka-elm-charts")
(version "3.0.0") ;; NOTE! Tags like 5.1.0 are from an OLDER version.
(source
(elm-package-origin
"terezka/elm-charts"
version
(base32 "17syq73jwldc7fk7snm5k8s85nsvxyprb34rs1rwjsapc1vii7hc")))
(build-system elm-build-system)
(propagated-inputs
(list elm-terezka-intervals
elm-ryannhg-date-format
elm-time
elm-svg
elm-json
elm-html
elm-core
elm-debois-elm-dom))
(home-page
"https://elm-charts.org")
(synopsis "SVG chart components in Elm")
(description
"Make SVG charts in all Elm. The package can draw charts at a variety of
different levels of customization, from basic charts with standard features to
very custom styles. The library also allows including your very own SVG
elements while still easily utilizing the coordinate system calculated from
your data, as well as editing the SVGs made by the package. It has great
support for interactivity, layering different charts, and adding irregular
details.")
(license license:bsd-3)))

View file

@ -21,7 +21,7 @@
;;; Copyright © 2017, 2018, 2019, 2020, 2022 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017, 2018, 2019, 2020, 2021, 2022 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
;;; Copyright © 2017, 2018 Kyle Meyer <kyle@kyleam.com>
;;; Copyright © 2017, 2018, 2022 Kyle Meyer <kyle@kyleam.com>
;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2017 George Clemmer <myglc2@gmail.com>
;;; Copyright © 2017, 2018 Feng Shu <tumashu@163.com>
@ -485,6 +485,28 @@ repositories through the
server}. The main advantage compared to @code{vc-hg} is speed.")
(license license:gpl3+)))
(define-public emacs-terminal-here
(package
(name "emacs-terminal-here")
(version "2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/davidshepherd7/terminal-here")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1iv1c2mbvhn00ha46c6f98j9syc71xhjpk8m5wa5p32sk4wcc9f4"))))
(build-system emacs-build-system)
(home-page "https://github.com/davidshepherd7/terminal-here")
(synopsis "Open external terminals from Emacs")
(description
"This package provides commands to open external terminal emulators from
Emacs, whose initial working directories are determined in relation to the
current buffer.")
(license license:gpl3+)))
(define-public emacs-hgignore-mode
;; From 2021-03-14.
;; No releases available.
@ -789,7 +811,11 @@ on stdout instead of using a socket as the Emacsclient does.")
(patches (search-patches
;; Submitted for inclusion upstream (see:
;; https://github.com/magit/libegit2/pull/96).
"emacs-libgit-use-system-libgit2.patch"))))
"emacs-libgit-use-system-libgit2.patch"))
(snippet
#~(begin
;; bundled, use the one shipped with emacs instead
(delete-file "src/emacs-module.h")))))
;; Use the cmake-build-system as it provides support for cross builds.
(build-system cmake-build-system)
(arguments
@ -804,6 +830,13 @@ on stdout instead of using a socket as the Emacsclient does.")
(guix build utils))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-source
(lambda _
;; Use Emacs 28 unibyte strings.
;; XXX: This now breaks if linked against Emacs <= 26, probably
;; also 27.
(substitute* "src/egit-blob.c"
(("make_string") "make_unibyte_string"))))
(add-after 'unpack 'set-libgit--module-file
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
@ -3185,6 +3218,35 @@ environment set through Direnv.")
that the binary uses instead of the actual binary contents.")
(license license:gpl3+)))
(define-public emacs-font-lock-studio
(let ((commit "12c35967b31233e06946c70627aa3152dacfe261")
(revision "1"))
(package
(name "emacs-font-lock-studio")
(version (git-version "0.0.7" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Lindydancer/font-lock-studio")
(commit "12c35967b31233e06946c70627aa3152dacfe261")))
(file-name (git-file-name name version))
(sha256
(base32 "0q0s6f5vi3sfifj7vq2nnsmgyyivp1sd3idk32858md5ri71qif0"))))
(build-system emacs-build-system)
(home-page "https://github.com/Lindydancer/font-lock-studio")
(synopsis "Interactive debugger for Font Lock keywords")
(description
"Font Lock Studio is an interactive debugger for Emacs syntax highlighting
rules, also called Font Lock keywords. It can @emph{single-step} Font Lock
keywords -- matchers, highlights, and anchored rules, to see what happens when
a buffer is fontified. Breakpoints can be set on or inside rules. When
inside a rule, matches are visualized using a palette of background colors.
The explainer can describe a rule in plain-text English. Finally, tight
integration with Edebug allows stepping into Lisp expressions that are part of
the Font Lock keywords.")
(license license:gpl3+))))
(define-public emacs-form-feed
(package
(name "emacs-form-feed")
@ -3464,14 +3526,14 @@ filters, new key bindings and faces. It can be enabled by
(define-public emacs-djvu
(package
(name "emacs-djvu")
(version "1.1.1")
(version "1.1.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"djvu-" version ".el"))
"djvu-" version ".tar"))
(sha256
(base32 "0z2qk1v4qkvcwl27ycqfb8vyszq5v6b8ci29b4la00yaki16p04i"))))
(base32 "0i7xwgg2fxndy81lnng6fh9iknals8xvx4f1nmxq7c099bzwb57c"))))
(build-system emacs-build-system)
(inputs (list djview djvulibre))
(arguments
@ -4724,6 +4786,13 @@ keep pressing the key until it selects what you want. There's also
(list emacs-buttercup))
(arguments
'(#:tests? #t
#:phases
(modify-phases %standard-phases
;; This causes the byte-compilation before unit-tests to fail.
(add-after 'unpack 'remove-error-on-warn
(lambda _
(substitute* "Makefile"
(("--eval '\\(setq byte-compile-error-on-warn t\\)'") "")))))
;; Don't run case-tests as they will fail to create sockets because
;; the path is too long
#:test-command '("make" "byte-compile" "unit-tests")
@ -6425,18 +6494,18 @@ src blocks.")
(define-public emacs-debbugs
(package
(name "emacs-debbugs")
(version "0.31")
(version "0.32")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/debbugs-"
version ".tar"))
(sha256
(base32 "11vdjrn5m5g6pirw8jv0602fbwwgdhazfrrwxxplii8x02gqk0sr"))))
(base32 "1xp3mj3ndaljma0g7x9abziphgi2a6j8k1v52sb8xwgn4p5gdvby"))))
(build-system emacs-build-system)
(arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$")))
(propagated-inputs
(list emacs-async))
(list emacs-soap-client))
(home-page "https://elpa.gnu.org/packages/debbugs.html")
(synopsis "Access the Debbugs bug tracker in Emacs")
(description
@ -9708,6 +9777,8 @@ navigate code in a tree-like fashion.")
(sha256
(base32
"1q3sgk8ffwajmh8l7c4p4fz36xw4fqds8yqblbi5kardaa8bs8cs"))
(patches
(search-patches "emacs-lispy-fix-thread-last-test.patch"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(propagated-inputs
@ -10954,9 +11025,25 @@ indentation guides in Emacs:
(with-directory-excursion "test"
(for-each delete-file
(append (find-files "." "elpy-refactor")
(find-files "." "elpy-multiedit")
(find-files "." "elpy-pdb")
(find-files "." "elpy-promise"))))))
(find-files "." "elpy-multiedit")
(find-files "." "elpy-pdb")
(find-files "." "elpy-promise")))
;; These test fail since upgrading Emacs from version 27 to
;; 28.1 (see:
;; https://github.com/jorgenschaefer/elpy/issues/1982).
(delete-file "elpy-project-find-git-root-test.el")
(substitute* "elpy-company-backend-test.el"
(("elpy-company-backend-should-add-shell-candidates.*" all)
(string-append all " :expected-result :failed\n")))
(substitute* "elpy-eldoc-documentation-test.el"
(("elpy-eldoc-documentation-should-show-object-onelinedoc.*" all)
(string-append all " :expected-result :failed\n")))
(substitute* "elpy-shell-send-file-test.el"
(("elpy-shell-send-file-should-accept-large-strings.*" all)
(string-append all " :expected-result :failed\n")))
(substitute* "elpy-shell-echo-inputs-and-outputs-test.el"
(("elpy-shell-should-echo-outputs.*" all)
(string-append all " :expected-result :failed\n"))))))
;; The default environment of the RPC uses Virtualenv to install
;; Python dependencies from PyPI. We don't want/need this in Guix.
(add-before 'check 'do-not-use-virtualenv
@ -12037,41 +12124,45 @@ news items, openrc and runscripts.")
(license license:gpl2+)))
(define-public emacs-evil
(package
(name "emacs-evil")
(version "1.14.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emacs-evil/evil")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"17xrn3s6a4afmls8fw8nnxa1jq9dmj2qqrxa2vngh50hxpz8840p"))))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'check 'fix-test-helpers
(lambda _
(substitute* "evil-test-helpers.el"
(("\\(undo-tree-mode 1\\)") ""))
#t))
(add-before 'install 'make-info
(lambda _
(with-directory-excursion "doc/build/texinfo"
(invoke "makeinfo" "--no-split"
"-o" "evil.info" "evil.texi")))))))
(build-system emacs-build-system)
(native-inputs (list texinfo))
(home-page "https://github.com/emacs-evil/evil")
(synopsis "Extensible Vi layer for Emacs")
(description
"Evil is an extensible vi layer for Emacs. It emulates the
;; Commit message claims this is 1.15.0, but there's no tag for it, so we
;; use full git-version instead
(let ((commit "008a6cdb12f15e748979a7d1c2f26c34c84dedbf")
(revision "0"))
(package
(name "emacs-evil")
(version (git-version "1.15.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emacs-evil/evil")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1hxhw1rsm0wbrhz85gfabncanijpxd47g5yrdnl3bbm499z1gsvg"))))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'check 'fix-test-helpers
(lambda _
(substitute* "evil-test-helpers.el"
(("\\(undo-tree-mode 1\\)") ""))
#t))
(add-before 'install 'make-info
(lambda _
(with-directory-excursion "doc/build/texinfo"
(invoke "makeinfo" "--no-split"
"-o" "evil.info" "evil.texi")))))))
(build-system emacs-build-system)
(native-inputs (list texinfo))
(home-page "https://github.com/emacs-evil/evil")
(synopsis "Extensible Vi layer for Emacs")
(description
"Evil is an extensible vi layer for Emacs. It emulates the
main features of Vim, and provides facilities for writing custom
extensions.")
(license license:gpl3+)))
(license license:gpl3+))))
(define-public emacs-evil-collection
(package
@ -12654,7 +12745,7 @@ passive voice.")
(define-public emacs-org
(package
(name "emacs-org")
(version "9.5.2")
(version "9.5.3")
(source
(origin
(method git-fetch)
@ -12663,7 +12754,7 @@ passive voice.")
(commit (string-append "release_" version))))
(file-name (git-file-name name version))
(sha256
(base32 "19fg3drf5h7k46fkdn3b09s69rx8a909cslg7vp2k3b2yji77fdp"))))
(base32 "0h1n6gqxv3kj3y98n5547rhpw4qnp03lfar79npb4paqgpxf76wb"))))
(build-system emacs-build-system)
(arguments
`(#:tests? #t
@ -12739,9 +12830,10 @@ programming and reproducible research.")
(add-after 'unpack 'enter-source-directory
(lambda _
(chdir "lisp"))))))
(native-inputs
(list emacs-cider))
(propagated-inputs
(list emacs-arduino-mode ;XXX: remove after 0.4+ release.
emacs-cider
emacs-org))
(home-page "https://git.sr.ht/~bzg/org-contrib")
(synopsis "Unmaintained add-ons for Org mode")
@ -15760,27 +15852,46 @@ library.")
(license license:gpl3+))))
(define-public emacs-rpm-spec-mode
(package
(name "emacs-rpm-spec-mode")
(version "0.16")
(source
(origin
(method url-fetch)
;; URI has the Fedora release number instead of the version
;; number. This will have to updated manually every new release.
(uri (string-append
"https://src.fedoraproject.org/cgit/rpms"
"/emacs-rpm-spec-mode.git/snapshot"
"/emacs-rpm-spec-mode-f26.tar.gz"))
(sha256
(base32
"17dz80lhjrc89fj17pysl8slahzrqdkxgcjdk55zls6jizkr6kz3"))))
(build-system emacs-build-system)
(home-page "http://pkgs.fedoraproject.org/cgit/rpms/emacs-rpm-spec-mode.git")
(synopsis "Emacs major mode for editing RPM spec files")
(description "@code{emacs-rpm-spec-mode} provides an Emacs major mode for
(let ((commit "c1c38050c48ea330c7cea632b8785d66daeefb2b")
(revision "0"))
(package
(name "emacs-rpm-spec-mode")
(version (git-version "0.16" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/stigbjorlykke/rpm-spec-mode")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0427kcvf2ljhzwxskn3jzk0ncrl3f9zcz2sm83d9pmhh5jax2gch"))))
(build-system emacs-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'adjust-for-emacs-28
(lambda _
;; Since Emacs 28, define-obsolete-variable-alias require a
;; 3rd argument to specify when the deprecation was
;; introduced.
;; The rpm-spec-mode.el file is encoded in ISO-8859-1 (iso-latin-1).
(with-fluids ((%default-port-encoding "ISO-8859-1"))
(substitute* "rpm-spec-mode.el"
(("'rpm-spec-completion-ignore-case" all)
(string-append all " \"0.12\""))
(("'rpm-spec-nobuild" all)
(string-append all " \"0.12\""))
(("'rpm-spec-initialize-sections" all)
(string-append all " \"0.12\""))
(("'rpm-spec-insert-changelog-version" all)
(string-append all " \"0.12\"")))))))))
(home-page "https://github.com/stigbjorlykke/rpm-spec-mode")
(synopsis "Emacs major mode for editing RPM spec files")
(description "@code{emacs-rpm-spec-mode} provides an Emacs major mode for
editing RPM spec files.")
(license license:gpl2+)))
(license license:gpl2+))))
(define-public emacs-lcr
(package
@ -19492,7 +19603,7 @@ buffer.")
(define-public emacs-beginend
(package
(name "emacs-beginend")
(version "2.2.0")
(version "2.3.0")
(source
(origin
(method git-fetch)
@ -19501,7 +19612,7 @@ buffer.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1r9033zlx2q2dk3bjz004flxdiw79qiswq0zqdjnlzwassvk0f35"))))
(base32 "17r8v1sjvgcmprywny9fdg54x4pssp8p7a9ivv5mrygkqjz1vykk"))))
;; TODO: Run tests.
(build-system emacs-build-system)
(inputs
@ -22487,52 +22598,37 @@ files. It focuses on highlighting the document to improve readability.")
(license license:gpl2+)))
(define-public emacs-racer
(package
(name "emacs-racer")
(version "1.2")
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/racer-rust/emacs-racer")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0xj5iki10cg8j8vvqjlw6lfx97k3agwirhchcjnzbnkry48x9qi6"))))
(arguments
`(#:tests? #t
#:test-command '("make" "test")
#:phases
(modify-phases %standard-phases
(add-before 'check 'fix-makefile
(lambda _
(substitute* "Makefile"
(("\\$\\{CASK\\} exec ") ""))
#t))
;; Two tests are failing with Emacs 27, as reported here:
;; <https://github.com/racer-rust/emacs-racer/issues/136>. Disable
;; them.
(add-before 'check 'fix-failing-tests
(lambda _
(substitute* "test/racer-test.el"
(("`Write`") "Write")
(("^\\\\\\[`str\\]:.*") "")
((" \\[`str`\\]") " str"))
#t)))))
(native-inputs
(list emacs-ert-runner emacs-undercover))
(propagated-inputs
(list emacs-dash emacs-f emacs-pos-tip emacs-rust-mode emacs-s))
(build-system emacs-build-system)
(home-page "https://github.com/racer-rust/emacs-racer")
(synopsis "Racer support for Emacs")
(description
"This is the official Emacs package for Racer. It supports code
(let ((commit "1e63e98626737ea9b662d4a9b1ffd6842b1c648c")
(revision "0"))
(package
(name "emacs-racer")
(version (git-version "1.2" revision commit))
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/racer-rust/emacs-racer")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "12a429lajk09qp1jxgig54p8z6wndfgr4jwdmgkc9s2df9sw02d3"))))
(arguments
`(#:tests? #t
#:test-command '("ert-runner")))
(native-inputs
(list emacs-ert-runner emacs-undercover))
(propagated-inputs
(list emacs-dash emacs-f emacs-pos-tip emacs-rust-mode emacs-s))
(build-system emacs-build-system)
(home-page "https://github.com/racer-rust/emacs-racer")
(synopsis "Racer support for Emacs")
(description
"This is the official Emacs package for Racer. It supports code
completion of variables, functions and modules. It can also jump to
definition of functions and types, and show a help buffer based on the
docstring of the thing at point.")
(license license:expat)))
(license license:expat))))
(define-public emacs-rust-mode
(package
@ -23527,7 +23623,7 @@ targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)")
(define-public emacs-buttercup
(package
(name "emacs-buttercup")
(version "1.24")
(version "1.25")
(source
(origin
(method git-fetch)
@ -23537,7 +23633,7 @@ targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)")
(file-name (git-file-name name version))
(sha256
(base32
"1w02p4bfkyga6sign4flq2kw0hawyvnv63410pyh8nm7acp311gg"))))
"0fsysvsypda6b7azc15bpaprq3bwx4gb6rlq2mj6f8rgwdqc8153"))))
(build-system emacs-build-system)
(arguments
`(#:tests? #t
@ -24001,27 +24097,30 @@ chevron marks.")
(license license:gpl3+))))
(define-public emacs-nix-mode
(package
(name "emacs-nix-mode")
(version "1.4.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/NixOS/nix-mode")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1bqlhkxg0faddhvxx909dq46dxdxk4mdyhdpww92dmzgxdpq38sx"))))
(build-system emacs-build-system)
(inputs
(list emacs-company emacs-json-mode emacs-mmm-mode))
(home-page "https://github.com/NixOS/nix-mode")
(synopsis "Emacs major mode for editing Nix expressions")
(description "@code{nixos-mode} provides an Emacs major mode for editing
;; Use the latest commit to get unreleased fixes to build with Emacs 28.1.
(let ((commit "8fe2ccf0b01f694a77d2528e06c10f06057784f6")
(revision "0"))
(package
(name "emacs-nix-mode")
(version (git-version "1.4.5" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/NixOS/nix-mode")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "08kz9qp4gp55z1i87ig0ysq6pgqgwlgr765g1vp8gsh6lp3myh36"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-company emacs-json-mode emacs-magit emacs-mmm-mode))
(home-page "https://github.com/NixOS/nix-mode")
(synopsis "Emacs major mode for editing Nix expressions")
(description "@code{nixos-mode} provides an Emacs major mode for editing
Nix expressions. It supports syntax highlighting, indenting and refilling of
comments.")
(license license:lgpl2.1+)))
(license license:lgpl2.1+))))
(define-public emacs-libmpdel
(package
@ -27522,8 +27621,8 @@ contrast and few colors.")
(license license:gpl3+))))
(define-public emacs-doom-themes
(let ((commit "e803fc4ac8cf7118e2d1544d8241b848b5e79e9f")
(revision "5")
(let ((commit "e9bdd137116fa2037ed60037b8421cf68c64888d")
(revision "6")
(version "2.1.6"))
(package
(name "emacs-doom-themes")
@ -27535,7 +27634,7 @@ contrast and few colors.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "128hdmf0jkzr12fv2r6z349qiwba6q97hsb6b1n2qlhi0v5v3mfh"))))
(base32 "178ri980kwkndb73dawhsfr1dkl6xjdb451z0iar9ghk8z0r0wpg"))))
(build-system emacs-build-system)
(native-inputs
(list emacs-ert-runner))
@ -29536,11 +29635,12 @@ conventions.")
(license license:gpl3+)))
(define-public emacs-haskell-snippets
;; The commit below is 5 commits ahead of release, and includes a build fix.
(let ((commit "07b0f460b946fd1be26c29652cb0468b47782f3a"))
;; The commit below is 7 commits ahead of release, and includes a build fix.
;; And also a fix in one snippet.
(let ((commit "1c29c4a68ce89848b8d371c6510d1de3b586c8b3"))
(package
(name "emacs-haskell-snippets")
(version (git-version "0.1.0" "0" commit))
(version (git-version "0.1.0" "1" commit))
(source
(origin
(method git-fetch)
@ -29550,20 +29650,19 @@ conventions.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0a7y3awi9hcyahggf0ghsdwvsmrhr9yq634wy9lkqjzrm2hqj0ci"))))
(base32 "1lwnggarmavyf164cfzbzzkq9ffahhd3bz7gw644czs49sndcawf"))))
(build-system emacs-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'install 'install-snippets
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(snippets
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'install-snippets
(lambda _
(let ((snippets
(string-append
out "/share/emacs/site-lisp/snippets/haskell-mode")))
(mkdir-p snippets)
(copy-recursively "snippets/haskell-mode" snippets)
#t))))))
#$output "/share/emacs/site-lisp/snippets/haskell-mode")))
(mkdir-p snippets)
(copy-recursively "snippets/haskell-mode" snippets)))))))
(propagated-inputs
(list emacs-yasnippet))
(home-page "https://github.com/haskell/haskell-snippets")
@ -29646,7 +29745,7 @@ personal wiki.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "00zclyh600865ys7pqiryp3k5li9h20bypvfp2bzqi3588hn9n4i"))))
(base32 "166n1q30xamms4lfqq9vp0yknq33gwlk54qaravxxwz01fdpgb25"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-helm-bibtex emacs-org-ref emacs-org-roam))

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2019, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013-2017, 2019, 2021-2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Mark H Weaver <mhw@netris.org>
@ -465,10 +465,8 @@ editor (with wide ints)" )
(base32
"0lvcvsz0f4mawj04db35p1dvkffdqkz8pkhc0jzh9j9x2i63kcz6"))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("guile" ,guile-for-guile-emacs)
,@(package-native-inputs emacs)))
(modify-inputs (package-native-inputs emacs)
(prepend autoconf automake guile-for-guile-emacs)))
(arguments
(substitute-keyword-arguments `(;; Build fails if we allow parallel build.
#:parallel-build? #f
@ -476,18 +474,18 @@ editor (with wide ints)" )
#:tests? #f
,@(package-arguments emacs))
((#:configure-flags flags ''())
`(delete "--with-cairo" ,flags))
#~(delete "--with-cairo" #$flags))
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'autogen
(lambda _
(invoke "sh" "autogen.sh")))
;; Build sometimes fails: deps/dispnew.d: No such file or directory
(add-before 'build 'make-deps-dir
(lambda _
(invoke "mkdir" "-p" "src/deps")))
(delete 'restore-emacs-pdmp)
(delete 'strip-double-wrap))))))))
#~(modify-phases #$phases
(add-after 'unpack 'autogen
(lambda _
(invoke "sh" "autogen.sh")))
;; Build sometimes fails: deps/dispnew.d: No such file or directory
(add-before 'build 'make-deps-dir
(lambda _
(invoke "mkdir" "-p" "src/deps")))
(delete 'restore-emacs-pdmp)
(delete 'strip-double-wrap))))))))
(define-public m17n-db
(package

View file

@ -1415,16 +1415,18 @@ raw USB commands.")
(define-public west
(package
(name "west")
(version "0.6.3")
(version "0.13.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "west" version))
(sha256
(base32
"0ql6ij1hrj2ir5wkxm96zgig5qwvfwa75w77wh2y13w6b9cqcr4b"))))
"1hw9qas8ry8prn24iqka8kw2nv7ndxr95mvwr5lww53w2sr7p807"))))
(propagated-inputs
(list python-colorama python-configobj python-pykwalify
(list python-colorama
python-packaging
python-pykwalify
python-pyyaml))
(build-system python-build-system)
(home-page "https://github.com/zephyrproject-rtos/west")

View file

@ -1732,14 +1732,14 @@ it suitable for security research and analysis.")
(define-public asco
(package
(name "asco")
(version "0.4.10")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/asco/asco/" version "/ASCO-"
version ".tar.gz"))
(sha256
(base32
"119rbc2dc8xzwxvykgji0v0nrzvymjmlizr1bc2mihspj686kxsl"))))
(version "0.4.11")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/asco/asco/" version "/ASCO-"
version ".tar.gz"))
(sha256
(base32 "0ggxv0p1zmfbvd1k17p2j1cskbjsa83fansz8ihxn7ax9qdicljv"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests
@ -1751,13 +1751,12 @@ it suitable for security research and analysis.")
(lambda* (#:key inputs #:allow-other-keys)
(let ((coreutils (assoc-ref inputs "coreutils-minimal")))
(substitute* '("errfunc.c" "asco.c")
(("cp ")
(string-append coreutils "/bin/cp "))
(("nice")
(string-append coreutils "/bin/nice")))
(("(cp|nice) " _ command)
(string-append
(search-input-file inputs (string-append "bin/" command))
" ")))
(substitute* "Makefile"
(("<FULL_PATH_TO_MPICH>/bin/mpicc") (which "mpicc")))
#t)))
(("<FULL_PATH_TO_MPICH>/bin/mpicc") (which "mpicc"))))))
(replace 'install ; no install target
(lambda* (#:key outputs #:allow-other-keys)
(for-each (lambda (file)
@ -1765,8 +1764,7 @@ it suitable for security research and analysis.")
(assoc-ref outputs "out")
"/bin")))
'("asco" "asco-mpi" "asco-test"
"tools/alter/alter" "tools/log/log"))
#t)))))
"tools/alter/alter" "tools/log/log")))))))
(native-inputs
`(("mpi" ,openmpi)))
(inputs
@ -1784,7 +1782,7 @@ high-performance parallel differential evolution (DE) optimization algorithm.")
;; See <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27344#236>.
(package
(name "libngspice")
(version "36")
(version "37")
(source
(origin
(method url-fetch)
@ -1795,7 +1793,7 @@ high-performance parallel differential evolution (DE) optimization algorithm.")
"old-releases/" version
"/ngspice-" version ".tar.gz")))
(sha256
(base32 "133za6m9grpnnlb46sijkda7ky41mrbvfdb60i0m695sxy3q50ag"))))
(base32 "1gpcic6b6xk3g4956jcsqljf33kj5g43cahmydq6m8rn39sadvlv"))))
(build-system gnu-build-system)
(arguments
`(;; No tests for libngspice exist.
@ -1821,10 +1819,7 @@ high-performance parallel differential evolution (DE) optimization algorithm.")
(list "--enable-openmp"
"--enable-ciderlib"
"--enable-xspice"
"--with-ngshared"
;; Readline must be disabled to build KiCad with ngspice 34. See
;; https://bugs.archlinux.org/task/70563 for reference.
"--with-readline=no")))
"--with-ngshared")))
(native-inputs
(list bison flex))
(inputs
@ -2468,6 +2463,7 @@ comments.")))
coin3D
double-conversion
eigen
fontconfig
freetype
gl2ps
glew

View file

@ -41,7 +41,7 @@
(define-public erlang
(package
(name "erlang")
(version "24.2.1")
(version "24.3.4")
(source (origin
(method git-fetch)
;; The tarball from http://erlang.org/download contains many
@ -53,7 +53,7 @@
(file-name (git-file-name name version))
(sha256
(base32
"0glbdh4la0k4ikygj6rssvlbxbzybjn0bpp276wq170d6rgahlf6"))
"0rrnppglh261x81w9bzmh6wvxy8xjqiiw3nvv4q2214pmc1pxilr"))
(patches (search-patches "erlang-man-path.patch"))))
(build-system gnu-build-system)
(native-inputs
@ -67,7 +67,7 @@
(version-major+minor version) ".tar.gz"))
(sha256
(base32
"0k2zghkkqmf8g66hfb6zff2b7q5sl3r9y6lmv56ky03wzh9lpbjn"))))))
"057nrw8563nyd98l5zp9ffi3npw6h3jx06j1hv110wzpxqi25bb8"))))))
(inputs
(list ncurses openssl wxwidgets))
(propagated-inputs

View file

@ -1158,128 +1158,136 @@ with the included @command{xfstests-check} helper.")
(base32 "1xmcy4f0damf1pkb1sy1339ir1jkky0dwzd8vhwgc1pqjgac0liv"))))
(build-system linux-module-build-system)
(arguments
`(;; The ZFS kernel module should not be downloaded since the license
;; terms don't allow for distributing it, only building it locally.
#:substitutable? #f
;; Tests cannot run in an unprivileged build environment.
#:tests? #f
#:phases
(modify-phases %standard-phases
(add-after 'configure 'really-configure
(lambda* (#:key outputs inputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* "configure"
(("-/bin/sh") (string-append "-" (which "sh"))))
(invoke "./configure"
"--with-config=all"
(string-append "--prefix=" out)
(string-append "--with-dracutdir=" out "/lib/dracut")
(string-append "--with-udevdir=" out "/lib/udev")
(string-append "--with-mounthelperdir=" out "/sbin")
(string-append "--with-linux="
(assoc-ref inputs "linux-module-builder")
"/lib/modules/build")))))
(add-after 'unpack 'patch-source
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(src (assoc-ref outputs "src"))
(util-linux (assoc-ref inputs "util-linux"))
(nfs-utils (assoc-ref inputs "nfs-utils"))
(kmod (assoc-ref inputs "kmod-runtime")))
;; New feature "compatibility=" in 2.1.0.
;; This feature looks up in two locations:
;; /etc/zfs/compatibility.d/
;; /usr/share/zfs/compatibility.d/
;; The first is intended for system-specific compatibility
;; sets, while the second is what is installed with the
;; OpenZFS package, so use the absolute path for the first
;; (which requires patching in the file) and the store path
;; for the second (which it gets by default).
(substitute* "include/sys/fs/zfs.h"
(("#define\tZPOOL_SYSCONF_COMPAT_D.*$")
; Use absolute path.
"#define\tZPOOL_SYSCONF_COMPAT_D\t\"/etc/zfs/compatibility.d\"\n"))
;; Also update the manual, which uses absolute paths, so that
;; /usr/share/zfs/compatibility.d/ is referred via the store.
(substitute* '("man/man7/zpoolprops.7"
"man/man7/zpool-features.7")
(("/usr/share/zfs/compatibility.d")
(string-append out "/share/zfs/compatibility.d")))
(substitute* "etc/Makefile.in"
;; This just contains an example configuration file for
;; configuring ZFS on traditional init systems, skip it
;; since we cannot use it anyway; the install target becomes
;; misdirected.
(("= default ") "= "))
(substitute* "lib/libzfs/os/linux/libzfs_util_os.c"
;; Use path to /gnu/store/*-kmod in actual path that is exec'ed.
(("\"/sbin/modprobe\"")
(string-append "\"" kmod "/bin/modprobe" "\""))
;; Just use 'modprobe' in message to user, since Guix
;; does not have a traditional /sbin/
(("'/sbin/modprobe ") "'modprobe "))
(substitute* "contrib/Makefile.in"
;; This is not configurable nor is its hard-coded /usr prefix.
((" initramfs") ""))
(substitute* "module/os/linux/zfs/zfs_ctldir.c"
(("/usr/bin/env\", \"umount")
(string-append util-linux "/bin/umount\", \"-n"))
(("/usr/bin/env\", \"mount")
(string-append util-linux "/bin/mount\", \"-n")))
(substitute* "lib/libzfs/os/linux/libzfs_mount_os.c"
(("/bin/mount") (string-append util-linux "/bin/mount"))
(("/bin/umount") (string-append util-linux "/bin/umount")))
(substitute* "lib/libshare/os/linux/nfs.c"
(("/usr/sbin/exportfs")
(string-append nfs-utils "/sbin/exportfs")))
(substitute* "config/zfs-build.m4"
(("\\$sysconfdir/init.d") (string-append out "/etc/init.d")))
(substitute* '("etc/zfs/Makefile.am"
"cmd/zed/Makefile.am")
(("\\$\\(sysconfdir)") (string-append out "/etc")))
(substitute* "cmd/vdev_id/vdev_id"
(("PATH=/bin:/sbin:/usr/bin:/usr/sbin")
(string-append "PATH="
(dirname (which "chmod")) ":"
(dirname (which "grep")) ":"
(dirname (which "sed")) ":"
(dirname (which "gawk")))))
(substitute* "contrib/pyzfs/Makefile.in"
((".*install-lib.*") ""))
(substitute* '("Makefile.am" "Makefile.in")
(("\\$\\(prefix)/src") (string-append src "/src")))
(substitute* (find-files "udev/rules.d/" ".rules.in$")
(("/sbin/modprobe") (string-append kmod "/bin/modprobe"))))))
(replace 'build
(lambda _ (invoke "make")))
(replace 'install
(lambda* (#:key outputs inputs native-inputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(moddir (assoc-ref outputs "module"))
(kmod (assoc-ref (or native-inputs inputs) "kmod")))
(invoke "make" "install"
(string-append "DEFAULT_INITCONF_DIR=" out "/etc/default")
(string-append "DEPMOD=" kmod "/bin/depmod")
(string-append "INSTALL_PATH=" out)
(string-append "INSTALL_MOD_PATH=" moddir)
"INSTALL_MOD_STRIP=1")
(install-file "contrib/bash_completion.d/zfs"
(string-append out
"/share/bash-completion/completions"))))))))
(list
;; The ZFS kernel module should not be downloaded since the license
;; terms don't allow for distributing it, only building it locally.
#:substitutable? #f
;; Tests cannot run in an unprivileged build environment.
#:tests? #f
#:phases
#~(modify-phases %standard-phases
(add-after 'configure 'really-configure
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "configure"
(("-/bin/sh") (string-append "-" (which "sh"))))
(invoke "./configure"
"--with-config=all"
(string-append "--prefix=" #$output)
(string-append "--with-dracutdir=" #$output
"/lib/dracut")
(string-append "--with-udevdir=" #$output
"/lib/udev")
(string-append "--with-mounthelperdir=" #$output
"/sbin")
(string-append "--with-linux="
(search-input-directory
inputs
"lib/modules/build")))))
(add-after 'unpack 'patch-source
(lambda* (#:key inputs #:allow-other-keys)
;; New feature "compatibility=" in 2.1.0.
;; This feature looks up in two locations:
;; /etc/zfs/compatibility.d/
;; /usr/share/zfs/compatibility.d/
;; The first is intended for system-specific compatibility
;; sets, while the second is what is installed with the
;; OpenZFS package, so use the absolute path for the first
;; (which requires patching in the file) and the store path
;; for the second (which it gets by default).
(substitute* "include/sys/fs/zfs.h"
(("#define\tZPOOL_SYSCONF_COMPAT_D.*$")
;; Use absolute path.
"#define\tZPOOL_SYSCONF_COMPAT_D\t\"/etc/zfs/compatibility.d\"\n"))
;; Also update the manual, which uses absolute paths, so that
;; /usr/share/zfs/compatibility.d/ is referred via the store.
(substitute* '("man/man7/zpoolprops.7"
"man/man7/zpool-features.7")
(("/usr/share/zfs/compatibility.d")
(string-append #$output "/share/zfs/compatibility.d")))
(substitute* "etc/Makefile.in"
;; This just contains an example configuration file for
;; configuring ZFS on traditional init systems, skip it
;; since we cannot use it anyway; the install target becomes
;; misdirected.
(("= default ") "= "))
(substitute* "lib/libzfs/os/linux/libzfs_util_os.c"
;; Use path to /gnu/store/*-kmod in actual path that is
;; exec'ed.
(("\"/sbin/modprobe\"")
(string-append "\""
(search-input-file inputs "/bin/modprobe")
"\""))
;; Just use 'modprobe' in message to user, since Guix
;; does not have a traditional /sbin/
(("'/sbin/modprobe ") "'modprobe "))
(substitute* "contrib/Makefile.in"
;; This is not configurable nor is its hard-coded /usr prefix.
((" initramfs") ""))
(substitute* "module/os/linux/zfs/zfs_ctldir.c"
(("/usr/bin/env\", \"umount")
(string-append (search-input-file inputs "/bin/umount")
"\", \"-n"))
(("/usr/bin/env\", \"mount")
(string-append (search-input-file inputs "/bin/mount")
"\", \"-n")))
(substitute* "lib/libzfs/os/linux/libzfs_mount_os.c"
(("/bin/mount") (search-input-file inputs "/bin/mount"))
(("/bin/umount") (search-input-file inputs "/bin/umount")))
(substitute* "lib/libshare/os/linux/nfs.c"
(("/usr/sbin/exportfs")
(search-input-file inputs "/sbin/exportfs")))
(substitute* "config/zfs-build.m4"
(("\\$sysconfdir/init.d")
(string-append #$output "/etc/init.d")))
(substitute* '("etc/zfs/Makefile.am"
"cmd/zed/Makefile.am")
(("\\$\\(sysconfdir)") (string-append #$output "/etc")))
(substitute* "cmd/vdev_id/vdev_id"
(("PATH=/bin:/sbin:/usr/bin:/usr/sbin")
(string-append "PATH="
(dirname (which "chmod")) ":"
(dirname (which "grep")) ":"
(dirname (which "sed")) ":"
(dirname (which "gawk")))))
(substitute* "contrib/pyzfs/Makefile.in"
((".*install-lib.*") ""))
(substitute* '("Makefile.am" "Makefile.in")
(("\\$\\(prefix)/src") (string-append #$output:src "/src")))
(substitute* (find-files "udev/rules.d/" ".rules.in$")
(("/sbin/modprobe")
(search-input-file inputs "/bin/modprobe")))))
(replace 'build
(lambda _ (invoke "make")))
(replace 'install
(lambda* (#:key inputs native-inputs #:allow-other-keys)
(let* ((kmod (assoc-ref (or native-inputs inputs) "kmod")))
(invoke "make" "install"
(string-append "DEFAULT_INITCONF_DIR="
#$output "/etc/default")
(string-append "DEPMOD="
(search-input-file
(or native-inputs inputs)
"/bin/depmod"))
(string-append "INSTALL_PATH=" #$output)
(string-append "INSTALL_MOD_PATH=" #$output:module)
"INSTALL_MOD_STRIP=1")
(install-file
"contrib/bash_completion.d/zfs"
(string-append #$output
"/share/bash-completion/completions"))))))))
(native-inputs
(list attr kmod pkg-config))
(inputs
`(("eudev" ,eudev)
("kmod-runtime" ,kmod)
("libaio" ,libaio)
("libtirpc" ,libtirpc)
("nfs-utils" ,nfs-utils)
("openssl" ,openssl)
("python" ,python)
("python-cffi" ,python-cffi)
("util-linux" ,util-linux)
("util-linux:lib" ,util-linux "lib")
("zlib" ,zlib)))
(inputs (list eudev
kmod
libaio
libtirpc
nfs-utils
openssl
python
python-cffi
util-linux
`(,util-linux "lib")
zlib))
(home-page "https://zfsonlinux.org/")
(synopsis "OpenZFS on Linux")
(description

View file

@ -26,6 +26,8 @@
;;; Copyright © 2021 François J <francois-oss@avalenn.eu>
;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
;;; Copyright © 2021 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2022 Kyle Meyer <kyle@kyleam.com>
;;; Copyright © 2022 Aleksandr Vityazev <avityazev@posteo.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -395,51 +397,53 @@ in ability, and easy to use.")
"See src/wcwidth.cc in the distribution.")))))
(define-public emacs-ledger-mode
(package
(name "emacs-ledger-mode")
(version "4.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ledger/ledger-mode")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1r5rcyxd6d1rqwamzpvqdbkbdf1zbj75aaciqijrklnm59ps244y"))))
(build-system emacs-build-system)
(arguments
`(;; ledger-test.el is needed at runtime (but probably not for a good reason).
#:exclude '()
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-path
(lambda* (#:key inputs #:allow-other-keys)
(let ((ledger (assoc-ref inputs "ledger")))
(make-file-writable "ledger-exec.el")
(emacs-substitute-variables "ledger-exec.el"
("ledger-binary-path" (string-append ledger "/bin/ledger"))))
#t))
(add-after 'build 'build-doc
(lambda* (#:key outputs #:allow-other-keys)
(let ((target (string-append (assoc-ref outputs "out")
"/share/info")))
(mkdir-p target)
(invoke "makeinfo" "-o" target
"../source/doc/ledger-mode.texi"))
#t))
(replace 'check
(lambda _
(with-directory-excursion "../source/test"
(invoke "make" "test-batch")))))))
(inputs
(list ledger))
(native-inputs
(list texinfo))
(home-page "https://ledger-cli.org/")
(synopsis "Command-line double-entry accounting program")
(description
"Ledger is a powerful, double-entry accounting system that is
;; The last release was on Nov 8, 2019 and doesn't build with Emacs 28.
(let ((commit "11e850395448ee7012dba16bd6df103f5552ebfb")
(revision "0"))
(package
(name "emacs-ledger-mode")
(version (git-version "4.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ledger/ledger-mode")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0hzky36vrlb7kvpyz4gy3zn01zdlmlx0s58w6ggk5djbcvjc2rfx"))))
(build-system emacs-build-system)
(arguments
(list
;; ledger-test.el is needed at runtime (but probably not for a good reason).
#:exclude #~'()
#:tests? #t
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-path
(lambda* (#:key inputs #:allow-other-keys)
(make-file-writable "ledger-exec.el")
(emacs-substitute-variables "ledger-exec.el"
("ledger-binary-path" (search-input-file inputs "/bin/ledger")))))
(add-after 'build 'build-doc
(lambda _
(let ((target (string-append #$output "/share/info")))
(mkdir-p target)
(invoke "makeinfo" "-o" target
"../source/doc/ledger-mode.texi"))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(with-directory-excursion "../source/test"
(invoke "make" "test-batch"))))))))
(inputs
(list ledger))
(native-inputs
(list texinfo))
(home-page "https://ledger-cli.org/")
(synopsis "Command-line double-entry accounting program")
(description
"Ledger is a powerful, double-entry accounting system that is
accessed from the UNIX command-line. This may put off some users, since
there is no flashy UI, but for those who want unparalleled reporting
access to their data there are few alternatives.
@ -453,7 +457,7 @@ a graph or html instead. Ledger is simple in concept, surprisingly rich
in ability, and easy to use.
This package provides the Emacs mode.")
(license license:gpl2+)))
(license license:gpl2+))))
(define-public geierlein
(package

View file

@ -48,6 +48,7 @@
;;; Copyright © 2021 Wamm K. D. <jaft.r@outlook.com>
;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Liliana Marie Prikler <liliana.prikler@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -2250,6 +2251,53 @@ orthography of Roman glyphs of Meera Inimai are also based on this
characteristic so that they sit smoothly with the Tamil glyphs.")
(license license:silofl1.1)))
(define-public font-ipa-ex
(package
(name "font-ipa-ex")
(version "004.01")
(source (origin
(method url-fetch/zipbomb)
(uri (string-append
"https://moji.or.jp/wp-content/ipafont/IPAexfont/"
"IPAexfont" (string-join (string-split version #\.) "")
".zip"))
(sha256
(base32
"0jwpszgisrls1lsgq1ngcm99zjaikb8hshr02512qrzrnd53gy5w"))))
(build-system font-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'make-read-only
(lambda _
;; Otherwise the files have the executable bit set.
(for-each (lambda (file)
(chmod file #o444))
(find-files "." #:directories? #f))))
(add-after 'install 'install-doc
(lambda* (#:key outputs #:allow-other-keys)
(let ((font+version
#$(string-append
"IPAexfont"
(string-join (string-split version #\.) "")))
(doc-dir (string-append #$output "/share/doc/" #$name)))
(with-directory-excursion font+version
(mkdir-p doc-dir)
(copy-file (string-append "Readme_" font+version ".txt")
(string-append doc-dir "/README"))
(copy-file "IPA_Font_License_Agreement_v1.0.txt"
(string-append doc-dir "/LICENSE")))))))))
(home-page "https://moji.or.jp/ipafont/")
(synopsis "Japanese font from the Information-technology Promotion Agency")
(description "IPAex Fonts are suitable for both display and printing.
This is a modernized version of IPA Fonts that aims to provide a good balance
for authoring Japanese documents mixed with Western characters, while
following Japanese printing tradition. Japanese characters (Kanji, Kana and
punctuation marks) are full width mono-space pitch, and Western characters are
proportional pitch.")
(license license:ipa)))
(define-public font-ipa-mj-mincho
(package
(name "font-ipa-mj-mincho")

View file

@ -1062,34 +1062,34 @@ more. This package does @emph{not} provide the game assets.")
license:bsd-3)))) ; CorsixTH/Src/random.c
(define-public cowsay
;; This is a continuation of Tony Monroe's now-unmaintained original, that
;; aims to become the canonical modern fork. We'll see. What it gives
;; us today is a bunch of fixes that other distros shipped as patches.
(package
(name "cowsay")
(version "3.04")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tnalpgge/rank-amateur-cowsay")
(commit (string-append name "-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"06455kq37hvq1xb7adyiwrx0djs50arsxvjgixyxks16lm1rlc7n"))))
(version "3.7.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/cowsay-org/cowsay")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0yrgwwacrhsgpyp14c3imkd4bb9b4i68q4df9cq1i1fh4fc2nn5p"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(delete 'configure) ; no configure script
(delete 'build) ; nothing to be built
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(invoke "sh" "install.sh"
(assoc-ref outputs "out"))))
(delete 'check)
(add-after 'install 'check
(lambda* (#:key outputs #:allow-other-keys)
(invoke (string-append (assoc-ref outputs "out")
"/bin/cowsay")
"We're done!"))))))
(list #:make-flags
#~(list (string-append "prefix=" #$output))
#:phases
#~(modify-phases %standard-phases
(delete 'configure) ; no configure script
(delete 'check)
(add-after 'install 'check
(lambda* (#:key outputs #:allow-other-keys)
(invoke (string-append (assoc-ref outputs "out")
"/bin/cowsay")
"We're done!"))))))
(inputs
(list perl))
(home-page (string-append "https://web.archive.org/web/20071026043648/"
@ -1353,44 +1353,48 @@ effects and music to make a completely free game.")
(define-public freedroidrpg
(package
(name "freedroidrpg")
(version "0.16.1")
(version "1.0rc2")
(source
(origin
(method url-fetch)
(uri (string-append "http://ftp.osuosl.org/pub/freedroid/"
"freedroidRPG-" (version-major+minor version) "/"
"freedroidRPG-" version ".tar.gz"))
(uri (let ((major+minor
(version-major+minor
(string-replace-substring version "rc" "."))))
(string-append "http://ftp.osuosl.org/pub/freedroid/"
"freedroidRPG-" major+minor "/"
"freedroidRPG-" version ".tar.gz")))
(sha256
(base32 "0n4kn38ncmcy3lrxmq8fjry6c1z50z4q1zcqfig0j4jb0dsz2va2"))))
(base32 "10jknaad2ph9j5bs4jxvpnl8rq5yjlq0nasv98f4mki2hh8yiczy"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(list
(string-append "CFLAGS="
"-fcommon " ; XXX needed to build with GCC 10
"-I" (assoc-ref %build-inputs "sdl-gfx") "/include/SDL "
"-I" (assoc-ref %build-inputs "sdl-image") "/include/SDL "
"-I" (assoc-ref %build-inputs "sdl-mixer") "/include/SDL")
"--enable-opengl")
;; FIXME: the test suite fails with the following error output:
;; 4586 Segmentation fault env SDL_VIDEODRIVER=dummy \
;; SDL_AUDIODRIVER=dummy ./src/freedroidRPG -nb text
#:tests? #f))
(list
#:configure-flags
#~(list
(string-append "CFLAGS=-fcommon "
"-I" #$(this-package-input "sdl-gfx") "/include/SDL "
"-I" #$(this-package-input "sdl-image") "/include/SDL "
"-I" #$(this-package-input "sdl-mixer") "/include/SDL")
"--enable-opengl")
;; FIXME: the test suite fails with the following error output:
;; 4586 Segmentation fault env SDL_VIDEODRIVER=dummy \
;; SDL_AUDIODRIVER=dummy ./src/freedroidRPG -nb text
#:tests? #f))
(native-inputs
(list pkg-config))
(inputs
`(("glu" ,glu)
("libjpeg" ,libjpeg-turbo)
("libogg" ,libogg)
("libpng" ,libpng)
("libvorbis" ,libvorbis)
("mesa" ,mesa)
("python" ,python-wrapper)
("sdl" ,sdl)
("sdl-gfx" ,sdl-gfx)
("sdl-image" ,sdl-image)
("sdl-mixer" ,sdl-mixer)
("zlib" ,zlib)))
(list glew
glu
libjpeg-turbo
libogg
libpng
libvorbis
mesa
python-wrapper
sdl
sdl-gfx
sdl-image
sdl-mixer
zlib))
(home-page "https://www.freedroid.org/")
(synopsis "Isometric role-playing game against killer robots")
(description
@ -1952,14 +1956,14 @@ Chess). It is similar to standard chess but this variant is far more complicate
(define-public ltris
(package
(name "ltris")
(version "1.2.3")
(version "1.2.4")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/lgames/ltris/"
"ltris-" version ".tar.gz"))
(sha256
(base32 "1a2m17jwkyar8gj07bn5jk01j2ps4vvc48z955jjjsh67q2svi0f"))))
(base32 "10wg6v12w3jms8ka2x9a87p06l9gzpr94ai9v428c9r320q7psyn"))))
(build-system gnu-build-system)
(arguments
'(#:phases
@ -2279,7 +2283,7 @@ utilizing the art assets from the @code{SuperTux} project.")
(synopsis "Thematic meditative game")
(description
"You are a robot moving around in a realm filled with ASCII characters.
Examine humourously described though useless items as you search for a kitten
Examine humorously described though useless items as you search for a kitten
among them. The theme of this Zen simulation is continued in its
documentation.")
(home-page "http://robotfindskitten.org/")
@ -4254,14 +4258,14 @@ world}, @uref{http://evolonline.org, Evol Online} and
(define openttd-engine
(package
(name "openttd-engine")
(version "12.1")
(version "12.2")
(source
(origin (method url-fetch)
(uri (string-append "https://cdn.openttd.org/openttd-releases/"
version "/openttd-" version "-source.tar.xz"))
(sha256
(base32
"1qz7ld55m9cvgr4mkv6c11y0zf2aph3ba605l45qj41hk2wzb2r5"))))
"0p79mi6hnj9138911l56zxxzy7rqz02nmxbf455jc31sx46qyl41"))))
(build-system cmake-build-system)
(inputs
(list allegro
@ -6673,7 +6677,7 @@ fight against their plot and save his fellow rabbits from slavery.")
;; A snippet here would cause a build failure because of timestamps
;; reset. See https://bugs.gnu.org/26734.
(inputs
(list #{0ad-data}#
(list 0ad-data
curl
enet
fmt
@ -7585,7 +7589,7 @@ original.")
(define-public rinutils
(package
(name "rinutils")
(version "0.10.0")
(version "0.10.1")
(source (origin
(method git-fetch)
(uri (git-reference
@ -7594,7 +7598,7 @@ original.")
(file-name (git-file-name name version))
(sha256
(base32
"05h9sq3w900mx8xij7qgqgqcbdk1x5gvbpz7prw2pfbzrrbiq2ns"))))
"0r90kncf6mvyklifpdsnm50iya7w2951nz35nlgndmqnr82gvdwf"))))
(build-system cmake-build-system)
(arguments
(list #:phases
@ -7644,7 +7648,7 @@ original.")
(define-public fortune-mod
(package
(name "fortune-mod")
(version "3.12.0")
(version "3.14.0")
(source
(origin
(method git-fetch)
@ -7653,7 +7657,7 @@ original.")
(commit (string-append "fortune-mod-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1iq3bxrw8758jqvfqaasd7w1zm0g28g9n25qccnzvr98997h6r2n"))))
(base32 "1f2zif3s6vddbhph4jr1cymdsn7gagg59grrxs0yap6myqmy8shg"))))
(build-system cmake-build-system)
(arguments
(list #:test-target "check"

View file

@ -583,6 +583,20 @@ Go. It also includes runtime support libraries for these languages.")
"znver2" "znver3")))
(define %gcc-11-aarch64-micro-architectures
;; Suitable '-march' values for GCC 11.
%gcc-10-aarch64-micro-architectures) ;unchanged
(define %gcc-11-armhf-micro-architectures
%gcc-10-armhf-micro-architectures)
(define %gcc-11-x86_64-micro-architectures
;; Suitable '-march' values for GCC 11.
(append %gcc-10-x86_64-micro-architectures
'("sapphirerapids" "alterlake" "rocketlake" ;Intel
"btver1" "btver2"))) ;AMD
(define-public gcc-7
(package
(inherit gcc-6)
@ -678,8 +692,29 @@ It also includes runtime support libraries for these languages.")
(modules '((guix build utils)))
(snippet gcc-canadian-cross-objdump-snippet)))
;; TODO: Add newly supported micro-architectures.
(properties (package-properties gcc-10))))
(properties
`((compiler-cpu-architectures
("aarch64" ,@%gcc-11-aarch64-micro-architectures)
("armhf" ,@%gcc-11-armhf-micro-architectures)
("x86_64" ,@%gcc-11-x86_64-micro-architectures))))))
(define-public gcc-12
(package
(inherit gcc-11)
;; Note: 'compiler-cpu-architectures' is unchanged compared to GCC 11.
(version "12.1.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gcc/gcc-"
version "/gcc-" version ".tar.xz"))
(sha256
(base32
"0ywws66myjxcwsmla721g35d2ymlckq6ii7j9av0477ki5467zb2"))
(patches (search-patches "gcc-12-strmov-store-file-names.patch"
"gcc-5.0-libvtv-runpath.patch"))
(modules '((guix build utils)))
(snippet gcc-canadian-cross-objdump-snippet)))))
;; Note: When changing the default gcc version, update
;; the gcc-toolchain-* definitions.

View file

@ -715,9 +715,14 @@ pyproj, Rtree, and Shapely.")
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest"
; Disable test that fails with
; NotImplementedError in pandas.
"-k" "not test_fillna_no_op_returns_copy"
; Disable tests that fail due to incompatibilities
; with our pandas version.
"-k"
(string-append
"not test_getitem_invalid"
" and not test_value_counts"
" and not test_setitem_invalid"
" and not test_insert_invalid")
; Disable tests that require internet access.
"-m" "not web")))))))
(propagated-inputs

View file

@ -16,6 +16,7 @@
;;; Copyright © 2020 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru>
;;; Copyright © 2021 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -1089,7 +1090,7 @@ is written in a way that can be used for any general C# application.")
(define-public glmark2
(package
(name "glmark2")
(version "2020.04")
(version "2021.12")
(source (origin
(method git-fetch)
(uri (git-reference
@ -1098,20 +1099,12 @@ is written in a way that can be used for any general C# application.")
(file-name (git-file-name name version))
(sha256
(base32
"0ywpzp0imi3f8iyp7d1739576zx2nsr3db5hp2as4yhflfyq1as2"))
(modules '((guix build utils)))
;; Fix Python 3 incompatibility.
(snippet
'(begin
(substitute* "wscript"
(("(sorted\\()FLAVORS\\.keys\\(\\)(.*)" _ beginning end)
(string-append beginning "list(FLAVORS)" end)))
#t))))
(build-system waf-build-system)
"1aydqbrg9i74s19rrdrsscx94m885yvc43v3sdqlgyh675ms98jb"))))
(build-system meson-build-system)
(arguments
'(#:tests? #f ; no check target
#:configure-flags
(list (string-append "--with-flavors="
(list (string-append "-Dflavors="
(string-join '("x11-gl" "x11-glesv2"
"drm-gl" "drm-glesv2"
"wayland-gl" "wayland-glesv2")

View file

@ -10312,16 +10312,16 @@ only know by its Unicode name or code point.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1igqmach1vhcrvbpw346pmkbb5kabbb806ssswrvkp569n700wmc"))))
(base32 "1igqmach1vhcrvbpw346pmkbb5kabbb806ssswrvkp569n700wmc"))
;; XXX: Remove when upgrading
(patches (search-patches "gcolor3-update-libportal-usage.patch"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t))
(native-inputs
`(("desktop-file-utils" ,desktop-file-utils)
("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin")
("gtk+:bin" ,gtk+ "bin")
("pkg-config" ,pkg-config)))
(list desktop-file-utils gettext-minimal
`(,glib "bin")
`(,gtk+ "bin") pkg-config))
(inputs
(list gsettings-desktop-schemas gtk+ libportal))
(home-page "https://www.hjdskes.nl/projects/gcolor3/")

View file

@ -3,6 +3,7 @@
;;; Copyright © 2016, 2017 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -21,15 +22,21 @@
(define-module (gnu packages gnustep)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix build-system gnu)
#:use-module (guix licenses)
#:use-module (guix build-system cmake)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages datastructures)
#:use-module (gnu packages xorg)
#:use-module (gnu packages libffcall)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
#:use-module (gnu packages llvm)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages autotools)
#:use-module (gnu packages glib)
@ -62,7 +69,48 @@ to write makefiles for a GNUstep-based project. It allows the user to write a
project without having to deal with the complex issues associated with
configuration, building, installation, and packaging. It also allows the user
to easily create cross-compiled binaries.")
(license gpl3+)))
(license license:gpl3+)))
(define-public libobjc2
(package
(name "libobjc2")
(version "2.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gnustep/libobjc2")
(commit (string-append "v" version))))
(sha256
(base32
"1zjryzvy06gjf36gz6zrkg9icwz6wsf80mp94x6bq1109vkl40b5"))
(file-name (git-file-name name version))
(patches
(search-patches "libobjc2-unbundle-robin-map.patch"))))
(build-system cmake-build-system)
(arguments
(list
;; XXX: Cannot use GCC to compile ObjC code due to
;; https://issues.guix.gnu.org/29644.
#:configure-flags #~(list "-DCMAKE_C_COMPILER=clang"
"-DCMAKE_CXX_COMPILER=clang++")))
(inputs
(list clang robin-map))
(home-page "http://www.gnustep.org/")
(synopsis "Objective-C runtime library for Clang")
(description "Libobjc2 is an Objective-C runtime library designed as a
drop-in replacement for GCC runtime. It supports following features beyond
GCC runtime.
@itemize
@item Modern Objective-C runtime APIs.
@item Blocks (Closures).
@item Synthesised property accessors.
@item Efficient support for @code{@@synchronized()}.
@item Type-dependent dispatch.
@item Associated reference API.
@item Automatic Reference Counting.
@end itemize")
(license license:expat)))
(define-public windowmaker
(package
@ -153,7 +201,7 @@ possible, it reproduces the elegant look and feel of the NeXTSTEP user
interface. It is fast, feature rich, easy to configure, and easy to use.")
;; Artwork is distributed under the WTFPL.
(license gpl2+)))
(license license:gpl2+)))
(define-public wmbattery
(package
@ -180,7 +228,7 @@ interface. It is fast, feature rich, easy to configure, and easy to use.")
This includes if it is plugged in, if the battery is charging, how many minutes
of battery life remain, battery life remaining (with both a percentage and a
graph), and battery status (high - green, low - yellow, or critical - red).")
(license gpl2)))
(license license:gpl2)))
(define-public wmnd
(package
@ -204,7 +252,7 @@ graph), and battery status (high - green, low - yellow, or critical - red).")
(description
"WMND is a dockapp for monitoring network interfaces under WindowMaker and
other compatible window managers.")
(license gpl2+)))
(license license:gpl2+)))
(define-public wmcpuload
(package
@ -231,7 +279,7 @@ chart, and has an LCD look-alike user interface. The back-light may be turned
on and off by clicking the mouse button over the application. If the CPU usage
hits a certain threshold, an alarm-mode will alert you by turning back-light
on.")
(license gpl2+)))
(license license:gpl2+)))
(define-public wmclock
(package
@ -257,7 +305,7 @@ on.")
"wmclock is an applet for Window Maker which displays the date and time in
a dockable tile. It features multiple language support, 24h or 12h time
display, and can run a user-specified program on mouse click.")
(license gpl2+)))
(license license:gpl2+)))
(define-public wmfire
(package
@ -286,4 +334,4 @@ memory, network load, a file or just be set to show a pretty flame. On
entering the dock a burning spot replaces the cursor, and after two seconds
symbols to represent the current monitor are \"burnt\" onscreen. The flame
colour can also be changed.")
(license gpl2+)))
(license license:gpl2+)))

View file

@ -212,7 +212,7 @@ lines.")
(define-public python-plotly
(package
(name "python-plotly")
(version "4.14.3")
(version "5.6.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -221,11 +221,15 @@ lines.")
(file-name (git-file-name name version))
(sha256
(base32
"02wlgy7gf3v5ckiq9ab3prm53cckxkavlghqgkk9xw2sfmmrn61q"))))
"0kc9v5ampq2paw6sls6zdchvqvis7b1z8xhdvlhz5xxdr1vj5xnn"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'build 'skip-npm
;; npm is not packaged so build without it
(lambda _
(setenv "SKIP_NPM" "T")))
(add-after 'unpack 'chdir
(lambda _
(chdir "packages/python/plotly")
@ -247,6 +251,7 @@ lines.")
python-requests
python-retrying
python-six
python-tenacity
python-statsmodels))
(home-page "https://plotly.com/python/")
(synopsis "Interactive plotting library for Python")

View file

@ -607,73 +607,73 @@ Unix-style DSV format and RFC 4180 format.")
(propagated-inputs `(("guile-lib" ,guile2.2-lib)))))
(define-public guile-fibers-1.1
(package
(name "guile-fibers")
(version "1.1.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/wingo/fibers/releases/download/v"
version "/fibers-" version ".tar.gz"))
(sha256
(base32
"1lqz39shlhif5fhpyv2wili0yzb0nhf5ciiv7mdqsq0vljirhrm0"))
(patches
(search-patches "guile-fibers-wait-for-io-readiness.patch"))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
;; This is required to make
;; "guile-fibers-wait-for-io-readiness.patch" work.
(add-after 'unpack 'regenerate-autotools
(lambda _
(delete-file "configure")))
(add-after 'unpack 'support-cross-compilation
(lambda* (#:key target #:allow-other-keys)
;; Support cross-compilation. These issues are fixed in
;; Fibers commit c4756b9c336374546a41ac90a4431fcc8f7e98ee
;; and this phase can be removed for 1.1.1.
(when target
(substitute* "build-aux/guile.am"
(("\\$\\(AM_V_GEN\\)" all)
(string-append all " FIBERS_CROSS_COMPILING=yes "))
(("compile")
(string-append "compile --target=" target
" -L $(abs_top_srcdir)")))
(substitute* "fibers/epoll.scm"
(("\\(dynamic-call")
"(unless (getenv \"FIBERS_CROSS_COMPILING\") (dynamic-call")
(("\\(dynamic-link.*" all)
(string-append all ")\n"))
(("#,(%sizeof|%offsetof)" _ prefix)
prefix)))))
(add-after 'install 'mode-guile-objects
(lambda* (#:key outputs #:allow-other-keys)
;; .go files are installed to "lib/guile/X.Y/cache".
;; This phase moves them to "…/site-ccache".
(let* ((out (assoc-ref outputs "out"))
(lib (string-append out "/lib/guile"))
(old (car (find-files lib "^ccache$"
#:directories? #t)))
(new (string-append (dirname old)
"/site-ccache")))
(rename-file old new)
#t))))))
(native-inputs
(list texinfo pkg-config autoconf automake libtool
guile-3.0 ;for 'guild compile
;; Gettext brings 'AC_LIB_LINKFLAGS_FROM_LIBS'
gettext-minimal))
(inputs
(list guile-3.0)) ;for libguile-3.0.so
(supported-systems
;; This version requires 'epoll' and is thus limited to Linux-based
;; systems, but this may change soon:
;; <https://github.com/wingo/fibers/pull/53>.
(filter (cut string-suffix? "-linux" <>) %supported-systems))
(synopsis "Lightweight concurrency facility for Guile")
(description
"Fibers is a Guile library that implements a a lightweight concurrency
;; Pick one commit above 1.1.0, which fixes a bug that's critical for the
;; Shepherd: <https://github.com/wingo/fibers/pull/57>.
(let ((commit "c25dcb9cc4b5b977474ffe555b40ce2f1d0d1edc")
(revision "0"))
(package
(name "guile-fibers")
(version (git-version "1.1.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/wingo/fibers")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1jwr0y5x8mv8fm4df2vc3ll38fwwbkrm2iwfsfxa8l783a1a6143"))
(patches
(search-patches "guile-fibers-wait-for-io-readiness.patch"))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
(add-after 'unpack 'support-cross-compilation
(lambda* (#:key target #:allow-other-keys)
;; Support cross-compilation. These issues are fixed in
;; Fibers commit c4756b9c336374546a41ac90a4431fcc8f7e98ee
;; and this phase can be removed for 1.1.1.
(when target
(substitute* "build-aux/guile.am"
(("\\$\\(AM_V_GEN\\)" all)
(string-append all " FIBERS_CROSS_COMPILING=yes "))
(("compile")
(string-append "compile --target=" target
" -L $(abs_top_srcdir)")))
(substitute* "fibers/epoll.scm"
(("\\(dynamic-call")
"(unless (getenv \"FIBERS_CROSS_COMPILING\") (dynamic-call")
(("\\(dynamic-link.*" all)
(string-append all ")\n"))
(("#,(%sizeof|%offsetof)" _ prefix)
prefix)))))
(add-after 'install 'mode-guile-objects
(lambda* (#:key outputs #:allow-other-keys)
;; .go files are installed to "lib/guile/X.Y/cache".
;; This phase moves them to "…/site-ccache".
(let* ((out (assoc-ref outputs "out"))
(lib (string-append out "/lib/guile"))
(old (car (find-files lib "^ccache$"
#:directories? #t)))
(new (string-append (dirname old)
"/site-ccache")))
(rename-file old new)
#t))))))
(native-inputs
(list texinfo pkg-config autoconf automake libtool
guile-3.0 ;for 'guild compile
;; Gettext brings 'AC_LIB_LINKFLAGS_FROM_LIBS'
gettext-minimal))
(inputs
(list guile-3.0)) ;for libguile-3.0.so
(supported-systems
;; This version requires 'epoll' and is thus limited to Linux-based
;; systems, but this may change soon:
;; <https://github.com/wingo/fibers/pull/53>.
(filter (cut string-suffix? "-linux" <>) %supported-systems))
(synopsis "Lightweight concurrency facility for Guile")
(description
"Fibers is a Guile library that implements a a lightweight concurrency
facility, inspired by systems like Concurrent ML, Go, and Erlang. A fiber is
like a \"goroutine\" from the Go language: a lightweight thread-like
abstraction. Systems built with Fibers can scale up to millions of concurrent
@ -683,8 +683,9 @@ communication between fibers.
Note that Fibers makes use of some Guile 2.1/2.2-specific features and
is not available for Guile 2.0.")
(home-page "https://github.com/wingo/fibers")
(license license:lgpl3+)))
(home-page "https://github.com/wingo/fibers")
(properties '((upstream-name . "fibers")))
(license license:lgpl3+))))
(define-public guile-fibers
(package
@ -850,14 +851,14 @@ HTML (via SXML) or any other format for rendering.")
(define-public guile-sjson
(package
(name "guile-sjson")
(version "0.2.1")
(version "0.2.2")
(source (origin
(method url-fetch)
(uri (string-append "https://dustycloud.org/misc/sjson-" version
".tar.gz"))
(sha256
(base32
"1mzmapln79vv10qxaggz9qwcdbag3jnrj19xx8bgkmxss8h03sv3"))
"08sr16fg5cqvik3wblav6k4b6djc5ydhgfvxa49bc5bh1irqvrcn"))
(modules '((guix build utils)))
(snippet
'(begin
@ -1444,7 +1445,9 @@ microblogging service.")
'(#:make-flags
'("GUILE_AUTO_COMPILE=0"))) ;to prevent guild warnings
(inputs
(list guile-3.0 parted))
;; XXX: Use Parted 3.4 to work around issues when using 3.5 in the Guix
;; System installer: <https://issues.guix.gnu.org/55549>.
(list guile-3.0 parted-3.4))
(propagated-inputs
(list guile-bytestructures))
(native-inputs
@ -2571,7 +2574,7 @@ interface for reading articles in any format.")
(define-public guile-redis
(package
(name "guile-redis")
(version "2.1.1")
(version "2.2.0")
(home-page "https://github.com/aconchillo/guile-redis")
(source (origin
(method git-fetch)
@ -2581,7 +2584,7 @@ interface for reading articles in any format.")
(file-name (git-file-name name version))
(sha256
(base32
"0pvk4yadgx64wk81cpisdc7zqhk6ww58xi5fs5fs6s28wb6l5bfj"))))
"0cb31vj88f3hj93v1lzxcqjyz7ym2gmpk31gv5i2dqv721frnlyj"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags '("GUILE_AUTO_COMPILE=0")))

View file

@ -10,7 +10,7 @@
;;; Copyright © 2017 Andy Wingo <wingo@igalia.com>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017, 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017, 2022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017, 2018 Amirouche <amirouche@hypermove.net>
;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
@ -833,7 +833,9 @@ type system, elevating types to first-class status.")
(native-inputs
(list pkg-config autoconf automake texinfo guile-3.0 guile-bytestructures))
(inputs
(list guile-3.0 libgit2))
;; libgit2@1.4.3 fixed a git CVE it never shared, breaking Guix. Use
;; 1.3 for now; see <https://issues.guix.gnu.org/55399> for alternatives.
(list guile-3.0 libgit2-1.3))
(propagated-inputs
(list guile-bytestructures))
(synopsis "Guile bindings for libgit2")

View file

@ -42,6 +42,7 @@
#:use-module (gnu packages swig)
#:use-module (gnu packages tbb)
#:use-module (gnu packages xml)
#:use-module (guix platform)
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
@ -223,7 +224,7 @@ with the script @command{flamegraph.pl} and many stackcollapse scripts.")
user space tracer. It receives commands from a session daemon, for example to
enable and disable specific instrumentation points, and writes event records
to ring buffers shared with a consumer daemon.")
(license license:lgpl2.1+)))
(license (list license:lgpl2.1 license:expat))))
(define-public lttng-tools
(package
@ -312,9 +313,10 @@ line for tracing control, a @code{lttng-ctl} library for tracing control and a
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs target #:allow-other-keys)
(let ((arch ,(system->linux-architecture
(or (%current-target-system)
(%current-system)))))
(let ((arch ,(platform-linux-architecture
(lookup-platform-by-target-or-system
(or (%current-target-system)
(%current-system))))))
(setenv "ARCH"
(cond
((string=? arch "arm64") "aarch64")

View file

@ -1650,7 +1650,7 @@ combinations of dual numbers with predefined Julia numeric types.")
(propagated-inputs
(list julia-arrayinterface))
(home-page "https://github.com/ChrisRackauckas/EllipsisNotation.jl")
(synopsis "Elipsis notation implementation")
(synopsis "Ellipsis notation implementation")
(description "This implements the notation @code{..} for indexing arrays.
It's similar to the Python @code{...} in that it means \"all of the columns
before (or after)\".")

View file

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2019, 2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2021 Hugo Lecomte <hugo.lecomte@inria.fr>
;;; Copyright © 2022 Marius Bakke <marius@gnu.org>
@ -620,9 +620,10 @@ Docker registry.")
(invoke "python" "-m" "bash_kernel.install" "--prefix" out)
#t))))))
(inputs
(list bash))
(propagated-inputs
(list python-pexpect python-ipykernel python-jupyter-client))
(list bash
python-pexpect
python-ipykernel
python-jupyter-client))
(home-page "https://github.com/takluyver/bash_kernel")
(synopsis "Jupyter kernel for Bash")
(description "A bash shell kernel for Jupyter.")

View file

@ -7,6 +7,7 @@
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2022 Luis Henrique Gomes Higino <luishenriquegh2701@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -169,6 +170,22 @@ resolution, asynchronous file system operations, and threading primitives.")
(home-page "https://github.com/JuliaLang/libuv")
(properties '((hidden? . #t))))))
(define-public libuv-for-luv
;; When upgrading make-lua-luv, also upgrade this. Get the version from
;; https://github.com/luvit/luv/blob/master/CMakeLists.txt
(package
(inherit libuv)
(name "libuv")
(version "1.43.0")
(source (origin
(method url-fetch)
(uri (string-append "https://dist.libuv.org/dist/v" version
"/libuv-v" version ".tar.gz"))
(sha256
(base32
"194kwq3jfj9s628kzkchdca534rikjw0xiyas0cjbphqmsvjpmwh"))))
(properties '((hidden? . #t)))))
(define-public perl-anyevent
(package
(name "perl-anyevent")

View file

@ -159,6 +159,7 @@
#:use-module (gnu packages groff)
#:use-module (gnu packages selinux)
#:use-module (gnu packages swig)
#:use-module (guix platform)
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
@ -182,20 +183,6 @@
#:use-module (ice-9 match)
#:use-module (ice-9 regex))
(define-public (system->linux-architecture arch)
"Return the Linux architecture name for ARCH, a Guix system name such as
\"x86_64-linux\" or a target triplet such as \"arm-linux-gnueabihf\"."
(let ((arch (car (string-split arch #\-))))
(cond ((string=? arch "i686") "i386")
((string-prefix? "mips" arch) "mips")
((string-prefix? "arm" arch) "arm")
((string-prefix? "aarch64" arch) "arm64")
((string-prefix? "alpha" arch) "alpha")
((string-prefix? "powerpc" arch) "powerpc") ;including "powerpc64le"
((string-prefix? "s390" arch) "s390")
((string-prefix? "riscv" arch) "riscv")
(else arch))))
(define-public (system->defconfig system)
"Some systems (notably powerpc-linux) require a special target for kernel
defconfig. Return the appropriate make target if applicable, otherwise return
@ -362,7 +349,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The current "stable" kernels. That is, the most recently released major
;; versions that are still supported upstream.
(define-public linux-libre-5.17-version "5.17.7")
(define-public linux-libre-5.17-version "5.17.9")
(define-public linux-libre-5.17-gnu-revision "gnu")
(define deblob-scripts-5.17
(linux-libre-deblob-scripts
@ -372,7 +359,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1zd4ds6ha4a2acqnalp234r2m9rz9p30qmy1aqri78i06aw7flwn")))
(define-public linux-libre-5.17-pristine-source
(let ((version linux-libre-5.17-version)
(hash (base32 "16ccf7n6fns9z93c65lchn5v3fgl9c5vkr1v6p0c1xifn7v7xxi2")))
(hash (base32 "0y2rmn86z3cvgv71b6sjjyafnlbanlib1kjpjjqzjbgg86y2890p")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.17)))
@ -380,7 +367,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The "longterm" kernels — the older releases with long-term upstream support.
;; Here are the support timelines:
;; <https://www.kernel.org/category/releases.html>
(define-public linux-libre-5.15-version "5.15.39")
(define-public linux-libre-5.15-version "5.15.41")
(define-public linux-libre-5.15-gnu-revision "gnu")
(define deblob-scripts-5.15
(linux-libre-deblob-scripts
@ -390,12 +377,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0gs92qbpvirwd02rpwwnja7771z2azbiy9ppy9ynpr14lxmzxnnh")))
(define-public linux-libre-5.15-pristine-source
(let ((version linux-libre-5.15-version)
(hash (base32 "1bfpiyccjggysd04flaana0x69n1lcpckzpw1v6kh3ly9xil31l8")))
(hash (base32 "07jrsr54rvhry3g401h58r1773zinq49dbrkb9v1p6q27gyb2z1w")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.15)))
(define-public linux-libre-5.10-version "5.10.115")
(define-public linux-libre-5.10-version "5.10.117")
(define-public linux-libre-5.10-gnu-revision "gnu1")
(define deblob-scripts-5.10
(linux-libre-deblob-scripts
@ -405,12 +392,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1xyhz0dyrkg2avz382ly3dzpa5v89x49gfzx80c1drpwsk7jg6gp")))
(define-public linux-libre-5.10-pristine-source
(let ((version linux-libre-5.10-version)
(hash (base32 "0w9gwizyqjgsj93dqqvlh6bqkmpzjajhj09319nqncc95yrigr7m")))
(hash (base32 "1iyw3nmsga2binmrhfnzsf1pvn2bs21a8jw6vm89k26z5h8zfgkh")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.10)))
(define-public linux-libre-5.4-version "5.4.193")
(define-public linux-libre-5.4-version "5.4.195")
(define-public linux-libre-5.4-gnu-revision "gnu1")
(define deblob-scripts-5.4
(linux-libre-deblob-scripts
@ -420,12 +407,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "05i286d98fm2pdf9724x1dsmfcm7gsd7yyyvxqlpisyj1kx14hda")))
(define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version)
(hash (base32 "187jfk9hf52n5z9yv56vq1knp3kdcbyk5w5k98ziwcbdjm1x65hd")))
(hash (base32 "078380qhds2jwfmrchna6p27wpfb74pvnj4xiyc5k38gysfmnbzj")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.4)))
(define-public linux-libre-4.19-version "4.19.242")
(define-public linux-libre-4.19-version "4.19.244")
(define-public linux-libre-4.19-gnu-revision "gnu1")
(define deblob-scripts-4.19
(linux-libre-deblob-scripts
@ -435,12 +422,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1dnjgx1nmawm9gm0yf15nl80nmg7hy7q2vl3jxjbwj6hlrfv5dmx")))
(define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version)
(hash (base32 "18k5fbzclk7g657bs8idwqjk7hakzx6256b1a3506sy29q4zvg2r")))
(hash (base32 "1g9562v6ny196rw2n3kj43nrz65qa7imwnmfasvj6x8fm8bdhz79")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.19)))
(define-public linux-libre-4.14-version "4.14.278")
(define-public linux-libre-4.14-version "4.14.280")
(define-public linux-libre-4.14-gnu-revision "gnu1")
(define deblob-scripts-4.14
(linux-libre-deblob-scripts
@ -450,12 +437,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1dnjgx1nmawm9gm0yf15nl80nmg7hy7q2vl3jxjbwj6hlrfv5dmx")))
(define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version)
(hash (base32 "1glb6z3nicd2lzhvwcqj54642agk0bbg022wnc3ckld5ngpd9miw")))
(hash (base32 "01jr0f7mq919s7xxvv8sc1mg6isc1ggij33l2s0n6jvykm23ghrr")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.14)))
(define-public linux-libre-4.9-version "4.9.313")
(define-public linux-libre-4.9-version "4.9.315")
(define-public linux-libre-4.9-gnu-revision "gnu1")
(define deblob-scripts-4.9
(linux-libre-deblob-scripts
@ -465,7 +452,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "14jyn2yrbm6ayp0bszs4f9jy3p1qkrj5p5gf5c42spr67aa2lv2v")))
(define-public linux-libre-4.9-pristine-source
(let ((version linux-libre-4.9-version)
(hash (base32 "1p3vr1h01ph6x0pxrr6y6k5c4nrhvq650dfngv5mkrgsc5w7ffz0")))
(hash (base32 "1171p90s00jxg1clyz8kp81ilmdzygg131mxysr6lpkaisahkjg6")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.9)))
@ -568,9 +555,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(delete 'configure)
(replace 'build
(lambda _
(let ((arch ,(system->linux-architecture
(or (%current-target-system)
(%current-system))))
(let ((arch ,(platform-linux-architecture
(lookup-platform-by-target-or-system
(or (%current-target-system)
(%current-system)))))
(defconfig ,(system->defconfig
(or (%current-target-system)
(%current-system))))
@ -806,11 +794,14 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
("mpfr" ,mpfr)
("mpc" ,mpc)
,@(match (and configuration-file
(configuration-file
(system->linux-architecture
(or (%current-target-system) (%current-system)))
#:variant (version-major+minor version)))
,@(match (let ((arch (platform-linux-architecture
(lookup-platform-by-target-or-system
(or (%current-target-system)
(%current-system))))))
(and configuration-file arch
(configuration-file
arch
#:variant (version-major+minor version))))
(#f ;no config for this platform
'())
((? string? config)
@ -840,9 +831,10 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
(setenv "KBUILD_BUILD_HOST" "guix")
;; Set ARCH and CROSS_COMPILE.
(let ((arch #$(system->linux-architecture
(or (%current-target-system)
(%current-system)))))
(let ((arch #$(platform-linux-architecture
(lookup-platform-by-target-or-system
(or (%current-target-system)
(%current-system))))))
(setenv "ARCH" arch)
(format #t "`ARCH' set to `~a'~%" (getenv "ARCH"))
@ -1197,7 +1189,7 @@ It has been modified to remove all non-free binary blobs.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1s7h9y3adyfhw7cjldlfmid79lrwz3vqlvziw9nwd6x5qdj4w9vp"))))
(base32 "09ljx0jl987753r2kjqj5kxms95bijw0xn14kf82ryn38ck5c8cf"))))
(build-system linux-module-build-system)
(arguments
(list #:tests? #f ; no tests
@ -1795,14 +1787,14 @@ deviation, and minimum and maximum values. It can show a nice histogram too.")
(define-public psmisc
(package
(name "psmisc")
(version "23.4")
(version "23.5")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/psmisc/psmisc/psmisc-"
version ".tar.xz"))
(sha256
(base32 "0y8n1jd2dn4cvc5mh806d66qnq8xl0xmzczbycjwal10rvmcw33z"))))
(base32 "12z5786dnf37n8wvv73wdcqp3nvsqzhwdk3ajna0mag4yz1fqdyw"))))
(build-system gnu-build-system)
(arguments
`(,@(if (%current-target-system)
@ -2691,7 +2683,7 @@ Both commands are targeted at system administrators.")
(define-public jitterentropy-rngd
(package
(name "jitterentropy-rngd")
(version "1.2.6")
(version "1.2.7")
(source
(origin
(method git-fetch)
@ -2700,7 +2692,7 @@ Both commands are targeted at system administrators.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "03cbcxkscjcmn6ybkmssq7i39sn5cfsap9fv058pi0k2mr90djwq"))))
(base32 "098hx09bsizin9405gh1c4rzbs2fr7qknqlr3glgyjpm3nm7bx28"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no test suite
@ -3194,35 +3186,77 @@ settings.")
the command line or a script.")
(license license:gpl2+)))
(define-public iotop-python
;; The last release is from 2013 and gives a misleading CONFIG_TASK_DELAY_ACCT
;; error on newer kernels.
(let ((revision "0")
(commit "a14256a3ff74eeee59493ac088561f1bafab85a7"))
(package
(name "iotop-python")
(version (git-version "0.6" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://repo.or.cz/iotop.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "00h5p8fk1zi237q8mqds8apqbis9iw0yih1hl0pr63dsnyzmmrpw"))))
(build-system python-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-build-with-python3
(lambda _
(substitute* "setup.py"
(("itervalues") "values")))))
;; There are currently no checks in the package.
#:tests? #f))
(native-inputs (list python))
(home-page "http://guichaz.free.fr/iotop/")
(synopsis
"Displays the IO activity of running processes")
(description
"Iotop is a Python program with a top like user interface to show the
processes currently causing I/O.")
(license license:gpl2+))))
(define-public iotop
(package
(name "iotop")
(version "0.6")
(version "1.21")
(source
(origin
(method url-fetch)
(uri (string-append "http://guichaz.free.fr/iotop/files/iotop-"
version ".tar.gz"))
(sha256 (base32
"1kp8mqg2pbxq4xzpianypadfxcsyfgwcaqgqia6h9fsq6zyh4z0s"))))
(build-system python-build-system)
(method git-fetch)
(uri (git-reference
(url "https://github.com/Tomas-M/iotop")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "03wdnkfl51dapilg6r9vjga1xrl9lxlypfz07k50nscvbq8v8fb7"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-build-with-python3
(lambda _
(substitute* "setup.py"
(("itervalues") "values"))
#t)))
;; There are currently no checks in the package.
#:tests? #f))
(native-inputs (list python))
(home-page "http://guichaz.free.fr/iotop/")
(synopsis
"Displays the IO activity of running processes")
(list #:make-flags
#~(list (string-append "CC=" #$(cc-for-target))
(string-append "PREFIX=" #$output))
#:tests? #f ; no tests
#:phases
#~(modify-phases %standard-phases
(delete 'configure)))) ; no configure script
(native-inputs (list pkg-config))
(inputs (list ncurses))
(home-page "https://github.com/Tomas-M/iotop")
(synopsis "Interactive @command{top}-like input/output activity monitor")
(description
"Iotop is a Python program with a top like user interface to show the
processes currently causing I/O.")
"iotop identifies which processes and threads are most responsible for
@acronym{I/O, input/output} activity such as disc reads and writes. It sorts
them in a live, interactive table overview similar to that of the well-known
@command{top}.
This information makes it much easier for an administrator to see which tasks
are blocking others and adjust their priority (using @command{ionice}) or stop
or kill them altogether.")
(license license:gpl2+)))
(define-public fuse
@ -4931,7 +4965,7 @@ capabilities of the Linux kernel.")
(define-public libite
(package
(name "libite")
(version "2.5.1")
(version "2.5.2")
(source
(origin
(method git-fetch)
@ -4940,11 +4974,12 @@ capabilities of the Linux kernel.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"14i0q0nxns6g4zh86zdqy97dwljkqdr5l85ammljzccsrijg9m8v"))))
(base32 "0i27ppb557kdc1hm7nf0f5r7sxvqma31pr57h79whl6qcp28gy4a"))))
(build-system gnu-build-system)
(arguments
`(#:phases
`(#:configure-flags
(list "--disable-static")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-tests
(lambda* (#:key inputs #:allow-other-keys)
@ -5550,7 +5585,11 @@ and copy/paste text in the console and in xterm.")
(outputs '("out"
"static")) ; static versions of the binaries in "out"
(arguments
'(#:phases (modify-phases %standard-phases
'(#:configure-flags
;; The Python support was never actually installed by previous
;; versions of this package, but did prevent cross-compilation.
(list "--disable-python")
#:phases (modify-phases %standard-phases
(add-after 'unpack 'patch-makefile
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "Makefile"
@ -5577,6 +5616,7 @@ and copy/paste text in the console and in xterm.")
#:test-target "test"
#:parallel-tests? #f)) ; tests fail when run in parallel
(inputs `(("e2fsprogs" ,e2fsprogs) ; for btrfs-convert
("eudev" ,eudev)
("lzo" ,lzo)
("util-linux:lib" ,util-linux "lib") ;for libblkid and libuuid
("util-linux:static" ,util-linux "static") ;ditto
@ -5595,7 +5635,6 @@ and copy/paste text in the console and in xterm.")
("acl" ,acl)
("which" ,which)
("dmsetup" ,lvm2)
("udevadm" ,eudev)
;; The tests need 'grep' with perl regexp support.
("grep" ,grep)))
(home-page "https://btrfs.wiki.kernel.org/index.php/Main_Page")
@ -6408,7 +6447,7 @@ cpufreq sub-system is enabled or not.")
(define-public haveged
(package
(name "haveged")
(version "1.9.17")
(version "1.9.18")
(source
(origin
(method git-fetch)
@ -6417,7 +6456,7 @@ cpufreq sub-system is enabled or not.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "119iy8qrvdjkfwnzn1nfjzh2bbihb1vl44qhd6yzzcacjm6pwndr"))))
(base32 "1y1p3qhjzhpgd20xz5ffms3w1bdvpk883y38ydwsmp9mc0kzy8kz"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@ -7761,14 +7800,14 @@ available in the kernel Linux.")
(define-public cpuid
(package
(name "cpuid")
(version "20211210")
(version "20220224")
(source (origin
(method url-fetch)
(uri (string-append "http://www.etallen.com/cpuid/cpuid-"
version ".src.tar.gz"))
(sha256
(base32
"0i2z1r0zwsmvnx2azwsz3x6van6dj9480lh26s1ny6ny01bqjag0"))))
"178zv8jclzg3hqm3g5bpjnsp898rbbxfq6ydavw49vla24mdw6aa"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
@ -8197,7 +8236,7 @@ introduced in Linux 2.6.31.")
(define-public libnfnetlink
(package
(name "libnfnetlink")
(version "1.0.1")
(version "1.0.2")
(source (origin
(method url-fetch)
(uri (string-append
@ -8205,7 +8244,7 @@ introduced in Linux 2.6.31.")
"libnfnetlink-" version ".tar.bz2"))
(sha256
(base32
"06mm2x4b01k3m7wnrxblk9j0mybyr4pfz28ml7944xhjx6fy2w7j"))))
"0xn3rcrzxr6g82kfxzs9bqn2zvl2kf2yda30drwb9vr6sk1wfr5h"))))
(build-system gnu-build-system)
(home-page "https://www.netfilter.org/projects/libnfnetlink/")
(synopsis "Low-level netfilter netlink communication library")
@ -8246,7 +8285,7 @@ IP addresses and routes, and configure IPsec.")
(define-public libinih
(package
(name "libinih")
(version "53")
(version "55")
(source (origin
(method git-fetch)
(uri (git-reference
@ -8255,7 +8294,7 @@ IP addresses and routes, and configure IPsec.")
(file-name (git-file-name name version))
(sha256
(base32
"0dqf5j2sw4hq68rqvxbrsf44ygfzx9ypiyzipk4cvp9aimbvsbc6"))))
"0g6dkcphlzgxvh9zyf6rj82gigccca6x5acjxn01gz6rykfg0lnn"))))
(build-system meson-build-system)
;; Install static libraries for use by the initrd's xfsprogs/static.
(outputs (list "out" "static"))
@ -8414,7 +8453,7 @@ the superuser to make device nodes.")
(define-public fakeroot
(package
(name "fakeroot")
(version "1.26")
(version "1.28")
(source
(origin
;; There are no tags in the repository, so take this snapshot.
@ -8423,8 +8462,7 @@ the superuser to make device nodes.")
"fakeroot/fakeroot_" version ".orig.tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1sg8inv1zzp4h9ncbbmxip3svd11sd86j22cvxrjwnf5zn7mf2j8"))
(base32 "1hlh77b6m2cfm42lcav372mbjni5akbgs25yg4wgi1gndzihbm2n"))
(modules '((guix build utils)
(ice-9 ftw)))
(snippet

View file

@ -20,7 +20,7 @@
;;; Copyright © 2020 Dimakis Dimakakos <me@bendersteed.tech>
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2020, 2021, 2022 Adam Kandur <rndd@tuta.io>
;;; Copyright © 2020, 2021 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2020, 2021, 2022 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2021, 2022 Aurora <rind38@disroot.org>
;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org>
;;; Copyright © 2021, 2022 André A. Gomes <andremegafone@gmail.com>
@ -34,6 +34,7 @@
;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
;;; Copyright © 2022 Paul A. Patience <paul@apatience.com>
;;; Copyright © 2022 Thomas Albers Raviola <thomas@thomaslabs.org>
;;; Copyright © 2022 Arun Isaac <arunisaac@systemreboot.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -57,6 +58,7 @@
(define-module (gnu packages lisp-xyz)
#:use-module (gnu packages)
#:use-module (guix gexp)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
@ -3399,7 +3401,7 @@ is a library for creating graphical user interfaces.")
(define-public sbcl-cl-webkit
(package
(name "sbcl-cl-webkit")
(version "3.5.0")
(version "3.5.1")
(source
(origin
(method git-fetch)
@ -3409,7 +3411,7 @@ is a library for creating graphical user interfaces.")
(file-name (git-file-name "cl-webkit" version))
(sha256
(base32
"1a16dka15lqzpli0f0qd3afmi14vgdxnfkn9z9d1r4cw9p11s71l"))))
"1zfqwr6vmdd9a2nx3j3ihf8y9sah354wi2rgpq7dy4dkc6wxxd48"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("cffi" ,sbcl-cffi)
@ -4240,44 +4242,44 @@ sockets, SSL, continuable uploads, file uploads, cookies, and more.")
(sbcl-package->ecl-package sbcl-drakma))
(define-public sbcl-hunchentoot
(package
(name "sbcl-hunchentoot")
(version "1.3.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/edicl/hunchentoot")
(commit (string-append "v" version))))
(file-name (git-file-name "hunchentoot" version))
(sha256
(base32 "1z0m45lp6rv59g69l44gj3q3d2bmjlhqzpii0vgkniam21dcimy9"))))
(build-system asdf-build-system/sbcl)
(native-inputs
(list sbcl-cl-who sbcl-drakma))
(inputs
(list sbcl-chunga
sbcl-cl-base64
sbcl-cl-fad
sbcl-cl-ppcre
sbcl-flexi-streams
sbcl-cl+ssl
sbcl-md5
sbcl-rfc2388
sbcl-trivial-backtrace
sbcl-usocket))
(arguments
`(;; FIXME: Tests fail because they fail to open the file
;; "/proc/sys/kernel/osrelease"
#:tests? #f))
(home-page "https://edicl.github.io/hunchentoot/")
(synopsis "Web server written in Common Lisp")
(description
"Hunchentoot is a web server written in Common Lisp and at the same
;; NOTE: (Sharlatan-20220520T213309+0100): The latest commit fixed tests,
;; switch to the version tag when release is ready.
(let ((commit "76862391040c20255c7275e815c2175e46bfd080")
(revision "1"))
(package
(name "sbcl-hunchentoot")
(version (git-version "1.3.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/edicl/hunchentoot")
(commit commit)))
(file-name (git-file-name "cl-hunchentoot" version))
(sha256
(base32 "1h7ggmmzvgwr4p6j3ai0dqrw30q5309l13w4c03gqrapvwrb65l0"))))
(build-system asdf-build-system/sbcl)
(native-inputs
(list sbcl-cl-who sbcl-drakma))
(inputs
(list sbcl-chunga
sbcl-cl-base64
sbcl-cl-fad
sbcl-cl-ppcre
sbcl-flexi-streams
sbcl-cl+ssl
sbcl-md5
sbcl-rfc2388
sbcl-trivial-backtrace
sbcl-usocket))
(home-page "https://edicl.github.io/hunchentoot/")
(synopsis "Web server written in Common Lisp")
(description
"Hunchentoot is a web server written in Common Lisp and at the same
time a toolkit for building dynamic websites. As a stand-alone web server,
Hunchentoot is capable of HTTP/1.1 chunking (both directions), persistent
connections (keep-alive), and SSL.")
(license license:bsd-2)))
(license license:bsd-2))))
(define-public cl-hunchentoot
(sbcl-package->cl-source-package sbcl-hunchentoot))
@ -5493,7 +5495,7 @@ high-level way. This library provides such operators.")
(uri (git-reference
(url "https://github.com/snmsts/burgled-batteries3")
(commit commit)))
(file-name (git-file-name name version))
(file-name (git-file-name "cl-burgled-batteries3" version))
(sha256
(base32
"1nzn7jawrfajyzwfnzrg2cmn9xxadcqh4szbpg0jggkhdkdzz4wa"))
@ -5517,21 +5519,21 @@ high-level way. This library provides such operators.")
(setenv "BB_PYTHON3_DYLIB"
(string-append python "/lib/libpython3.so"))
#t)))
(add-after 'unpack 'adjust-for-python-3.8
(add-after 'unpack 'adjust-for-python-3.9
(lambda _
;; This method is no longer part of the public API.
;; These methods are no longer part of the public API.
(substitute* "ffi-interface.lisp"
((".*PyEval_ReInitThreads.*")
""))
#t)))))
((".*PyEval_ReInitThreads.*") "")
((".*\"PyErr_Warn\".*") "")
((".*\"PyFloat_ClearFreeList\".*") "")))))))
(native-inputs
(list sbcl-cl-fad sbcl-lift sbcl-cl-quickcheck))
(inputs
`(("python" ,python)
("sbcl-cffi" ,sbcl-cffi)
("sbcl-alexandria" , sbcl-alexandria)
("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations)
("sbcl-trivial-garbage" ,sbcl-trivial-garbage)))
(list python
sbcl-alexandria
sbcl-cffi
sbcl-parse-declarations
sbcl-trivial-garbage))
(synopsis "Bridge between Python and Lisp (FFI bindings, etc.)")
(description
"This package provides a shim between Python3 (specifically, the
@ -20818,7 +20820,7 @@ access lexicographic data from WordNet.")
(define-public sbcl-nfiles
(package
(name "sbcl-nfiles")
(version "0.4.0")
(version "0.4.1")
(source
(origin
(method git-fetch)
@ -20828,7 +20830,7 @@ access lexicographic data from WordNet.")
(file-name (git-file-name "cl-nfiles" version))
(sha256
(base32
"0qmyv4ajcz7mlihnslx55wr1n8aaisw4clmsijnjf1w6wxh7lh7w"))))
"05brlj99grcy2iz84dvl76inp10jxnvjyh2r262d1las112rlcrb"))))
(build-system asdf-build-system/sbcl)
(inputs
(list gnupg
@ -21269,3 +21271,132 @@ of the files and the line numbers where they were found.")
(define-public ecl-formgrep
(sbcl-package->ecl-package sbcl-formgrep))
(define-public sbcl-lmdb
(let ((commit "f439b707939a52769dc9747838ff4a616fab14a3")
(revision "0"))
(package
(name "sbcl-lmdb")
(version (git-version "0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/antimer/lmdb")
(commit commit)))
(file-name (git-file-name "cl-lmdb" version))
(sha256
(base32 "0akvimmvd4kcx6gh1j1dzvcclhc0jc4hc9vkh3ldgzb8wyf4vl8q"))))
(build-system asdf-build-system/sbcl)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/lmdb.lisp"
(("\"liblmdb.so\"")
(string-append
"\"" (search-input-file inputs "/lib/liblmdb.so") "\""))))))))
(inputs
(list lmdb
sbcl-alexandria
sbcl-bordeaux-threads
sbcl-cl-reexport
sbcl-mgl-pax
sbcl-osicat
sbcl-trivial-features
sbcl-trivial-garbage
sbcl-trivial-utf-8))
(native-inputs
(list sbcl-try))
(home-page "https://github.com/antimer/lmdb")
(synopsis "LMDB bindings for Common Lisp")
(description
"LMDB, the Lightning Memory-mapped Database, is an ACID key-value
database with multiversion concurrency control. This package is a Common Lisp
wrapper around the C LMDB library. It covers most of C LMDB's functionality,
has a simplified API, much needed safety checks, and comprehensive
documentation.")
(license license:expat))))
(define-public cl-lmdb
(sbcl-package->cl-source-package sbcl-lmdb))
(define-public sbcl-listopia
(package
(name "sbcl-listopia")
(version "0.12.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Dimercel/listopia")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"07xa2s2s60h9f40az3zdacybl5pk1x8bhvga9phsra0czbv44lx2"))))
(build-system asdf-build-system/sbcl)
(native-inputs
(list sbcl-prove))
(home-page "https://github.com/Dimercel/listopia")
(synopsis "List manipulation library for Common Lisp")
(description "This package is a list manipulation library for Common Lisp
inspired by Haskell package @code{Data.List}.")
(license license:llgpl)))
(define-public cl-listopia
(sbcl-package->cl-source-package sbcl-listopia))
(define-public ecl-listopia
(sbcl-package->ecl-package sbcl-listopia))
(define-public sbcl-clog
(package
(name "sbcl-clog")
(version "1.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rabbibotton/clog")
(commit (string-append "v" version))))
(file-name (git-file-name "cl-clog" version))
(sha256
(base32 "0f4i6571nm0j704zgnh60sc9slifs11byb2gs8gamqjcfh931dap"))))
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-3bmd
sbcl-alexandria
sbcl-bordeaux-threads
sbcl-cl-ppcre
sbcl-cl-sqlite
sbcl-cl-template
sbcl-clack
sbcl-closer-mop
sbcl-colorize
sbcl-dbi
sbcl-hunchentoot
sbcl-lack
sbcl-mgl-pax
sbcl-parse-float
sbcl-quri
sbcl-trivial-open-browser
sbcl-websocket-driver))
(arguments
'(#:asd-systems '("clog" "clog/docs" "clog/tools")))
(home-page "https://github.com/rabbibotton/clog")
(synopsis "Common Lisp Omnificent GUI")
(description
"This package provides a Common Lisp web framework for building GUI
applications. CLOG can take the place, or work along side, most cross platform
GUI frameworks and website frameworks. The CLOG package starts up the
connectivity to the browser or other websocket client (often a browser embedded
in a native template application).")
(license license:bsd-3)))
(define-public cl-clog
(sbcl-package->cl-source-package sbcl-clog))
(define-public ecl-clog
(sbcl-package->ecl-package sbcl-clog))

View file

@ -464,6 +464,18 @@ an interpreter, a compiler, a debugger, and much more.")
#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-after 'unpack 'fix-build-id
;; One of the build scripts makes a build id using the current date.
;; Replace it with a reproducible id using a part of the output hash.
(lambda* (#:key outputs #:allow-other-keys)
(let ((hash (substring (assoc-ref outputs "out")
(+ (string-length (%store-directory)) 1)
(+ (string-length (%store-directory)) 9))))
(substitute* "make-config.sh"
(("echo .* > output/build-id.inc")
(string-append "echo '\"'guix-sbcl-"
hash
"'\"' > output/build-id.inc"))))))
(add-after 'unpack 'replace-asdf
;; SBCL developers have not committed to keeping ASDF up to date
;; due to breaking changes [1]. Guix can handle this situation

View file

@ -388,6 +388,9 @@ given PATCHES. When TOOLS-EXTRA is given, it must point to the
(search-path-specification
(variable "CPLUS_INCLUDE_PATH")
(files '("include/c++" "include")))
(search-path-specification
(variable "OBJC_INCLUDE_PATH")
(files '("include")))
(search-path-specification
(variable "LIBRARY_PATH")
(files '("lib" "lib64")))))
@ -624,7 +627,16 @@ of programming tools as well as libraries with equivalent functionality.")
,@(package-native-inputs template))))))
(define-public clang-14
(let ((template (clang-from-llvm llvm-14 clang-runtime-14)))
(let ((template
(clang-from-llvm llvm-14 clang-runtime-14
#:tools-extra
(origin
(method url-fetch)
(uri (llvm-uri "clang-tools-extra"
(package-version llvm-14)))
(sha256
(base32
"188hh6l956gkl6hgjzzdraj5jp538zhhhllxvy23gml6slrmbj7j"))))))
(package
(inherit template)
(arguments

View file

@ -16,6 +16,7 @@
;;; Copyright © 2021 Vinícius dos Santos Oliveira <vini.ipsmaker@gmail.com>
;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
;;; Copyright © 2022 Brandon Lucas <br@ndon.dk>
;;; Copyright © 2022 Luis Henrique Gomes Higino <luishenriquegh2701@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -785,7 +786,7 @@ Grammars (PEGs).")
(define (make-lua-luv name lua)
(package
(name name)
(version "1.32.0-0")
(version "1.43.0-0")
(source (origin
;; The release tarball includes the sources of libuv but does
;; not include the pkg-config files.
@ -796,39 +797,39 @@ Grammars (PEGs).")
(file-name (git-file-name name version))
(sha256
(base32
"0c65c1lhbl0axnyks3910gjs0z0hw7w6jvl07g8kbpnbvfl4qajh"))))
"1yzi4bm845vl84wyv2qw4z1n1v285lgwm681swmp84brfy2s7czp"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; there are none
#:configure-flags
'("-DWITH_LUA_ENGINE=Lua"
"-DWITH_SHARED_LIBUV=On"
"-DBUILD_MODULE=Off"
"-DBUILD_SHARED_LIBS=On"
"-DLUA_BUILD_TYPE=System")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'copy-lua-compat
(lambda* (#:key inputs #:allow-other-keys)
(copy-recursively (assoc-ref inputs "lua-compat")
"lua-compat")
(setenv "CPATH"
(string-append (getcwd) "/lua-compat:"
(or (getenv "CPATH") "")))
#t)))))
(list #:tests? #f ; there are none
#:configure-flags
#~'("-DWITH_LUA_ENGINE=Lua"
"-DWITH_SHARED_LIBUV=On"
"-DBUILD_MODULE=Off"
"-DBUILD_SHARED_LIBS=On"
"-DLUA_BUILD_TYPE=System")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'copy-lua-compat
(lambda* _
(copy-recursively #+(this-package-native-input "lua-compat")
"lua-compat")
(setenv "CPATH"
(string-append (getcwd) "/lua-compat/c-api:"
(or (getenv "CPATH") "")))
#t)))))
(inputs
(list lua libuv))
(list lua libuv-for-luv))
(native-inputs
`(("lua-compat"
,(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/keplerproject/lua-compat-5.3")
(commit "daebe77a2f498817713df37f0bb316db1d82222f")))
(commit "v0.10")))
(file-name "lua-compat-5.3-checkout")
(sha256
(base32
"02a14nvn7aggg1yikj9h3dcf8aqjbxlws1bfvqbpfxv9d5phnrpz"))))))
"1caxn228gx48g6kymp9w7kczgxcg0v0cd5ixsx8viybzkd60dcn4"))))))
(home-page "https://github.com/luvit/luv/")
(synopsis "Libuv bindings for Lua")
(description

View file

@ -265,14 +265,14 @@ example, modify the message headers or body, or encrypt or sign the message.")
(define-public mailutils
(package
(name "mailutils")
(version "3.14")
(version "3.15")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/mailutils/mailutils-"
version ".tar.xz"))
(sha256
(base32
"0fbi2b144mgblq9qhdyhj9855mbglzr8fr23rnps8icbxa7v7if0"))
"1nrd9wsidxami3wa86l9z8hnnwv6rhbxdkvqg7dcgz2jqf3c5l5p"))
(patches
(search-patches "mailutils-variable-lookup.patch"))))
(build-system gnu-build-system)
@ -337,6 +337,7 @@ example, modify the message headers or body, or encrypt or sign the message.")
(string-append "\"" (which "sh") "\""))))))
#:configure-flags
#~(list "--sysconfdir=/etc"
"--disable-static"
;; Add "/X.Y" to the installation directory.
(string-append "--with-guile-site-dir="
@ -2589,7 +2590,7 @@ Authentication-Results header seen in the wild.")
(define-public perl-mail-dkim
(package
(name "perl-mail-dkim")
(version "1.20200907")
(version "1.20220520")
(source (origin
(method url-fetch)
(uri (string-append
@ -2598,7 +2599,7 @@ Authentication-Results header seen in the wild.")
".tar.gz"))
(sha256
(base32
"1x8v4pa0447c1xqri1jn96i8vlyjpl6jmz63nb1vifbp16yi3zxb"))))
"0iiny8s1a60pksxzlpkk9b6x6z907m4pdxjbsaih1bdz9g4bii4a"))))
(build-system perl-build-system)
(propagated-inputs
(list perl-crypt-openssl-rsa perl-mail-authenticationresults
@ -4023,7 +4024,7 @@ It is a replacement for the @command{urlview} program.")
(define-public ytnef
(package
(name "ytnef")
(version "1.9.3")
(version "2.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -4032,10 +4033,11 @@ It is a replacement for the @command{urlview} program.")
(file-name (git-file-name name version))
(sha256
(base32
"07h48s5qf08503pp9kafqbwipdqghiif22ghki7z8j67gyp04l6l"))
(patches (search-patches "ytnef-CVE-2021-3403.patch"
"ytnef-CVE-2021-3404.patch"))))
"0pk7jp8yc91nahcb7659khwdid0ibfi7n0135kwfnasak8gr75rz"))))
(build-system gnu-build-system)
(arguments
(list #:configure-flags
'(list "--disable-static")))
(native-inputs
(list autoconf automake libtool))
(home-page "https://github.com/Yeraze/ytnef/")

View file

@ -2485,13 +2485,13 @@ QMatrixClient project.")
(define-public hangups
(package
(name "hangups")
(version "0.4.16")
(version "0.4.18")
(source
(origin
(method url-fetch)
(uri (pypi-uri "hangups" version))
(sha256
(base32 "11szzszwfszc28xvlsh0bahxy3cgibzsirbfjh5m8vj60lzipqm3"))))
(base32 "12mq22lygh6vz2h5dpvyjk18hx3jphb4kkavqsy298c7hw60hn7l"))))
(build-system python-build-system)
(arguments
`(#:phases

View file

@ -47,6 +47,7 @@
#:use-module (gnu packages boost)
#:use-module (gnu packages cdrom)
#:use-module (gnu packages cmake) ;for MPD
#:use-module (gnu packages freedesktop) ;elogind
#:use-module (gnu packages gettext)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)
@ -119,12 +120,28 @@ interfacing MPD in the C, C++ & Objective C languages.")
"04c2fr4akiylafb7wdjzn7r7d90rmzilbnagrifqyf3wf6ncn3cn"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags '("-Ddocumentation=enabled")))
(list
#:configure-flags #~(list "-Ddocumentation=enabled"
"-Dsystemd=enabled")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'enable-elogind
(lambda _
(substitute* "src/lib/systemd/meson.build"
(("libsystemd") "libelogind"))
;; XXX: systemd dependency overwritten internally, leads to bad
;; errors
(substitute* "src/lib/systemd/meson.build"
(("systemd_dep = declare_dependency" all)
(string-append "_" all)))
(substitute* "meson.build"
(("systemd_dep,") "systemd_dep, _systemd_dep,")))))))
(inputs (list ao
alsa-lib
avahi
boost
curl
elogind
ffmpeg
flac
fmt

View file

@ -13,7 +13,7 @@
;;; Copyright © 20172022 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2017, 2018, 2019, 2021 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 20172021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 20172022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 nee <nee.git@hidamari.blue>
;;; Copyright © 2018, 2021 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
@ -705,7 +705,8 @@ background while you work.")
(arguments
'(#:tests? #f ; no check target
#:configure-flags
(list "-DBUILD_SHARED_LIBS=ON"
(list "-DBUILD_ALLEGRO4=OFF"
"-DBUILD_SHARED_LIBS=ON"
"-DBUILD_EXAMPLES=OFF")))
(home-page "https://github.com/kode54/dumb")
(synopsis "Module audio renderer library")
@ -729,7 +730,7 @@ settings (aliasing, linear interpolation and cubic interpolation).")
(arguments
(substitute-keyword-arguments (package-arguments dumb)
((#:configure-flags flags)
`(cons "-DBUILD_ALLEGRO4=ON" ,flags))))
`(cons "-DBUILD_ALLEGRO4=ON" ,(delete "-DBUILD_ALLEGRO4=OFF" flags)))))
(inputs
(list allegro-4))))
@ -2277,7 +2278,7 @@ perform creative live mixes with digital music files.")
(define-public synthv1
(package
(name "synthv1")
(version "0.9.24")
(version "0.9.25")
(source (origin
(method url-fetch)
(uri
@ -2285,7 +2286,7 @@ perform creative live mixes with digital music files.")
"/synthv1-" version ".tar.gz"))
(sha256
(base32
"0m9xpl7kq0zlain8598q5cqrh1c7ima2w8jrpq7ds8vh97r7p1bl"))))
"1i16036f9wm52c5pxkllq7ir749jcknbh35i9wcxd5n88p6mzw02"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ; there are no tests
@ -2308,7 +2309,7 @@ oscillators and stereo effects.")
(define-public drumkv1
(package
(name "drumkv1")
(version "0.9.24")
(version "0.9.25")
(source (origin
(method url-fetch)
(uri
@ -2316,7 +2317,7 @@ oscillators and stereo effects.")
"/drumkv1-" version ".tar.gz"))
(sha256
(base32
"04k0mkvlz9ka0mlck4g7c86s1rhb9pkhml6j6n9b5hwlbq8a9mxk"))))
"0p50b4k4zldagiwxs0micmdbqib46ysipdj8lkxqdv0pysmd72fc"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ; there are no tests
@ -2340,7 +2341,7 @@ effects.")
(define-public samplv1
(package
(name "samplv1")
(version "0.9.24")
(version "0.9.25")
(source (origin
(method url-fetch)
(uri
@ -2348,7 +2349,7 @@ effects.")
"/samplv1-" version ".tar.gz"))
(sha256
(base32
"1c3ksd02dfqvzc3zk4x282b6gxr1l4ya9c4l04dcn55mrymgn2zz"))))
"0d05b03knrwh1zr4p0kcyn58scy6a392f0xxm78cqf0gikd3bw5c"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ; there are no tests
@ -2372,7 +2373,7 @@ effects.")
(define-public padthv1
(package
(name "padthv1")
(version "0.9.24")
(version "0.9.25")
(source (origin
(method url-fetch)
(uri
@ -2380,7 +2381,7 @@ effects.")
"/padthv1-" version ".tar.gz"))
(sha256
(base32
"0p3qp2lzhmj8i17bcqzsi0782nz7s90hx3s8vax6bxl4mqxsvnxb"))))
"11fa2794g7dqsiw674wr2m4k0xdw89imqwa8mgms0igskxxbvjka"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ; there are no tests
@ -3320,14 +3321,14 @@ from the command line.")
(define-public qtractor
(package
(name "qtractor")
(version "0.9.25")
(version "0.9.26")
(source (origin
(method url-fetch)
(uri (string-append "https://downloads.sourceforge.net/qtractor/"
"qtractor-" version ".tar.gz"))
(sha256
(base32
"0x99yjabznr2pl867j3h9zdsjzkxzxm2c0xk1xwk50gfp8gwg9bh"))))
"02r4dhhbn3dzhqi5cnm2vwimqk10bdlpy233n4a3590qg4krnqkd"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ; no "check" target

View file

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 20182020, 2022 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -28,14 +28,14 @@
(define-public musl
(package
(name "musl")
(version "1.2.2")
(version "1.2.3")
(source (origin
(method url-fetch)
(uri (string-append "https://www.musl-libc.org/releases/"
"musl-" version ".tar.gz"))
(sha256
(base32
"1p8r6bac64y98ln0wzmnixysckq3crca69ys7p16sy9d04i975lv"))))
"196lrzw0qy5axiz9p5ay50q2mls8hbfckr4rw0klc7jjc9h0nnvx"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; musl has no tests

View file

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015-2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Rene Saavedra <rennes@openmailbox.org>
;;; Copyright © 20182021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
@ -31,13 +31,13 @@
(define-public nano
(package
(name "nano")
(version "6.2")
(version "6.3")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/nano/nano-" version ".tar.xz"))
(sha256
(base32 "1cvwlz34p1msgylhbhgfc3c5xdcvfkj5dxwisx5aysmdpq21ijib"))))
(base32 "11w6dxg8159bhcap9gzv11nlcnl8mfx5ss0ga05p6wjnk2j2slzb"))))
(build-system gnu-build-system)
(inputs
(list gettext-minimal ncurses))

View file

@ -4,7 +4,7 @@
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2016, 2017, 2021 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2016 Raimon Grau <raimonster@gmail.com>
;;; Copyright © 20162021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 20162022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
;;; Copyright © 2016-2022 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
@ -116,6 +116,7 @@
#:use-module (gnu packages linux)
#:use-module (gnu packages lua)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages mpi)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages nettle)
#:use-module (gnu packages openldap)
@ -981,7 +982,7 @@ or server shell scripts with network connections.")
(define-public mbuffer
(package
(name "mbuffer")
(version "20211018")
(version "20220418")
(source (origin
(method url-fetch)
(uri (string-append
@ -989,7 +990,7 @@ or server shell scripts with network connections.")
version ".tgz"))
(sha256
(base32
"1qxnbpyly00kml3sjan9iqg6pqacsi3yqq66x25w455cwkjc2h72"))))
"1iq0lcl350r7qja7yyv911aay26d0dd8n0h33mfl84gzypwh2n3f"))))
(build-system gnu-build-system)
(native-inputs
(list which))
@ -1863,19 +1864,22 @@ live network and disk I/O bandwidth monitor.")
(define-public aircrack-ng
(package
(name "aircrack-ng")
(version "1.6")
(version "1.7")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.aircrack-ng.org/aircrack-ng-"
version ".tar.gz"))
(sha256
(base32 "0ix2k64qg7x3w0bzdsbk1m50kcpq1ws59g3zkwiafvpwdr4gs2sg"))))
(base32 "1hsq1gwmafka4bahs6rc8p98yi542h9a502h64bjlygpr3ih99q5"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf automake libtool pkg-config which))
(list autoconf automake libtool pkg-config which
;; For tests.
expect))
(inputs
(list libgcrypt
(list `(,hwloc "lib") ; speed boost on SMP machines
libgcrypt
libnl
libpcap
ethtool
@ -1894,16 +1898,14 @@ live network and disk I/O bandwidth monitor.")
;; patch-shebangs phase has had a chance to run.
(substitute* "evalrev"
(("/bin/sh")
(which "sh")))
#t))
(which "sh")))))
(add-after 'build 'absolutize-tools
(lambda* (#:key inputs #:allow-other-keys)
(let ((ethtool (search-input-file inputs
"/sbin/ethtool")))
(substitute* "scripts/airmon-ng"
(("ethtool ")
(string-append ethtool " ")))
#t))))))
(string-append ethtool " ")))))))))
(home-page "https://www.aircrack-ng.org")
(synopsis "Assess WiFi network security")
(description
@ -2296,14 +2298,14 @@ libproxy only have to specify which proxy to use.")
(define-public proxychains-ng
(package
(name "proxychains-ng")
(version "4.15")
(version "4.16")
(source
(origin
(method url-fetch)
(uri (string-append "http://ftp.barfooze.de/pub/sabotage/tarballs/"
"proxychains-ng-" version ".tar.xz"))
(sha256
(base32 "10ch6rmbw2lwrq1bc9w4glxkws7hvsy5ihasvzf3yg053xzsn1rj"))))
(base32 "04k80jbv1wcr7ccsa0qyly33syw275kvkvzyihwwqmsqk4yria9p"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; there are no tests

View file

@ -391,7 +391,7 @@ if desired.")
(home-page "https://github.com/isaacs/inherits")
(synopsis "Browser-friendly object inheritance")
(description "This package provides an alternative implementation of
Node's @code{inherits} constructer that can be used in browsers, while
Node's @code{inherits} constructor that can be used in browsers, while
defaulting to Node's implementation otherwise.")
(license license:isc)))

View file

@ -4,7 +4,7 @@
;;; Copyright © 2017 Muriithi Frederick Muriuki <fredmanglis@gmail.com>
;;; Copyright © 2017, 2018 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
;;; Copyright © 20172021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 20172022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2018, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org>
@ -159,8 +159,8 @@
;; Note: the 'update-guix-package.scm' script expects this definition to
;; start precisely like this.
(let ((version "1.3.0")
(commit "c1719a0adf3fa7611b56ca4d75b3ac8cf5c9c8ac")
(revision 25))
(commit "598f7289db9955584457ffc11c8504f3938a1618")
(revision 27))
(package
(name "guix")
@ -176,7 +176,7 @@
(commit commit)))
(sha256
(base32
"0yaphn5shvmxffi4qw66bpvl3q8gn5n168v61x9c2m3vksjygmrn"))
"0i4rdmh74dws57i8cjsrcdxrb3r8lph3mnvwafdqlfripxvn7yry"))
(file-name (string-append "guix-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
@ -489,6 +489,30 @@ the Nix package manager.")
(license license:gpl3+)
(properties '((ftp-server . "alpha.gnu.org"))))))
(define-public guix-for-cuirass
;; Known-good revision before commit
;; bd86bbd300474204878e927f6cd3f0defa1662a5, which introduced
;; 'primitive-fork' in 'open-inferior'.
(let ((version "1.3.0")
(commit "a27e47f9d1e22dc32bb250cfeef88cfacb930e23")
(revision 23))
(package
(inherit guix)
(version (string-append version "-"
(number->string revision)
"." (string-take commit 7)))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://git.savannah.gnu.org/git/guix.git")
(commit commit)))
(sha256
(base32
"12jmvagbw05hmmlrb82i0qazhlv7mcfnl4dmknwx3a9hd760g9y1"))
(file-name (string-append "guix-" version "-checkout"))))
(properties `((hidden? . #t)
,@(package-properties guix))))))
(define-public guix-daemon
;; This package is for internal consumption: it allows us to quickly build
;; the 'guix-daemon' program and use that in (guix self), used by 'guix
@ -1318,8 +1342,8 @@ environments.")
(license (list license:gpl3+ license:agpl3+ license:silofl1.1))))
(define-public guix-build-coordinator
(let ((commit "fff7454f8f136e2d3b0650d99d9f6b0055fa2e1c")
(revision "51"))
(let ((commit "3de63f1f66d5f0eb157ee60bc864404f386ee2b0")
(revision "53"))
(package
(name "guix-build-coordinator")
(version (git-version "0" revision commit))
@ -1330,7 +1354,7 @@ environments.")
(commit commit)))
(sha256
(base32
"1pc06wppgnj7zv6nb76agxhy23r1778ffsv82whckw6xdd08llqi"))
"1ld761c48ad925p3kisnjvad50p6hyk77z0yjcr29681n73xzzz4"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
@ -1626,8 +1650,8 @@ in an isolated environment, in separate namespaces.")
(license license:gpl3+)))
(define-public nar-herder
(let ((commit "ea997c68515540e34bda267730b9c7c6f21ff6b4")
(revision "6"))
(let ((commit "a24fbd108f75c8f27d2f68f2d1a051e2f3f3e191")
(revision "7"))
(package
(name "nar-herder")
(version (git-version "0" revision commit))
@ -1638,7 +1662,7 @@ in an isolated environment, in separate namespaces.")
(commit commit)))
(sha256
(base32
"11clylk3aizwy0b5sx4xnwj62bzv20ysb5cjcjsx184f1g8lgbw6"))
"1jm6ks2sjcwih7j4wnp252qd73n8pydg7sd000ismpvg5p21l7fg"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
@ -1796,7 +1820,7 @@ for packaging and deployment of cross-compiled Windows applications.")
(define-public libostree
(package
(name "libostree")
(version "2022.1")
(version "2022.2")
(source
(origin
(method url-fetch)
@ -1804,7 +1828,7 @@ for packaging and deployment of cross-compiled Windows applications.")
"https://github.com/ostreedev/ostree/releases/download/v"
(version-major+minor version) "/libostree-" version ".tar.xz"))
(sha256
(base32 "1mfakwm0sjvb1vvl3jhc451yyf723k7c4vv1yqs8law4arw0x823"))))
(base32 "0sv70dqmf2w2lshp80sfh9m6qv5mrg72zqqbx63bd32dg2szbqkn"))))
(build-system gnu-build-system)
(arguments
'(#:phases
@ -1813,8 +1837,7 @@ for packaging and deployment of cross-compiled Windows applications.")
(lambda _
;; Don't try to use the non-existing '/var/tmp' as test
;; directory.
(setenv "TEST_TMPDIR" (getenv "TMPDIR"))
#t)))
(setenv "TEST_TMPDIR" (getenv "TMPDIR")))))
;; XXX: fails with:
;; tap-driver.sh: missing test plan
;; tap-driver.sh: internal error getting exit status

View file

@ -7,7 +7,7 @@
;;; Copyright © 2016, 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 20182021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 20182022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2019-2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Roel Janssen <roel@gnu.org>
@ -62,14 +62,14 @@
(define-public parallel
(package
(name "parallel")
(version "20220422")
(version "20220522")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/parallel/parallel-"
version ".tar.bz2"))
(sha256
(base32 "19rwnxqbwbfhrrifyq5chsg6qgz9n8xf96l838agq0hkzwzvgr4n"))))
(base32 "07wczb3ra65xn8xar4lsfmdvqscbqk9n99r6vcxqzrk4v7w9aqxv"))))
(build-system gnu-build-system)
(arguments
`(#:phases

View file

@ -1,71 +0,0 @@
commit 20d80e2323b565a36751c9455e535d8f73fa32f7
Author: Robert Vollmert <rob@vllmrt.net>
Date: Fri Jun 14 16:05:47 2019 +0200
disable reactor
diff --git a/elm.cabal b/elm.cabal
index c75f9689..ece63c46 100644
--- a/elm.cabal
+++ b/elm.cabal
@@ -45,9 +45,6 @@ Executable elm
builder/src
ui/terminal/src
- other-extensions:
- TemplateHaskell
-
Main-Is:
Main.hs
@@ -56,8 +53,6 @@ Executable elm
Develop
Develop.Generate.Help
Develop.Generate.Index
- Develop.StaticFiles
- Develop.StaticFiles.Build
Diff
Init
Install
diff --git a/ui/terminal/src/Develop.hs b/ui/terminal/src/Develop.hs
index 4b2252e1..7ed7716e 100644
--- a/ui/terminal/src/Develop.hs
+++ b/ui/terminal/src/Develop.hs
@@ -23,7 +23,6 @@ import Snap.Util.FileServe
import qualified Elm.Project as Project
import qualified Develop.Generate.Help as Generate
import qualified Develop.Generate.Index as Index
-import qualified Develop.StaticFiles as StaticFiles
import qualified Generate.Output as Output
import qualified Json.Encode as Encode
import qualified Reporting.Exit as Exit
@@ -219,16 +218,7 @@ compileToHtmlBuilder mode file =
serveAssets :: Snap ()
-serveAssets =
- do file <- getSafePath
- case StaticFiles.lookup file of
- Nothing ->
- pass
-
- Just (content, mimeType) ->
- do modifyResponse (setContentType (mimeType <> ";charset=utf-8"))
- writeBS content
-
+serveAssets = pass
-- MIME TYPES
diff --git a/ui/terminal/src/Main.hs b/terminal/src/Main.hs
index 7000f3ca..2c76965a 100644
--- a/ui/terminal/src/Main.hs
+++ b/ui/terminal/src/Main.hs
@@ -39,7 +39,6 @@ main =
complex intro outro
[ repl
, init
- , reactor
, make
, install
, bump

View file

@ -1,38 +0,0 @@
commit e3512d887df41a8162c3e361171c04beca08415b
Author: Tom Stejskal <tom.stejskal@gmail.com>
Date: Mon Nov 19 20:09:43 2018 +0100
Fix Map.!: given key is not an element in the map
diff --git a/compiler/src/Elm/Compiler/Type/Extract.hs b/compiler/src/Elm/Compiler/Type/Extract.hs
index 1aafe1d4..99763392 100644
--- a/compiler/src/Elm/Compiler/Type/Extract.hs
+++ b/compiler/src/Elm/Compiler/Type/Extract.hs
@@ -10,6 +10,7 @@ module Elm.Compiler.Type.Extract
import Data.Map ((!))
+import qualified Data.Map as Map
import qualified Data.Maybe as Maybe
import qualified Data.Set as Set
@@ -134,11 +135,15 @@ extractUnion interfaces (Opt.Global home name) =
else
let
pname = toPublicName home name
- unions = I._unions (interfaces ! home)
+ maybeUnions = I._unions <$> Map.lookup home interfaces
in
- case I.toUnionInternals (unions ! name) of
- Can.Union vars ctors _ _ ->
- T.Union pname vars <$> traverse extractCtor ctors
+ case Map.lookup name =<< maybeUnions of
+ Just union ->
+ case I.toUnionInternals union of
+ Can.Union vars ctors _ _ ->
+ T.Union pname vars <$> traverse extractCtor ctors
+ Nothing ->
+ return $ T.Union pname [] []
extractCtor :: Can.Ctor -> Extractor (N.Name, [T.Type])

View file

@ -0,0 +1,71 @@
From 06563409e6f2b1cca7bc1b27e31efd07a7569da8 Mon Sep 17 00:00:00 2001
From: Philip McGrath <philip@philipmcgrath.com>
Date: Thu, 14 Apr 2022 22:41:04 -0400
Subject: [PATCH] minimal support for offline builds
Normally, Elm performs HTTP requests before building to obtain or
update its list of all registed packages and their versions.
This is problematic in the Guix build environment.
This patch causes Elm to check if the `GUIX_ELM_OFFLINE_REGISTRY_FILE`
is set and, if so, to use the contents of the file it specifies as
though it were the response from
https://package.elm-lang.org/all-packages.
This patch does not attempt to add more general support for offline
builds. In particular, it does not attempt to support incremental
updates to the package registry cache file. See also discussion at
https://discourse.elm-lang.org/t/private-package-tool-spec/6779/25.
---
builder/src/Deps/Registry.hs | 25 +++++++++++++++++++++----
1 file changed, 21 insertions(+), 4 deletions(-)
diff --git a/builder/src/Deps/Registry.hs b/builder/src/Deps/Registry.hs
index 8d7def98..70cf3622 100644
--- a/builder/src/Deps/Registry.hs
+++ b/builder/src/Deps/Registry.hs
@@ -18,6 +18,8 @@ import Control.Monad (liftM2)
import Data.Binary (Binary, get, put)
import qualified Data.List as List
import qualified Data.Map.Strict as Map
+import System.Environment as Env
+import qualified Data.ByteString as BS
import qualified Deps.Website as Website
import qualified Elm.Package as Pkg
@@ -190,13 +192,28 @@ getVersions' name (Registry _ versions) =
post :: Http.Manager -> String -> D.Decoder x a -> (a -> IO b) -> IO (Either Exit.RegistryProblem b)
post manager path decoder callback =
let
- url = Website.route path []
- in
- Http.post manager url [] Exit.RP_Http $
- \body ->
+ mkBodyCallback url body =
case D.fromByteString decoder body of
Right a -> Right <$> callback a
Left _ -> return $ Left $ Exit.RP_Data url body
+ postOnline url cb =
+ Http.post manager url [] Exit.RP_Http cb
+ performPost f url =
+ f url (mkBodyCallback url)
+ in
+ do
+ maybeFile <- Env.lookupEnv "GUIX_ELM_OFFLINE_REGISTRY_FILE"
+ case (path, maybeFile) of
+ ( "/all-packages", Just file ) ->
+ performPost postOffline file
+ ( _, _ ) ->
+ -- don't know how to handle other endpoints yet
+ performPost postOnline (Website.route path [])
+
+postOffline :: String -> (BS.ByteString -> IO a) -> IO a
+postOffline file callback = do
+ body <- BS.readFile file
+ callback body
--
2.32.0

View file

@ -0,0 +1,251 @@
From 41d219a29b03f3114af7a0521c8b2dbbb487c3e1 Mon Sep 17 00:00:00 2001
From: Philip McGrath <philip@philipmcgrath.com>
Date: Wed, 13 Apr 2022 18:45:58 -0400
Subject: [PATCH] reactor: look for static files relative to executable
Must built with `-DGUIX_REACTOR_STATIC_REL_ROOT="../path/to/reactor"`.
This lets us build a version of Elm without the `elm reactor` for
bootstrapping, then simply put the files in place in the final package.
---
elm.cabal | 2 +-
terminal/src/Develop.hs | 32 +++++++++++----
terminal/src/Develop/StaticFiles.hs | 37 ++++++++++-------
terminal/src/Develop/StaticFiles/Build.hs | 50 ++++++++++++++---------
4 files changed, 79 insertions(+), 42 deletions(-)
diff --git a/elm.cabal b/elm.cabal
index bf1cfcf0..93161072 100644
--- a/elm.cabal
+++ b/elm.cabal
@@ -50,6 +50,7 @@ Executable elm
other-extensions:
TemplateHaskell
+ CPP
Main-Is:
Main.hs
@@ -211,7 +212,6 @@ Executable elm
containers >= 0.5.8.2 && < 0.6,
directory >= 1.2.3.0 && < 2.0,
edit-distance >= 0.2 && < 0.3,
- file-embed,
filelock,
filepath >= 1 && < 2.0,
ghc-prim >= 0.5.2,
diff --git a/terminal/src/Develop.hs b/terminal/src/Develop.hs
index 00339364..6855b03e 100644
--- a/terminal/src/Develop.hs
+++ b/terminal/src/Develop.hs
@@ -33,6 +33,7 @@ import qualified Reporting.Exit as Exit
import qualified Reporting.Task as Task
import qualified Stuff
+import System.Exit as SysExit
-- RUN THE DEV SERVER
@@ -45,13 +46,29 @@ data Flags =
run :: () -> Flags -> IO ()
-run () (Flags maybePort) =
+run () flags = do
+ frontEnd <- StaticFiles.prepare
+ case frontEnd of
+ Right lookup ->
+ reallyRun lookup flags
+ Left missing ->
+ SysExit.die $ unlines
+ [ "The `reactor` command is not available."
+ , ""
+ , "On Guix, these files are needed for `elm reactor` to work,"
+ , "but they are missing:"
+ , ""
+ , unlines (map (\pth -> " " ++ (show pth)) missing)
+ ]
+
+reallyRun :: StaticFiles.Lookup -> Flags -> IO ()
+reallyRun lookup (Flags maybePort) =
do let port = maybe 8000 id maybePort
putStrLn $ "Go to http://localhost:" ++ show port ++ " to see your project dashboard."
httpServe (config port) $
serveFiles
<|> serveDirectoryWith directoryConfig "."
- <|> serveAssets
+ <|> serveAssets lookup
<|> error404
@@ -169,16 +186,15 @@ compile path =
-- SERVE STATIC ASSETS
-serveAssets :: Snap ()
-serveAssets =
+serveAssets :: StaticFiles.Lookup -> Snap ()
+serveAssets lookup =
do path <- getSafePath
- case StaticFiles.lookup path of
+ case lookup path of
Nothing ->
pass
- Just (content, mimeType) ->
- do modifyResponse (setContentType (mimeType <> ";charset=utf-8"))
- writeBS content
+ Just (fsPath, mimeType) ->
+ serveFileAs (mimeType <> ";charset=utf-8") fsPath
diff --git a/terminal/src/Develop/StaticFiles.hs b/terminal/src/Develop/StaticFiles.hs
index 94ee72dc..3227d617 100644
--- a/terminal/src/Develop/StaticFiles.hs
+++ b/terminal/src/Develop/StaticFiles.hs
@@ -2,7 +2,8 @@
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TemplateHaskell #-}
module Develop.StaticFiles
- ( lookup
+ ( prepare
+ , Lookup
, cssPath
, elmPath
, waitingPath
@@ -11,9 +12,7 @@ module Develop.StaticFiles
import Prelude hiding (lookup)
import qualified Data.ByteString as BS
-import Data.FileEmbed (bsToExp)
import qualified Data.HashMap.Strict as HM
-import Language.Haskell.TH (runIO)
import System.FilePath ((</>))
import qualified Develop.StaticFiles.Build as Build
@@ -26,20 +25,29 @@ import qualified Develop.StaticFiles.Build as Build
type MimeType =
BS.ByteString
+type Lookup = FilePath -> Maybe (FilePath, MimeType)
-lookup :: FilePath -> Maybe (BS.ByteString, MimeType)
-lookup path =
+prepare :: IO (Either [FilePath] Lookup)
+prepare = do
+ found <- Build.findReactorFrontEnd expectedFiles
+ return $ case found of
+ Left missing ->
+ Left missing
+ Right resolved ->
+ Right (mkLookup (HM.fromList resolved))
+
+mkLookup :: HM.HashMap FilePath (FilePath, MimeType) -> Lookup
+mkLookup dict path =
HM.lookup path dict
-dict :: HM.HashMap FilePath (BS.ByteString, MimeType)
-dict =
- HM.fromList
- [ faviconPath ==> (favicon , "image/x-icon")
- , elmPath ==> (elm , "application/javascript")
- , cssPath ==> (css , "text/css")
- , codeFontPath ==> (codeFont, "font/ttf")
- , sansFontPath ==> (sansFont, "font/ttf")
+expectedFiles :: [(FilePath, MimeType)]
+expectedFiles =
+ [ faviconPath ==> "image/x-icon"
+ , elmPath ==> "application/javascript"
+ , cssPath ==> "text/css"
+ , codeFontPath ==> "font/ttf"
+ , sansFontPath ==> "font/ttf"
]
@@ -82,7 +90,7 @@ sansFontPath =
"_elm" </> "source-sans-pro.ttf"
-
+{-
-- ELM
@@ -121,3 +129,4 @@ sansFont =
favicon :: BS.ByteString
favicon =
$(bsToExp =<< runIO (Build.readAsset "favicon.ico"))
+-}
diff --git a/terminal/src/Develop/StaticFiles/Build.hs b/terminal/src/Develop/StaticFiles/Build.hs
index c61fae57..c39b08b0 100644
--- a/terminal/src/Develop/StaticFiles/Build.hs
+++ b/terminal/src/Develop/StaticFiles/Build.hs
@@ -1,28 +1,39 @@
{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE CPP #-}
module Develop.StaticFiles.Build
- ( readAsset
- , buildReactorFrontEnd
+ ( findReactorFrontEnd
)
where
-
-import qualified Data.ByteString as BS
-import qualified Data.ByteString.Builder as B
-import qualified Data.ByteString.Lazy as LBS
-import qualified Data.NonEmptyList as NE
import qualified System.Directory as Dir
-import System.FilePath ((</>))
-
-import qualified BackgroundWriter as BW
-import qualified Build
-import qualified Elm.Details as Details
-import qualified Generate
-import qualified Reporting
-import qualified Reporting.Exit as Exit
-import qualified Reporting.Task as Task
-
-
-
+import System.FilePath ((</>), takeDirectory)
+import System.Environment (getExecutablePath)
+import Data.Either as Either
+
+reactorStaticRelRoot :: FilePath
+reactorStaticRelRoot = GUIX_REACTOR_STATIC_REL_ROOT
+
+type Resolved a = (FilePath, (FilePath, a))
+
+findReactorFrontEnd :: [(FilePath, a)] -> IO (Either [FilePath] [Resolved a])
+findReactorFrontEnd specs = do
+ exe <- getExecutablePath
+ let dir = takeDirectory exe </> reactorStaticRelRoot
+ dirExists <- Dir.doesDirectoryExist dir
+ files <- sequence (map (findFile dir) specs)
+ return $ case Either.lefts files of
+ [] ->
+ Right (Either.rights files)
+ missing ->
+ Left $ if dirExists then missing else [dir]
+
+findFile :: FilePath -> (FilePath, a) -> IO (Either FilePath (Resolved a))
+findFile dir (rel, rhs) = do
+ let abs = dir </> rel
+ exists <- Dir.doesFileExist abs
+ return $ if not exists then Left abs else Right (rel, (abs, rhs))
+
+{-
-- ASSETS
@@ -71,3 +82,4 @@ runTaskUnsafe task =
\\nCompile with `elm make` directly to figure it out faster\
\\n--------------------------------------------------------\
\\n"
+-}
--
2.32.0

View file

@ -0,0 +1,23 @@
From 9cc5520e1998d03f5dec0fbb1fe71b7cdec38b65 Mon Sep 17 00:00:00 2001
From: Alex Branham <alex.branham@gmail.com>
Date: Wed, 6 Jan 2021 06:41:20 -0500
Subject: [PATCH] Add required when to obsolete function alias
Closes #1085
---
lisp/ess-r-package.el | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lisp/ess-r-package.el b/lisp/ess-r-package.el
index 260959955..397ce14e6 100644
--- a/lisp/ess-r-package.el
+++ b/lisp/ess-r-package.el
@@ -577,7 +577,7 @@ package mode. Use this function if state of the buffer such as
(error "As of ESS 16.04, `ess-developer' is deprecated. Use `ess-r-set-evaluation-env' instead"))
(defalias 'ess-toggle-developer 'ess-developer)
-(define-obsolete-function-alias 'ess-r-devtools-check-package-buildwin 'ess-r-devtools-check-with-winbuilder)
+(define-obsolete-function-alias 'ess-r-devtools-check-package-buildwin 'ess-r-devtools-check-with-winbuilder "18.04")
(define-obsolete-function-alias 'ess-r-devtools-ask 'ess-r-devtools-execute-command "18.04")
(make-obsolete-variable 'ess-developer "Please use `ess-developer-select-package' and `ess-r-set-evaluation-env' instead." "16.04")

View file

@ -0,0 +1,39 @@
From dbe23aec174001c42f6edc7a594863a82a24bcfa Mon Sep 17 00:00:00 2001
From: Kyle Meyer <kyle@kyleam.com>
Date: Sun, 15 May 2022 13:56:37 -0400
Subject: [PATCH] lispy-test.el (lispy-toggle-threaded-last): Update for Emacs
28
Starting with Emacs 28.1, thread-first uses `(declare (indent 0) ...)`
rather than `(declare (indent 1) ...)`.
---
Proposed upstream at <https://github.com/abo-abo/lispy/pull/632>.
lispy-test.el | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/lispy-test.el b/lispy-test.el
index d946731..87d8c87 100644
--- a/lispy-test.el
+++ b/lispy-test.el
@@ -150,7 +150,13 @@ (ert-deftest lispy-toggle-threaded-last ()
"|(thread-last (a 1) (b 2) (c 3))"))
(should (string= (lispy-with "|(equal 1443070800.0\n (ts-unix\n (ts-parse-org-element\n (org-element-context))))"
(lispy-toggle-thread-last))
- "|(thread-last (org-element-context)\n (ts-parse-org-element)\n (ts-unix)\n (equal 1443070800.0))"))
+ (let ((indent (make-string
+ (if (version< emacs-version "28.1") 2 13)
+ ?\s)))
+ (concat "|(thread-last (org-element-context)\n"
+ indent "(ts-parse-org-element)\n"
+ indent "(ts-unix)\n"
+ indent "(equal 1443070800.0))"))))
(should (string= (lispy-with "|(thread-last (org-element-context)\n (ts-parse-org-element)\n (ts-unix)\n (equal 1443070800.0))"
(lispy-toggle-thread-last))
"|(equal 1443070800.0\n (ts-unix\n (ts-parse-org-element\n (org-element-context))))")))
base-commit: df1b7e614fb0f73646755343e8892ddda310f427
--
2.36.0

View file

@ -0,0 +1,114 @@
Make sure that statements such as:
strcpy (dst, "/gnu/store/…");
or
static const char str[] = "/gnu/store/…";
strcpy (dst, str);
do not result in chunked /gnu/store strings that are undetectable by
Guix's GC and its grafting code. See <https://bugs.gnu.org/24703>
and <https://bugs.gnu.org/30395>.
diff --git a/gcc/builtins.cc b/gcc/builtins.cc
index 5b085e3a1..480bc0b54 100644
--- a/gcc/builtins.cc
+++ b/gcc/builtins.cc
@@ -3363,6 +3363,58 @@ expand_builtin_mempcpy (tree exp, rtx target)
target, exp, /*retmode=*/ RETURN_END);
}
+extern void debug_tree (tree);
+
+/* Return true if STR contains the string "/gnu/store". */
+
+bool
+store_reference_p (tree str)
+{
+ if (getenv ("GUIX_GCC_DEBUG") != NULL)
+ debug_tree (str);
+
+ if (TREE_CODE (str) == ADDR_EXPR)
+ str = TREE_OPERAND (str, 0);
+
+ if (TREE_CODE (str) == VAR_DECL
+ && TREE_STATIC (str)
+ && TREE_READONLY (str))
+ {
+ /* STR may be a 'static const' variable whose initial value
+ is a string constant. See <https://bugs.gnu.org/30395>. */
+ str = DECL_INITIAL (str);
+ if (str == NULL_TREE)
+ return false;
+ }
+
+ if (TREE_CODE (str) != STRING_CST)
+ return false;
+
+ int len;
+ const char *store;
+
+ store = getenv ("NIX_STORE") ? getenv ("NIX_STORE") : "/gnu/store";
+ len = strlen (store);
+
+ /* Size of the hash part of store file names, including leading slash and
+ trailing hyphen. */
+ const int hash_len = 34;
+
+ if (TREE_STRING_LENGTH (str) < len + hash_len)
+ return false;
+
+ /* We cannot use 'strstr' because 'TREE_STRING_POINTER' returns a string
+ that is not necessarily NUL-terminated. */
+
+ for (int i = 0; i < TREE_STRING_LENGTH (str) - (len + hash_len); i++)
+ {
+ if (strncmp (TREE_STRING_POINTER (str) + i, store, len) == 0)
+ return true;
+ }
+
+ return false;
+}
+
/* Helper function to do the actual work for expand of memory copy family
functions (memcpy, mempcpy, stpcpy). Expansing should assign LEN bytes
of memory from SRC to DEST and assign to TARGET if convenient. Return
@@ -3384,6 +3436,13 @@ expand_builtin_memory_copy_args (tree dest, tree src, tree len,
bool is_move_done;
+ /* Do not emit block moves, which translate to the 'movabs' instruction on
+ x86_64, when SRC refers to store items. That way, store references
+ remain visible to the Guix GC and grafting code. See
+ <https://bugs.gnu.org/24703>. */
+ if (store_reference_p (src))
+ return NULL_RTX;
+
/* If DEST is not a pointer type, call the normal function. */
if (dest_align == 0)
return NULL_RTX;
diff --git a/gcc/gimple-fold.cc b/gcc/gimple-fold.cc
index 863ee3d39..4cc46c265 100644
--- a/gcc/gimple-fold.cc
+++ b/gcc/gimple-fold.cc
@@ -856,6 +856,8 @@ var_decl_component_p (tree var)
&& TREE_CODE (TREE_OPERAND (inner, 0)) == ADDR_EXPR));
}
+extern bool store_reference_p (tree);
+
/* Return TRUE if the SIZE argument, representing the size of an
object, is in a range of values of which exactly zero is valid. */
@@ -960,6 +962,9 @@ gimple_fold_builtin_memory_op (gimple_stmt_iterator *gsi,
= build_int_cst (build_pointer_type_for_mode (char_type_node,
ptr_mode, true), 0);
+ if (store_reference_p (src))
+ return false;
+
/* If we can perform the copy efficiently with first doing all loads
and then all stores inline it that way. Currently efficiently
means that we can load all the memory into a single integer

View file

@ -0,0 +1,55 @@
Fix gcolor3 to work with libportal-0.5
This patch is extracted from upstream, see here
https://gitlab.gnome.org/World/gcolor3/-/commit/1750369a3fd922aa9db6916207dc460c6f885e14
From 1750369a3fd922aa9db6916207dc460c6f885e14 Mon Sep 17 00:00:00 2001
From: Michal Vasilek <michal@vasilek.cz>
Date: Mon, 27 Dec 2021 13:47:14 +0100
Subject: [PATCH] Update to libportal 0.5
---
meson.build | 2 ++
src/gcolor3-color-selection.c | 2 +-
src/meson.build | 1 +
3 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index 6453679..7d6dc50 100644
--- a/meson.build
+++ b/meson.build
@@ -7,9 +7,11 @@ dep_gtk = dependency('gtk+-3.0', version: '>= 3.20.0', required: true)
dep_libportal = dependency(
'libportal',
required: true,
+ version: '>= 0.5',
fallback: ['libportal', 'libportal_dep'],
default_options: ['gtk_doc=false'],
)
+dep_libportal_gtk3 = dependency('libportal-gtk3', version: '>= 0.5', required: true)
cc = meson.get_compiler('c')
dep_lm = cc.find_library('m', required: true)
diff --git a/src/gcolor3-color-selection.c b/src/gcolor3-color-selection.c
index 7413850..5df9d54 100644
--- a/src/gcolor3-color-selection.c
+++ b/src/gcolor3-color-selection.c
@@ -41,7 +41,7 @@
#include <gtk/gtk.h>
#include <glib/gi18n.h>
#include <libportal/portal.h>
-#include <libportal/portal-gtk3.h>
+#include <libportal-gtk3/portal-gtk3.h>
#ifdef ENABLE_NLS
#define P_(String) g_dgettext(GETTEXT_PACKAGE "-properties",String)
diff --git a/src/meson.build b/src/meson.build
index 3998f68..d488e51 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -42,6 +42,7 @@ executable(
dependencies: [
dep_gtk,
dep_libportal,
+ dep_libportal_gtk3,
dep_lm

View file

@ -0,0 +1,47 @@
From 2c5b0d5d6eba3bda4e83f489da546060fa8f3a2b Mon Sep 17 00:00:00 2001
From: Zhu Zihao <all_but_last@163.com>
Date: Sat, 26 Mar 2022 16:54:43 +0800
Subject: [PATCH] Unbundle robin-map.
This patch makes libobjc2 use robin-map header from system instead of cloning
from submodule.
---
CMakeLists.txt | 8 --------
arc.mm | 2 +-
2 files changed, 1 insertion(+), 9 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e2746e9..cf731f1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -86,14 +86,6 @@ else ()
list(APPEND libobjc_C_SRCS eh_personality.c)
endif (WIN32)
-if (NOT EXISTS "${CMAKE_SOURCE_DIR}/third_party/robin-map/include/tsl/robin_map.h")
- message(FATAL_ERROR "Git submodules not present, please run:\n\n"
- " $ git submodule init && git submodule update\n\n"
- "If you did not checkout via git, you will need to"
- "fetch the submodule's contents from"
- "https://github.com/Tessil/robin-map/")
-endif ()
-
# For release builds, we disable spamming the terminal with warnings about
# selector type mismatches
if (CMAKE_BUILD_TYPE STREQUAL Release)
diff --git a/arc.mm b/arc.mm
index c96681f..cc93e7f 100644
--- a/arc.mm
+++ b/arc.mm
@@ -3,7 +3,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
-#include "third_party/robin-map/include/tsl/robin_map.h"
+#include <tsl/robin_map.h>
#import "lock.h"
#import "objc/runtime.h"
#import "objc/blocks_runtime.h"
--
2.34.0

View file

@ -1,71 +0,0 @@
From fe9eeb51be06059721e873f77092b1e9ba08e6c1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michal=20=C5=BDidek?= <mzidek@redhat.com>
Date: Thu, 27 Feb 2020 06:50:40 +0100
Subject: [PATCH] nss: Collision with external nss symbol
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
One of our internal static function names started
to collide with external nss symbol. Additional
sss_ suffix was added to avoid the collision.
This is needed to unblock Fedora Rawhide's
SSSD build.
Reviewed-by: Pavel Březina <pbrezina@redhat.com>
---
src/responder/nss/nss_cmd.c | 18 ++++++++++--------
1 file changed, 10 insertions(+), 8 deletions(-)
diff --git a/src/responder/nss/nss_cmd.c b/src/responder/nss/nss_cmd.c
index 356aea1564..02706c4b94 100644
--- a/src/responder/nss/nss_cmd.c
+++ b/src/responder/nss/nss_cmd.c
@@ -731,11 +731,13 @@ static void nss_getent_done(struct tevent_req *subreq)
talloc_free(cmd_ctx);
}
-static void nss_setnetgrent_done(struct tevent_req *subreq);
+static void sss_nss_setnetgrent_done(struct tevent_req *subreq);
-static errno_t nss_setnetgrent(struct cli_ctx *cli_ctx,
- enum cache_req_type type,
- nss_protocol_fill_packet_fn fill_fn)
+/* This function's name started to collide with external nss symbol,
+ * so it has additional sss_* prefix unlike other functions here. */
+static errno_t sss_nss_setnetgrent(struct cli_ctx *cli_ctx,
+ enum cache_req_type type,
+ nss_protocol_fill_packet_fn fill_fn)
{
struct nss_ctx *nss_ctx;
struct nss_state_ctx *state_ctx;
@@ -777,7 +779,7 @@ static errno_t nss_setnetgrent(struct cli_ctx *cli_ctx,
goto done;
}
- tevent_req_set_callback(subreq, nss_setnetgrent_done, cmd_ctx);
+ tevent_req_set_callback(subreq, sss_nss_setnetgrent_done, cmd_ctx);
ret = EOK;
@@ -790,7 +792,7 @@ static errno_t nss_setnetgrent(struct cli_ctx *cli_ctx,
return EOK;
}
-static void nss_setnetgrent_done(struct tevent_req *subreq)
+static void sss_nss_setnetgrent_done(struct tevent_req *subreq)
{
struct nss_cmd_ctx *cmd_ctx;
errno_t ret;
@@ -1040,8 +1042,8 @@ static errno_t nss_cmd_initgroups_ex(struct cli_ctx *cli_ctx)
static errno_t nss_cmd_setnetgrent(struct cli_ctx *cli_ctx)
{
- return nss_setnetgrent(cli_ctx, CACHE_REQ_NETGROUP_BY_NAME,
- nss_protocol_fill_setnetgrent);
+ return sss_nss_setnetgrent(cli_ctx, CACHE_REQ_NETGROUP_BY_NAME,
+ nss_protocol_fill_setnetgrent);
}
static errno_t nss_cmd_getnetgrent(struct cli_ctx *cli_ctx)

View file

@ -1,523 +0,0 @@
From 3ba88c317fd64b69b000adbdf881c88383f325d1 Mon Sep 17 00:00:00 2001
From: Noel Power <noel.power@suse.com>
Date: Tue, 24 Mar 2020 13:37:07 +0000
Subject: [PATCH] Use ndr_pull_steal_switch_value for modern samba versions
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
commit bc56b10aea999284458dcc293b54cf65288e325d attempted to
fix the build error resulting from removal of 'ndr_pull_get_switch'
This change uses the new replacement method
'ndr_pull_steal_switch_value' however depending on the samba version
the ndr_pull_steal_switch_value abi is different.
Note: ndr_pull_steal_switch_value is used since samba 4.10 for
the affected methods
Note: the following methods have been refreshed from samba-4.12 generated
code;
o ndr_pull_security_ace_object_type
o ndr_pull_security_ace_object_inherited_type
o ndr_pull_security_ace_object_ctr
Signed-off-by: Noel Power <noel.power@suse.com>
Reviewed-by: Pavel Březina <pbrezina@redhat.com>
(cherry picked from commit 1fdd8fa2fded1985fbfc6aa67394eebcdbb6a2fc)
Reviewed-by: Pavel Březina <pbrezina@redhat.com>
---
src/external/samba.m4 | 9 ++++++-
src/providers/ad/ad_gpo_ndr.c | 45 ++++++++++++++++++++---------------
2 files changed, 34 insertions(+), 20 deletions(-)
diff --git a/src/external/samba.m4 b/src/external/samba.m4
index 089f602a60..8e06174ead 100644
--- a/src/external/samba.m4
+++ b/src/external/samba.m4
@@ -132,8 +132,15 @@ int main(void)
AC_DEFINE_UNQUOTED(SMB_IDMAP_DOMAIN_HAS_DOM_SID, 1,
[Samba's struct idmap_domain has dom_sid member])
AC_MSG_NOTICE([Samba's struct idmap_domain has dom_sid member])
+ if test $samba_minor_version -ge 12 ; then
+ AC_DEFINE_UNQUOTED(SMB_HAS_NEW_NDR_PULL_STEAL_SWITCH, 1,
+ [Samba's new push/pull switch functions])
+ AC_MSG_NOTICE([Samba has support for new ndr_push_steal_switch_value and ndr_pull_steal_switch_value functions])
+ else
+ AC_MSG_NOTICE([Samba supports old ndr_pull_steal_switch_value and ndr_pull_steal_switch_value functions])
+ fi
else
AC_MSG_NOTICE([Samba's struct idmap_domain does not have dom_sid member])
+ AC_MSG_NOTICE([Samba supports old ndr_pull_steal_switch_value and ndr_pull_steal_switch_value functions])
fi
-
fi
SAVE_CFLAGS=$CFLAGS
diff --git a/src/providers/ad/ad_gpo_ndr.c b/src/providers/ad/ad_gpo_ndr.c
index 49c49d71b2..3d389e513d 100644
--- a/src/providers/ad/ad_gpo_ndr.c
+++ b/src/providers/ad/ad_gpo_ndr.c
@@ -105,9 +105,14 @@ ndr_pull_security_ace_object_type(struct ndr_pull *ndr,
union security_ace_object_type *r)
{
uint32_t level;
- level = ndr_token_peek(&ndr->switch_list, r);
NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
if (ndr_flags & NDR_SCALARS) {
+ /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
+#ifdef SMB_HAS_NEW_NDR_PULL_STEAL_SWITCH
+ NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
+#else
+ level = ndr_pull_steal_switch_value(ndr, r);
+#endif
NDR_CHECK(ndr_pull_union_align(ndr, 4));
switch (level) {
case SEC_ACE_OBJECT_TYPE_PRESENT: {
@@ -117,14 +122,6 @@ ndr_pull_security_ace_object_type(struct ndr_pull *ndr,
break; }
}
}
- if (ndr_flags & NDR_BUFFERS) {
- switch (level) {
- case SEC_ACE_OBJECT_TYPE_PRESENT:
- break;
- default:
- break;
- }
- }
return NDR_ERR_SUCCESS;
}
@@ -135,9 +132,14 @@ ndr_pull_security_ace_object_inherited_type(struct ndr_pull *ndr,
union security_ace_object_inherited_type *r)
{
uint32_t level;
- level = ndr_token_peek(&ndr->switch_list, r);
NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
if (ndr_flags & NDR_SCALARS) {
+ /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
+#ifdef SMB_HAS_NEW_NDR_PULL_STEAL_SWITCH
+ NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
+#else
+ level = ndr_pull_steal_switch_value(ndr, r);
+#endif
NDR_CHECK(ndr_pull_union_align(ndr, 4));
switch (level) {
case SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT: {
@@ -149,14 +151,6 @@ ndr_pull_security_ace_object_inherited_type(struct ndr_pull *ndr,
break; }
}
}
- if (ndr_flags & NDR_BUFFERS) {
- switch (level) {
- case SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT:
- break;
- default:
- break;
- }
- }
return NDR_ERR_SUCCESS;
}
@@ -198,9 +192,14 @@ ndr_pull_security_ace_object_ctr(struct ndr_pull *ndr,
union security_ace_object_ctr *r)
{
uint32_t level;
- level = ndr_token_peek(&ndr->switch_list, r);
NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
if (ndr_flags & NDR_SCALARS) {
+ /* This token is not used again (except perhaps below in the NDR_BUFFERS case) */
+#ifdef SMB_HAS_NEW_NDR_PULL_STEAL_SWITCH
+ NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
+#else
+ level = ndr_pull_steal_switch_value(ndr, r);
+#endif
NDR_CHECK(ndr_pull_union_align(ndr, 4));
switch (level) {
case SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT: {
@@ -224,6 +223,14 @@ ndr_pull_security_ace_object_ctr(struct ndr_pull *ndr,
}
}
if (ndr_flags & NDR_BUFFERS) {
+ if (!(ndr_flags & NDR_SCALARS)) {
+ /* We didn't get it above, and the token is not needed after this. */
+#ifdef SMB_HAS_NEW_NDR_PULL_STEAL_SWITCH
+ NDR_CHECK(ndr_pull_steal_switch_value(ndr, r, &level));
+#else
+ level = ndr_pull_steal_switch_value(ndr, r);
+#endif
+ }
switch (level) {
case SEC_ACE_TYPE_ACCESS_ALLOWED_OBJECT:
NDR_CHECK(ndr_pull_security_ace_object
From 5285a1896ee19bb8f1ff752380547bc6d7a43334 Mon Sep 17 00:00:00 2001
From: Noel Power <noel.power@suse.com>
Date: Tue, 24 Mar 2020 18:14:34 +0000
Subject: [PATCH] ad_gpo_ndr.c: refresh ndr_ methods from samba-4.12
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Noel Power <noel.power@suse.com>
Reviewed-by: Pavel Březina <pbrezina@redhat.com>
(cherry picked from commit c031adde4f532f39845a0efd78693600f1f8b2f4)
Reviewed-by: Pavel Březina <pbrezina@redhat.com>
---
src/providers/ad/ad_gpo_ndr.c | 201 ++++++++++++++++++----------------
1 file changed, 106 insertions(+), 95 deletions(-)
diff --git a/src/providers/ad/ad_gpo_ndr.c b/src/providers/ad/ad_gpo_ndr.c
index 3d389e513d..a64b1a0f84 100644
--- a/src/providers/ad/ad_gpo_ndr.c
+++ b/src/providers/ad/ad_gpo_ndr.c
@@ -177,8 +177,16 @@ ndr_pull_security_ace_object(struct ndr_pull *ndr,
NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
}
if (ndr_flags & NDR_BUFFERS) {
+ NDR_CHECK(ndr_pull_set_switch_value
+ (ndr,
+ &r->type,
+ r->flags & SEC_ACE_OBJECT_TYPE_PRESENT));
NDR_CHECK(ndr_pull_security_ace_object_type
(ndr, NDR_BUFFERS, &r->type));
+ NDR_CHECK(ndr_pull_set_switch_value
+ (ndr,
+ &r->inherited_type,
+ r->flags & SEC_ACE_INHERITED_OBJECT_TYPE_PRESENT));
NDR_CHECK(ndr_pull_security_ace_object_inherited_type
(ndr, NDR_BUFFERS, &r->inherited_type));
}
@@ -342,7 +350,7 @@ ndr_pull_security_acl(struct ndr_pull *ndr,
(ndr, NDR_SCALARS, &r->revision));
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_aces));
- if (r->num_aces > 1000) {
+ if (r->num_aces > 2000) {
return ndr_pull_error(ndr, NDR_ERR_RANGE, "value out of range");
}
size_aces_0 = r->num_aces;
@@ -408,107 +416,110 @@ ad_gpo_ndr_pull_security_descriptor(struct ndr_pull *ndr,
TALLOC_CTX *_mem_save_sacl_0;
uint32_t _ptr_dacl;
TALLOC_CTX *_mem_save_dacl_0;
- uint32_t _flags_save_STRUCT = ndr->flags;
- uint32_t _relative_save_offset;
-
- ndr_set_flags(&ndr->flags, LIBNDR_FLAG_LITTLE_ENDIAN);
- NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
- if (ndr_flags & NDR_SCALARS) {
- NDR_CHECK(ndr_pull_align(ndr, 5));
- NDR_CHECK(ndr_pull_security_descriptor_revision(ndr,
+ {
+ uint32_t _flags_save_STRUCT = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_LITTLE_ENDIAN);
+ NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 5));
+ NDR_CHECK(ndr_pull_security_descriptor_revision(ndr,
+ NDR_SCALARS,
+ &r->revision));
+ NDR_CHECK(ndr_pull_security_descriptor_type(ndr,
NDR_SCALARS,
- &r->revision));
- NDR_CHECK(ndr_pull_security_descriptor_type(ndr,
- NDR_SCALARS,
- &r->type));
- NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_owner_sid));
- if (_ptr_owner_sid) {
- NDR_PULL_ALLOC(ndr, r->owner_sid);
- NDR_CHECK(ndr_pull_relative_ptr1(ndr,
- r->owner_sid,
- _ptr_owner_sid));
- } else {
- r->owner_sid = NULL;
- }
- NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group_sid));
- if (_ptr_group_sid) {
- NDR_PULL_ALLOC(ndr, r->group_sid);
- NDR_CHECK(ndr_pull_relative_ptr1(ndr,
- r->group_sid,
- _ptr_group_sid));
- } else {
- r->group_sid = NULL;
- }
- NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sacl));
- if (_ptr_sacl) {
- NDR_PULL_ALLOC(ndr, r->sacl);
- NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->sacl, _ptr_sacl));
- } else {
- r->sacl = NULL;
- }
- NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dacl));
- if (_ptr_dacl) {
- NDR_PULL_ALLOC(ndr, r->dacl);
- NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dacl, _ptr_dacl));
- } else {
- r->dacl = NULL;
- }
- NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
- }
- if (ndr_flags & NDR_BUFFERS) {
- if (r->owner_sid) {
- _relative_save_offset = ndr->offset;
- NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->owner_sid));
- _mem_save_owner_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
- NDR_PULL_SET_MEM_CTX(ndr, r->owner_sid, 0);
- NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->owner_sid));
- NDR_PULL_SET_MEM_CTX(ndr, _mem_save_owner_sid_0, 0);
- if (ndr->offset > ndr->relative_highest_offset) {
- ndr->relative_highest_offset = ndr->offset;
+ &r->type));
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_owner_sid));
+ if (_ptr_owner_sid) {
+ NDR_PULL_ALLOC(ndr, r->owner_sid);
+ NDR_CHECK(ndr_pull_relative_ptr1(ndr,
+ r->owner_sid,
+ _ptr_owner_sid));
+ } else {
+ r->owner_sid = NULL;
}
- ndr->offset = _relative_save_offset;
- }
- if (r->group_sid) {
- _relative_save_offset = ndr->offset;
- NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->group_sid));
- _mem_save_group_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
- NDR_PULL_SET_MEM_CTX(ndr, r->group_sid, 0);
- NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->group_sid));
- NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_sid_0, 0);
- if (ndr->offset > ndr->relative_highest_offset) {
- ndr->relative_highest_offset = ndr->offset;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_group_sid));
+ if (_ptr_group_sid) {
+ NDR_PULL_ALLOC(ndr, r->group_sid);
+ NDR_CHECK(ndr_pull_relative_ptr1(ndr,
+ r->group_sid,
+ _ptr_group_sid));
+ } else {
+ r->group_sid = NULL;
}
- ndr->offset = _relative_save_offset;
- }
- if (r->sacl) {
- _relative_save_offset = ndr->offset;
- NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->sacl));
- _mem_save_sacl_0 = NDR_PULL_GET_MEM_CTX(ndr);
- NDR_PULL_SET_MEM_CTX(ndr, r->sacl, 0);
- NDR_CHECK(ndr_pull_security_acl(ndr,
- NDR_SCALARS|NDR_BUFFERS,
- r->sacl));
- NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sacl_0, 0);
- if (ndr->offset > ndr->relative_highest_offset) {
- ndr->relative_highest_offset = ndr->offset;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sacl));
+ if (_ptr_sacl) {
+ NDR_PULL_ALLOC(ndr, r->sacl);
+ NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->sacl, _ptr_sacl));
+ } else {
+ r->sacl = NULL;
}
- ndr->offset = _relative_save_offset;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dacl));
+ if (_ptr_dacl) {
+ NDR_PULL_ALLOC(ndr, r->dacl);
+ NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dacl, _ptr_dacl));
+ } else {
+ r->dacl = NULL;
+ }
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
- if (r->dacl) {
- _relative_save_offset = ndr->offset;
- NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dacl));
- _mem_save_dacl_0 = NDR_PULL_GET_MEM_CTX(ndr);
- NDR_PULL_SET_MEM_CTX(ndr, r->dacl, 0);
- NDR_CHECK(ndr_pull_security_acl(ndr,
- NDR_SCALARS|NDR_BUFFERS,
- r->dacl));
- NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dacl_0, 0);
- if (ndr->offset > ndr->relative_highest_offset) {
- ndr->relative_highest_offset = ndr->offset;
+ if (ndr_flags & NDR_BUFFERS) {
+ if (r->owner_sid) {
+ uint32_t _relative_save_offset;
+ _relative_save_offset = ndr->offset;
+ NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->owner_sid));
+ _mem_save_owner_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->owner_sid, 0);
+ NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->owner_sid));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_owner_sid_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
+ ndr->offset = _relative_save_offset;
+ }
+ if (r->group_sid) {
+ uint32_t _relative_save_offset;
+ _relative_save_offset = ndr->offset;
+ NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->group_sid));
+ _mem_save_group_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->group_sid, 0);
+ NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->group_sid));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_group_sid_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
+ ndr->offset = _relative_save_offset;
+ }
+ if (r->sacl) {
+ uint32_t _relative_save_offset;
+ _relative_save_offset = ndr->offset;
+ NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->sacl));
+ _mem_save_sacl_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->sacl, 0);
+ NDR_CHECK(ndr_pull_security_acl(ndr,
+ NDR_SCALARS|NDR_BUFFERS,
+ r->sacl));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sacl_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
+ ndr->offset = _relative_save_offset;
+ }
+ if (r->dacl) {
+ uint32_t _relative_save_offset;
+ _relative_save_offset = ndr->offset;
+ NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dacl));
+ _mem_save_dacl_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->dacl, 0);
+ NDR_CHECK(ndr_pull_security_acl(ndr,
+ NDR_SCALARS|NDR_BUFFERS,
+ r->dacl));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dacl_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
+ ndr->offset = _relative_save_offset;
}
- ndr->offset = _relative_save_offset;
}
-
ndr->flags = _flags_save_STRUCT;
}
return NDR_ERR_SUCCESS;
From d5809f6f41ec0dc3fd38f9e4ae917a38bf7dfa43 Mon Sep 17 00:00:00 2001
From: Sumit Bose <sbose@redhat.com>
Date: Thu, 28 May 2020 15:02:43 +0200
Subject: [PATCH] ad_gpo_ndr.c: more ndr updates
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This patch add another update to the ndr code which was previously
updated by commit c031adde4f532f39845a0efd78693600f1f8b2f4 and
1fdd8fa2fded1985fbfc6aa67394eebcdbb6a2fc.
As missing update in ndr_pull_security_ace() cased
a failure in ad_gpo_parse_sd(). A unit-test for ad_gpo_parse_sd() was
added to prevent similar issues in future.
Resolves: https://github.com/SSSD/sssd/issues/5183
Reviewed-by: Pavel Březina <pbrezina@redhat.com>
(cherry picked from commit a7c755672cd277497da3df4714f6d9457b6ac5ae)
Reviewed-by: Pavel Březina <pbrezina@redhat.com>
---
src/providers/ad/ad_gpo_ndr.c | 1 +
src/tests/cmocka/test_ad_gpo.c | 57 ++++++++++++++++++++++++++++++++++
2 files changed, 58 insertions(+)
diff --git a/src/providers/ad/ad_gpo_ndr.c b/src/providers/ad/ad_gpo_ndr.c
index a64b1a0f84..9f040dfb03 100644
--- a/src/providers/ad/ad_gpo_ndr.c
+++ b/src/providers/ad/ad_gpo_ndr.c
@@ -317,6 +317,7 @@ ndr_pull_security_ace(struct ndr_pull *ndr,
ndr->offset += pad;
}
if (ndr_flags & NDR_BUFFERS) {
+ NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->object, r->type));
NDR_CHECK(ndr_pull_security_ace_object_ctr
(ndr, NDR_BUFFERS, &r->object));
}
diff --git a/src/tests/cmocka/test_ad_gpo.c b/src/tests/cmocka/test_ad_gpo.c
index 0589adcc3d..97dbe01794 100644
--- a/src/tests/cmocka/test_ad_gpo.c
+++ b/src/tests/cmocka/test_ad_gpo.c
@@ -329,6 +329,60 @@ void test_ad_gpo_ace_includes_client_sid_false(void **state)
ace_dom_sid, false);
}
+uint8_t test_sid_data[] = {
+0x01, 0x00, 0x04, 0x9c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+0x14, 0x00, 0x00, 0x00, 0x04, 0x00, 0x34, 0x01, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00,
+0xbd, 0x00, 0x0e, 0x00, 0x01, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x15, 0x00, 0x00, 0x00,
+0xda, 0x0e, 0xba, 0x60, 0x0f, 0xa2, 0xf4, 0x55, 0xb5, 0x57, 0x47, 0xf8, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x0a, 0x24, 0x00, 0xff, 0x00, 0x0f, 0x00, 0x01, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05,
+0x15, 0x00, 0x00, 0x00, 0xda, 0x0e, 0xba, 0x60, 0x0f, 0xa2, 0xf4, 0x55, 0xb5, 0x57, 0x47, 0xf8,
+0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00, 0xbd, 0x00, 0x0e, 0x00, 0x01, 0x05, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x05, 0x15, 0x00, 0x00, 0x00, 0xda, 0x0e, 0xba, 0x60, 0x0f, 0xa2, 0xf4, 0x55,
+0xb5, 0x57, 0x47, 0xf8, 0x07, 0x02, 0x00, 0x00, 0x00, 0x0a, 0x24, 0x00, 0xff, 0x00, 0x0f, 0x00,
+0x01, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x15, 0x00, 0x00, 0x00, 0xda, 0x0e, 0xba, 0x60,
+0x0f, 0xa2, 0xf4, 0x55, 0xb5, 0x57, 0x47, 0xf8, 0x07, 0x02, 0x00, 0x00, 0x00, 0x00, 0x24, 0x00,
+0xbd, 0x00, 0x0e, 0x00, 0x01, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x15, 0x00, 0x00, 0x00,
+0xda, 0x0e, 0xba, 0x60, 0x0f, 0xa2, 0xf4, 0x55, 0xb5, 0x57, 0x47, 0xf8, 0x00, 0x02, 0x00, 0x00,
+0x00, 0x0a, 0x14, 0x00, 0xff, 0x00, 0x0f, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03,
+0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x14, 0x00, 0xff, 0x00, 0x0f, 0x00, 0x01, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x05, 0x12, 0x00, 0x00, 0x00, 0x00, 0x02, 0x14, 0x00, 0x94, 0x00, 0x02, 0x00,
+0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0b, 0x00, 0x00, 0x00, 0x05, 0x02, 0x28, 0x00,
+0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x8f, 0xfd, 0xac, 0xed, 0xb3, 0xff, 0xd1, 0x11,
+0xb4, 0x1d, 0x00, 0xa0, 0xc9, 0x68, 0xf9, 0x39, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05,
+0x0b, 0x00, 0x00, 0x00, 0x00, 0x02, 0x14, 0x00, 0x94, 0x00, 0x02, 0x00, 0x01, 0x01, 0x00, 0x00,
+0x00, 0x00, 0x00, 0x05, 0x09, 0x00, 0x00, 0x00
+};
+
+void test_ad_gpo_parse_sd(void **state)
+{
+ int ret;
+ struct security_descriptor *sd = NULL;
+
+ ret = ad_gpo_parse_sd(test_ctx, NULL, 0, &sd);
+ assert_int_equal(ret, EINVAL);
+
+ ret = ad_gpo_parse_sd(test_ctx, test_sid_data, sizeof(test_sid_data), &sd);
+ assert_int_equal(ret, EOK);
+ assert_non_null(sd);
+ assert_int_equal(sd->revision, 1);
+ assert_int_equal(sd->type, 39940);
+ assert_null(sd->owner_sid);
+ assert_null(sd->group_sid);
+ assert_null(sd->sacl);
+ assert_non_null(sd->dacl);
+ assert_int_equal(sd->dacl->revision, 4);
+ assert_int_equal(sd->dacl->size, 308);
+ assert_int_equal(sd->dacl->num_aces, 10);
+ assert_int_equal(sd->dacl->aces[0].type, 0);
+ assert_int_equal(sd->dacl->aces[0].flags, 0);
+ assert_int_equal(sd->dacl->aces[0].size, 36);
+ assert_int_equal(sd->dacl->aces[0].access_mask, 917693);
+ /* There are more components and ACEs in the security_descriptor struct
+ * which are not checked here. */
+
+ talloc_free(sd);
+}
+
int main(int argc, const char *argv[])
{
poptContext pc;
@@ -364,6 +418,9 @@ int main(int argc, const char *argv[])
cmocka_unit_test_setup_teardown(test_ad_gpo_ace_includes_client_sid_false,
ad_gpo_test_setup,
ad_gpo_test_teardown),
+ cmocka_unit_test_setup_teardown(test_ad_gpo_parse_sd,
+ ad_gpo_test_setup,
+ ad_gpo_test_teardown),
};
/* Set debug level to invalid value so we can decide if -d 0 was used. */

View file

@ -1,50 +0,0 @@
From bc56b10aea999284458dcc293b54cf65288e325d Mon Sep 17 00:00:00 2001
From: Stephen Gallagher <sgallagh@redhat.com>
Date: Fri, 24 Jan 2020 15:17:39 +0100
Subject: [PATCH] Fix build failure against samba 4.12.0rc1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The ndr_pull_get_switch() function was dropped, but it was just a wrapper
around the ndr_token_peek() function, so we can use this approach on both
old and new versions of libndr.
Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
Reviewed-by: Pavel Březina <pbrezina@redhat.com>
---
src/providers/ad/ad_gpo_ndr.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/providers/ad/ad_gpo_ndr.c b/src/providers/ad/ad_gpo_ndr.c
index d573033494..8f405aa62b 100644
--- a/src/providers/ad/ad_gpo_ndr.c
+++ b/src/providers/ad/ad_gpo_ndr.c
@@ -105,7 +105,7 @@ ndr_pull_security_ace_object_type(struct ndr_pull *ndr,
union security_ace_object_type *r)
{
uint32_t level;
- level = ndr_pull_get_switch_value(ndr, r);
+ level = ndr_token_peek(&ndr->switch_list, r);
NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
if (ndr_flags & NDR_SCALARS) {
NDR_CHECK(ndr_pull_union_align(ndr, 4));
@@ -135,7 +135,7 @@ ndr_pull_security_ace_object_inherited_type(struct ndr_pull *ndr,
union security_ace_object_inherited_type *r)
{
uint32_t level;
- level = ndr_pull_get_switch_value(ndr, r);
+ level = ndr_token_peek(&ndr->switch_list, r);
NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
if (ndr_flags & NDR_SCALARS) {
NDR_CHECK(ndr_pull_union_align(ndr, 4));
@@ -198,7 +198,7 @@ ndr_pull_security_ace_object_ctr(struct ndr_pull *ndr,
union security_ace_object_ctr *r)
{
uint32_t level;
- level = ndr_pull_get_switch_value(ndr, r);
+ level = ndr_token_peek(&ndr->switch_list, r);
NDR_PULL_CHECK_FLAGS(ndr, ndr_flags);
if (ndr_flags & NDR_SCALARS) {
NDR_CHECK(ndr_pull_union_align(ndr, 4));

View file

@ -0,0 +1,45 @@
Allow running sss_analyze without Python modules for systemd.
Upstream PR: https://github.com/SSSD/sssd/pull/6125
diff --git a/src/tools/analyzer/modules/request.py b/src/tools/analyzer/modules/request.py
index b96a23c05..28ac2f194 100644
--- a/src/tools/analyzer/modules/request.py
+++ b/src/tools/analyzer/modules/request.py
@@ -1,8 +1,6 @@
import re
import logging
-from sssd.source_files import Files
-from sssd.source_journald import Journald
from sssd.parser import SubparsersAction
from sssd.parser import Option
@@ -77,8 +75,10 @@ class RequestAnalyzer:
Instantiated source object
"""
if args.source == "journald":
+ from sssd.source_journald import Journald
source = Journald()
else:
+ from sssd.source_files import Files
source = Files(args.logdir)
return source
@@ -143,7 +143,7 @@ class RequestAnalyzer:
self.consumed_logs.append(line.rstrip(line[-1]))
else:
# files source includes newline
- if isinstance(source, Files):
+ if type(source).__name__ == 'Files':
print(line, end='')
else:
print(line)
@@ -225,7 +225,7 @@ class RequestAnalyzer:
source.set_component(component, False)
self.done = ""
for line in self.matched_line(source, patterns):
- if isinstance(source, Journald):
+ if type(source).__name__ == 'Journald':
print(line)
else:
self.print_formatted(line, args.verbose)

View file

@ -1,29 +1,29 @@
Do not attempt to create $localstatedir and $sysconfdir (i.e., /var and /etc)
upon "make install".
diff --git a/Makefile.in b/Makefile.in
index c32cb7d..77a5c00 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -7991,7 +7991,7 @@ sssdconfdir = $(sysconfdir)/sssd
sssddatadir = $(datadir)/sssd
diff --git a/Makefile.am b/Makefile.am
index 0de53a2c8..51ad57bf1 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -58,7 +58,7 @@ sssddatadir = $(datadir)/sssd
sssdapiplugindir = $(sssddatadir)/sssd.api.d
sssdtapscriptdir = $(sssddatadir)/systemtap
krb5snippetsdir = $(sssddatadir)/krb5-snippets
-dbuspolicydir = $(sysconfdir)/dbus-1/system.d
+dbuspolicydir = $(prefix)/etc/dbus-1/system.d
dbusservicedir = $(datadir)/dbus-1/system-services
sss_statedir = $(localstatedir)/lib/sss
pamlibdir = @pammoddir@
@@ -8000,7 +8000,7 @@ nfslibdir = @nfsidmaplibdir@
keytabdir = $(sss_statedir)/keytabs
pkgconfigdir = $(libdir)/pkgconfig
runstatedir = @runstatedir@
@@ -85,7 +85,7 @@ pkgconfigdir = $(libdir)/pkgconfig
krb5rcachedir = @krb5rcachedir@
sudolibdir = @sudolibpath@
polkitdir = @polkitdir@
-pamconfdir = $(sysconfdir)/pam.d
+pamconfdir = $(prefix)/etc/pam.d
systemtap_tapdir = @tapset_dir@
sssdkcmdatadir = $(datadir)/sssd-kcm
deskprofilepath = $(sss_statedir)/deskprofile
@@ -43733,7 +43733,6 @@ installsssddirs::
@@ -5195,7 +5195,6 @@ installsssddirs::
$(DESTDIR)$(bindir) \
$(DESTDIR)$(sbindir) \
$(DESTDIR)$(mandir) \
@ -31,15 +31,18 @@ index c32cb7d..77a5c00 100644
$(DESTDIR)$(pluginpath) \
$(DESTDIR)$(libdir)/ldb \
$(DESTDIR)$(dbuspolicydir) \
@@ -43743,22 +43742,9 @@ installsssddirs::
@@ -5205,24 +5204,12 @@ installsssddirs::
$(DESTDIR)$(sssddatadir) \
$(DESTDIR)$(sudolibdir) \
$(DESTDIR)$(autofslibdir) \
- $(DESTDIR)$(pipepath)/private \
$(DESTDIR)$(krb5snippetsdir) \
- $(SSSD_USER_DIRS) \
$(NULL);
@SSSD_USER_TRUE@ -chown $(SSSD_USER):$(SSSD_USER) $(SSSD_USER_DIRS)
@SSSD_USER_TRUE@ -chown $(SSSD_USER) $(DESTDIR)$(pipepath)/private
if SSSD_USER
-chown $(SSSD_USER):$(SSSD_USER) $(SSSD_USER_DIRS)
-chown $(SSSD_USER) $(DESTDIR)$(pipepath)/private
endif
- $(INSTALL) -d -m 0700 $(DESTDIR)$(dbpath) $(DESTDIR)$(logpath) \
- $(DESTDIR)$(keytabdir) \
- $(NULL)
@ -50,7 +53,14 @@ index c32cb7d..77a5c00 100644
- $(INSTALL) -d -m 0711 $(DESTDIR)$(sssdconfdir) \
- $(DESTDIR)$(sssdconfdir)/conf.d \
- $(DESTDIR)$(sssdconfdir)/pki
-@BUILD_SECRETS_TRUE@ $(MKDIR_P) $(DESTDIR)$(secdbpath)
@HAVE_DOXYGEN_TRUE@docs:
@HAVE_DOXYGEN_TRUE@ $(DOXYGEN) src/doxy.config
if HAVE_DOXYGEN
docs:
@@ -5338,7 +5325,6 @@ if BUILD_SAMBA
endif
if BUILD_KCM
$(MKDIR_P) $(DESTDIR)/$(sssdkcmdatadir)
- $(MKDIR_P) $(DESTDIR)$(secdbpath)
endif
uninstall-hook:

View file

@ -1,32 +0,0 @@
From f2380a53fb84d370eaf6e6c3473062c54c57fac7 Mon Sep 17 00:00:00 2001
From: Oliver Giles <ohw.giles@gmail.com>
Date: Mon, 1 Feb 2021 10:12:16 +1300
Subject: [PATCH] Prevent potential double-free in TNEFSubjectHandler
If TNEFSubjectHandler is called multiple times, but the last time
failed due to the PREALLOCCHECK, the subject.data member will be
a freed, but invalid pointer. To prevent a double-free next time
TNEFSubjectHandler is entered, set it to zero after freeing.
Resolves: #85
Reported-by: jasperla
---
lib/ytnef.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/lib/ytnef.c b/lib/ytnef.c
index b148719..b06c807 100644
--- a/lib/ytnef.c
+++ b/lib/ytnef.c
@@ -301,8 +301,10 @@ int TNEFFromHandler STD_ARGLIST {
}
// -----------------------------------------------------------------------------
int TNEFSubjectHandler STD_ARGLIST {
- if (TNEF->subject.data)
+ if (TNEF->subject.data) {
free(TNEF->subject.data);
+ TNEF->subject.data = NULL;
+ }
PREALLOCCHECK(size, 100);
TNEF->subject.data = calloc(size+1, sizeof(BYTE));

View file

@ -1,30 +0,0 @@
From f9ff4a203b8c155d51a208cadadb62f224fba715 Mon Sep 17 00:00:00 2001
From: Oliver Giles <ohw.giles@gmail.com>
Date: Mon, 1 Feb 2021 10:18:17 +1300
Subject: [PATCH] Ensure the size of the version field is 4 bytes
A corrupted version field size can cause TNEFVersion to access outside
of allocated memory. Check the version is the expected size and raise
an error if not.
Resolves: #86
Reported-by: jasperla
---
lib/ytnef.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/lib/ytnef.c b/lib/ytnef.c
index b148719..ffede44 100644
--- a/lib/ytnef.c
+++ b/lib/ytnef.c
@@ -335,6 +335,10 @@ int TNEFRendData STD_ARGLIST {
int TNEFVersion STD_ARGLIST {
WORD major;
WORD minor;
+ if (size != 2 * sizeof(WORD)) {
+ printf("Incorrect size of version field, suspected corruption\n");
+ return -1;
+ }
minor = SwapWord((BYTE*)data, size);
major = SwapWord((BYTE*)data + 2, size - 2);

View file

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015, 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 20182021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 20182022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Christopher Baines <mail@cbaines.net>
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
;;;
@ -158,7 +158,7 @@ refreshed, and more.")
(define-public colordiff
(package
(name "colordiff")
(version "1.0.19")
(version "1.0.20")
(source
(origin
(method url-fetch)
@ -167,7 +167,7 @@ refreshed, and more.")
(string-append "http://www.colordiff.org/archive/colordiff-"
version ".tar.gz")))
(sha256
(base32 "069vzzgs7b44bmfh3ks2psrdb26s1w19gp9w4xxbgi7nhx6w3s26"))))
(base32 "1kbv3lsyzzrwca4v3ajpnv8q5j0h53r94lxiqgmikxmrxrxh3cp3"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests

View file

@ -13,7 +13,7 @@
;;; Copyright © 2017, 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2017, 2018 Rene Saavedra <pacoon@protonmail.com>
;;; Copyright © 20172021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 20172022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2019 Ben Sturmfels <ben@sturm.com.au>
;;; Copyright © 2019,2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
@ -1102,13 +1102,13 @@ the PDF pages.")
(define-public img2pdf
(package
(name "img2pdf")
(version "0.4.3")
(version "0.4.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "img2pdf" version))
(sha256
(base32 "17z0bn8kihiyqjd1m5jr80m7ry06l1qn0l8v918xg5gs7q2calcf"))))
(base32 "0g3rpq68y5phnlgxrqn39k10j9nmgksg6m5ic8wgs8v5cjlrij4f"))))
(build-system python-build-system)
(propagated-inputs
(list python-pikepdf python-pillow

View file

@ -2,7 +2,7 @@
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Daniel Pimentel <d4n1@d4n1.org>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017, 2018, 2019, 2022 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
@ -233,19 +233,15 @@ encoder in C++. The developer using protozero has to manually translate the
(define-public python-protobuf
(package
(name "python-protobuf")
(version "3.12.4")
(version "3.20.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "protobuf" version))
(sha256
(base32
"0mj6z58aiw532s1mq48m9xdrm3gdyp2vv9cdinfb5wmnfpm5m7n9"))))
"1ja2vpk9nklllmsirmil2s4l7ni9yfqvbvj47zz5xx17s1k1bhxd"))))
(build-system python-build-system)
(native-inputs
(list python-wheel))
(propagated-inputs
(list python-six))
(home-page "https://github.com/google/protobuf")
(synopsis "Protocol buffers is a data interchange format")
(description
@ -306,6 +302,26 @@ structured data.")
(base32
"04bqb12smlckzmgkj6vgmpbr3cby0n6726cmz33bqr7kn1vb728l"))))))
(define-public python-proto-plus
(package
(name "python-proto-plus")
(version "1.20.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "proto-plus" version))
(sha256
(base32 "1raad9qnmfva94nm33k40bcwrckgljbfky5pdwh4xhg6r5dj52zj"))))
(build-system python-build-system)
(propagated-inputs (list python-protobuf))
(home-page "https://github.com/googleapis/proto-plus-python.git")
(synopsis "Pythonic protocol buffers")
(description "This is a wrapper around protocol buffers. Protocol buffers
is a specification format for APIs, such as those inside Google. This library
provides protocol buffer message classes and objects that largely behave like
native Python types.")
(license license:asl2.0)))
(define-public emacs-protobuf-mode
(package
(name "emacs-protobuf-mode")

View file

@ -2166,6 +2166,24 @@ Python objects. It tries to use the objects available in the standard
@code{unittest} module.")
(license license:expat)))
(define-public python-test-utils
(package
(name "python-test-utils")
(version "0.1.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "test-utils" version))
(sha256
(base32 "0cs0gyihnkj8ya4yg3ld3ly73mpxrkn2gq9acamclhqvhxsv7zd6"))))
(build-system python-build-system)
(home-page "https://github.com/Kami/python-test-utils/")
(synopsis "Utilities for functional and integration tests")
(description
"This package provides a collection of utility functions and classes
which make writing and running functional and integration tests easier.")
(license license:asl2.0)))
(define-public python-sybil
(package
(name "python-sybil")

View file

@ -11,7 +11,7 @@
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2016, 2017, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017, 2019, 2022 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Danny Milosavljevic <dannym+a@scratchpost.org>
;;; Copyright © 2016, 2017, 2020 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au>
@ -1698,6 +1698,31 @@ It can create and verify RSA, DSA, and ECDSA signatures, at the moment. It
can also encrypt and decrypt messages using RSA and ECDH.")
(license license:bsd-3)))
(define-public python-pyu2f
(package
(name "python-pyu2f")
(version "0.1.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyu2f" version))
(sha256
(base32 "0srhzdbgdsqwpcw7awqm19yg3xbabqckfvrp8rbpvz2232hs7jm3"))))
(build-system python-build-system)
(arguments '(#:tests? #f)) ;none included
(propagated-inputs (list python-six))
(native-inputs
(list python-mock
python-pyfakefs
python-pytest
python-unittest2))
(home-page "https://github.com/google/pyu2f/")
(synopsis "U2F host library for interacting with a U2F device over USB")
(description
"Pyu2f is a Python-based U2F host library. It provides functionality for
interacting with a U2F device over USB.")
(license license:asl2.0)))
(define-public python-sop
(package
(name "python-sop")

View file

@ -1187,6 +1187,58 @@ pandas code.")
aggregated sum and more.")
(license license:bsd-3)))
(define-public python-pyvista
(package
(name "python-pyvista")
(version "0.34.0")
(source
;; The PyPI tarball does not contain the tests.
;; (However, we don't yet actually run the tests.)
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/pyvista/pyvista")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0f2x2wvi5pkpv5h3jrnx8zxnaj51navfqp2fdna1l9rpjgjjf94g"))))
(build-system python-build-system)
(propagated-inputs
(list python-appdirs
python-imageio
python-matplotlib
python-meshio
python-numpy
python-pillow
python-scooby
vtk))
(arguments
'(#:phases
(modify-phases %standard-phases
;; Disable tests for now because they require several modules
;; currently unpackaged in Guix.
(delete 'check)
;; Disable the sanity check, which fails with the following error:
;;
;; ...checking requirements: ERROR: pyvista==0.34.0 DistributionNotFound(Requirement.parse('vtk'), {'pyvista'})
(delete 'sanity-check))))
(home-page "https://docs.pyvista.org/")
(synopsis "3D plotting and mesh analysis through VTK")
(description
"PyVista is...
@itemize
@item @emph{Pythonic VTK}: a high-level API to the Visualization
Toolkit (VTK);
@item mesh data structures and filtering methods for spatial datasets;
@item 3D plotting made simple and built for large/complex data geometries.
@end itemize
This package provides a Pythonic, well-documented interface exposing VTK's
powerful visualization backend to facilitate rapid prototyping, analysis, and
visual integration of spatially referenced datasets.")
(license license:expat)))
(define-public python-traittypes
(package
(name "python-traittypes")
@ -1222,3 +1274,20 @@ stack such as numpy arrays or pandas and xarray data structures. These are
out of the scope of the main traitlets project but are a common requirement to
build applications with traitlets in combination with the scipy stack.")
(license license:bsd-3)))
(define-public python-aplus
(package
(name "python-aplus")
(version "0.11.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "aplus" version))
(sha256
(base32 "1rznc26nlp641rn8gpdngfp79a3fji38yavqakxi35mx2da04msg"))))
(build-system python-build-system)
(home-page "https://github.com/xogeny/aplus")
(synopsis "Promises/A+ for Python")
(description "This package is an implementation of the Promises/A+
specification and test suite in Python.")
(license license:expat)))

View file

@ -88,6 +88,7 @@
#:use-module (gnu packages node)
#:use-module (gnu packages openstack)
#:use-module (gnu packages pcre)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
@ -96,6 +97,7 @@
#:use-module (gnu packages python-science)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages rpc)
#:use-module (gnu packages serialization)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages texinfo)
@ -4497,6 +4499,8 @@ users, gradebooks, and more.")
(build-system python-build-system)
(arguments
`(#:tests? #f)) ; There are no tests.
(propagated-inputs
(list python-beautifulsoup4))
(home-page "https://breakingcode.wordpress.com/")
(synopsis "Python bindings to the Google search engine")
(description "This package provides Python bindings for using the
@ -6541,6 +6545,53 @@ through the network, it only deals with the implementation details of the
SOCKS protocols. It can be paired with any I/O library.")
(license license:expat)))
(define-public python-msrest
(package
(name "python-msrest")
(version "0.6.21")
(source
(origin
(method url-fetch)
(uri (pypi-uri "msrest" version))
(sha256
(base32 "1n389m3hcsyjskzimq4j71nyw9pjkrp0n5wg1q2c4bfwpv3inrkj"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest"
"-k"
;; These attempt to connect to bing.com.
(string-append
"not test_basic_aiohttp"
" and not test_basic_async_requests"
" and not test_conf_async_requests"
" and not test_conf_async_trio_requests"
" and not test_basic_aiohttp"
" and not test_basic_async_requests"
" and not test_conf_async_requests"
" and not test_conf_async_trio_requests"))))))))
(propagated-inputs
(list python-aiohttp
python-certifi
python-isodate
python-requests
python-requests-oauthlib))
(native-inputs
(list python-httpretty
python-pytest
python-pytest-aiohttp
python-pytest-asyncio
python-pytest-trio))
(home-page "https://github.com/Azure/msrest-for-python")
(synopsis "AutoRest swagger generator Python client runtime.")
(description "This package provides the runtime library @code{msrest} for
AutoRest-generated Python clients.")
(license license:expat)))
(define-public python-azure-nspkg
(package
(name "python-azure-nspkg")
@ -6581,6 +6632,381 @@ SOCKS protocols. It can be paired with any I/O library.")
communicate with Microsoft Azure Storage services.")
(license license:expat)))
(define-public python-azure-common
(package
(name "python-azure-common")
(version "1.1.28")
(source
(origin
(method url-fetch)
(uri (pypi-uri "azure-common" version ".zip"))
(sha256
(base32 "18q4cy1xl2zly3rk7a1sc14w932x59r8c9j4d8dnlsz32hrcvh2a"))))
(build-system python-build-system)
(propagated-inputs (list python-azure-nspkg))
(native-inputs (list unzip))
(home-page "https://github.com/Azure/azure-sdk-for-python")
(synopsis "Microsoft Azure Client library for Python")
(description "This package provides the Microsoft Azure Client library for
Python.")
(license license:expat)))
(define-public python-azure-core
(package
(name "python-azure-core")
(version "1.24.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "azure-core" version ".zip"))
(sha256
(base32 "1r8bpn3zz02mj00qbaks5qq49wqd3mznkm90bchd1mxa3w21nnrl"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
(when tests?
;; This fails because devtools_testutils doesn't exist.
(delete-file "tests/test_connection_string_parsing.py")
;; Needs network.
(for-each delete-file
'("tests/async_tests/test_streaming_async.py"
"tests/test_streaming.py"))
(add-installed-pythonpath inputs outputs)
(setenv "PYTHONPATH"
(string-append (getcwd) "/tests/testserver_tests/coretestserver:"
(getenv "GUIX_PYTHONPATH")))
(invoke "pytest"
;; Most of these need network access.
"-m" "not asyncio and not live_test_only"
"-k"
;; These need network access.
(string-append
"not test_example_raw_response_hook"
" and not test_example_headers_policy"
" and not test_example_request_id_policy"
" and not test_example_user_agent_policy"
" and not test_example_requests"
" and not test_example_pipeline"
" and not test_example_pipeline_client"
" and not test_example_redirect_policy"
" and not test_example_no_redirects"
" and not test_example_retry_policy"
" and not test_example_no_retries"
" and not test_decompress_plain_no_header"
" and not test_compress_plain_no_header"
" and not test_decompress_compressed_no_header"))))))))
(propagated-inputs
(list python-aiohttp
python-requests
python-six
python-trio
python-typing-extensions))
(native-inputs
(list python-flask
python-msrest
python-pytest
python-pytest-aiohttp
python-pytest-asyncio
python-pytest-trio
unzip))
(home-page "https://github.com/Azure/azure-sdk-for-python")
(synopsis "Microsoft Azure Core library for Python")
(description "This package provides the Microsoft Azure Core library for
Python.")
(license license:expat)))
(define-public python-azure-storage-blob
(package
(name "python-azure-storage-blob")
(version "12.12.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "azure-storage-blob" version ".zip"))
(sha256
(base32 "1xv23ph822qywjxs81say9xi5dzmvxcii6sww6d1hvd83iyz1npn"))))
(build-system python-build-system)
(propagated-inputs
(list python-azure-core python-cryptography python-msrest))
(native-inputs (list unzip))
(home-page "https://github.com/Azure/azure-sdk-for-python/")
(synopsis "Microsoft Azure Blob Storage client library for Python")
(description "This package provides the Microsoft Azure Blob Storage
Client Library for Python.")
(license license:expat)))
(define-public python-google-crc32c
(package
(name "python-google-crc32c")
(version "1.3.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "google-crc32c" version))
(sha256
(base32 "1ps4qaccij6cixs91772y9f9r1n702yfzy4qqmds6x5h7qkycv97"))))
(build-system python-build-system)
(native-inputs (list python-pytest))
(home-page "https://github.com/googleapis/python-crc32c")
(synopsis "Python wrapper of Google CRC32C")
(description
"This package provides a Python wrapper of the C library implementation
of the CRC32C hashing algorithm.")
(license license:asl2.0)))
(define-public python-google-auth
(package
(name "python-google-auth")
(version "2.6.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "google-auth" version))
(sha256
(base32 "04ikassansqkkw4pa98in7q9r4z001m6bi2r3ssxwwrb0f79790v"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest")))))))
(propagated-inputs
(list python-cachetools
python-cryptography
python-pyasn1-modules
python-rsa
python-six))
(native-inputs
(list python-flask
python-freezegun
python-oauth2client
python-pyopenssl
python-pytest
python-pytest-localserver
python-pyu2f
python-requests
python-responses))
(home-page "https://github.com/googleapis/google-auth-library-python")
(synopsis "Google Authentication Library")
(description "This library simplifies using Google's various
server-to-server authentication mechanisms to access Google APIs.")
(license license:asl2.0)))
(define-public python-google-resumable-media
(package
(name "python-google-resumable-media")
(version "2.3.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "google-resumable-media" version))
(sha256
(base32 "04qm6rd4mpbbym8ci5xrb6fymc3mmm8x2z9f43q5iwbr3s5lx4h6"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
;; The system tests fail to find test_utils.retry.
(delete-file-recursively "tests/system/")
(invoke "pytest")))))))
(propagated-inputs (list python-google-crc32c))
(native-inputs
(list python-google-auth
python-pytest
python-requests
python-test-utils))
(home-page "https://github.com/googleapis/google-resumable-media-python")
(synopsis "Utilities for Google Media Downloads and Resumable Uploads")
(description "This package provides utilities for Google Media Downloads
and Resumable Uploads.")
(license license:asl2.0)))
(define-public python-googleapis-common-protos
(package
(name "python-googleapis-common-protos")
(version "1.56.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "googleapis-common-protos" version))
(sha256
(base32 "16x1pjc34mrj9w130j40r23ndpykhsqivvk5xfl63ss6qsfyapkb"))))
(build-system python-build-system)
(arguments
`(#:tests? #false ;fails for unknown reasons
#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest")))))))
(propagated-inputs (list python-protobuf))
(native-inputs
(list python-pytest))
(home-page "https://github.com/googleapis/python-api-common-protos")
(synopsis "Common protobufs used in Google APIs")
(description "This package contains Python classes generated from the
common protos in the @code{googleapis/api-common-protos} repository.")
(license license:asl2.0)))
(define-public python-google-api-core
(package
(name "python-google-api-core")
(version "2.7.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "google-api-core" version))
(sha256
(base32 "0ydwvg9gzp75cd11s62db5w3jhj643yrw095rv95psfb0h3pz58p"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
;; These don't work because it doesn't find AsyncMock even when
;; we add it to the inputs.
(for-each delete-file
'("tests/asyncio/test_page_iterator_async.py"
"tests/asyncio/test_retry_async.py"))
(invoke "pytest")))))))
(propagated-inputs
(list python-google-auth
python-googleapis-common-protos
python-protobuf
python-proto-plus
python-requests))
(native-inputs
(list python-mock
python-pytest
python-pytest-asyncio))
(home-page "https://github.com/googleapis/python-api-core")
(synopsis "Google API client core library")
(description "This library defines common helpers used by all Google API
clients.")
(license license:asl2.0)))
(define-public python-google-cloud-core
(package
(name "python-google-cloud-core")
(version "2.3.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "google-cloud-core" version))
(sha256
(base32 "0sa66kidgr32dfq9ngha9l362xnqvnqqmssn5my1gd3lc6g65apx"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest")))))))
(propagated-inputs (list python-google-api-core python-google-auth))
(native-inputs
(list python-grpcio python-pytest))
(home-page "https://github.com/googleapis/python-cloud-core")
(synopsis "Google Cloud API client core library")
(description "This library defines common helpers (e.g. base @code{Client}
classes) used by all of the @code{google-cloud-*} packages.")
(license license:asl2.0)))
(define-public python-google-cloud-storage
(package
(name "python-google-cloud-storage")
(version "2.3.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "google-cloud-storage" version))
(sha256
(base32 "0nwg9ic29s70kpvi71gmjv1y4w5a3vc9gj6d16f8w8hpbvgb1jzl"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(for-each delete-file-recursively
(list
;; The system tests fail to find test_utils.retry.
"tests/system/"
;; Needs docker.
"tests/conformance/"))
(invoke "pytest")))))))
(native-inputs
(list python-pytest python-test-utils))
(propagated-inputs
(list python-google-api-core
python-google-auth
python-google-cloud-core
python-google-resumable-media
python-protobuf
python-requests))
(home-page "https://github.com/googleapis/python-storage")
(synopsis "Google Cloud Storage API client library")
(description "Google Cloud Storage allows you to store data on Google
infrastructure, and it can be used to distribute large data objects to users
via direct download. This package provides a Google Cloud Storage API client
library for Python.")
(license license:asl2.0)))
(define-public python-smart-open
(package
(name "python-smart-open")
(version "6.0.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "smart_open" version))
(sha256
(base32 "1c12ilanx9hgpcc5chjkaqnx1hx14iazyindy7syvjhbdywhc0fn"))))
(build-system python-build-system)
(arguments
`(#:tests? #false ;none included
#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest")))))))
(propagated-inputs
(list python-azure-common
python-azure-core
python-azure-storage-blob
python-boto3
python-google-cloud-storage
python-requests))
(native-inputs
(list python-flask
python-flask-cors
python-graphql-core
python-moto
python-paramiko
python-pathlib2
python-pytest
python-pytest-rerunfailures
python-responses))
(home-page "https://github.com/piskvorky/smart_open")
(synopsis "Utilities for streaming large files")
(description
"This package provides utilities for streaming large files (S3, HDFS,
GCS, Azure Blob Storage, gzip, bz2, etc.)")
(license license:expat)))
(define-public python-w3lib
(package
(name "python-w3lib")
@ -6904,56 +7330,63 @@ regular expressions.")
(name "python-scrapy")
(version "2.6.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "Scrapy" version))
(sha256
(base32 "09rqalbwcz9ix8h0992mzjs50sssxsmmh8w9abkrqchgknjmbzan"))))
(origin
(method url-fetch)
(uri (pypi-uri "Scrapy" version))
(sha256
(base32 "09rqalbwcz9ix8h0992mzjs50sssxsmmh8w9abkrqchgknjmbzan"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest"
;; requires network access
"--ignore" "tests/test_command_check.py"
"-k"
(string-append
;; Failing for unknown reasons
"not test_server_set_cookie_domain_suffix_public_private"
" and not test_user_set_cookie_domain_suffix_public_private"
" and not test_pformat")
"tests")))))))
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest"
"-n" (number->string (parallel-job-count))
;; These tests fail when run in parallel (see:
;; https://github.com/scrapy/scrapy/issues/5502).
"--ignore" "tests/test_engine.py"
"--ignore" "tests/test_engine_stop_download_bytes.py"
"--ignore" "tests/test_engine_stop_download_headers.py"
;; This test require network access.
"--ignore" "tests/test_command_check.py"
"-k"
(string-append
;; The followin tests fail for unknown reasons.
"not test_server_set_cookie_domain_suffix_public_private"
" and not test_user_set_cookie_domain_suffix_public_private"
" and not test_pformat")
"tests")))))))
(propagated-inputs
(list python-botocore ; Optional: For S3FeedStorage class.
python-cryptography
python-cssselect
python-itemadapter
python-itemloaders
python-lxml
python-parsel
python-protego
python-pydispatcher
python-pyopenssl
python-queuelib
python-service-identity
python-setuptools
python-tldextract
python-twisted
python-w3lib
python-zope-interface))
(list python-botocore ; Optional: For S3FeedStorage class.
python-cryptography
python-cssselect
python-itemadapter
python-itemloaders
python-lxml
python-parsel
python-protego
python-pydispatcher
python-pyopenssl
python-queuelib
python-service-identity
python-setuptools
python-tldextract
python-twisted
python-w3lib
python-zope-interface))
(native-inputs
(list python-pytest
python-pyftpdlib
python-sybil
python-testfixtures
python-uvloop))
(list python-pytest
python-pytest-xdist
python-pyftpdlib
python-sybil
python-testfixtures
python-uvloop))
(home-page "https://scrapy.org")
(synopsis "High-level Web crawling and Web scraping framework")
(description "Scrapy is a fast high-level web crawling and web
scraping framework, used to crawl websites and extract structured data
from their pages. It can be used for a wide range of purposes, from data
from their pages. It can be used for a wide range of purposes, from data
mining to monitoring and automated testing.")
(license license:bsd-3)))

View file

@ -31,7 +31,7 @@
;;; Copyright © 2016, 2017, 2019 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2016, 2017, 2018, 2021 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2016, 2017, 2018, 2020, 2021 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 20162021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 20162022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016, 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au>
;;; Copyright © 2017 Frederick M. Muriithi <fredmanglis@gmail.com>
@ -121,6 +121,8 @@
;;; Copyright © 2022 Peter Polidoro <peter@polidoro.io>
;;; Copyright © 2022 Wamm K. D. <jaft.r@outlook.com>
;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
;;; Copyright © 2022 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2022 Paul A. Patience <paul@apatience.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -178,6 +180,7 @@
#:use-module (gnu packages icu4c)
#:use-module (gnu packages inkscape)
#:use-module (gnu packages image)
#:use-module (gnu packages image-processing)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages jupyter)
#:use-module (gnu packages kerberos)
@ -3589,7 +3592,7 @@ files.")
(define-public python-cli-helpers
(package
(name "python-cli-helpers")
(version "2.0.1")
(version "2.2.1")
(source
(origin
;; There's no source tarball on PyPI.
@ -3599,13 +3602,12 @@ files.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1bg2iw9l5dip0kbs00hajdk2v18wvhssbnq8hdf71278qf0wks5l"))))
(base32 "1hzavh9v9lkd1dn9f0nvg80f7v4banxvcrj10zy72przqz51k1sb"))))
(build-system python-build-system)
(native-inputs
(list python-pytest))
(propagated-inputs
(list python-wcwidth python-configobj python-tabulate
python-terminaltables))
(list python-wcwidth python-configobj python-tabulate))
(home-page "https://github.com/dbcli/cli_helpers")
(synopsis "Helpers for building command-line apps")
(description
@ -5641,13 +5643,13 @@ interested parties to subscribe to events, or \"signals\".")
(define-public pelican
(package
(name "pelican")
(version "4.7.1")
(version "4.7.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pelican" version))
(sha256
(base32 "1sfckd3fhgnj305002fi3fdhkynric1ck7a5i8qany7k3vdsbasv"))))
(base32 "0m1kndc98hhnlq0yl05f4lzccw555pkxnrajj6lks18yh491kw8w"))))
(build-system python-build-system)
(inputs
(list python-blinker
@ -7738,6 +7740,65 @@ write a wide range of image data, including animated images, video, volumetric
data, and scientific formats.")
(license license:bsd-2)))
(define-public python-pyvips
(package
(name "python-pyvips")
(version "2.2.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyvips" version))
(sha256
(base32 "0lq71iiic4pc8qhxr60gi141w25pjnn4vsh05d5l0fjkgjsv137b"))))
(build-system python-build-system)
(arguments
(list #:phases
#~(modify-phases %standard-phases
;; Maybe switch to API mode (i.e., build the C extension)?
;; It is advertised as faster to start up and run.
;; However, even with pkg-config and python-pkgconfig in
;; native-inputs, the API mode build fails with:
;;
;; Falling back to ABI mode. Details: unable to find pkg-config package "vips"
;;
;; The build doesn't actually fail without the below
;; substitution, it's just slower because setup.py tries
;; (unsuccessfully) to download the Python pkgconfig module.
(add-after 'unpack 'fix-build
(lambda _
(substitute* "setup.py"
(("^( +setup_)API\\(\\)\n" _ prefix)
(string-append prefix "ABI()\n")))))
(add-after 'unpack 'fix-paths
(lambda _
(substitute* "pyvips/__init__.py"
(("^( +_vips_libname) = '(libvips.so.42)'"
_ var libname)
(format #f "~a = '~a/lib/~a'"
var #$(this-package-input "vips") libname))
(("^( +_gobject_libname) = '(libgobject-2.0.so.0)'"
_ var libname)
(format #f "~a = '~a/lib/~a'"
var #$(this-package-input "glib") libname)))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "python" "setup.py" "test")))))))
(native-inputs
(list python-pyperf
python-pytest
python-pytest-flake8
python-pytest-runner))
(inputs
(list glib vips))
(propagated-inputs
(list python-cffi))
(home-page "https://github.com/libvips/pyvips")
(synopsis "Python bindings for VIPS")
(description "The @code{pyvips} package provides Python bindings for VIPS,
a multithreaded image-processing system with low memory needs.")
(license license:expat)))
(define-public python-pycparser
(package
(name "python-pycparser")
@ -9284,10 +9345,8 @@ installing @code{kernelspec}s for use with Jupyter frontends.")
"1ikqvv335qfrhmlji0iclci6pnm2c3fvnxf031jr1d68j79g6ypd"))))
(build-system python-build-system)
(arguments '(#:tests? #f)) ;no test suite
(propagated-inputs
(list python-ipykernel))
(inputs
(list pari-gp readline))
(list pari-gp readline python-ipykernel))
(home-page "https://github.com/sagemath/pari-jupyter")
(synopsis "Jupyter kernel for PARI/GP")
(description "The package provides a PARI/GP kernel for Jupyter.")
@ -10071,6 +10130,25 @@ generate MPS or LP files and call GLPK, COIN CLP/CBC, CPLEX, and GUROBI to
solve linear problems.")
(license license:expat)))
(define-public python-py-tes
(package
(name "python-py-tes")
(version "0.4.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "py-tes" version))
(sha256
(base32 "0b272y392v0mnq0f3sm5kgcx8fn4qwfbym89hhvqxz3xkganr4pn"))))
(build-system python-build-system)
(propagated-inputs
(list python-attrs python-dateutil python-future python-requests))
(home-page "https://github.com/ohsu-comp-bio/py-tes")
(synopsis "Library for communicating with the GA4GH Task Execution API")
(description "This package provides a library for communicating with the
GA4GH Task Execution API.")
(license license:expat)))
(define-public python-toposort
(package
(name "python-toposort")
@ -10172,6 +10250,147 @@ providing a clean and modern domain specific specification language (DSL) in
Python style, together with a fast and comfortable execution environment.")
(license license:expat)))
(define-public snakemake-6
(package
(inherit snakemake)
(name "snakemake")
(version "6.15.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/snakemake/snakemake")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "09yrpi9f86r9yvcm2dfjs5zy87c4j31bxama77kfd6y8yfrrjlai"))))
(build-system python-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
;; For cluster execution Snakemake will call Python. Since there is
;; no suitable GUIX_PYTHONPATH set, cluster execution will fail. We
;; fix this by calling the snakemake wrapper instead.
;; XXX: There is another instance of sys.executable on line 692, but
;; it is not clear how to patch it.
(add-after 'unpack 'call-wrapper-not-wrapped-snakemake
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "snakemake/executors/__init__.py"
(("\\{sys.executable\\} -m snakemake")
(string-append (assoc-ref outputs "out")
"/bin/snakemake")))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(setenv "HOME" "/tmp")
;; This test attempts to change S3 buckets on AWS and fails
;; because there are no AWS credentials.
(delete-file "tests/test_tibanna.py")
(invoke "pytest")))))))
(inputs
(list python-appdirs
python-configargparse
python-connection-pool
python-datrie
python-docutils
python-filelock
python-gitpython
python-jinja2
python-jsonschema
python-nbformat
python-networkx
python-psutil
python-pulp
python-pyyaml
python-py-tes
python-ratelimiter
python-requests
python-smart-open
python-stopit
python-tabulate
python-toposort
python-wrapt))
(native-inputs
(list git-minimal
python-wrapper
python-pytest
python-pandas
python-requests-mock))))
(define-public snakemake-7
(package
(inherit snakemake-6)
(name "snakemake")
(version "7.7.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/snakemake/snakemake")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1qrqbmx4cbis0wxr6dl2rdjv9v627sbirsz6v5c31vlbqwkvs04q"))))
(build-system python-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
;; For cluster execution Snakemake will call Python. Since there is
;; no suitable GUIX_PYTHONPATH set, cluster execution will fail. We
;; fix this by calling the snakemake wrapper instead.
;; XXX: There is another instance of sys.executable on line 692, but
;; it is not clear how to patch it.
(add-after 'unpack 'call-wrapper-not-wrapped-snakemake
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "snakemake/executors/__init__.py"
(("\\{sys.executable\\} -m snakemake")
(string-append (assoc-ref outputs "out")
"/bin/snakemake")))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(setenv "HOME" "/tmp")
;; This test attempts to change S3 buckets on AWS and fails
;; because there are no AWS credentials.
(delete-file "tests/test_tibanna.py")
;; It's a similar story with this test, which requires access
;; to the Google Storage service.
(delete-file "tests/test_google_lifesciences.py")
(invoke "pytest")))))))
(inputs
(list python-appdirs
python-configargparse
python-connection-pool
python-datrie
python-docutils
python-filelock
python-gitpython
python-jinja2
python-jsonschema
python-nbformat
python-networkx
python-psutil
python-pulp
python-pyyaml
python-py-tes
python-ratelimiter
python-requests
python-retry
python-smart-open
python-stopit
python-tabulate
python-toposort
python-wrapt
python-yte))
(native-inputs
(list git-minimal
python-wrapper
python-pytest
python-pandas
python-requests-mock))))
(define-public python-pyqrcode
(package
(name "python-pyqrcode")
@ -13510,6 +13729,34 @@ Debian-related files, such as:
JSON Reference and JSON Pointer.")
(license license:bsd-3)))
(define-public python-fastbencode
(package
(name "python-fastbencode")
(version "0.0.7")
(source
(origin
(method url-fetch)
(uri (pypi-uri "fastbencode" version))
(sha256
(base32 "1r66w3vpmvfmssshjpgqaj2m14c8p94nymr96mwn61idajz9mg5n"))))
(build-system python-build-system)
(home-page "https://github.com/breezy-team/fastbencode")
(synopsis "Python Bencode (de)serializer with optional fast C extensions")
(description
"The fastbencode Python package implements the bencode serialization
format for storing and transmitting loosely structured data, originally used
by BitTorrent.
The format can encode four different types of values: byte strings, integers,
lists, and dictionaries (associative arrays). It's simple and unaffected by
endianness,
This package includes both a pure-Python version and an optional C extension
based on Cython. Both provide the same functionality, but the C version has
significantly better performance.")
(license (list license:expat ; _bencode_py.py
license:gpl2+)))) ; __init__.py
(define-public python-fastjsonschema
(package
(name "python-fastjsonschema")
@ -14014,7 +14261,7 @@ in the data.")
"1iqrxhd8hvlyf8cqbc731ssnwm61wrycnbiczy5wsfahd3hlh8i4"))))
(build-system python-build-system)
(propagated-inputs
(list python-ipykernel python-jupyter-client python-prompt-toolkit-2
(list python-ipykernel python-jupyter-client python-prompt-toolkit
python-pygments))
(native-inputs
(list python-nose python-pytest))
@ -14046,9 +14293,8 @@ Jupyter kernels such as IJulia and IRKernel.")
(assoc-ref outputs "out") "/bin"))))))))
;; Remove the python-ipython propagated input, to avoid the cycle
(propagated-inputs
(alist-delete
"python-ipython"
(package-propagated-inputs python-jupyter-console)))))
(modify-inputs (package-propagated-inputs python-jupyter-console)
(delete "python-ipython")))))
(define-public python-qtconsole
(package
@ -14428,6 +14674,23 @@ be set via config files and/or environment variables.")
(home-page "https://github.com/bw2/ConfigArgParse")
(license license:expat)))
(define-public python-connection-pool
(package
(name "python-connection-pool")
(version "0.0.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "connection_pool" version))
(sha256
(base32 "1p6hfkcl4n3hhhcgjbaxn21i7b1yipag6j7dnilir4k5xxx9whmz"))))
(build-system python-build-system)
(home-page "https://github.com/zhouyl/ConnectionPool")
(synopsis "Thread-safe connection pool")
(description "This package provides a library implementing a thread-safe
connection pool.")
(license license:expat)))
(define-public python-argparse-manpage
(package
(name "python-argparse-manpage")
@ -16546,13 +16809,13 @@ is made as zipfile like as possible.")
(define-public python-rich
(package
(name "python-rich")
(version "10.2.2")
(version "12.4.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "rich" version))
(sha256
(base32
"1z5m5brcdf3vndpavcqj5nl35xby4x5rfj48klhwqycfqf3g9cqp"))))
"149vjb4cpf9mz14iig0b6d8065dm8aslp6pc45g9ipmp1wf00ffj"))))
(build-system python-build-system)
(arguments
`(#:phases
@ -16581,7 +16844,7 @@ is made as zipfile like as possible.")
(file-name (git-file-name name version))
(sha256
(base32
"19f4svb363sn5708qkpa6lakmiwzyb25h8kmh7bqrsbbrvi9hr70"))))))
"17c3gljn8zv32xnpsgd3fqgqn4r7cdfqri41hridcpbhssdgkyp9"))))))
(home-page "https://github.com/willmcgugan/rich")
(synopsis "Render rich text and more to the terminal")
(description
@ -18504,7 +18767,7 @@ for Kivy, the multitouch application platform.")
(define-public python-kivy
(package
(name "python-kivy")
(version "1.10.1")
(version "2.1.0")
(source
(origin
(method url-fetch)
@ -18512,7 +18775,7 @@ for Kivy, the multitouch application platform.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1zzxjdp78hfjjiklzr82l4zwibwcq4j6kgicspqs6iyyfn5yisbw"))))
"1cq4djfn7h8560mvz94dydsldg2jpp5w9rby7nafgmbh7fxg65is"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; Tests require many optional packages
@ -18522,7 +18785,7 @@ for Kivy, the multitouch application platform.")
(lambda* (#:key inputs #:allow-other-keys)
(setenv "KIVY_SDL2_PATH"
(search-input-directory inputs "/include/SDL2"))))
(add-before 'sanity-check 'set-home
(add-before 'build 'set-home
(lambda _
;; 'kivy/__init__.py' wants to create $HOME/.kivy.
(setenv "HOME" (getcwd)))))))
@ -18542,6 +18805,35 @@ for Kivy, the multitouch application platform.")
multitouch applications.")
(license license:expat)))
(define-public python-kivymd
(package
(name "python-kivymd")
(version "0.104.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "kivymd" version))
(sha256
(base32 "04lwy6j0agrdwa4a6dl6qs97nx9ysmscmm8psvdzjpyj8aa1zg4p"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ;tests require network
#:phases
(modify-phases %standard-phases
(add-before 'sanity-check 'set-home
(lambda _
;; 'kivy/__init__.py' wants to create $HOME/.kivy.
(setenv "HOME" (getcwd)))))))
(native-inputs (list python-docutils))
(propagated-inputs
(list python-kivy python-pillow python-pygments python-kivy-garden))
(home-page "https://github.com/kivymd/KivyMD")
(synopsis "Material Design compliant widgets for use with Kivy")
(description
"This package provides Kivy widgets that approximate Google's Material
Design spec without sacrificing ease of use or application performance.")
(license license:expat)))
(define-public python2-kivy
(package-with-python2 python-kivy))
@ -23733,19 +24025,19 @@ identifying what the file is.")
(define-public python-tldextract
(package
(name "python-tldextract")
(version "2.2.0")
(version "3.3.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "tldextract" version))
(sha256
(base32
"1d5s8v6kpsgazyahflhji1cfdcf89rv7l7z55v774bhzvcjp2y99"))))
"1wac4yvcpgqjvls770mfx165amvy7gr00nnd2w24bqqwyamj9kdd"))))
(build-system python-build-system)
(native-inputs
(list python-pytest python-responses))
(list python-pytest python-responses python-setuptools-scm))
(propagated-inputs
(list python-idna python-requests python-requests-file))
(list python-filelock python-idna python-requests python-requests-file))
(home-page
"https://github.com/john-kurkowski/tldextract")
(synopsis
@ -23763,7 +24055,7 @@ Public Suffix List's private domains as well.")
(define-public python-tldr
(package
(name "python-tldr")
(version "1.2.1")
(version "3.1.0")
(source
(origin
;; There's no test in PyPI.
@ -23773,20 +24065,23 @@ Public Suffix List's private domains as well.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0n9wqvjxspm18vlxf9j9slrcydshk4rkv5nwkrqhfq606n6zvks4"))))
(base32 "1hxmprqg8c4cvs19n7f80f3y7jj74i8sc2dmq2gdjmsdrb54bbzc"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
;; This test fails. It tries to open a network socket.
(invoke "pytest" "-vv" "-k" "not test_error_message")))))))
(list #:phases
#~(modify-phases %standard-phases
(add-after 'build 'build-doc
(lambda _
(invoke "make" "-C" "docs")))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
;; This test fails. It tries to open a network socket.
(invoke "pytest" "-vv" "-k" "not test_error_message")))))))
(native-inputs
(list python-pytest python-pytest-runner))
(list python-pytest python-pytest-runner python-sphinx-argparse))
(inputs
(list python-argcomplete python-colorama python-termcolor))
(list python-argcomplete python-colorama python-termcolor python-shtab))
(home-page "https://github.com/tldr-pages/tldr-python-client")
(synopsis "Python command-line client for tldr pages")
(description "This package provides the @code{tldr} command allowing users
@ -26233,13 +26528,13 @@ scripts to load entry points more quickly.")
(define-public python-funcparserlib
(package
(name "python-funcparserlib")
(version "1.0.0a0") ; last stable release was in 2013
(version "1.0.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "funcparserlib" version))
(sha256
(base32 "0ama5w5lswxlp3l4qfqq3zlg7i6qkw45jfl1f7p8w1vnj8m47yz6"))))
(base32 "0swbqf53x7lfnczvi566s1g3nkf5mfrxz7sbpyymricz57a3vlvx"))))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ; no tests in PyPI and no setup.py in GitHub
@ -30986,6 +31281,53 @@ uses the parsed regular expression, so you get a much more accurate result
than trying to just split strings.")
(license license:asl2.0)))
(define-public python-pyperf
(package
(name "python-pyperf")
(version "2.3.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyperf" version))
(sha256
(base32 "189qf9wdbig0fk4n3bavx8acgdbay5lllfvw48jvbfaafb7y5hja"))))
(build-system python-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-tests
(lambda _
;; Some of these tests fail with:
;;
;; ModuleNotFoundError: No module named 'pyperf'
;;
;; even when calling add-installed-pythonpath in the check
;; phase.
(delete-file "pyperf/tests/test_examples.py")))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
;; From tox.ini's testenv.commands.
(invoke "python" "-bb" "-Wd"
"-m" "unittest" "discover"
"-s" "pyperf/tests/" "-v")))))))
(native-inputs
(list python-psutil))
(home-page "https://github.com/psf/pyperf")
(synopsis "Toolkit for running Python benchmarks")
(description "The Python @code{pyperf} module is a toolkit for writing,
running and analyzing benchmarks. It features a simple API that can:
@itemize
@item automatically calibrate a benchmark for a time budget;
@item spawn multiple worker processes;
@item compute the mean and standard deviation;
@item detect if a benchmark result seems unstable;
@item store benchmark results in JSON format;
@item support multiple units: seconds, bytes and integer.
@end itemize")
(license license:expat)))
(define-public python-pydispatcher
(package
(name "python-pydispatcher")
@ -31226,3 +31568,223 @@ object, which can be useful if you want to force your objects into a table.")
"The @code{deep-merge} Python library provides a toolset to deeply merge
nested data structures in Python like lists and dictionaries.")
(license license:expat)))
(define-public python-murmurhash3
(package
(name "python-murmurhash3")
(version "2.3.5")
(source (origin
(method url-fetch)
(uri (pypi-uri "murmurhash3" version))
(sha256
(base32
"1gdzys1212dx70byz07ipknbw1awbqskh6aznlkm85js8b8qfczm"))))
(build-system python-build-system)
(native-inputs (list python-cython python-pytest))
(inputs (list python))
(arguments
(list #:modules
'((ice-9 ftw) (ice-9 match)
(guix build utils)
(guix build python-build-system))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'set-source-file-times-to-1980
(lambda _
(let ((circa-1980 (* 10 366 24 60 60)))
(ftw "."
(lambda (file stat flag)
(utime file circa-1980 circa-1980) #t))))))))
(home-page "https://github.com/veegee/mmh3")
(synopsis "Python wrapper for MurmurHash (MurmurHash3)")
(description
"@code{murmurhash3} is a Python library for MurmurHash (MurmurHash3), a set
of fast and robust hash functions. This library is a Python extension module
written in C.")
(license license:public-domain)))
(define-public python-murmurhash
(package
(name "python-murmurhash")
(version "1.0.7")
(source (origin
(method url-fetch)
(uri (pypi-uri "murmurhash" version))
(sha256
(base32
"0vwkn98c703nvsigl2nz99rax2pafkx3djjfkgc49jiipmp3j2k3"))))
(build-system python-build-system)
(native-inputs (list python-cython python-pytest))
(inputs (list python python-murmurhash3))
(arguments
(list #:modules
'((ice-9 ftw) (ice-9 match)
(guix build utils)
(guix build python-build-system))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'set-source-file-times-to-1980
(lambda _
(let ((circa-1980 (* 10 366 24 60 60)))
(ftw "."
(lambda (file stat flag)
(utime file circa-1980 circa-1980) #t))))))))
(home-page "https://github.com/explosion/murmurhash")
(synopsis "Cython bindings for MurmurHash2")
(description "This package provides Cython bindings for MurmurHash2.")
(license license:expat)))
;; Scooby requires for its test suite a pyvips package that is missing its
;; VIPS dependency.
(define python-pyvips-for-python-scooby
(package
(inherit python-pyvips)
(name "python-pyvips-for-python-scooby")
(arguments
(substitute-keyword-arguments (package-arguments python-pyvips)
((#:phases phases)
#~(modify-phases #$phases
(delete 'fix-paths)
;; The checks won't succeed without VIPS.
(delete 'check)
(delete 'sanity-check)))))
(inputs
(modify-inputs (package-inputs python-pyvips)
(delete "vips")))
(synopsis "pyvips for Scooby's test suite")))
(define-public python-scooby
(package
(name "python-scooby")
(version "0.5.12")
(source
;; The PyPI tarball does not contain the tests.
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/banesullivan/scooby")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1gkpmz8wl3jg8ylf1na35308sznw2g9wx33zqlyq5i2gpy2ml9mw"))))
(build-system python-build-system)
(native-inputs
(list python-beautifulsoup4
python-numpy
python-pytest
python-pytest-cov
python-pyvips-for-python-scooby
python-scipy))
(propagated-inputs
(list python-psutil))
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-tests
(lambda _
(substitute* "tests/test_scooby.py"
;; The test suite uses the no-version PyPI package
;; (https://pypi.org/project/no-version/),
;; but it doesn't seem worth packaging in Guix just for this.
(("scooby\\.report\\.VERSION_NOT_FOUND")
"scooby.report.MODULE_NOT_FOUND")
(("^ +import no_version # noqa.*") ""))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest")))))))
(home-page "https://github.com/banesullivan/scooby")
(synopsis "Report hardware information and Python package versions")
(description
"The Scooby package reports the following information about the currently
running system:
@itemize
@item operating system name;
@item hardware information including machine type (e.g., @samp{i386},
@samp{x86_64}, etc.), CPU count and total RAM;
@item Python environment (e.g., Python, IPython, etc.);
@item file system name;
@item Python version;
@item versions of specified Python packages.
@end itemize
It can generate reports as HTML tables or plain text lists.
Scooby has no required dependencies, and only few optional dependencies.")
(license license:expat)))
(define-public python-cymem
(package
(name "python-cymem")
(version "2.0.6")
(source (origin
(method url-fetch)
(uri (pypi-uri "cymem" version))
(sha256
(base32
"0pkyy60zk9654sj991w111p1l0m8wvz36nslw96x6nb9h6sjb5qn"))))
(build-system python-build-system)
(native-inputs
(list python-cython
python-pytest))
(inputs
(list python))
(arguments
(list
#:modules '((ice-9 ftw)
(ice-9 match)
(guix build utils)
(guix build python-build-system))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'set-source-file-times-to-1980
;; XXX One of the tests uses a ZIP library to pack up some of the
;; source tree, and fails with "ZIP does not support timestamps
;; before 1980". Work around this by setting the file times in the
;; source tree to sometime in early 1980.
(lambda _
(let ((circa-1980 (* 10 366 24 60 60)))
(ftw "." (lambda (file stat flag)
(utime file circa-1980 circa-1980)
#t))))))))
(home-page "https://github.com/explosion/cymem")
(synopsis "Cython memory pool for RAII-style memory management")
(description
"Cymem provides two small memory-management helpers for Cython. They make it
easy to tie memory to a Python object's life-cycle, so that the memory is freed
when the object is garbage collected.")
(license license:expat)))
(define-public python-preshed
(package
(name "python-preshed")
(version "3.0.6")
(source (origin
(method url-fetch)
(uri (pypi-uri "preshed" version))
(sha256
(base32
"0akpydd23xqxx9d04drsnw9140rb3cv07r1zpzqz5wm0lf47afzv"))))
(build-system python-build-system)
(native-inputs (list python-cython python-cymem python-pytest))
(inputs (list python python-cymem python-murmurhash))
(arguments
(list #:modules
'((ice-9 ftw) (ice-9 match)
(guix build utils)
(guix build python-build-system))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'set-source-file-times-to-1980
(lambda _
(let ((circa-1980 (* 10 366 24 60 60)))
(ftw "."
(lambda (file stat flag)
(utime file circa-1980 circa-1980) #t))))))))
(home-page "https://github.com/explosion/preshed")
(synopsis "Cython hash tables that assume keys are pre-hashed")
(description
"Simple but high performance Cython hash table mapping pre-randomized keys
to void* values.")
(license license:expat)))

View file

@ -407,7 +407,7 @@ collector, 3M (``Moving Memory Manager'').")
(synopsis "Racket CS implementation")
(description "The Racket CS implementation, which uses ``Chez Scheme'' as
its core compiler and runtime system, has been the default Racket VM
implemetation since Racket 8.0. It performs better than the Racket BC
implementation since Racket 8.0. It performs better than the Racket BC
implementation for most programs.
Using the Racket VM packages directly is not recommended: instead, install the

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