Merge branch 'master' into staging
This commit is contained in:
commit
7097e98586
180 changed files with 7908 additions and 3336 deletions
11
Makefile.am
11
Makefile.am
|
@ -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 \
|
||||
|
|
|
@ -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)))
|
||||
|
|
|
@ -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.
|
||||
|
|
389
doc/guix.texi
389
doc/guix.texi
|
@ -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
|
||||
|
|
45
etc/news.scm
45
etc/news.scm
|
@ -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"))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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))
|
||||
|
|
15
gnu/ci.scm
15
gnu/ci.scm
|
@ -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."
|
||||
|
|
|
@ -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?
|
||||
|
|
|
@ -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))))
|
||||
|
|
19
gnu/local.mk
19
gnu/local.mk
|
@ -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 = \
|
||||
|
|
|
@ -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).
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)))))
|
||||
|
||||
|
||||
;;;
|
||||
|
|
|
@ -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 © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018–2022 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")))))
|
||||
|
|
|
@ -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, 2020–2022 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")
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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")
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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'.
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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)))
|
||||
|
||||
|
|
|
@ -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))))
|
||||
|
||||
|
|
|
@ -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"))
|
||||
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017–2022 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)
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)))
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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/")
|
||||
|
|
|
@ -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+)))
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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")))
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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)\".")
|
||||
|
|
|
@ -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.")
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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/")
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
;;; Copyright © 2017–2022 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2017, 2018, 2019, 2021 Pierre Langlois <pierre.langlois@gmx.com>
|
||||
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017–2022 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
|
||||
|
|
|
@ -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 © 2018–2020, 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
|
||||
|
|
|
@ -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 © 2018–2021 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))
|
||||
|
|
|
@ -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 © 2016–2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2016–2022 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
|
||||
|
|
|
@ -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)))
|
||||
|
||||
|
|
|
@ -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 © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017–2022 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
|
||||
|
|
|
@ -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 © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018–2022 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
|
||||
|
|
|
@ -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
|
|
@ -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])
|
71
gnu/packages/patches/elm-offline-package-registry.patch
Normal file
71
gnu/packages/patches/elm-offline-package-registry.patch
Normal 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
|
||||
|
251
gnu/packages/patches/elm-reactor-static-files.patch
Normal file
251
gnu/packages/patches/elm-reactor-static-files.patch
Normal 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
|
||||
|
|
@ -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")
|
39
gnu/packages/patches/emacs-lispy-fix-thread-last-test.patch
Normal file
39
gnu/packages/patches/emacs-lispy-fix-thread-last-test.patch
Normal 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
|
||||
|
114
gnu/packages/patches/gcc-12-strmov-store-file-names.patch
Normal file
114
gnu/packages/patches/gcc-12-strmov-store-file-names.patch
Normal 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
|
55
gnu/packages/patches/gcolor3-update-libportal-usage.patch
Normal file
55
gnu/packages/patches/gcolor3-update-libportal-usage.patch
Normal 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
|
47
gnu/packages/patches/libobjc2-unbundle-robin-map.patch
Normal file
47
gnu/packages/patches/libobjc2-unbundle-robin-map.patch
Normal 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
|
||||
|
|
@ -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)
|
|
@ -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. */
|
|
@ -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));
|
45
gnu/packages/patches/sssd-optional-systemd.patch
Normal file
45
gnu/packages/patches/sssd-optional-systemd.patch
Normal 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)
|
|
@ -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:
|
||||
|
|
|
@ -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));
|
|
@ -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);
|
||||
|
|
@ -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 © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018–2022 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
|
||||
|
|
|
@ -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 © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017–2022 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
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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)))
|
||||
|
|
|
@ -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)))
|
||||
|
|
|
@ -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 © 2016–2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2016–2022 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)))
|
||||
|
|
|
@ -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
Reference in a new issue