Merge branch 'master' into staging
This commit is contained in:
commit
e5e0e283ff
372
doc/guix.texi
372
doc/guix.texi
@ -88,7 +88,7 @@ Copyright @copyright{} 2020 Daniel Brooks@*
|
||||
Copyright @copyright{} 2020 John Soo@*
|
||||
Copyright @copyright{} 2020 Jonathan Brielmaier@*
|
||||
Copyright @copyright{} 2020 Edgar Vincent@*
|
||||
Copyright @copyright{} 2021 Maxime Devos@*
|
||||
Copyright @copyright{} 2021, 2022 Maxime Devos@*
|
||||
Copyright @copyright{} 2021 B. Wilson@*
|
||||
Copyright @copyright{} 2021 Xinglu Chen@*
|
||||
Copyright @copyright{} 2021 Raghav Gururajan@*
|
||||
@ -279,6 +279,7 @@ Programming Interface
|
||||
* Package Modules:: Packages from the programmer's viewpoint.
|
||||
* Defining Packages:: Defining new packages.
|
||||
* Defining Package Variants:: Customizing packages.
|
||||
* Writing Manifests:: The bill of materials of your environment.
|
||||
* Build Systems:: Specifying how packages are built.
|
||||
* Build Phases:: Phases of the build process of a package.
|
||||
* Build Utilities:: Helpers for your package definitions and more.
|
||||
@ -2329,8 +2330,8 @@ Installation}).
|
||||
|
||||
The installation system provides root shells on TTYs 3 to 6; press
|
||||
@kbd{ctrl-alt-f3}, @kbd{ctrl-alt-f4}, and so on to reach them. It includes
|
||||
many common tools needed to install the system. But it is also a full-blown
|
||||
Guix System, which means that you can install additional packages, should you
|
||||
many common tools needed to install the system, but is also a full-blown
|
||||
Guix System. This means that you can install additional packages, should you
|
||||
need it, using @command{guix package} (@pxref{Invoking guix package}).
|
||||
|
||||
@menu
|
||||
@ -3378,7 +3379,6 @@ commands. The advantage is that @var{file} can be put under version
|
||||
control, copied to different machines to reproduce the same profile, and
|
||||
so on.
|
||||
|
||||
@c FIXME: Add reference to (guix profile) documentation when available.
|
||||
@var{file} must return a @dfn{manifest} object, which is roughly a list
|
||||
of packages:
|
||||
|
||||
@ -3393,30 +3393,7 @@ of packages:
|
||||
(list guile-2.0 "debug")))
|
||||
@end lisp
|
||||
|
||||
@findex specifications->manifest
|
||||
In this example we have to know which modules define the @code{emacs}
|
||||
and @code{guile-2.0} variables to provide the right
|
||||
@code{use-package-modules} line, which can be cumbersome. We can
|
||||
instead provide regular package specifications and let
|
||||
@code{specifications->manifest} look up the corresponding package
|
||||
objects, like this:
|
||||
|
||||
@lisp
|
||||
(specifications->manifest
|
||||
'("emacs" "guile@@2.2" "guile@@2.2:debug"))
|
||||
@end lisp
|
||||
|
||||
@findex package->development-manifest
|
||||
You might also want to create a manifest for all the dependencies of a
|
||||
package, rather than the package itself:
|
||||
|
||||
@lisp
|
||||
(package->development-manifest (specification->package "emacs"))
|
||||
@end lisp
|
||||
|
||||
The example above gives you all the software required to develop Emacs,
|
||||
similar to what @command{guix environment emacs} provides.
|
||||
|
||||
@xref{Writing Manifests}, for information on how to write a manifest.
|
||||
@xref{export-manifest, @option{--export-manifest}}, to learn how to
|
||||
obtain a manifest file from an existing profile.
|
||||
|
||||
@ -4711,7 +4688,7 @@ want to install in your profile the current @code{guile} package, along with
|
||||
the @code{guile-json} as it existed in an older revision of Guix---perhaps
|
||||
because the newer @code{guile-json} has an incompatible API and you want to
|
||||
run your code against the old API@. To do that, you could write a manifest for
|
||||
use by @code{guix package --manifest} (@pxref{Invoking guix package}); in that
|
||||
use by @code{guix package --manifest} (@pxref{Writing Manifests}); in that
|
||||
manifest, you would create an inferior for that old Guix revision you care
|
||||
about, and you would look up the @code{guile-json} package in the inferior:
|
||||
|
||||
@ -5783,6 +5760,7 @@ former is sourced only by log-in shells. @xref{Bash Startup Files,,,
|
||||
bash, The GNU Bash Reference Manual}, for details on Bash start-up
|
||||
files.
|
||||
|
||||
@anchor{shell-development-option}
|
||||
@item --development
|
||||
@itemx -D
|
||||
Cause @command{guix shell} to include in the environment the
|
||||
@ -5824,6 +5802,10 @@ To select other outputs, two element tuples can be specified:
|
||||
guix shell -e '(list (@@ (gnu packages bash) bash) "include")'
|
||||
@end example
|
||||
|
||||
@xref{package-development-manifest,
|
||||
@code{package->development-manifest}}, for information on how to write a
|
||||
manifest for the development environment of a package.
|
||||
|
||||
@item --file=@var{file}
|
||||
@itemx -f @var{file}
|
||||
Create an environment containing the package or list of packages that
|
||||
@ -5843,6 +5825,7 @@ running:
|
||||
guix shell -D -f gdb-devel.scm
|
||||
@end example
|
||||
|
||||
@anchor{shell-manifest}
|
||||
@item --manifest=@var{file}
|
||||
@itemx -m @var{file}
|
||||
Create an environment for the packages contained in the manifest object
|
||||
@ -5853,6 +5836,7 @@ This is similar to the same-named option in @command{guix package}
|
||||
(@pxref{profile-manifest, @option{--manifest}}) and uses the same
|
||||
manifest files.
|
||||
|
||||
@xref{Writing Manifests}, for information on how to write a manifest.
|
||||
See @option{--export-manifest} below on how to obtain a first manifest.
|
||||
|
||||
@cindex manifest, exporting
|
||||
@ -6737,6 +6721,7 @@ This has the same purpose as the same-named option in @command{guix
|
||||
build} (@pxref{Additional Build Options, @option{--expression} in
|
||||
@command{guix build}}).
|
||||
|
||||
@anchor{pack-manifest}
|
||||
@item --manifest=@var{file}
|
||||
@itemx -m @var{file}
|
||||
Use the packages contained in the manifest object returned by the Scheme
|
||||
@ -6751,6 +6736,7 @@ for use on machines that do not have Guix installed. Note that you can
|
||||
specify @emph{either} a manifest file @emph{or} a list of packages,
|
||||
but not both.
|
||||
|
||||
@xref{Writing Manifests}, for information on how to write a manifest.
|
||||
@xref{shell-export-manifest, @command{guix shell --export-manifest}},
|
||||
for information on how to ``convert'' command-line options into a
|
||||
manifest.
|
||||
@ -6957,6 +6943,7 @@ package definitions.
|
||||
* Package Modules:: Packages from the programmer's viewpoint.
|
||||
* Defining Packages:: Defining new packages.
|
||||
* Defining Package Variants:: Customizing packages.
|
||||
* Writing Manifests:: The bill of materials of your environment.
|
||||
* Build Systems:: Specifying how packages are built.
|
||||
* Build Phases:: Phases of the build process of a package.
|
||||
* Build Utilities:: Helpers for your package definitions and more.
|
||||
@ -7962,6 +7949,312 @@ when @var{cut?} returns true for a given package. When @var{deep?} is true, @va
|
||||
applied to implicit inputs as well.
|
||||
@end deffn
|
||||
|
||||
@node Writing Manifests
|
||||
@section Writing Manifests
|
||||
|
||||
@cindex manifest
|
||||
@cindex bill of materials (manifests)
|
||||
@command{guix} commands let you specify package lists on the command
|
||||
line. This is convenient, but as the command line becomes longer and
|
||||
less trivial, it quickly becomes more convenient to have that package
|
||||
list in what we call a @dfn{manifest}. A manifest is some sort of a
|
||||
``bill of materials'' that defines a package set. You would typically
|
||||
come up with a code snippet that builds the manifest, store it in a
|
||||
file, say @file{manifest.scm}, and then pass that file to the
|
||||
@option{-m} (or @option{--manifest}) option that many @command{guix}
|
||||
commands support. For example, here's what a manifest for a simple
|
||||
package set might look like:
|
||||
|
||||
@lisp
|
||||
;; Manifest for three packages.
|
||||
(specifications->manifest '("gcc-toolchain" "make" "git"))
|
||||
@end lisp
|
||||
|
||||
Once you have that manifest, you can pass it, for example, to
|
||||
@command{guix package} to install just those three packages to your
|
||||
profile (@pxref{profile-manifest, @option{-m} option of @command{guix
|
||||
package}}):
|
||||
|
||||
@example
|
||||
guix package -m manifest.scm
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
... or you can pass it to @command{guix shell} (@pxref{shell-manifest,
|
||||
@command{-m} option of @command{guix shell}}) to spawn an ephemeral
|
||||
environment:
|
||||
|
||||
@example
|
||||
guix shell -m manifest.scm
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
... or you can pass it to @command{guix pack} in pretty much the same
|
||||
way (@pxref{pack-manifest, @option{-m} option of @command{guix pack}}).
|
||||
You can store the manifest under version control, share it with others
|
||||
so they can easily get set up, etc.
|
||||
|
||||
But how do you write your first manifest? To get started, maybe you'll
|
||||
want to write a manifest that mirrors what you already have in a
|
||||
profile. Rather than start from a blank page, @command{guix package}
|
||||
can generate a manifest for you (@pxref{export-manifest, @command{guix
|
||||
package --export-manifest}}):
|
||||
|
||||
@example
|
||||
# Write to 'manifest.scm' a manifest corresponding to the
|
||||
# default profile, ~/.guix-profile.
|
||||
guix package --export-manifest > manifest.scm
|
||||
@end example
|
||||
|
||||
Or maybe you'll want to ``translate'' command-line arguments into a
|
||||
manifest. In that case, @command{guix shell} can help
|
||||
(@pxref{shell-export-manifest, @command{guix shell --export-manifest}}):
|
||||
|
||||
@example
|
||||
# Write a manifest for the packages specified on the command line.
|
||||
guix shell --export-manifest gcc-toolchain make git > manifest.scm
|
||||
@end example
|
||||
|
||||
In both cases, the @option{--export-manifest} option tries hard to
|
||||
generate a faithful manifest; in particular, it takes package
|
||||
transformation options into account (@pxref{Package Transformation
|
||||
Options}).
|
||||
|
||||
@quotation Note
|
||||
Manifests are @emph{symbolic}: they refer to packages of the channels
|
||||
@emph{currently in use} (@pxref{Channels}). In the example above,
|
||||
@code{gcc-toolchain} might refer to version 11 today, but it might refer
|
||||
to version 13 two years from now.
|
||||
|
||||
If you want to ``pin'' your software environment to specific package
|
||||
versions and variants, you need an additional piece of information: the
|
||||
list of channel revisions in use, as returned by @command{guix
|
||||
describe}. @xref{Replicating Guix}, for more information.
|
||||
@end quotation
|
||||
|
||||
Once you've obtained your first manifest, perhaps you'll want to
|
||||
customize it. Since your manifest is code, you now have access to all
|
||||
the Guix programming interfaces!
|
||||
|
||||
Let's assume you want a manifest to deploy a custom variant of GDB, the
|
||||
GNU Debugger, that does not depend on Guile, together with another
|
||||
package. Building on the example seen in the previous section
|
||||
(@pxref{Defining Package Variants}), you can write a manifest along
|
||||
these lines:
|
||||
|
||||
@lisp
|
||||
(use-modules (guix packages)
|
||||
(gnu packages gdb) ;for 'gdb'
|
||||
(gnu packages version-control)) ;for 'git'
|
||||
|
||||
;; Define a variant of GDB without a dependency on Guile.
|
||||
(define gdb-sans-guile
|
||||
(package
|
||||
(inherit gdb)
|
||||
(inputs (modify-inputs (package-inputs gdb)
|
||||
(delete "guile")))))
|
||||
|
||||
;; Return a manifest containing that one package plus Git.
|
||||
(packages->manifest (list gdb-sans-guile git))
|
||||
@end lisp
|
||||
|
||||
Note that in this example, the manifest directly refers to the
|
||||
@code{gdb} and @code{git} variables, which are bound to a @code{package}
|
||||
object (@pxref{package Reference}), instead of calling
|
||||
@code{specifications->manifest} to look up packages by name as we did
|
||||
before. The @code{use-modules} form at the top lets us access the core
|
||||
package interface (@pxref{Defining Packages}) and the modules that
|
||||
define @code{gdb} and @code{git} (@pxref{Package Modules}). Seamlessly,
|
||||
we're weaving all this together---the possibilities are endless, unleash
|
||||
your creativity!
|
||||
|
||||
The data type for manifests as well as supporting procedures are defined
|
||||
in the @code{(guix profiles)} module, which is automatically available
|
||||
to code passed to @option{-m}. The reference follows.
|
||||
|
||||
@deftp {Data Type} manifest
|
||||
Data type representing a manifest.
|
||||
|
||||
It currently has one field:
|
||||
|
||||
@table @code
|
||||
@item entries
|
||||
This must be a list of @code{manifest-entry} records---see below.
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
@deftp {Data Type} manifest-entry
|
||||
Data type representing a manifest entry. A manifest entry contains
|
||||
essential metadata: a name and version string, the object (usually a
|
||||
package) for that entry, the desired output (@pxref{Packages with
|
||||
Multiple Outputs}), and a number of optional pieces of information
|
||||
detailed below.
|
||||
|
||||
Most of the time, you won't build a manifest entry directly; instead,
|
||||
you will pass a package to @code{package->manifest-entry}, described
|
||||
below. In some unusual cases though, you might want to create manifest
|
||||
entries for things that are @emph{not} packages, as in this example:
|
||||
|
||||
@lisp
|
||||
;; Manually build a single manifest entry for a non-package object.
|
||||
(let ((hello (program-file "hello" #~(display "Hi!"))))
|
||||
(manifest-entry
|
||||
(name "foo")
|
||||
(version "42")
|
||||
(item
|
||||
(computed-file "hello-directory"
|
||||
#~(let ((bin (string-append #$output "/bin")))
|
||||
(mkdir #$output) (mkdir bin)
|
||||
(symlink #$hello
|
||||
(string-append bin "/hello")))))))
|
||||
@end lisp
|
||||
|
||||
The available fields are the following:
|
||||
|
||||
@table @asis
|
||||
@item @code{name}
|
||||
@itemx @code{version}
|
||||
Name and version string for this entry.
|
||||
|
||||
@item @code{item}
|
||||
A package or other file-like object (@pxref{G-Expressions, file-like
|
||||
objects}).
|
||||
|
||||
@item @code{output} (default: @code{"out"})
|
||||
Output of @code{item} to use, in case @code{item} has multiple outputs
|
||||
(@pxref{Packages with Multiple Outputs}).
|
||||
|
||||
@item @code{dependencies} (default: @code{'()})
|
||||
List of manifest entries this entry depends on. When building a
|
||||
profile, dependencies are added to the profile.
|
||||
|
||||
Typically, the propagated inputs of a package (@pxref{package Reference,
|
||||
@code{propagated-inputs}}) end up having a corresponding manifest entry
|
||||
in among the dependencies of the package's own manifest entry.
|
||||
|
||||
@item @code{search-paths} (default: @code{'()})
|
||||
The list of search path specifications honored by this entry
|
||||
(@pxref{Search Paths}).
|
||||
|
||||
@item @code{properties} (default: @code{'()})
|
||||
List of symbol/value pairs. When building a profile, those properties
|
||||
get serialized.
|
||||
|
||||
This can be used to piggyback additional metadata---e.g., the
|
||||
transformations applied to a package (@pxref{Package Transformation
|
||||
Options}).
|
||||
|
||||
@item @code{parent} (default: @code{(delay #f)})
|
||||
A promise pointing to the ``parent'' manifest entry.
|
||||
|
||||
This is used as a hint to provide context when reporting an error
|
||||
related to a manifest entry coming from a @code{dependencies} field.
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
@deffn {Scheme Procedure} concatenate-manifests @var{lst}
|
||||
Concatenate the manifests listed in @var{lst} and return the resulting
|
||||
manifest.
|
||||
@end deffn
|
||||
|
||||
@c TODO: <manifest-pattern>, manifest-lookup, manifest-remove, etc.
|
||||
|
||||
@deffn {Scheme Procedure} package->manifest-entry @var{package} @
|
||||
[@var{output}] [#:properties]
|
||||
Return a manifest entry for the @var{output} of package @var{package},
|
||||
where @var{output} defaults to @code{"out"}, and with the given
|
||||
@var{properties}. By default @var{properties} is the empty list or, if
|
||||
one or more package transformations were applied to @var{package}, it is
|
||||
an association list representing those transformations, suitable as an
|
||||
argument to @code{options->transformation} (@pxref{Defining Package
|
||||
Variants, @code{options->transformation}}).
|
||||
|
||||
The code snippet below builds a manifest with an entry for the default
|
||||
output and the @code{send-email} output of the @code{git} package:
|
||||
|
||||
@lisp
|
||||
(use-modules (gnu packages version-control))
|
||||
|
||||
(manifest (list (package->manifest-entry git)
|
||||
(package->manifest-entry git "send-email")))
|
||||
@end lisp
|
||||
@end deffn
|
||||
|
||||
@deffn {Scheme Procedure} packages->manifest @var{packages}
|
||||
Return a list of manifest entries, one for each item listed in
|
||||
@var{packages}. Elements of @var{packages} can be either package
|
||||
objects or package/string tuples denoting a specific output of a
|
||||
package.
|
||||
|
||||
Using this procedure, the manifest above may be rewritten more
|
||||
concisely:
|
||||
|
||||
@lisp
|
||||
(use-modules (gnu packages version-control))
|
||||
|
||||
(packages->manifest (list git `(,git "send-email")))
|
||||
@end lisp
|
||||
@end deffn
|
||||
|
||||
@anchor{package-development-manifest}
|
||||
@deffn {Scheme Procedure} package->development-manifest @var{package} @
|
||||
[@var{system}] [#:target]
|
||||
Return a manifest for the @dfn{development inputs} of @var{package} for
|
||||
@var{system}, optionally when cross-compiling to @var{target}.
|
||||
Development inputs include both explicit and implicit inputs of
|
||||
@var{package}.
|
||||
|
||||
Like the @option{-D} option of @command{guix shell}
|
||||
(@pxref{shell-development-option, @command{guix shell -D}}), the
|
||||
resulting manifest describes the environment in which one can develop
|
||||
@var{package}. For example, suppose you're willing to set up a
|
||||
development environment for Inkscape, with the addition of Git for
|
||||
version control; you can describe that ``bill of materials'' with the
|
||||
following manifest:
|
||||
|
||||
@lisp
|
||||
(use-modules (gnu packages inkscape) ;for 'inkscape'
|
||||
(gnu packages version-control)) ;for 'git'
|
||||
|
||||
(concatenate-manifests
|
||||
(list (package->development-manifest inkscape)
|
||||
(packages->manifest (list git))))
|
||||
@end lisp
|
||||
|
||||
In this example, the development manifest that
|
||||
@code{package->development-manifest} returns includes the compiler
|
||||
(GCC), the many supporting libraries (Boost, GLib, GTK, etc.), and a
|
||||
couple of additional development tools---these are the dependencies
|
||||
@command{guix show inkscape} lists.
|
||||
@end deffn
|
||||
|
||||
@c TODO: Move (gnu packages) interface to a section of its own.
|
||||
|
||||
Last, the @code{(gnu packages)} module provides higher-level facilities
|
||||
to build manifests. In particular, it lets you look up packages by
|
||||
name---see below.
|
||||
|
||||
@deffn {Scheme Procedure} specifications->manifest @var{specs}
|
||||
Given @var{specs}, a list of specifications such as @code{"emacs@@25.2"}
|
||||
or @code{"guile:debug"}, return a manifest. Specs have the format that
|
||||
command-line tools such as @command{guix install} and @command{guix
|
||||
package} understand (@pxref{Invoking guix package}).
|
||||
|
||||
As an example, it lets you rewrite the Git manifest that we saw earlier
|
||||
like this:
|
||||
|
||||
@lisp
|
||||
(specifications->manifest '("git" "git:send-email"))
|
||||
@end lisp
|
||||
|
||||
Notice that we do not need to worry about @code{use-modules}, importing
|
||||
the right set of modules, and referring to the right variables.
|
||||
Instead, we directly refer to packages in the same way as on the command
|
||||
line, which can often be more convenient.
|
||||
@end deffn
|
||||
|
||||
@c TODO: specifications->package, etc.
|
||||
|
||||
|
||||
@node Build Systems
|
||||
@section Build Systems
|
||||
@ -9834,6 +10127,25 @@ Again, the libxml2 example shows a situation where this is needed.
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
Some search paths are not tied by a single package but to many packages.
|
||||
To reduce duplications, some of them are pre-defined in @code{(guix
|
||||
search-paths)}.
|
||||
|
||||
@defvr {Scheme Variable} $SSL_CERT_DIR
|
||||
@defvrx {Scheme Variable} $SSL_CERT_FILE
|
||||
These two search paths indicate where X.509 certificates can be found
|
||||
(@pxref{X.509 Certificates}).
|
||||
@end defvr
|
||||
|
||||
These pre-defined search paths can be used as in the following example:
|
||||
|
||||
@lisp
|
||||
(package
|
||||
(name "curl")
|
||||
;; some fields omitted ...
|
||||
(native-search-paths (list $SSL_CERT_DIR $SSL_CERT_FILE)))
|
||||
@end lisp
|
||||
|
||||
How do you turn search path specifications on one hand and a bunch of
|
||||
directories on the other hand in a set of environment variable
|
||||
definitions? That's the job of @code{evaluate-search-paths}.
|
||||
@ -39388,7 +39700,7 @@ You can then pass it to any command with the @option{-m} option:
|
||||
guix shell -m manifest.scm -- pdflatex doc.tex
|
||||
@end example
|
||||
|
||||
@xref{Invoking guix package, @option{--manifest}}, for more on
|
||||
@xref{Writing Manifests}, for more on
|
||||
manifests. In the future, we plan to provide packages for @TeX{} Live
|
||||
@dfn{collections}---``meta-packages'' such as @code{fontsrecommended},
|
||||
@code{humanities}, or @code{langarabic} that provide the set of packages
|
||||
|
13
etc/snippets/text-mode/guix-commit-message-remove-package
Normal file
13
etc/snippets/text-mode/guix-commit-message-remove-package
Normal file
@ -0,0 +1,13 @@
|
||||
# -*- mode: snippet -*-
|
||||
# name: guix-commit-message-remove-package
|
||||
# key: remove
|
||||
# condition: git-commit-mode
|
||||
# --
|
||||
gnu: Remove ${1:`(with-temp-buffer
|
||||
(magit-git-wash #'magit-diff-wash-diffs
|
||||
"diff" "--staged")
|
||||
(goto-char (point-min))
|
||||
(when (re-search-forward "\\-(define-public \\(\\S-+\\)" nil 'noerror)
|
||||
(match-string-no-properties 1)))`}.
|
||||
|
||||
* `(car (magit-staged-files))` ($1): Delete variable.
|
10
gnu/local.mk
10
gnu/local.mk
@ -1030,7 +1030,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/emacs-exec-path.patch \
|
||||
%D%/packages/patches/emacs-git-email-missing-parens.patch \
|
||||
%D%/packages/patches/emacs-fix-scheme-indent-function.patch \
|
||||
%D%/packages/patches/emacs-ignore-empty-xim-styles.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 \
|
||||
@ -1039,6 +1038,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/emacs-telega-path-placeholder.patch \
|
||||
%D%/packages/patches/emacs-telega-test-env.patch \
|
||||
%D%/packages/patches/emacs-wordnut-require-adaptive-wrap.patch \
|
||||
%D%/packages/patches/emacs-yasnippet-fix-tests.patch \
|
||||
%D%/packages/patches/enjarify-setup-py.patch \
|
||||
%D%/packages/patches/enlightenment-fix-setuid-path.patch \
|
||||
%D%/packages/patches/eog-update-libportal-usage.patch \
|
||||
@ -1297,7 +1297,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/iputils-libcap-compat.patch \
|
||||
%D%/packages/patches/ipxe-reproducible-geniso.patch \
|
||||
%D%/packages/patches/irrlicht-use-system-libs.patch \
|
||||
%D%/packages/patches/isc-dhcp-gcc-compat.patch \
|
||||
%D%/packages/patches/isl-0.11.1-aarch64-support.patch \
|
||||
%D%/packages/patches/json-c-0.13-CVE-2020-12762.patch \
|
||||
%D%/packages/patches/json-c-0.12-CVE-2020-12762.patch \
|
||||
@ -1428,6 +1427,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/libxml2-terminating-newline.patch \
|
||||
%D%/packages/patches/libxml2-xpath-recursion-limit.patch \
|
||||
%D%/packages/patches/libxml2-xpath0-Add-option-xpath0.patch \
|
||||
%D%/packages/patches/libxmlb-install-xb-tool-into-bindir.patch \
|
||||
%D%/packages/patches/libxslt-generated-ids.patch \
|
||||
%D%/packages/patches/libxt-guix-search-paths.patch \
|
||||
%D%/packages/patches/lierolibre-check-unaligned-access.patch \
|
||||
@ -1682,10 +1682,13 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/python-argcomplete-1.11.1-fish31.patch \
|
||||
%D%/packages/patches/python-cross-compile.patch \
|
||||
%D%/packages/patches/python-configobj-setuptools.patch \
|
||||
%D%/packages/patches/python-debugpy-unbundle-pydevd.patch \
|
||||
%D%/packages/patches/python-docopt-pytest6-compat.patch \
|
||||
%D%/packages/patches/python-execnet-read-only-fix.patch \
|
||||
%D%/packages/patches/python-fixtures-remove-monkeypatch-test.patch \
|
||||
%D%/packages/patches/python-flask-restful-werkzeug-compat.patch \
|
||||
%D%/packages/patches/python-ipython-documentation-chars.patch \
|
||||
%D%/packages/patches/python-ipython-documentation-repro.patch \
|
||||
%D%/packages/patches/python-keras-integration-test.patch \
|
||||
%D%/packages/patches/python-pdoc3-tests.patch \
|
||||
%D%/packages/patches/python-peachpy-determinism.patch \
|
||||
@ -1724,6 +1727,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/python-waitress-fix-tests.patch \
|
||||
%D%/packages/patches/python-werkzeug-tests.patch \
|
||||
%D%/packages/patches/python-mypy-12332.patch \
|
||||
%D%/packages/patches/python-mypy-use-sys-path.patch \
|
||||
%D%/packages/patches/qemu-build-info-manual.patch \
|
||||
%D%/packages/patches/qemu-glibc-2.27.patch \
|
||||
%D%/packages/patches/qemu-glibc-2.30.patch \
|
||||
@ -1759,8 +1763,6 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/ripperx-missing-file.patch \
|
||||
%D%/packages/patches/rpcbind-CVE-2017-8779.patch \
|
||||
%D%/packages/patches/rtags-separate-rct.patch \
|
||||
%D%/packages/patches/racket-enable-scheme-backport.patch \
|
||||
%D%/packages/patches/racket-gui-tethered-launcher-backport.patch \
|
||||
%D%/packages/patches/racket-minimal-sh-via-rktio.patch \
|
||||
%D%/packages/patches/remake-impure-dirs.patch \
|
||||
%D%/packages/patches/restic-0.9.6-fix-tests-for-go1.15.patch \
|
||||
|
@ -671,7 +671,7 @@ console.")
|
||||
(define-public htop
|
||||
(package
|
||||
(name "htop")
|
||||
(version "3.1.2")
|
||||
(version "3.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -679,7 +679,7 @@ console.")
|
||||
(url "https://github.com/htop-dev/htop")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32 "024qhrlmqgwmn6bwb5yiff9bhhdabryiphzx8y654k8r8vqi59j4"))
|
||||
(base32 "16l1r2ixzs640ybqp2x8bfyvk98kiywy7k3sjmp5j5npdzn5ryd7"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
@ -1068,7 +1068,7 @@ would need and has several interesting built-in capabilities.")
|
||||
(define-public netcat-openbsd
|
||||
(package
|
||||
(name "netcat-openbsd")
|
||||
(version "1.218-2")
|
||||
(version "1.218-5")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@ -1077,7 +1077,7 @@ would need and has several interesting built-in capabilities.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1rj4nx0jdism1idc4fghahqbafhv72cpk7zlyq9czgvbps10d1kh"))))
|
||||
"0hpbmz9m2q22a6qgbn9590z2x96xgffim8g0m1v47mariz3pqhlc"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no test suite
|
||||
@ -1232,15 +1232,14 @@ connection alive.")
|
||||
bind-release-version)))
|
||||
(package
|
||||
(name "isc-dhcp")
|
||||
(version "4.4.2-P1")
|
||||
(version "4.4.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://ftp.isc.org/isc/dhcp/"
|
||||
version "/dhcp-" version ".tar.gz"))
|
||||
(patches (search-patches "isc-dhcp-gcc-compat.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"06jsr0cg5rsmyibshrpcb9za0qgwvqccashdma7mlm1rflrh8pmh"))))
|
||||
"062q2g8cj2zv0zv22x6pg21m21bdlscxkg3li0ac0pm0qasccghf"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:parallel-build? #f
|
||||
@ -4128,7 +4127,7 @@ Python loading in HPC environments.")
|
||||
(let ((real-name "inxi"))
|
||||
(package
|
||||
(name "inxi-minimal")
|
||||
(version "3.3.11-1")
|
||||
(version "3.3.15-1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -4137,7 +4136,7 @@ Python loading in HPC environments.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name real-name version))
|
||||
(sha256
|
||||
(base32 "1nk3q2xg0myykq1myasxhvhhr0vk8qv3m7pb3icw81r3ydasnls0"))))
|
||||
(base32 "02zy94bd6ayfl9y7ka6gk32q254k49cbq3a6wgi31r2fcvybyrf7"))))
|
||||
(build-system trivial-build-system)
|
||||
(inputs
|
||||
`(("bash" ,bash-minimal)
|
||||
@ -4868,7 +4867,7 @@ the XMODEM/YMODEM/ZMODEM file transfer protocols.")
|
||||
(define-public nq
|
||||
(package
|
||||
(name "nq")
|
||||
(version "0.4")
|
||||
(version "0.5")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -4877,16 +4876,17 @@ the XMODEM/YMODEM/ZMODEM file transfer protocols.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0sdamjzvmf6cxhjmd1rjvn7zm6k10fp5n6vabyxd3yl30cgrxw2i"))))
|
||||
(base32 "0szbndvwl6ghwjzb165s09977s0r1yq8h0ziknm0h6xndkcjspl3"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list perl))
|
||||
(arguments
|
||||
`(#:make-flags (list (string-append "CC=" ,(cc-for-target))
|
||||
(string-append "PREFIX=" (assoc-ref %outputs "out")))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure))))
|
||||
(list #:make-flags
|
||||
#~(list (string-append "CC=" #$(cc-for-target))
|
||||
(string-append "PREFIX=" #$output))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure))))
|
||||
(synopsis "Unix command line queue utility")
|
||||
(description
|
||||
"@code{nq} can create very lightweight job queue systems which require no
|
||||
|
@ -2,7 +2,7 @@
|
||||
;;; Copyright © 2018 Alex ter Weele <alex.ter.weele@gmail.com>
|
||||
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018, 2022 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 John Soo <jsoo1@asu.edu>
|
||||
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
@ -29,6 +29,7 @@
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system haskell)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
@ -37,7 +38,7 @@
|
||||
(define-public agda
|
||||
(package
|
||||
(name "agda")
|
||||
(version "2.6.2.1")
|
||||
(version "2.6.2.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@ -45,7 +46,7 @@
|
||||
"https://hackage.haskell.org/package/Agda/Agda-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "03dw7jfqr3ffik6avigm525djqh2gn5c3qwnb2h6298zkr9lch9w"))))
|
||||
(base32 "0yjjbhc593ylrm4mq4j01nkdvh7xqsg5in30wxj4y53vf5hkggp5"))))
|
||||
(build-system haskell-build-system)
|
||||
(inputs
|
||||
(list ghc-aeson
|
||||
@ -71,22 +72,22 @@
|
||||
ghc-uri-encode
|
||||
ghc-zlib))
|
||||
(arguments
|
||||
`(#:modules ((guix build haskell-build-system)
|
||||
(guix build utils)
|
||||
(srfi srfi-26)
|
||||
(ice-9 match))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; This allows us to call the 'agda' binary before installing.
|
||||
(add-after 'unpack 'set-ld-library-path
|
||||
(lambda _
|
||||
(setenv "LD_LIBRARY_PATH" (string-append (getcwd) "/dist/build"))))
|
||||
(add-after 'compile 'agda-compile
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(agda-compiler (string-append out "/bin/agda")))
|
||||
(for-each (cut invoke agda-compiler <>)
|
||||
(find-files (string-append out "/share") "\\.agda$"))))))))
|
||||
(list #:modules `((guix build haskell-build-system)
|
||||
(guix build utils)
|
||||
(srfi srfi-26)
|
||||
(ice-9 match))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; This allows us to call the 'agda' binary before installing.
|
||||
(add-after 'unpack 'set-ld-library-path
|
||||
(lambda _
|
||||
(setenv "LD_LIBRARY_PATH" (string-append (getcwd) "/dist/build"))))
|
||||
(add-after 'compile 'agda-compile
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((agda-compiler (string-append #$output "/bin/agda")))
|
||||
(for-each (cut invoke agda-compiler <>)
|
||||
(find-files (string-append #$output "/share")
|
||||
"\\.agda$"))))))))
|
||||
(home-page "https://wiki.portal.chalmers.se/agda/")
|
||||
(synopsis
|
||||
"Dependently typed functional programming language and proof assistant")
|
||||
|
@ -4,7 +4,7 @@
|
||||
;;; Copyright © 2016, 2020 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
|
||||
;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
||||
;;; Copyright © 2017, 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2017, 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2019, 2020 Andreas Enge <andreas@enge.fr>
|
||||
@ -1078,23 +1078,33 @@ backups. It supports encrypted archives.")
|
||||
(define-public python-miio
|
||||
(package
|
||||
(name "python-miio")
|
||||
(version "0.5.8")
|
||||
(version "0.5.11")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "python-miio" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0a4f5ybjvibawwxcjm3r9nnrzf1yff6wwgy05yzyk0bb3rmc99fp"))))
|
||||
"1dyzzywfa5h6q8clmzxsqmszlby8757ajmvkhdyvq6719z4bn46n"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'relax-requirements
|
||||
(lambda _
|
||||
(substitute* "setup.py"
|
||||
(("cryptography>=35")
|
||||
"cryptography"))))
|
||||
(add-after 'unpack 'adjust-for-click-8
|
||||
(lambda _
|
||||
(substitute* '("miio/integrations/vacuum/roborock/vacuum.py"
|
||||
"miio/integrations/vacuum/roborock/vacuum_cli.py")
|
||||
(("resultcallback")
|
||||
"result_callback"))))
|
||||
(replace 'check
|
||||
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(add-installed-pythonpath inputs outputs)
|
||||
(invoke "pytest" "miio")))))))
|
||||
(invoke "pytest" "-vv" "miio")))))))
|
||||
(native-inputs
|
||||
(list python-pytest
|
||||
python-pytest-mock
|
||||
|
@ -266,18 +266,25 @@ file metadata operations that can be performed per second.")
|
||||
(define-public python-locust
|
||||
(package
|
||||
(name "python-locust")
|
||||
(version "2.5.1")
|
||||
(version "2.8.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "locust" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1516z6z5pikybg7pma2cgxgj3wxaaky7z6d30mxf81wd4krbq16s"))))
|
||||
"1gn13j758j36knlcdyyyggn60rpw98iqdkvl3kjsz34brysic6q1"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'relax-requirements
|
||||
(lambda _
|
||||
(substitute* "setup.py"
|
||||
(("setuptools_scm<=6.0.1")
|
||||
"setuptools_scm")
|
||||
(("Jinja2<3.1.0")
|
||||
"Jinja2"))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
@ -299,7 +306,10 @@ file metadata operations that can be performed per second.")
|
||||
;; respectively (see:
|
||||
;; https://github.com/locustio/locust/issues/1708).
|
||||
"not test_custom_exit_code"
|
||||
"not test_webserver") " and "))))))))
|
||||
"not test_webserver"
|
||||
;; This test fails with "AssertionError:
|
||||
;; 'stopped' != 'stopping'".
|
||||
"not test_distributed_shape") " and "))))))))
|
||||
(propagated-inputs
|
||||
(list python-configargparse
|
||||
python-flask
|
||||
@ -307,6 +317,7 @@ file metadata operations that can be performed per second.")
|
||||
python-flask-cors
|
||||
python-gevent
|
||||
python-geventhttpclient
|
||||
python-jinja2
|
||||
python-msgpack
|
||||
python-psutil
|
||||
python-pyzmq
|
||||
@ -315,8 +326,11 @@ file metadata operations that can be performed per second.")
|
||||
python-typing-extensions
|
||||
python-werkzeug))
|
||||
(native-inputs
|
||||
(list python-mock python-pyquery python-pytest
|
||||
python-retry python-setuptools-scm))
|
||||
(list python-mock
|
||||
python-pyquery
|
||||
python-pytest
|
||||
python-retry
|
||||
python-setuptools-scm))
|
||||
(home-page "https://locust.io/")
|
||||
(synopsis "Distributed load testing framework")
|
||||
(description "Locust is a performance testing tool that aims to be easy to
|
||||
|
@ -3009,7 +3009,7 @@ and record oriented data modeling and the Semantic Web.")
|
||||
;; Pytest doesn't know what to do with "-n auto"
|
||||
(substitute* "tox.ini"
|
||||
(("-n auto") "")))))))
|
||||
(propagated-inputs
|
||||
(inputs
|
||||
(list python-argcomplete
|
||||
python-bagit
|
||||
python-coloredlogs
|
||||
@ -14503,7 +14503,8 @@ neural networks.")
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list #:make-flags #~(list (string-append "CXX=" #$(cxx-for-target)))
|
||||
#:tests? #f ; Unclear how to run tests: https://github.com/ekg/fastahack/issues/15
|
||||
;; Unclear how to run tests: https://github.com/ekg/fastahack/issues/15
|
||||
#:tests? #f
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure) ; There is no configure phase.
|
||||
|
@ -38,6 +38,7 @@
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (guix store)
|
||||
#:use-module (gnu packages)
|
||||
@ -144,6 +145,37 @@ 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 python-pcpp
|
||||
(package
|
||||
(name "python-pcpp")
|
||||
(version "1.30")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ned14/pcpp")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1rihvlg11nzk70kfzz4i3gi5izcy46w05ismcx04p5j1hlim0brb"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'unbundle-ply
|
||||
(lambda _
|
||||
(rmdir "pcpp/ply")
|
||||
(substitute* "setup.py"
|
||||
(("'pcpp/ply/ply'") "")))))))
|
||||
(native-inputs (list python-pytest))
|
||||
(propagated-inputs (list python-ply))
|
||||
(home-page "https://github.com/ned14/pcpp")
|
||||
(synopsis "C99 preprocessor written in Python")
|
||||
(description "This package provides a C99 preprocessor written in pure
|
||||
Python.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public libbytesize
|
||||
(package
|
||||
(name "libbytesize")
|
||||
|
@ -1179,7 +1179,36 @@ supports coverage of subprocesses.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python2-pytest-cov
|
||||
(package-with-python2 python-pytest-cov))
|
||||
(package
|
||||
(name "python2-pytest-cov")
|
||||
(version "2.8.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pytest-cov" version))
|
||||
(sha256
|
||||
(base32 "0avzlk9p4nc44k7lpx9109dybq71xqnggxb9f4hp0l64pbc44ryc"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:python ,python-2
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda _
|
||||
;; Options taken from tox.ini.
|
||||
;; TODO: make "--restructuredtext" tests pass. They currently fail
|
||||
;; with "Duplicate implicit target name".
|
||||
(invoke "python" "./setup.py" "check"
|
||||
"--strict" "--metadata"))))))
|
||||
(propagated-inputs
|
||||
(list python2-coverage python2-pytest))
|
||||
(home-page "https://github.com/pytest-dev/pytest-cov")
|
||||
(synopsis "Pytest plugin for measuring coverage")
|
||||
(description
|
||||
"Pytest-cov produces coverage reports. It supports centralised testing and
|
||||
distributed testing in both @code{load} and @code{each} modes. It also
|
||||
supports coverage of subprocesses.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-pytest-httpserver
|
||||
(package
|
||||
@ -1242,6 +1271,47 @@ tests. Tests can be rerun in a specific order by passing a seed value
|
||||
reported in a previous test run.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-pytest-randomly
|
||||
(package
|
||||
(name "python-pytest-randomly")
|
||||
(version "3.11.0")
|
||||
(source (origin
|
||||
(method git-fetch) ;no tests in pypi archive
|
||||
(uri (git-reference
|
||||
(url "https://github.com/pytest-dev/pytest-randomly")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1sjgq49g8f8973vhmzrim79b6wz29a765n99azjk1maimqh7mmik"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
;; The tests validating ordering fail, as well as as two
|
||||
;; others, for unknown reasons (see:
|
||||
;; https://github.com/pytest-dev/pytest-randomly/issues/454).
|
||||
(invoke "pytest" "-vv" "-k"
|
||||
(string-append
|
||||
"not reordered "
|
||||
"and not test_it_runs_before_stepwise "
|
||||
"and not test_entrypoint_injection"))))))))
|
||||
(native-inputs (list python-coverage
|
||||
python-factory-boy
|
||||
python-faker
|
||||
python-numpy
|
||||
python-pytest-xdist))
|
||||
(propagated-inputs (list python-importlib-metadata python-pytest))
|
||||
(home-page "https://github.com/pytest-dev/pytest-randomly")
|
||||
(synopsis "Pytest plugin to randomly order tests")
|
||||
(description "This is a Pytest plugin to randomly order tests and control
|
||||
Python's @code{random.seed}.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-pytest-runner
|
||||
(package
|
||||
(name "python-pytest-runner")
|
||||
@ -1445,18 +1515,16 @@ result back.")
|
||||
(define-public python-pytest-xdist-next
|
||||
(package/inherit python-pytest-xdist
|
||||
(name "python-pytest-xdist")
|
||||
(version "2.3.0")
|
||||
(version "2.5.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pytest-xdist" version))
|
||||
(sha256
|
||||
(base32
|
||||
"19cy57jrf3pwi7x6fnbxryjvqagsl0yv736jnynvr3yqhlpxxv78"))))
|
||||
(propagated-inputs
|
||||
`(("python-execnet" ,python-execnet)
|
||||
("python-pytest" ,python-pytest-6)
|
||||
("python-pytest-forked" ,python-pytest-forked)))))
|
||||
"1psf5dqxvc38qzxvc305mkg5xpdmdkbkkfiyqlmdnkgh7z5dx025"))))
|
||||
(propagated-inputs (list python-execnet python-pytest
|
||||
python-pytest-forked-next))))
|
||||
|
||||
(define-public python-pytest-timeout
|
||||
(package
|
||||
@ -1532,6 +1600,23 @@ can be useful to isolate tests against undesirable global environment
|
||||
side-effects (such as setting environment variables).")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-pytest-forked-next
|
||||
(package
|
||||
(inherit python-pytest-forked)
|
||||
(name "python-pytest-forked")
|
||||
(version "1.4.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch) ;for tests
|
||||
(uri (git-reference
|
||||
(url "https://github.com/pytest-dev/pytest-forked")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0j9bbjny7h3b4fig6l26f26c697r67mm62fzdd9m9rqyy2bmnqjs"))))
|
||||
(native-inputs (list python-pytest-bootstrap python-setuptools-scm))))
|
||||
|
||||
(define-public python-scripttest
|
||||
(package
|
||||
(name "python-scripttest")
|
||||
@ -2121,20 +2206,24 @@ instantly.")
|
||||
much larger range of examples than you would ever want to write by hand. It’s
|
||||
based on the Haskell library, Quickcheck, and is designed to integrate
|
||||
seamlessly into your existing Python unit testing work flow.")
|
||||
(home-page "https://github.com/HypothesisWorks/hypothesis-python")
|
||||
(home-page "https://github.com/HypothesisWorks/hypothesis")
|
||||
(license license:mpl2.0)
|
||||
(properties `((python2-variant . ,(delay python2-hypothesis))))))
|
||||
|
||||
(define-public python-hypothesis-6.23
|
||||
;;; TODO: Make the default python-hypothesis in the next rebuild cycle.
|
||||
(define-public python-hypothesis-next
|
||||
(package
|
||||
(inherit python-hypothesis)
|
||||
(version "6.23.4")
|
||||
(version "6.43.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "hypothesis" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0wp8i9qmd5wl1sq1l2b97fgliyk5fyphssl6j7q5qn5zjlfgi4qs"))))))
|
||||
"0d67dlc5a47i48fxzmji2mnybzby0h1wdscmj54555fghcyp1045"))))
|
||||
(propagated-inputs
|
||||
(modify-inputs (package-propagated-inputs python-hypothesis)
|
||||
(append python-pytest))))) ;to satisfy the sanity-check phase
|
||||
|
||||
;; This is the last version of Hypothesis that supports Python 2.
|
||||
(define-public python2-hypothesis
|
||||
@ -2200,6 +2289,114 @@ style test suites, summarizing their results, and providing indication of
|
||||
failures.")
|
||||
(license license:ncsa)))
|
||||
|
||||
;;; This is marked as a bootstrap package because it propagates bootstrapped
|
||||
;;; versions of jaraco-context and jaraco-functools.
|
||||
(define-public python-pytest-enabler-bootstrap
|
||||
(hidden-package
|
||||
(package
|
||||
(name "python-pytest-enabler-bootstrap")
|
||||
(version "1.2.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pytest-enabler" version))
|
||||
(sha256
|
||||
(base32 "023ymm0r2gpn5q7aikvx567s507j0zk46w41w6gxb69c688zgs73"))))
|
||||
(build-system python-build-system)
|
||||
(arguments (list #:tests? #f))
|
||||
(propagated-inputs
|
||||
(list python-jaraco-context-bootstrap
|
||||
python-jaraco-functools-bootstrap
|
||||
python-toml))
|
||||
(native-inputs (list python-setuptools-scm))
|
||||
(home-page "https://github.com/jaraco/pytest-enabler")
|
||||
(synopsis "Enable installed pytest plugins")
|
||||
(description "Enable installed pytest plugins")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public python-pytest-enabler
|
||||
(package/inherit python-pytest-enabler-bootstrap
|
||||
(arguments
|
||||
(substitute-keyword-arguments
|
||||
(package-arguments python-pytest-enabler-bootstrap)
|
||||
((#:tests? _ #f)
|
||||
#t)
|
||||
((#:phases phases #~%standard-phases)
|
||||
#~(modify-phases #$phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "python" "-m" "pytest" "-vv" "tests"))))))))
|
||||
(propagated-inputs
|
||||
(modify-inputs (package-propagated-inputs python-pytest-enabler-bootstrap)
|
||||
(replace "python-jaraco-context-bootstrap" python-jaraco-context)
|
||||
(replace "python-jaraco-functools-bootstrap" python-jaraco-functools)))
|
||||
(native-inputs
|
||||
(modify-inputs (package-native-inputs python-pytest-enabler-bootstrap)
|
||||
(append python-pytest
|
||||
python-pytest-black
|
||||
python-pytest-checkdocs
|
||||
python-pytest-cov
|
||||
python-pytest-flake8
|
||||
python-pytest-mypy
|
||||
python-types-toml)))
|
||||
(properties (alist-delete 'hidden?
|
||||
(package-properties
|
||||
python-pytest-enabler-bootstrap)))))
|
||||
|
||||
(define-public python-pytest-freezegun
|
||||
(package
|
||||
(name "python-pytest-freezegun")
|
||||
(version "0.4.2")
|
||||
(source (origin
|
||||
;; The test suite is not included in the PyPI archive.
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ktosiek/pytest-freezegun")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"10c4pbh03b4s1q8cjd75lr0fvyf9id0zmdk29566qqsmaz28npas"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "pytest" "-vv")))))))
|
||||
(propagated-inputs (list python-freezegun python-pytest))
|
||||
(native-inputs (list unzip))
|
||||
(home-page "https://github.com/ktosiek/pytest-freezegun")
|
||||
(synopsis "Pytest plugin to freeze time in test fixtures")
|
||||
(description "The @code{pytest-freezegun} plugin wraps tests and fixtures
|
||||
with @code{freeze_time}, which allows to control (i.e., freeze) the time seen
|
||||
by the test.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-pytest-mypy
|
||||
(package
|
||||
(name "python-pytest-mypy")
|
||||
(version "0.9.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pytest-mypy" version))
|
||||
(sha256
|
||||
(base32 "0p5bd4r4gbwk1h7mpx1jkhdwkckapfz24bp9x5mmqb610ps3pylz"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs (list python-setuptools-scm))
|
||||
(propagated-inputs
|
||||
(list python-attrs python-filelock python-mypy python-pytest))
|
||||
(home-page "https://github.com/dbader/pytest-mypy")
|
||||
(synopsis "Mypy static type checker plugin for Pytest")
|
||||
(description "@code{pytest-mypi} is a static type checker plugin for
|
||||
Pytest that runs the mypy static type checker on your source files as part of
|
||||
a Pytest test execution.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-pytest-pep8
|
||||
(package
|
||||
(name "python-pytest-pep8")
|
||||
@ -2236,6 +2433,64 @@ failures.")
|
||||
(define-public python2-pytest-pep8
|
||||
(package-with-python2 python-pytest-pep8))
|
||||
|
||||
(define-public python-pytest-perf
|
||||
(package
|
||||
(name "python-pytest-perf")
|
||||
(version "0.12.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/jaraco/pytest-perf")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"05mgknvrmyz1kmkgw8jzvisavc68wz1g2wxv69i6xvzgqxf17m9f"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "pytest" "-k"
|
||||
(string-append
|
||||
;; Do not test the myproject.toml build as it tries to pull
|
||||
;; dependencies from the internet.
|
||||
"not project "
|
||||
;; The benchmark test attempts to install the
|
||||
;; package, failing to pull its dependencies from the
|
||||
;; network.
|
||||
"and not BenchmarkRunner "
|
||||
;; The upstream_url test requires networking.
|
||||
"and not upstream_url"))))))))
|
||||
(native-inputs
|
||||
(list python-pytest
|
||||
python-pytest-black
|
||||
python-pytest-checkdocs
|
||||
python-pytest-cov
|
||||
python-pytest-enabler
|
||||
python-pytest-flake8
|
||||
python-pytest-mypy))
|
||||
(propagated-inputs
|
||||
(list python-jaraco-context
|
||||
python-jaraco-functools
|
||||
python-more-itertools
|
||||
python-packaging
|
||||
python-pip-run
|
||||
python-tempora))
|
||||
(home-page "https://github.com/jaraco/pytest-perf")
|
||||
(synopsis "Pytest plugin for performance testing")
|
||||
(description "@code{pytest-perf} makes it easy to compare works by
|
||||
creating two installs, the control and the experiment, and measuring the
|
||||
performance of some Python code against each. Under the hood, it uses the
|
||||
@command{pip-run} command to install from the upstream main
|
||||
branch (e.g. https://github.com/jaraco/pytest-perf) for the control and from
|
||||
@file{.} for the experiment. It then runs each of the experiments against
|
||||
each of the environments.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-pytest-flakes
|
||||
(package
|
||||
(name "python-pytest-flakes")
|
||||
@ -2328,9 +2583,10 @@ statements in the module it tests.")
|
||||
(delete-file "tests/primer/test_primer_external.py")
|
||||
(delete-file "tests/testutils/test_package_to_lint.py")
|
||||
(setenv "HOME" "/tmp")
|
||||
(invoke "pytest" "-k" "test_functional")))))))
|
||||
(invoke "pytest" "-k" "test_functional"
|
||||
"-n" (number->string (parallel-job-count)))))))))
|
||||
(native-inputs
|
||||
(list python-pytest))
|
||||
(list python-pytest python-pytest-xdist))
|
||||
(propagated-inputs
|
||||
(list python-astroid
|
||||
python-isort
|
||||
@ -2711,7 +2967,35 @@ time by mocking the datetime module.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python2-freezegun
|
||||
(package-with-python2 python-freezegun))
|
||||
(package
|
||||
(name "python2-freezegun")
|
||||
(version "0.3.14")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "freezegun" version))
|
||||
(sha256
|
||||
(base32 "0al75mk829j1izxi760b7yjnknjihyfhp2mvi5qiyrxb9cpxwqk2"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
(list python2-mock python2-pytest))
|
||||
(propagated-inputs
|
||||
(list python2-six python2-dateutil))
|
||||
(arguments
|
||||
`(#:python ,python-2
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; The tests are normally executed via `make test`, but the PyPi
|
||||
;; package does not include the Makefile.
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(invoke "pytest" "-vv"))))))
|
||||
(home-page "https://github.com/spulec/freezegun")
|
||||
(synopsis "Test utility for mocking the datetime module")
|
||||
(description
|
||||
"FreezeGun is a library that allows your python tests to travel through
|
||||
time by mocking the datetime module.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python-flexmock
|
||||
(package
|
||||
|
@ -4,7 +4,7 @@
|
||||
;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
|
||||
;;; Copyright © 2020 Brendan Tildesley <mail@brendan.scot>
|
||||
;;; Copyright © 2021 Philip McGrath <philip@philipmcgrath.com>
|
||||
;;; Copyright © 2021, 2022 Philip McGrath <philip@philipmcgrath.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -48,9 +48,7 @@
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-26)
|
||||
#:export (chez-scheme-for-system
|
||||
nix-system->chez-machine
|
||||
chez-machine->nonthreaded
|
||||
chez-machine->threaded
|
||||
racket-cs-native-supported-system?
|
||||
unpack-nanopass+stex))
|
||||
|
||||
;; Commentary:
|
||||
@ -71,97 +69,141 @@
|
||||
(define* (chez-scheme-for-system #:optional
|
||||
(system (or (%current-target-system)
|
||||
(%current-system))))
|
||||
"Return 'chez-scheme' unless only 'chez-scheme-for-racket' supports SYSTEM,
|
||||
including support for native threads."
|
||||
(if (or
|
||||
;; full support upstream
|
||||
(and=> (chez-upstream-features-for-system system)
|
||||
(cut memq 'threads <>))
|
||||
;; no support anywhere
|
||||
(not (nix-system->chez-machine system)))
|
||||
"Return 'chez-scheme' if it fully supports SYSTEM, including support for
|
||||
bootstrapping and native threads. Otherwise, return
|
||||
'chez-scheme-for-racket'."
|
||||
(if (and=> (chez-upstream-features-for-system system)
|
||||
(lambda (features)
|
||||
(every (cut memq <> features)
|
||||
'(threads
|
||||
;; We can cross-compile for platforms without
|
||||
;; bootstrap bootfiles, but we can't self-host
|
||||
;; on them short of adding more binary seeds.
|
||||
bootstrap-bootfiles))))
|
||||
chez-scheme
|
||||
chez-scheme-for-racket))
|
||||
|
||||
(define (chez-machine->nonthreaded machine)
|
||||
"Given a string MACHINE naming a Chez Scheme machine type, returns a string
|
||||
naming the nonthreaded machine type for the same architecture and OS as
|
||||
MACHINE. The returned string may share storage with MACHINE."
|
||||
;; Chez Scheme documentation consistently uses "nonthreaded" rather than
|
||||
;; e.g. "unthreaded"
|
||||
(if (eqv? #\t (string-ref machine 0))
|
||||
(substring machine 1)
|
||||
machine))
|
||||
(define (chez-machine->threaded machine)
|
||||
"Like @code{chez-machine->nonthreaded}, but returns the threaded machine
|
||||
type."
|
||||
(if (eqv? #\t (string-ref machine 0))
|
||||
machine
|
||||
(string-append "t" machine)))
|
||||
(define* (target-chez-arch #:optional (system
|
||||
(or (%current-target-system)
|
||||
(%current-system))))
|
||||
"Return a string representing the architecture of SYSTEM as used in Chez
|
||||
Scheme machine types, or '#f' if none is defined."
|
||||
(cond
|
||||
((target-x86-64? system)
|
||||
"a6")
|
||||
((target-x86-32? system)
|
||||
"i3")
|
||||
((target-aarch64? system)
|
||||
"arm64")
|
||||
((target-arm32? system)
|
||||
"arm32")
|
||||
((target-ppc64le? system)
|
||||
#f)
|
||||
((target-ppc32? system)
|
||||
"ppc32")
|
||||
((target-riscv64? system)
|
||||
#f)
|
||||
(else
|
||||
#f)))
|
||||
|
||||
;; Based on the implementation from raco-cross-lib/private/cross/platform.rkt
|
||||
;; in https://github.com/racket/raco-cross.
|
||||
;; For supported platforms, refer to release_notes/release_notes.stex in the
|
||||
;; upstream Chez Scheme repository or to racket/src/ChezScheme/README.md
|
||||
;; in https://github.com/racket/racket.
|
||||
(define %nix-arch-to-chez-alist
|
||||
`(("x86_64" . "a6")
|
||||
("i386" . "i3")
|
||||
("aarch64" . "arm64")
|
||||
("armhf" . "arm32") ;; Chez supports ARM v6+
|
||||
("ppc" . "ppc32")))
|
||||
(define %nix-os-to-chez-alist
|
||||
`(("w64-mingw32" . "nt")
|
||||
("darwin" . "osx")
|
||||
("linux" . "le")
|
||||
("freebsd" . "fb")
|
||||
("openbsd" . "ob")
|
||||
("netbsd" . "nb")
|
||||
("solaris" . "s2")))
|
||||
(define* (target-chez-os #:optional (system (or (%current-target-system)
|
||||
(%current-system))))
|
||||
"Return a string representing the operating system kernel of SYSTEM as used
|
||||
in Chez Scheme machine types, or '#f' if none is defined."
|
||||
;; e.g. "le" includes both GNU/Linux and Android
|
||||
(cond
|
||||
((target-linux? system)
|
||||
"le")
|
||||
((target-hurd? system)
|
||||
#f)
|
||||
((target-mingw? system)
|
||||
"nt")
|
||||
;; missing (guix utils) predicates
|
||||
;; cf. https://github.com/NixOS/nixpkgs/blob/master/lib/systems/doubles.nix
|
||||
((string-suffix? "-darwin" system)
|
||||
"osx")
|
||||
((string-suffix? "-freebsd" system)
|
||||
"fb")
|
||||
((string-suffix? "-openbsd" system)
|
||||
"ob")
|
||||
((string-suffix? "-netbsd" system)
|
||||
"nb")
|
||||
;; Nix says "x86_64-solaris", but accommodate "-solaris2"
|
||||
((string-contains system "solaris")
|
||||
"s2")
|
||||
;; unknown
|
||||
(else
|
||||
#f)))
|
||||
|
||||
(define (chez-machine->nix-system machine)
|
||||
"Return the Nix system type corresponding to the Chez Scheme machine type
|
||||
MACHINE. If MACHINE is not a string representing a known machine type, an
|
||||
exception is raised. This function does not distinguish between threaded and
|
||||
nonthreaded variants of MACHINE.
|
||||
|
||||
Note that this function only handles Chez Scheme machine types in the
|
||||
strictest sense, not other kinds of descriptors sometimes used in place of a
|
||||
Chez Scheme machine type by Racket, such as @code{\"pb\"}, @code{#f}, or
|
||||
@code{\"racket\"}. (When using such extensions, the Chez Scheme machine type
|
||||
for the host system is often still relevant.)"
|
||||
(let ((machine (chez-machine->nonthreaded machine)))
|
||||
(let find-arch ((alist %nix-arch-to-chez-alist))
|
||||
(match alist
|
||||
(((nix . chez) . alist)
|
||||
(if (string-prefix? chez machine)
|
||||
(string-append
|
||||
nix "-" (let ((machine-os
|
||||
(substring machine (string-length chez))))
|
||||
(let find-os ((alist %nix-os-to-chez-alist))
|
||||
(match alist
|
||||
(((nix . chez) . alist)
|
||||
(if (equal? chez machine-os)
|
||||
nix
|
||||
(find-os alist)))))))
|
||||
(find-arch alist)))))))
|
||||
|
||||
(define* (nix-system->chez-machine #:optional
|
||||
(system (or (%current-target-system)
|
||||
(%current-system))))
|
||||
"Return the Chez Scheme machine type corresponding to the Nix system
|
||||
identifier SYSTEM, or @code{#f} if the translation of SYSTEM to a Chez Scheme
|
||||
machine type is undefined.
|
||||
|
||||
It is unspecified whether the resulting string will name a threaded or a
|
||||
nonthreaded machine type: when the distinction is relevant, use
|
||||
@code{chez-machine->nonthreaded} or @code{chez-machine->threaded} to adjust
|
||||
the result."
|
||||
(let* ((hyphen (string-index system #\-))
|
||||
(nix-arch (substring system 0 hyphen))
|
||||
(nix-os (substring system (+ 1 hyphen)))
|
||||
(chez-arch (assoc-ref %nix-arch-to-chez-alist nix-arch))
|
||||
(chez-os (assoc-ref %nix-os-to-chez-alist nix-os)))
|
||||
(and chez-arch chez-os (string-append chez-arch chez-os))))
|
||||
(define %chez-features-table
|
||||
;; An alist of alists mapping:
|
||||
;; os -> arch -> (or/c #f (listof symbol?))
|
||||
;; where:
|
||||
;; - `os` is a string for the OS part of a Chez Scheme machine type; and
|
||||
;; - `arch` is a string for the architecture part of a Chez machine type.
|
||||
;;
|
||||
;; The absence of an entry for a given arch--os pair means that neither
|
||||
;; upstream Chez Scheme nor the Racket variant can generate native code for
|
||||
;; that system. (The Racket variant can still provide support via its
|
||||
;; ``portable bytecode'' backends and optional compilation to C.) A value
|
||||
;; of `#f` means that upstream Chez Scheme does not support the arch--os
|
||||
;; pair at all, but the Racket variant does. A list has the same meaning as
|
||||
;; a result from `chez-upstream-features-for-system`.
|
||||
;;
|
||||
;; The arch--os pairs marked "commented out" have been commented out in the
|
||||
;; STeX source for the upstream release notes since the initial release as
|
||||
;; free software, but they are reported to work and/or have been described
|
||||
;; as supported by upstream maintainers.
|
||||
;;
|
||||
;; For this overall approach to make sense, we assume that Racket's variant
|
||||
;; of Chez Scheme can generate native code for a superset of the platforms
|
||||
;; supported upstream, supports threads on all platforms it supports at all
|
||||
;; (because they are needed for Racket), and doesn't need bootstrap
|
||||
;; bootfiles. Those assumptions have held for several years.
|
||||
'(;; Linux
|
||||
("le"
|
||||
("i3" threads bootstrap-bootfiles)
|
||||
("a6" threads bootstrap-bootfiles)
|
||||
("arm32" bootstrap-bootfiles)
|
||||
("arm64" . #f)
|
||||
("ppc32" threads))
|
||||
;; FreeBSD
|
||||
("fb"
|
||||
("i3" threads) ;; commented out
|
||||
("a6" threads) ;; commented out
|
||||
("arm32" . #f)
|
||||
("arm64" . #f)
|
||||
("ppc32" . #f))
|
||||
;; OpenBSD
|
||||
("ob"
|
||||
("i3" threads) ;; commented out
|
||||
("a6" threads) ;; commented out
|
||||
("arm32" . #f)
|
||||
("arm64" . #f)
|
||||
("ppc32" . #f))
|
||||
;; NetBSD
|
||||
("nb"
|
||||
("i3" threads) ;; commented out
|
||||
("a6" threads) ;; commented out
|
||||
("arm32" . #f)
|
||||
("arm64" . #f)
|
||||
("ppc32" . #f))
|
||||
;; OpenSolaris / OpenIndiana / Illumos
|
||||
("s2"
|
||||
("i3" threads) ;; commented out
|
||||
("a6" threads)) ;; commented out
|
||||
;; Windows
|
||||
("nt"
|
||||
("i3" threads bootstrap-bootfiles)
|
||||
("a6" threads bootstrap-bootfiles)
|
||||
;; ^ threads "experiemental", but reportedly fine
|
||||
("arm64" . #f))
|
||||
;; Darwin
|
||||
("osx"
|
||||
("i3" threads bootstrap-bootfiles)
|
||||
("a6" threads bootstrap-bootfiles)
|
||||
("arm64" . #f)
|
||||
("ppc32" . #f))))
|
||||
|
||||
(define* (chez-upstream-features-for-system #:optional
|
||||
(system
|
||||
@ -172,20 +214,27 @@ for the Nix system identifier SYSTEM, or @code{#f} if upstream Chez Scheme
|
||||
does not support SYSTEM at all.
|
||||
|
||||
If native threads are supported, the returned list will include
|
||||
@code{'threads}. Other feature symbols may be added in the future."
|
||||
(cond
|
||||
((not (nix-system->chez-machine system))
|
||||
#f)
|
||||
((target-aarch64? system)
|
||||
#f)
|
||||
((target-arm32? system)
|
||||
(and (target-linux? system)
|
||||
'()))
|
||||
((target-ppc32? system)
|
||||
(and (target-linux? system)
|
||||
'(threads)))
|
||||
(else
|
||||
'(threads))))
|
||||
@code{'threads}. If bootstrap bootfiles for SYSTEM are distributed in the
|
||||
upstream Chez Scheme repository, the returned list will include
|
||||
@code{'bootstrap-bootfiles}. Other feature symbols may be added in the
|
||||
future."
|
||||
(let ((chez-arch (target-chez-arch system))
|
||||
(chez-os (target-chez-os system)))
|
||||
(and=> (assoc-ref %chez-features-table chez-os)
|
||||
(cut assoc-ref <> chez-arch))))
|
||||
|
||||
(define* (racket-cs-native-supported-system? #:optional
|
||||
(system
|
||||
(or (%current-target-system)
|
||||
(%current-system))))
|
||||
"Can Racket's variant of Chez Scheme generate native code for SYSTEM?
|
||||
Otherwise, SYSTEM can use only the ``portable bytecode'' backends."
|
||||
(let ((chez-arch (target-chez-arch system))
|
||||
(chez-os (target-chez-os system)))
|
||||
(and (and=> (assoc-ref %chez-features-table chez-os)
|
||||
;; NOT assoc-ref: supported even if cdr is #f
|
||||
(cut assoc chez-arch <>))
|
||||
#t)))
|
||||
|
||||
;;
|
||||
;; Chez Scheme:
|
||||
@ -210,7 +259,7 @@ If native threads are supported, the returned list will include
|
||||
(name "chez-scheme")
|
||||
;; The version should match `(scheme-version-number)`.
|
||||
;; See s/cmacros.ss c. line 360.
|
||||
(version "9.5.6")
|
||||
(version "9.5.8")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@ -218,7 +267,7 @@ If native threads are supported, the returned list will include
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32
|
||||
"07s433hn1z2slfc026sidrpzxv3a8narcd40qqr1xrpb9012xdky"))
|
||||
"0xchqq8cm0ka5wgpn18sjs0hh15rc3nb7xrjqbbc9al3asq0d7gc"))
|
||||
(file-name (git-file-name name version))
|
||||
(snippet #~(begin
|
||||
(use-modules (guix build utils))
|
||||
@ -258,8 +307,18 @@ If native threads are supported, the returned list will include
|
||||
(ice-9 ftw)
|
||||
(ice-9 match))
|
||||
#:test-target "test"
|
||||
;; TODO when we fix armhf, it may not support --threads
|
||||
#:configure-flags #~'("--threads")
|
||||
#:configure-flags
|
||||
#~`(,(string-append "--installprefix=" #$output)
|
||||
#$@(if (and=> (chez-upstream-features-for-system)
|
||||
(cut memq 'threads <>))
|
||||
#~("--threads")
|
||||
#~())
|
||||
"ZLIB=-lz"
|
||||
"LZ4=-llz4"
|
||||
"--libkernel"
|
||||
;; Guix will do 'compress-man-pages',
|
||||
;; and letting Chez try causes an error
|
||||
"--nogzip-man-pages")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'unpack-nanopass+stex
|
||||
@ -273,26 +332,35 @@ If native threads are supported, the returned list will include
|
||||
(search-input-directory (or native-inputs inputs)
|
||||
"lib/chez-scheme-bootfiles")
|
||||
"boot")))
|
||||
;; NOTE: the custom Chez 'configure' script doesn't allow
|
||||
;; NOTE: The custom Chez 'configure' script doesn't allow
|
||||
;; unrecognized flags, such as those automatically added
|
||||
;; by `gnu-build-system`.
|
||||
;; by `gnu-build-system`. This replacement phase uses only
|
||||
;; the explicitly provided `#:configure-flags`.
|
||||
(replace 'configure
|
||||
(lambda* (#:key inputs (configure-flags '()) #:allow-other-keys)
|
||||
;; add flags which are always required:
|
||||
(let ((flags (cons* (string-append "--installprefix=" #$output)
|
||||
"ZLIB=-lz"
|
||||
"LZ4=-llz4"
|
||||
"--libkernel"
|
||||
;; Guix will do compress-man-pages,
|
||||
;; and letting Chez try causes an error
|
||||
"--nogzip-man-pages"
|
||||
configure-flags)))
|
||||
(format #t "configure flags: ~s~%" flags)
|
||||
;; Some makefiles (for tests) don't seem to propagate CC
|
||||
;; properly, so we take it out of their hands:
|
||||
(setenv "CC" #$(cc-for-target))
|
||||
(setenv "HOME" "/tmp")
|
||||
(apply invoke "./configure" flags))))
|
||||
(lambda* (#:key inputs (configure-flags '()) out-of-source?
|
||||
#:allow-other-keys)
|
||||
(let* ((abs-srcdir (getcwd))
|
||||
(srcdir (if out-of-source?
|
||||
(string-append "../" (basename abs-srcdir))
|
||||
".")))
|
||||
(format #t "source directory: ~s (relative from build: ~s)~%"
|
||||
abs-srcdir srcdir)
|
||||
(if out-of-source?
|
||||
(begin
|
||||
(mkdir "../build")
|
||||
(chdir "../build")))
|
||||
(format #t "build directory: ~s~%" (getcwd))
|
||||
(format #t "configure flags: ~s~%" configure-flags)
|
||||
(apply invoke
|
||||
(string-append srcdir "/configure")
|
||||
configure-flags))))
|
||||
(add-after 'configure 'configure-environment-variables
|
||||
(lambda args
|
||||
;; Some makefiles (for tests) don't seem to propagate CC
|
||||
;; properly, so we take it out of their hands:
|
||||
(setenv "CC" #$(cc-for-target))
|
||||
;; Likewise, some tests have needed HOME to be set:
|
||||
(setenv "HOME" "/tmp")))
|
||||
;; The binary file name is called "scheme" as is the one from
|
||||
;; MIT/GNU Scheme. We add a symlink to use in case both are
|
||||
;; installed.
|
||||
@ -309,43 +377,46 @@ If native threads are supported, the returned list will include
|
||||
(string-append (dirname scheme.boot)
|
||||
"/chez-scheme.boot")))))))
|
||||
;; Building the documentation requires stex and a running scheme.
|
||||
;; FIXME: this is probably wrong for cross-compilation
|
||||
(add-after 'install-symlink 'install-doc
|
||||
(add-after 'install-symlink 'install-docs
|
||||
(lambda* (#:key native-inputs inputs outputs #:allow-other-keys)
|
||||
(match (assoc-ref outputs "doc")
|
||||
(#f
|
||||
(format #t "not installing docs~%"))
|
||||
(doc-prefix
|
||||
(let* ((chez+version (strip-store-file-name #$output))
|
||||
(scheme (search-input-file outputs "/bin/scheme"))
|
||||
(stexlib (search-input-directory (or native-inputs
|
||||
inputs)
|
||||
"/lib/stex"))
|
||||
(doc-dir (string-append doc-prefix
|
||||
"/share/doc/"
|
||||
chez+version)))
|
||||
(define* (stex-make #:optional (suffix ""))
|
||||
(invoke "make" "install"
|
||||
(string-append "Scheme=" scheme)
|
||||
(string-append "STEXLIB=" stexlib)
|
||||
(string-append "installdir=" doc-dir suffix)))
|
||||
(with-directory-excursion "csug"
|
||||
(stex-make "/csug"))
|
||||
(with-directory-excursion "release_notes"
|
||||
(stex-make "/release_notes"))
|
||||
(with-directory-excursion doc-dir
|
||||
(symlink "release_notes/release_notes.pdf"
|
||||
"release_notes.pdf")
|
||||
(symlink "csug/csug9_5.pdf"
|
||||
"csug.pdf"))))))))))
|
||||
;; Chez Scheme does not have a MIPS backend.
|
||||
;; FIXME: Debian backports patches to get armhf working.
|
||||
;; We should too. It is the Chez machine type arm32le
|
||||
;; (no threaded version upstream yet, though there is in
|
||||
;; Racket's fork), more specifically (per the release notes) ARMv6.
|
||||
(let* ((doc-prefix (or (assoc-ref outputs "doc")
|
||||
(assoc-ref outputs "out")))
|
||||
(chez+version (strip-store-file-name #$output))
|
||||
(scheme (search-input-file outputs "/bin/scheme"))
|
||||
(stexlib (search-input-directory (or native-inputs
|
||||
inputs)
|
||||
"/lib/stex"))
|
||||
(doc-dir (string-append doc-prefix
|
||||
"/share/doc/"
|
||||
chez+version)))
|
||||
(define* (stex-make #:optional (suffix ""))
|
||||
(invoke "make" "install"
|
||||
(string-append "Scheme=" scheme)
|
||||
(string-append "STEXLIB=" stexlib)
|
||||
(string-append "installdir=" doc-dir suffix)))
|
||||
(with-directory-excursion "csug"
|
||||
(stex-make "/csug"))
|
||||
(with-directory-excursion "release_notes"
|
||||
(stex-make "/release_notes")))))
|
||||
(add-after 'install-docs 'link-doc-pdfs
|
||||
;; otherwise, it's hard to notice them in a forest of HTML files
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(with-directory-excursion
|
||||
(string-append (or (assoc-ref outputs "doc")
|
||||
(assoc-ref outputs "out"))
|
||||
"/share/doc/"
|
||||
(strip-store-file-name #$output))
|
||||
(symlink "release_notes/release_notes.pdf"
|
||||
"release_notes.pdf")
|
||||
(match (find-files "csug"
|
||||
"csug.*\\.pdf$" ;; embeded version number
|
||||
#:fail-on-error? #t)
|
||||
((pth)
|
||||
(symlink pth
|
||||
"csug.pdf")))))))))
|
||||
(supported-systems
|
||||
(delete
|
||||
"armhf-linux" ;; <-- should work, but reportedly broken
|
||||
"armhf-linux" ;; XXX reportedly broken, needs checking
|
||||
(filter chez-upstream-features-for-system
|
||||
%supported-systems)))
|
||||
(home-page "https://cisco.github.io/ChezScheme/")
|
||||
@ -361,7 +432,7 @@ and 32-bit PowerPC architectures.")
|
||||
(package
|
||||
(inherit chez-scheme)
|
||||
(name "chez-scheme-for-racket")
|
||||
(version "9.5.7.3")
|
||||
(version "9.5.7.6")
|
||||
;; The version should match `(scheme-fork-version-number)`.
|
||||
;; See racket/src/ChezScheme/s/cmacros.ss c. line 360.
|
||||
;; It will always be different than the upstream version!
|
||||
@ -377,7 +448,9 @@ and 32-bit PowerPC architectures.")
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments chez-scheme)
|
||||
((#:configure-flags cfg-flags #~'())
|
||||
#~(cons "--disable-x11" #$cfg-flags))
|
||||
#~(cons* "--disable-x11"
|
||||
"--threads" ;; ok to potentially duplicate
|
||||
#$cfg-flags))
|
||||
((#:phases those-phases #~%standard-phases)
|
||||
#~(let* ((those-phases #$those-phases)
|
||||
(unpack (assoc-ref those-phases 'unpack)))
|
||||
@ -389,7 +462,9 @@ and 32-bit PowerPC architectures.")
|
||||
(add-after 'unpack 'chdir
|
||||
(lambda args
|
||||
(chdir "racket/src/ChezScheme"))))))))
|
||||
(supported-systems (filter nix-system->chez-machine
|
||||
;; TODO: How to build pbarch/pbchunks for other systems?
|
||||
;; See https://racket.discourse.group/t/950
|
||||
(supported-systems (filter racket-cs-native-supported-system?
|
||||
%supported-systems))
|
||||
(home-page "https://github.com/racket/ChezScheme")
|
||||
;; ^ This is downstream of https://github.com/racket/racket,
|
||||
@ -442,16 +517,9 @@ Faster multiplication and division for large exact numbers
|
||||
(list #:install-plan
|
||||
#~`(("boot/" "lib/chez-scheme-bootfiles"))))
|
||||
(supported-systems
|
||||
;; Upstream only distributes pre-built bootfiles for
|
||||
;; arm32le and t?(i3|a6)(le|nt|osx)
|
||||
(filter (lambda (system)
|
||||
(let ((machine (and=> (nix-system->chez-machine system)
|
||||
chez-machine->nonthreaded)))
|
||||
(or (equal? "arm32le" machine)
|
||||
(and machine
|
||||
(member (substring machine 0 2) '("i3" "a6"))
|
||||
(or-map (cut string-suffix? <> machine)
|
||||
'("le" "nt" "osx"))))))
|
||||
(and=> (chez-upstream-features-for-system system)
|
||||
(cut memq 'bootstrap-bootfiles <>)))
|
||||
%supported-systems))
|
||||
(synopsis "Chez Scheme bootfiles (binary seed)")
|
||||
(description
|
||||
@ -573,6 +641,10 @@ Chez Scheme.")))
|
||||
("src" "lib/stex/")
|
||||
("Mf-stex" "lib/stex/")
|
||||
("Makefile.template" "lib/stex/"))
|
||||
#:modules
|
||||
'((guix build copy-build-system)
|
||||
(guix build utils)
|
||||
(ice-9 popen))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'install 'patch-sources
|
||||
@ -604,8 +676,14 @@ Chez Scheme.")))
|
||||
(define makefile
|
||||
(string-append (getcwd) "/Makefile"))
|
||||
(define machine
|
||||
#$(and=> (nix-system->chez-machine)
|
||||
chez-machine->threaded))
|
||||
(let ((pipe (open-pipe* OPEN_BOTH scheme "-q")))
|
||||
;; try to not be wrong for cross-compilation
|
||||
;; (avoid #% reader abbreviation for Guile)
|
||||
(write '(($primitive $target-machine)) pipe)
|
||||
(force-output pipe)
|
||||
(let ((sym (read pipe)))
|
||||
(close-pipe pipe)
|
||||
(symbol->string sym))))
|
||||
(with-directory-excursion
|
||||
(search-input-directory outputs "/lib/stex")
|
||||
(invoke "make"
|
||||
|
@ -313,7 +313,7 @@
|
||||
;; run the Blink performance tests, just remove everything to save ~70MiB.
|
||||
'("third_party/blink/perf_tests"))
|
||||
|
||||
(define %chromium-version "101.0.4951.54")
|
||||
(define %chromium-version "101.0.4951.64")
|
||||
(define %ungoogled-revision (string-append %chromium-version "-1"))
|
||||
(define %debian-revision "debian/101.0.4951.41-2")
|
||||
|
||||
@ -325,7 +325,7 @@
|
||||
(file-name (git-file-name "ungoogled-chromium" %ungoogled-revision))
|
||||
(sha256
|
||||
(base32
|
||||
"0zhzy7llqddvym992pwhkgqh2f6ywjqqg0bhahl6c0np95gzhpbs"))))
|
||||
"0k7w6xvjf1yzyak9ywvcdw762d8zbx6d8haz35q87jz0mxfn2mr3"))))
|
||||
|
||||
(define* (debian-patch name hash #:optional (revision %debian-revision))
|
||||
(origin
|
||||
@ -454,7 +454,7 @@
|
||||
%chromium-version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1d808a7mvg0nd0mm20c1ny5kdvb2xvrs8vz4nnk456ix8pywcv62"))
|
||||
"1xyqm32y9v1hn8ji6qfw6maynqgg3266j58dq4x4aqsm2gj9cn4w"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet (force ungoogled-chromium-snippet))))
|
||||
(build-system gnu-build-system)
|
||||
|
@ -28,6 +28,7 @@
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix download)
|
||||
#:use-module ((guix search-paths) #:select ($SSL_CERT_DIR))
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages boost)
|
||||
@ -52,7 +53,8 @@
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu))
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module ((guix search-paths) #:select ($SSL_CERT_DIR)))
|
||||
|
||||
(define-public cuirass
|
||||
(let ((commit "9f08035f942a1e78f92e2db886d7837b0ab98b2f")
|
||||
@ -173,9 +175,7 @@
|
||||
(file-type 'regular)
|
||||
(separator #f) ;single entry
|
||||
(files '("etc/ssl/certs/ca-certificates.crt")))
|
||||
(search-path-specification
|
||||
(variable "SSL_CERT_DIR")
|
||||
(files '("etc/ssl/certs")))))
|
||||
$SSL_CERT_DIR))
|
||||
(synopsis "Continuous integration system")
|
||||
(description
|
||||
"Cuirass is a continuous integration tool using GNU Guix. It is
|
||||
|
@ -38,6 +38,7 @@
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system emacs)
|
||||
#:use-module ((guix search-paths) #:select ($SSL_CERT_DIR $SSL_CERT_FILE))
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages backup)
|
||||
#:use-module (gnu packages compression)
|
||||
@ -229,15 +230,8 @@ using the CMake build system.")
|
||||
(files '("")))
|
||||
;; "cmake-curl-certificates.patch" changes CMake to honor 'SSL_CERT_DIR'
|
||||
;; and 'SSL_CERT_FILE', hence these search path entries.
|
||||
(search-path-specification
|
||||
(variable "SSL_CERT_DIR")
|
||||
(separator #f) ;single entry
|
||||
(files '("etc/ssl/certs")))
|
||||
(search-path-specification
|
||||
(variable "SSL_CERT_FILE")
|
||||
(file-type 'regular)
|
||||
(separator #f) ;single entry
|
||||
(files '("etc/ssl/certs/ca-certificates.crt")))))
|
||||
$SSL_CERT_DIR
|
||||
$SSL_CERT_FILE))
|
||||
(home-page "https://cmake.org/")
|
||||
(synopsis "Cross-platform build system")
|
||||
(description
|
||||
|
@ -58,7 +58,6 @@
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix memoization)
|
||||
#:use-module (guix utils)
|
||||
|
@ -5248,20 +5248,18 @@ they're not available.")
|
||||
(uri (crate-uri "average" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1c97m8yagvq8r6qgd3harm5vnkdbld4mxg9byyxh6igjsf8wfgl4"))))
|
||||
(base32 "1c97m8yagvq8r6qgd3harm5vnkdbld4mxg9byyxh6igjsf8wfgl4"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
(substitute* "Cargo.toml"
|
||||
;; The resolver feature is not supported by our versions of Cargo.
|
||||
(("resolver = \"2\".*") "")
|
||||
;; Relax version requirement for byteorder
|
||||
(("=1.3") "^1.3"))))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'configure 'patch-Cargo.toml
|
||||
(lambda _
|
||||
(substitute* '("guix-vendor/rust-average-0.13.1.tar.gz/Cargo.toml"
|
||||
"Cargo.toml")
|
||||
;; The resolver feature is not supported by this version of Cargo.
|
||||
(("resolver = \"2\".*") "")
|
||||
;; Relax!
|
||||
(("1.3") ,(package-version rust-byteorder-1))))))
|
||||
#:cargo-inputs
|
||||
`(#:cargo-inputs
|
||||
(("rust-easy-cast" ,rust-easy-cast-0.4)
|
||||
("rust-float-ord" ,rust-float-ord-0.3)
|
||||
("rust-num-traits" ,rust-num-traits-0.2)
|
||||
@ -25050,7 +25048,7 @@ dirty state into your program.")
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("git" ,git-minimal))) ;for a single test
|
||||
(inputs
|
||||
(list libgit2 libssh2 openssl zlib))
|
||||
(list libgit2-1.3 libssh2 openssl zlib))
|
||||
(home-page "https://github.com/rust-lang/git2-rs")
|
||||
(synopsis "Rust bindings to libgit2")
|
||||
(description
|
||||
@ -35744,19 +35742,16 @@ quick compile time, and minimal dependencies.")
|
||||
(uri (crate-uri "nalgebra" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "01hxksmgg17c4k2rzjx1h8kkjbw9rm81dsancg459zh2zrcisva7"))))
|
||||
(base32 "01hxksmgg17c4k2rzjx1h8kkjbw9rm81dsancg459zh2zrcisva7"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
(substitute* "Cargo.toml"
|
||||
;; The resolver feature is not supported by our versions of Cargo.
|
||||
(("resolver = \"2\".*") ""))))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:skip-build? #t
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'configure 'patch-Cargo.toml
|
||||
(lambda _
|
||||
(substitute* '("Cargo.toml"
|
||||
"guix-vendor/rust-nalgebra-0.26.2.tar.gz/Cargo.toml"
|
||||
"guix-vendor/rust-average-0.13.1.tar.gz/Cargo.toml")
|
||||
;; The resolver feature is not supported by this version of Cargo.
|
||||
(("resolver = \"2\".*") "")))))
|
||||
#:cargo-inputs
|
||||
(("rust-abomonation" ,rust-abomonation-0.7)
|
||||
("rust-alga" ,rust-alga-0.9)
|
||||
@ -35920,20 +35915,16 @@ statically-sized or dynamically-sized matrices.")
|
||||
(uri (crate-uri "nalgebra-macros" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "063jvvvlwmzzxfr4wyiil2cn1yqj3arvghwsr2nk4ilv2jwc1z01"))))
|
||||
(base32 "063jvvvlwmzzxfr4wyiil2cn1yqj3arvghwsr2nk4ilv2jwc1z01"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
(substitute* "Cargo.toml"
|
||||
;; The resolver feature is not supported by our versions of Cargo.
|
||||
(("resolver = \"2\".*") ""))))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:skip-build? #t
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'configure 'patch-Cargo.toml
|
||||
(lambda _
|
||||
(substitute* '("Cargo.toml"
|
||||
"guix-vendor/rust-nalgebra-macros-0.1.0.tar.gz/Cargo.toml"
|
||||
"guix-vendor/rust-nalgebra-0.26.2.tar.gz/Cargo.toml"
|
||||
"guix-vendor/rust-average-0.13.1.tar.gz/Cargo.toml")
|
||||
;; The resolver feature is not supported by this version of Cargo.
|
||||
(("resolver = \"2\".*") "")))))
|
||||
#:cargo-inputs
|
||||
(("rust-proc-macro2" ,rust-proc-macro2-1)
|
||||
("rust-quote" ,rust-quote-1)
|
||||
@ -40523,7 +40514,7 @@ unparking.")
|
||||
("rust-parking-lot-core" ,rust-parking-lot-core-0.8))
|
||||
#:cargo-development-inputs
|
||||
(("rust-bincode" ,rust-bincode-1)
|
||||
("rust-rand" ,rust-rand-0.7))))
|
||||
("rust-rand" ,rust-rand-0.8))))
|
||||
(home-page "https://github.com/Amanieu/parking_lot")
|
||||
(synopsis
|
||||
"Efficient implementations of the standard synchronization primitives")
|
||||
@ -40646,7 +40637,14 @@ synchronization primitives.")
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"08n7w09q6b2prvazbzgwrc9ml7aaf8yg3132ifsayrkwy1nwwzs6"))))
|
||||
"08n7w09q6b2prvazbzgwrc9ml7aaf8yg3132ifsayrkwy1nwwzs6"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; XXX: The file demands 0.3.60; we have 0.3.56, but
|
||||
;; that works well, really.
|
||||
(substitute* "Cargo.toml"
|
||||
(("0\\.3\\.60") "0.3.56"))))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
@ -40658,15 +40656,7 @@ synchronization primitives.")
|
||||
("rust-redox-syscall" ,rust-redox-syscall-0.2)
|
||||
("rust-smallvec" ,rust-smallvec-1)
|
||||
("rust-thread-id" ,rust-thread-id-4)
|
||||
("rust-winapi" ,rust-winapi-0.3))
|
||||
#:phases (modify-phases %standard-phases
|
||||
(add-after 'unpack 'relax-dependencies
|
||||
(lambda _
|
||||
;; XXX: The file demands 0.3.60; we have 0.3.56, but
|
||||
;; that works well, really.
|
||||
(substitute* "Cargo.toml"
|
||||
(("0\\.3\\.60")
|
||||
,(package-version rust-backtrace-0.3))))))))
|
||||
("rust-winapi" ,rust-winapi-0.3))))
|
||||
(home-page "https://github.com/Amanieu/parking_lot")
|
||||
(synopsis "API for creating custom synchronization primitives")
|
||||
(description "This package provides an advanced API for creating custom
|
||||
@ -44646,11 +44636,17 @@ renamed in @file{Cargo.toml}.")
|
||||
(uri (crate-uri "proc-macro-error" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1373bhxaf0pagd8zkyd03kkx6bchzf6g0dkwrwzsnal9z47lj9fs"))))
|
||||
(base32 "1373bhxaf0pagd8zkyd03kkx6bchzf6g0dkwrwzsnal9z47lj9fs"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; Ignore the "DO NOT BUMP" warning.
|
||||
(substitute* "Cargo.toml"
|
||||
(("=1.0.107") "^1.0.107")
|
||||
(("=0.5.2") "^0.5.2"))))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
;; Tests fail with "extern crate test_crate; <-- can't find crate" error.
|
||||
`(#:tests? #f
|
||||
`(#:tests? #f ; 'test_crate' folder not included in release.
|
||||
#:cargo-inputs
|
||||
(("rust-proc-macro-error-attr" ,rust-proc-macro-error-attr-1)
|
||||
("rust-proc-macro2" ,rust-proc-macro2-1)
|
||||
@ -44660,14 +44656,7 @@ renamed in @file{Cargo.toml}.")
|
||||
#:cargo-development-inputs
|
||||
(("rust-serde-derive" ,rust-serde-derive-1)
|
||||
("rust-toml" ,rust-toml-0.5)
|
||||
("rust-trybuild" ,rust-trybuild-1))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-version-requirements
|
||||
(lambda _
|
||||
(substitute* "Cargo.toml"
|
||||
(("1.0.107") ,(package-version rust-serde-derive-1))
|
||||
(("0.5.2") ,(package-version rust-toml-0.5))))))))
|
||||
("rust-trybuild" ,rust-trybuild-1))))
|
||||
(home-page "https://gitlab.com/CreepySkeleton/proc-macro-error")
|
||||
(synopsis "Drop-in replacement to panics in proc-macros")
|
||||
(description
|
||||
@ -45755,7 +45744,7 @@ ecosystem.")
|
||||
;; version of RUST-CRITERION-0.3.
|
||||
'(substitute* "Cargo.toml"
|
||||
(("\"=0\\.3\\.4\"")
|
||||
"\"=0.3.5\"")))))
|
||||
"\"^0.3.4\"")))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
@ -46954,18 +46943,16 @@ tools for implementation.")
|
||||
(uri (crate-uri "rand_distr" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0brd2946xfapm2bmhmczfbwck041x7khsfhqxw1f24kxis7m8kcn"))))
|
||||
(base32 "0brd2946xfapm2bmhmczfbwck041x7khsfhqxw1f24kxis7m8kcn"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
(substitute* "Cargo.toml"
|
||||
;; The resolver feature is not supported by our versions of Cargo.
|
||||
(("resolver = \"2\".*") ""))))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'configure 'patch-Cargo.toml
|
||||
(lambda _
|
||||
(substitute* '("Cargo.toml"
|
||||
"guix-vendor/rust-average-0.13.1.tar.gz/Cargo.toml")
|
||||
;; The resolver feature is not supported by this version of Cargo.
|
||||
(("resolver = \"2\".*") "")))))
|
||||
#:cargo-inputs
|
||||
`(#:cargo-inputs
|
||||
(("rust-average" ,rust-average-0.13)
|
||||
("rust-num-traits" ,rust-num-traits-0.2)
|
||||
("rust-rand" ,rust-rand-0.8)
|
||||
@ -58243,15 +58230,6 @@ map.")
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:skip-build? #t
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'configure 'patch-Cargo.toml
|
||||
(lambda _
|
||||
(substitute* '("Cargo.toml"
|
||||
"guix-vendor/rust-average-0.13.1.tar.gz/Cargo.toml"
|
||||
"guix-vendor/rust-nalgebra-0.26.2.tar.gz/Cargo.toml")
|
||||
;; The resolver feature is not supported by this version of Cargo.
|
||||
(("resolver = \"2\".*") "")))))
|
||||
#:cargo-inputs
|
||||
(("rust-approx" ,rust-approx-0.4)
|
||||
("rust-lazy-static" ,rust-lazy-static-1)
|
||||
@ -62385,13 +62363,13 @@ handle Unicode characters correctly.")
|
||||
(uri (crate-uri "thread-id" version))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0zvikdngp0950hi0jgiipr8l36rskk1wk7pc8cd43xr3g5if1psz"))))
|
||||
(base32 "0zvikdngp0950hi0jgiipr8l36rskk1wk7pc8cd43xr3g5if1psz"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-libc" ,rust-libc-0.2)
|
||||
("rust-redox-syscall" ,rust-redox-syscall-0.2)
|
||||
("rust-winapi" ,rust-winapi-0.3))))
|
||||
`(#:cargo-inputs
|
||||
(("rust-libc" ,rust-libc-0.2)
|
||||
("rust-redox-syscall" ,rust-redox-syscall-0.2)
|
||||
("rust-winapi" ,rust-winapi-0.3))))
|
||||
(home-page "https://github.com/ruuda/thread-id")
|
||||
(synopsis "Get a unique ID for the current thread in Rust")
|
||||
(description
|
||||
|
@ -3,7 +3,7 @@
|
||||
;;; Copyright © 2015, 2017, 2018, 2019, 2022 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016, 2017, 2018, 2019, 2021 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox>
|
||||
;;; Copyright © 2016–2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2016–2022 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
|
||||
;;; Copyright © 2016, 2017, 2019, 2020 Eric Bavier <bavier@posteo.net>
|
||||
;;; Copyright © 2017 Pierre Langlois <pierre.langlois@gmx.com>
|
||||
@ -580,7 +580,7 @@ attacks than alternative functions such as @code{PBKDF2} or @code{bcrypt}.")
|
||||
(define-public libscrypt
|
||||
(package
|
||||
(name "libscrypt")
|
||||
(version "1.21")
|
||||
(version "1.22")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -589,22 +589,20 @@ attacks than alternative functions such as @code{PBKDF2} or @code{bcrypt}.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1d76ys6cp7fi4ng1w3mz2l0p9dbr7ljbk33dcywyimzjz8bahdng"))))
|
||||
(base32 "10dinz1zx8zfm81ra16s20izpm7f7j414n4i3fkdf40vbl5slra1"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs (list "out" "static"))
|
||||
(arguments
|
||||
`(#:make-flags (list (string-append "PREFIX=" %output)
|
||||
,(string-append "CC=" (cc-for-target)))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure) ; no configure script
|
||||
(add-after 'install 'install:static
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(lib (string-append out "/lib")))
|
||||
(install-file "libscrypt.a" lib)
|
||||
#t))))))
|
||||
(list #:make-flags
|
||||
#~(list (string-append "PREFIX=" #$output)
|
||||
(string-append "CC=" #$(cc-for-target)))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure) ; no configure script
|
||||
(add-after 'install 'install:static
|
||||
(lambda _
|
||||
(install-file "libscrypt.a"
|
||||
(string-append #$output:static "/lib")))))))
|
||||
(home-page "https://lolware.net/libscrypt.html")
|
||||
(synopsis "Password hashing library")
|
||||
(description "@code{libscrypt} implements @code{scrypt} key derivation
|
||||
|
@ -41,6 +41,7 @@
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system go)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module ((guix search-paths) #:select ($SSL_CERT_DIR $SSL_CERT_FILE))
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
@ -82,15 +83,8 @@
|
||||
("python" ,python-minimal-wrapper)))
|
||||
(native-search-paths
|
||||
;; These variables are introduced by curl-use-ssl-cert-env.patch.
|
||||
(list (search-path-specification
|
||||
(variable "SSL_CERT_DIR")
|
||||
(separator #f) ;single entry
|
||||
(files '("etc/ssl/certs")))
|
||||
(search-path-specification
|
||||
(variable "SSL_CERT_FILE")
|
||||
(file-type 'regular)
|
||||
(separator #f) ;single entry
|
||||
(files '("etc/ssl/certs/ca-certificates.crt")))
|
||||
(list $SSL_CERT_DIR
|
||||
$SSL_CERT_FILE
|
||||
;; Note: This search path is respected by the `curl` command-line
|
||||
;; tool only. Patching libcurl to read it too would bring no
|
||||
;; advantages and require maintaining a more complex patch.
|
||||
|
@ -23,7 +23,7 @@
|
||||
;;; Copyright © 2017 Jelle Licht <jlicht@fsfe.org>
|
||||
;;; Copyright © 2017 Adriano Peluso <catonano@gmail.com>
|
||||
;;; Copyright © 2017, 2021 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017–2022 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017, 2018 Alex Vong <alexvong1995@gmail.com>
|
||||
;;; Copyright © 2017, 2018 Ben Woodcroft <donttrustben@gmail.com>
|
||||
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
|
||||
@ -517,14 +517,14 @@ mapping from string keys to string values.")
|
||||
(define-public memcached
|
||||
(package
|
||||
(name "memcached")
|
||||
(version "1.6.13")
|
||||
(version "1.6.15")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://memcached.org/files/memcached-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1m5mhw9ybb8qcyi6hb5kwpqanqmlnz27r54ccabc4y7nhpfvl6mx"))))
|
||||
(base32 "05fmds73hr71bha9gszjfp02lgyacqfyyhkgl6xysy4kchyvwyld"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(list libevent cyrus-sasl))
|
||||
@ -1545,30 +1545,33 @@ organized in a hash table or B+ tree.")
|
||||
(define-public recutils
|
||||
(package
|
||||
(name "recutils")
|
||||
(version "1.8")
|
||||
(version "1.9")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/recutils/recutils-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"14xiln4immfsw8isnvwvq0h23f6z0wilpgsc4qzabnrzb5lsx3nz"))))
|
||||
"03kf91f20brn2ffljfjzirxh5xj99m1mvvspcx2lph9000mmj0b3"))))
|
||||
(build-system gnu-build-system)
|
||||
|
||||
(arguments '(#:configure-flags
|
||||
(list (string-append "--with-bash-headers="
|
||||
(assoc-ref %build-inputs "bash:include")
|
||||
"/include/bash"))))
|
||||
|
||||
(native-inputs `(("bc" ,bc)
|
||||
("bash:include" ,bash "include")
|
||||
("check" ,check-0.14)
|
||||
("pkg-config" ,pkg-config)))
|
||||
|
||||
;; TODO: Add more optional inputs.
|
||||
(inputs `(("curl" ,curl)
|
||||
("libgcrypt" ,libgcrypt)
|
||||
("libuuid" ,util-linux "lib")))
|
||||
(arguments
|
||||
(list #:configure-flags
|
||||
'(list "--disable-static"
|
||||
(string-append "--with-bash-headers="
|
||||
(dirname (search-input-directory
|
||||
%build-inputs
|
||||
"include/bash"))))))
|
||||
(native-inputs
|
||||
;; XXX Without labels, the default 'configure phase picks the wrong "bash".
|
||||
`(("bc" ,bc)
|
||||
("bash:include" ,bash "include")
|
||||
("check" ,check-0.14)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
;; TODO: Add more optional inputs.
|
||||
(list curl
|
||||
libgcrypt
|
||||
`(,util-linux "lib")))
|
||||
(synopsis "Manipulate plain text files as databases")
|
||||
(description
|
||||
"GNU Recutils is a set of tools and libraries for creating and
|
||||
@ -3209,41 +3212,6 @@ Memory-Mapped Database} (LMDB), a high-performance key-value store.")
|
||||
;; but not actually needed on platforms currently supported by Guix.
|
||||
license:bsd-3))))
|
||||
|
||||
(define-public python-orator
|
||||
(package
|
||||
(name "python-orator")
|
||||
(version "0.9.9")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "orator" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0mbgybz63ryhr9p1f4glnls5c57jp6il3dw0kf97f3pj80687rvg"))))
|
||||
(build-system python-build-system)
|
||||
;; FIXME: Tests are not distributed with PyPI, and the repository
|
||||
;; does not contain setup.py. How to test?
|
||||
(arguments '(#:tests? #f))
|
||||
(propagated-inputs
|
||||
(list python-backpack
|
||||
python-blinker
|
||||
python-cleo
|
||||
python-faker
|
||||
python-inflection
|
||||
python-lazy-object-proxy
|
||||
python-pendulum
|
||||
python-pyaml
|
||||
python-pygments
|
||||
python-pyyaml
|
||||
python-simplejson
|
||||
python-six
|
||||
python-wrapt))
|
||||
(home-page "https://orator-orm.com/")
|
||||
(synopsis "ActiveRecord ORM for Python")
|
||||
(description
|
||||
"Orator provides a simple ActiveRecord-like Object Relational Mapping
|
||||
implementation for Python.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public virtuoso-ose
|
||||
(package
|
||||
(name "virtuoso-ose")
|
||||
@ -3340,26 +3308,31 @@ Database API 2.0T.")
|
||||
(define-public python-sqlalchemy
|
||||
(package
|
||||
(name "python-sqlalchemy")
|
||||
(version "1.4.31")
|
||||
(version "1.4.35")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "SQLAlchemy" version))
|
||||
(sha256
|
||||
(base32 "06448s883bb8fgca33bn0pfaj15la0g4cax2mmx482kqwp8mjasq"))))
|
||||
(base32 "1ddab00d5mpzg25r1qxccma2zb551hhmymsy1ycp6r6w04xq3z1g"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
(list python-cython ; for C extensions
|
||||
python-pytest python-mock)) ; for tests
|
||||
python-pytest python-mock python-pytest-xdist)) ; for tests
|
||||
(propagated-inputs
|
||||
(list python-greenlet))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "py.test")))))))
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "pytest" "-vv"
|
||||
"-n" (number->string (parallel-job-count))
|
||||
;; The memory usage tests are very expensive and run in
|
||||
;; sequence; skip them.
|
||||
"-k" "not test_memusage.py")))))))
|
||||
(home-page "https://www.sqlalchemy.org")
|
||||
(synopsis "Database abstraction library")
|
||||
(description
|
||||
@ -3371,7 +3344,28 @@ simple and Pythonic domain language.")
|
||||
(license license:x11)))
|
||||
|
||||
(define-public python2-sqlalchemy
|
||||
(package-with-python2 python-sqlalchemy))
|
||||
(let ((base (package-with-python2 python-sqlalchemy)))
|
||||
(package
|
||||
(inherit base)
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments base)
|
||||
((#:phases phases)
|
||||
#~(modify-phases #$phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "pytest" "-vv"
|
||||
;; The memory usage tests are very expensive and run in
|
||||
;; sequence; skip them.
|
||||
"-k"
|
||||
(string-append
|
||||
"not test_memusage.py"
|
||||
;; This test fails with "AssertionError: Warnings
|
||||
;; were not seen [...]".
|
||||
" and not test_fixture_five")))))))))
|
||||
;; Do not use pytest-xdist, which is broken for Python 2.
|
||||
(native-inputs (modify-inputs (package-native-inputs base)
|
||||
(delete "python-pytest-xdist"))))))
|
||||
|
||||
(define-public python-sqlalchemy-stubs
|
||||
(package
|
||||
@ -3925,23 +3919,58 @@ parsing code in hiredis. It primarily speeds up parsing of multi bulk replies."
|
||||
(define-public python2-hiredis
|
||||
(package-with-python2 python-hiredis))
|
||||
|
||||
(define-public python-aioredis
|
||||
(package
|
||||
(name "python-aioredis")
|
||||
(version "2.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "aioredis" version))
|
||||
(sha256
|
||||
(base32 "13nrkk45az6qdiwfpbw80ls6bfip0i27qlkh9gsp2b9zk6pim9ga"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
(list #:phases #~(modify-phases %standard-phases
|
||||
(add-before 'check 'start-redis
|
||||
(lambda _
|
||||
(invoke "redis-server" "--daemonize" "yes")))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "pytest" "-vv")))))))
|
||||
(native-inputs
|
||||
(list python-pytest
|
||||
python-pytest-asyncio
|
||||
python-uvloop
|
||||
redis))
|
||||
(propagated-inputs
|
||||
(list python-async-timeout
|
||||
python-hiredis
|
||||
python-typing-extensions))
|
||||
(home-page "https://github.com/aio-libs/aioredis-py")
|
||||
(synopsis "Redis support for Python's @code{asyncio} module")
|
||||
(description "This package provides Redis support for the Python
|
||||
@code{asyncio} (PEP 3156) module.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-fakeredis
|
||||
(package
|
||||
(name "python-fakeredis")
|
||||
(version "1.7.0")
|
||||
(version "1.7.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "fakeredis" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0wacd3f558vzsrpdvgvdwy9pp6crxf8hxblz30zbsv1k63j15gf9"))))
|
||||
"1v68my2v7fg44zwky3k5d52nn1bi0szpgdslghrpa2ifnjhlnb3w"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
;; no tests
|
||||
`(#:tests? #f))
|
||||
(propagated-inputs
|
||||
(list python-packaging python-redis python-sortedcontainers))
|
||||
(list python-aioredis python-packaging python-redis python-sortedcontainers))
|
||||
(home-page "https://github.com/jamesls/fakeredis")
|
||||
(synopsis "Fake implementation of redis API for testing purposes")
|
||||
(description
|
||||
|
@ -74,7 +74,7 @@
|
||||
(define-public diffoscope
|
||||
(package
|
||||
(name "diffoscope")
|
||||
(version "209")
|
||||
(version "212")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -83,7 +83,7 @@
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "18avlxra2jrqg5xklb86ikafyqad58m8c906s3l8lwxwpjqkx794"))
|
||||
(base32 "1yzxqynrbr9kj7f5qxfzcxr8vb86xygm2yzgq8rqqc1khzsl7q90"))
|
||||
(patches
|
||||
(search-patches "diffoscope-fix-llvm-test.patch"))))
|
||||
(build-system python-build-system)
|
||||
@ -111,6 +111,13 @@
|
||||
(string-append "['" (which "stat") "',"))
|
||||
(("\\['getfacl',")
|
||||
(string-append "['" (which "getfacl") "',")))))
|
||||
(add-after 'unpack 'xb-tool-external-tool
|
||||
;; Fixed upstream, remove this phase when updating to
|
||||
;; diffoscope 213
|
||||
(lambda _
|
||||
(substitute* "diffoscope/external_tools.py"
|
||||
((".debian.: .libxmlb-dev.")
|
||||
"\"debian\": \"libxmlb-dev\", \"guix\": \"libxmlb\""))))
|
||||
(add-after 'build 'build-man-page
|
||||
(lambda* (#:key (make-flags '()) #:allow-other-keys)
|
||||
(apply invoke "make" "-C" "doc" make-flags)))
|
||||
|
@ -236,36 +236,35 @@ tmpfs/ramfs filesystems.")
|
||||
(define-public parted
|
||||
(package
|
||||
(name "parted")
|
||||
(version "3.4")
|
||||
(version "3.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/parted/parted-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0hjkv84x1bs2qqyx1fnzjqyyqrhv7kpdbq9bgydmi99d8wi80ag1"))))
|
||||
"18h51i3x5cbqhlj5rm23m9sfw63gaaby5czln5w6qpqj3ifdsf29"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-locales-and-python
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "tests/t0251-gpt-unicode.sh"
|
||||
(("C.UTF-8") "en_US.utf8")) ;not in Glibc locales
|
||||
(substitute* "tests/msdos-overlap"
|
||||
(("/usr/bin/python") (which "python")))
|
||||
#t)))))
|
||||
(list #:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-locales-and-python
|
||||
(lambda _
|
||||
(substitute* "tests/t0251-gpt-unicode.sh"
|
||||
(("C.UTF-8") "en_US.utf8")) ;not in Glibc locales
|
||||
(substitute* "tests/msdos-overlap"
|
||||
(("/usr/bin/python") (which "python"))))))))
|
||||
(inputs
|
||||
(list lvm2 readline
|
||||
`(,util-linux "lib")))
|
||||
(native-inputs
|
||||
`(("gettext" ,gettext-minimal)
|
||||
(list gettext-minimal
|
||||
|
||||
;; For the tests.
|
||||
("e2fsprogs" ,e2fsprogs)
|
||||
("perl" ,perl)
|
||||
("python-wrapper" ,python-wrapper)
|
||||
("util-linux" ,util-linux)))
|
||||
;; For the tests.
|
||||
e2fsprogs
|
||||
perl
|
||||
python-wrapper
|
||||
util-linux))
|
||||
(home-page "https://www.gnu.org/software/parted/")
|
||||
(synopsis "Disk partition editor")
|
||||
(description
|
||||
|
@ -11,6 +11,7 @@
|
||||
;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de>
|
||||
;;; Copyright © 2021 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2022 Maxim Cournoyer <maxim.counoyer@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -31,9 +32,11 @@
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (guix deprecation)
|
||||
#:use-module (gnu packages)
|
||||
@ -41,7 +44,9 @@
|
||||
#:use-module (gnu packages backup)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages kde-frameworks)
|
||||
#:use-module (gnu packages docbook)
|
||||
@ -53,6 +58,7 @@
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages sphinx)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages xorg))
|
||||
|
||||
@ -256,6 +262,57 @@ browsing. The documentation is extracted directly from the C/C++/IDL source
|
||||
or Java class files.")
|
||||
(license gpl2+)))
|
||||
|
||||
(define-public python-docrepr
|
||||
(package
|
||||
(name "python-docrepr")
|
||||
(version "0.2.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/spyder-ide/docrepr")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ma5gwy93m1djd3zdlnqfrwhgr8ic1qbsz5kkrb9f987ax40lfkd"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-sources
|
||||
(lambda _
|
||||
;; XXX: This fixes an issue where shutil.copytree would fail
|
||||
;; merging directories with same files copied by Sphinx from the
|
||||
;; store (hence read-only, throwing a Permission denied error).
|
||||
;; In the case this happens, it falls back to a manual copy
|
||||
;; routine that omits overwriting same-named files (see:
|
||||
;; https://github.com/spyder-ide/docrepr/issues/54).
|
||||
(substitute* "docrepr/utils.py"
|
||||
(("except TypeError")
|
||||
"except (TypeError, shutil.Error)"))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "pytest" "-p" "no:warnings" "-vv")))))))
|
||||
(native-inputs
|
||||
(list python-ipython
|
||||
python-matplotlib
|
||||
python-numpy
|
||||
python-pytest
|
||||
python-pytest-asyncio))
|
||||
(propagated-inputs
|
||||
(list python-docutils
|
||||
python-jinja2
|
||||
python-matplotlib
|
||||
python-sphinx))
|
||||
(home-page "https://github.com/spyder-ide/docrepr/")
|
||||
(synopsis "Python docstrings to HTML renderer")
|
||||
(description "Docrepr renders Python docstrings to HTML with Sphinx. It
|
||||
can generate rich and plain representations of docstrings, alongside
|
||||
additional metadata about the object to which the docstring belongs.")
|
||||
(license bsd-3)))
|
||||
|
||||
(define-public scrollkeeper
|
||||
(package
|
||||
(name "scrollkeeper")
|
||||
|
@ -3677,7 +3677,15 @@ restore the saved place.")
|
||||
(base32
|
||||
"0z6f8y1m9amhg427iz1d4xcyr6n0kj5w7kmiz134p320ixsdnzd8"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments `(#:tests? #t))
|
||||
(arguments
|
||||
(list #:tests? #t
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'disable-byte-compile-error-on-warn
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
(("\\(setq byte-compile-error-on-warn t\\)")
|
||||
"(setq byte-compile-error-on-warn nil)")))))))
|
||||
(home-page "https://github.com/magnars/dash.el")
|
||||
(synopsis "Modern list library for Emacs")
|
||||
(description "This package provides a modern list API library for Emacs.")
|
||||
@ -13482,7 +13490,9 @@ the Emacs Tempo library. You may also write your templates in Lisp.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0via9dzw8m5lzymg1h78xkwjssh39zr3g6ccyamlf1rjzjsyxknv"))))
|
||||
(base32 "0via9dzw8m5lzymg1h78xkwjssh39zr3g6ccyamlf1rjzjsyxknv"))
|
||||
(patches
|
||||
(search-patches "emacs-yasnippet-fix-tests.patch"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
`(#:tests? #t
|
||||
@ -27555,7 +27565,7 @@ Emacs that integrate with major modes like Org-mode.")
|
||||
(define-public emacs-modus-themes
|
||||
(package
|
||||
(name "emacs-modus-themes")
|
||||
(version "2.3.2")
|
||||
(version "2.3.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -27564,7 +27574,7 @@ Emacs that integrate with major modes like Org-mode.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "00c3sa663rnl2rvnjdqzghcyfbdri09xjfigyrgd5xa3y0mnpqiz"))))
|
||||
(base32 "14nfb94y9vcnpmwj9acwl6h5v0h1c6swqf33ch4zimxxqgx9zrm4"))))
|
||||
(native-inputs (list texinfo))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
|
@ -41,6 +41,7 @@
|
||||
(define-module (gnu packages emacs)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system gnu)
|
||||
@ -51,6 +52,7 @@
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages fribidi)
|
||||
#:use-module (gnu packages gd)
|
||||
#:use-module (gnu packages gettext)
|
||||
@ -79,17 +81,16 @@
|
||||
(define-public emacs
|
||||
(package
|
||||
(name "emacs")
|
||||
(version "27.2")
|
||||
(version "28.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/emacs/emacs-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1ff182gjw9wqsbx1kj5gl2r5pbqhp4ar54g04j33fgz6g17cr9xl"))
|
||||
"1qbmmmhnjhn4lvzsnyk7l5ganbi6wzbm38jc1a7hhyh3k78b7c98"))
|
||||
(patches (search-patches "emacs-exec-path.patch"
|
||||
"emacs-fix-scheme-indent-function.patch"
|
||||
"emacs-ignore-empty-xim-styles.patch"
|
||||
"emacs-source-date-epoch.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
@ -120,183 +121,184 @@
|
||||
(list line
|
||||
"\"~/.guix-profile/include\""
|
||||
"\"/var/guix/profiles/system/profile/include\"")
|
||||
" ")))
|
||||
#t))))
|
||||
" ")))))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no check target
|
||||
#:configure-flags (list "--with-modules"
|
||||
"--with-cairo"
|
||||
"--disable-build-details")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-program-file-names
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* '("src/callproc.c"
|
||||
"lisp/term.el"
|
||||
"lisp/htmlfontify.el"
|
||||
"lisp/textmodes/artist.el"
|
||||
"lisp/progmodes/sh-script.el")
|
||||
(("\"/bin/sh\"")
|
||||
(format #f "~s" (which "sh"))))
|
||||
(substitute* "lisp/doc-view.el"
|
||||
(("\"(gs|dvipdf|ps2pdf)\"" all what)
|
||||
(let ((ghostscript (assoc-ref inputs "ghostscript")))
|
||||
(if ghostscript
|
||||
(string-append "\"" ghostscript "/bin/" what "\"")
|
||||
all)))
|
||||
(("\"(pdftotext)\"" all what)
|
||||
(let ((poppler (assoc-ref inputs "poppler")))
|
||||
(if poppler
|
||||
(string-append "\"" poppler "/bin/" what "\"")
|
||||
all))))
|
||||
;; match ".gvfs-fuse-daemon-real" and ".gvfsd-fuse-real"
|
||||
;; respectively when looking for GVFS processes.
|
||||
(substitute* "lisp/net/tramp-gvfs.el"
|
||||
(("\\(tramp-compat-process-running-p \"(.*)\"\\)" all process)
|
||||
(format #f "(or ~a (tramp-compat-process-running-p ~s))"
|
||||
all (string-append "." process "-real"))))
|
||||
#t))
|
||||
(add-before 'configure 'fix-/bin/pwd
|
||||
(lambda _
|
||||
;; Use `pwd', not `/bin/pwd'.
|
||||
(substitute* (find-files "." "^Makefile\\.in$")
|
||||
(("/bin/pwd")
|
||||
"pwd"))
|
||||
#t))
|
||||
(add-after 'install 'install-site-start
|
||||
;; Use 'guix-emacs' in "site-start.el", which is used autoload the
|
||||
;; Elisp packages found in EMACSLOADPATH.
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(lisp-dir (string-append out "/share/emacs/site-lisp"))
|
||||
(emacs (string-append out "/bin/emacs")))
|
||||
(list
|
||||
#:tests? #f ; no check target
|
||||
#:configure-flags #~(list "--with-modules"
|
||||
"--with-cairo"
|
||||
"--disable-build-details")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'enable-elogind
|
||||
(lambda _
|
||||
(substitute* "configure.ac"
|
||||
(("libsystemd") "libelogind"))
|
||||
(when (file-exists? "configure")
|
||||
(delete-file "configure"))))
|
||||
(add-after 'unpack 'patch-program-file-names
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* '("src/callproc.c"
|
||||
"lisp/term.el"
|
||||
"lisp/htmlfontify.el"
|
||||
"lisp/textmodes/artist.el"
|
||||
"lisp/progmodes/sh-script.el")
|
||||
(("\"/bin/sh\"")
|
||||
(format #f "~s" (search-input-file inputs "/bin/sh"))))
|
||||
(substitute* "lisp/doc-view.el"
|
||||
(("\"(gs|dvipdf|ps2pdf|pdftotext)\"" all what)
|
||||
(let ((replacement (false-if-exception
|
||||
(search-input-file
|
||||
inputs
|
||||
(string-append "/bin/" what)))))
|
||||
(if replacement
|
||||
(string-append "\"" replacement "\"")
|
||||
all))))
|
||||
;; match ".gvfs-fuse-daemon-real" and ".gvfsd-fuse-real"
|
||||
;; respectively when looking for GVFS processes.
|
||||
(substitute* "lisp/net/tramp-gvfs.el"
|
||||
(("\\(tramp-compat-process-running-p \"(.*)\"\\)" all process)
|
||||
(format #f "(or ~a (tramp-compat-process-running-p ~s))"
|
||||
all (string-append "." process "-real"))))))
|
||||
(add-before 'configure 'fix-/bin/pwd
|
||||
(lambda _
|
||||
;; Use `pwd', not `/bin/pwd'.
|
||||
(substitute* (find-files "." "^Makefile\\.in$")
|
||||
(("/bin/pwd")
|
||||
"pwd"))))
|
||||
(add-after 'install 'install-site-start
|
||||
;; Use 'guix-emacs' in "site-start.el", which is used autoload the
|
||||
;; Elisp packages found in EMACSLOADPATH.
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(lisp-dir (string-append out "/share/emacs/site-lisp"))
|
||||
(emacs (string-append out "/bin/emacs")))
|
||||
|
||||
;; This is duplicated from emacs-utils to prevent coupling.
|
||||
(define* (emacs-byte-compile-directory dir)
|
||||
(let ((expr `(progn
|
||||
(setq byte-compile-debug t)
|
||||
(byte-recompile-directory
|
||||
(file-name-as-directory ,dir) 0 1))))
|
||||
(invoke emacs "--quick" "--batch"
|
||||
(format #f "--eval=~s" expr))))
|
||||
;; This is duplicated from emacs-utils to prevent coupling.
|
||||
(define* (emacs-byte-compile-directory dir)
|
||||
(let ((expr `(progn
|
||||
(setq byte-compile-debug t)
|
||||
(byte-recompile-directory
|
||||
(file-name-as-directory ,dir) 0 1))))
|
||||
(invoke emacs "--quick" "--batch"
|
||||
(format #f "--eval=~s" expr))))
|
||||
|
||||
(copy-file (assoc-ref inputs "guix-emacs.el")
|
||||
(string-append lisp-dir "/guix-emacs.el"))
|
||||
(with-output-to-file (string-append lisp-dir "/site-start.el")
|
||||
(lambda ()
|
||||
(display
|
||||
(string-append
|
||||
"(when (require 'guix-emacs nil t)\n"
|
||||
" (guix-emacs-autoload-packages)\n"
|
||||
" (advice-add 'package-load-all-descriptors"
|
||||
" :after #'guix-emacs-load-package-descriptors))"))))
|
||||
;; Remove the extraneous subdirs.el file, as it causes Emacs to
|
||||
;; add recursively all the the sub-directories of a profile's
|
||||
;; share/emacs/site-lisp union when added to EMACSLOADPATH,
|
||||
;; which leads to conflicts.
|
||||
(delete-file (string-append lisp-dir "/subdirs.el"))
|
||||
;; Byte compile the site-start files.
|
||||
(emacs-byte-compile-directory lisp-dir))
|
||||
#t))
|
||||
(add-after 'glib-or-gtk-wrap 'restore-emacs-pdmp
|
||||
;; restore the dump file that Emacs installs somewhere in
|
||||
;; libexec/ to its original state
|
||||
(lambda* (#:key outputs target #:allow-other-keys)
|
||||
(let* ((libexec (string-append (assoc-ref outputs "out")
|
||||
"/libexec"))
|
||||
;; each of these ought to only match a single file,
|
||||
;; but even if not (find-files) sorts by string<,
|
||||
;; so the Nth element in one maps to the Nth element of
|
||||
;; the other
|
||||
(pdmp (find-files libexec "\\.pdmp$"))
|
||||
(pdmp-real (find-files libexec "\\.pdmp-real$")))
|
||||
(for-each rename-file pdmp-real pdmp))))
|
||||
(add-after 'glib-or-gtk-wrap 'strip-double-wrap
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; Directly copy emacs-X.Y to emacs, so that it is not wrapped
|
||||
;; twice. This also fixes a minor issue, where WMs would not be
|
||||
;; able to track emacs back to emacs.desktop.
|
||||
(with-directory-excursion (assoc-ref outputs "out")
|
||||
(copy-file
|
||||
(car (find-files "bin" "^emacs-([0-9]+\\.)+[0-9]+$"))
|
||||
"bin/emacs")
|
||||
#t)))
|
||||
(add-after 'strip-double-wrap 'wrap-emacs-paths
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(lisp-dirs (find-files (string-append out "/share/emacs")
|
||||
"^lisp$"
|
||||
#:directories? #t)))
|
||||
(for-each
|
||||
(lambda (prog)
|
||||
(wrap-program prog
|
||||
;; emacs-next and variants rely on uname being in PATH for
|
||||
;; Tramp. Tramp paths can't be hardcoded, because they
|
||||
;; need to be portable.
|
||||
`("PATH" suffix
|
||||
,(map (lambda (in) (string-append in "/bin"))
|
||||
(list (assoc-ref inputs "gzip")
|
||||
(assoc-ref inputs "coreutils"))))
|
||||
`("EMACSLOADPATH" suffix ,lisp-dirs)))
|
||||
(find-files (string-append out "/bin")
|
||||
;; Matches versioned and unversioned emacs binaries.
|
||||
;; We don't patch emacsclient, because it takes its
|
||||
;; environment variables from emacs.
|
||||
;; Likewise, we don't need to patch helper binaries
|
||||
;; like etags, ctags or ebrowse.
|
||||
"^emacs(-[0-9]+(\\.[0-9]+)*)?$"))))))))
|
||||
(copy-file #$(local-file
|
||||
(search-auxiliary-file "emacs/guix-emacs.el"))
|
||||
(string-append lisp-dir "/guix-emacs.el"))
|
||||
(with-output-to-file (string-append lisp-dir "/site-start.el")
|
||||
(lambda ()
|
||||
(display
|
||||
(string-append
|
||||
"(when (require 'guix-emacs nil t)\n"
|
||||
" (guix-emacs-autoload-packages)\n"
|
||||
" (advice-add 'package-load-all-descriptors"
|
||||
" :after #'guix-emacs-load-package-descriptors))"))))
|
||||
;; Remove the extraneous subdirs.el file, as it causes Emacs to
|
||||
;; add recursively all the the sub-directories of a profile's
|
||||
;; share/emacs/site-lisp union when added to EMACSLOADPATH,
|
||||
;; which leads to conflicts.
|
||||
(delete-file (string-append lisp-dir "/subdirs.el"))
|
||||
;; Byte compile the site-start files.
|
||||
(emacs-byte-compile-directory lisp-dir))))
|
||||
(add-after 'glib-or-gtk-wrap 'restore-emacs-pdmp
|
||||
;; restore the dump file that Emacs installs somewhere in
|
||||
;; libexec/ to its original state
|
||||
(lambda* (#:key outputs target #:allow-other-keys)
|
||||
(let* ((libexec (string-append (assoc-ref outputs "out")
|
||||
"/libexec"))
|
||||
;; each of these ought to only match a single file,
|
||||
;; but even if not (find-files) sorts by string<,
|
||||
;; so the Nth element in one maps to the Nth element of
|
||||
;; the other
|
||||
(pdmp (find-files libexec "\\.pdmp$"))
|
||||
(pdmp-real (find-files libexec "\\.pdmp-real$")))
|
||||
(for-each rename-file pdmp-real pdmp))))
|
||||
(add-after 'glib-or-gtk-wrap 'strip-double-wrap
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; Directly copy emacs-X.Y to emacs, so that it is not wrapped
|
||||
;; twice. This also fixes a minor issue, where WMs would not be
|
||||
;; able to track emacs back to emacs.desktop.
|
||||
(with-directory-excursion (assoc-ref outputs "out")
|
||||
(copy-file
|
||||
(car (find-files "bin" "^emacs-([0-9]+\\.)+[0-9]+$"))
|
||||
"bin/emacs"))))
|
||||
(add-after 'strip-double-wrap 'wrap-emacs-paths
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(lisp-dirs (find-files (string-append out "/share/emacs")
|
||||
"^lisp$"
|
||||
#:directories? #t)))
|
||||
(for-each
|
||||
(lambda (prog)
|
||||
(wrap-program prog
|
||||
;; emacs-next and variants rely on uname being in PATH for
|
||||
;; Tramp. Tramp paths can't be hardcoded, because they
|
||||
;; need to be portable.
|
||||
`("PATH" suffix
|
||||
,(map dirname
|
||||
(list (search-input-file inputs "/bin/gzip")
|
||||
;; for coreutils
|
||||
(search-input-file inputs "/bin/yes"))))
|
||||
`("EMACSLOADPATH" suffix ,lisp-dirs)))
|
||||
(find-files (string-append out "/bin")
|
||||
;; Matches versioned and unversioned emacs binaries.
|
||||
;; We don't patch emacsclient, because it takes its
|
||||
;; environment variables from emacs.
|
||||
;; Likewise, we don't need to patch helper binaries
|
||||
;; like etags, ctags or ebrowse.
|
||||
"^emacs(-[0-9]+(\\.[0-9]+)*)?$"))))))))
|
||||
(inputs
|
||||
`(("gnutls" ,gnutls)
|
||||
("ncurses" ,ncurses)
|
||||
(list gnutls
|
||||
ncurses
|
||||
|
||||
;; Required for "core" functionality, such as dired and compression.
|
||||
("coreutils" ,coreutils)
|
||||
("gzip" ,gzip)
|
||||
;; Required for "core" functionality, such as dired and compression.
|
||||
coreutils
|
||||
gzip
|
||||
|
||||
;; Avoid Emacs's limited movemail substitute that retrieves POP3 email
|
||||
;; only via insecure channels. This is not needed for (modern) IMAP.
|
||||
("mailutils" ,mailutils)
|
||||
;; Avoid Emacs's limited movemail substitute that retrieves POP3
|
||||
;; email only via insecure channels.
|
||||
;; This is not needed for (modern) IMAP.
|
||||
mailutils
|
||||
|
||||
;; TODO: Add the optional dependencies.
|
||||
("gpm" ,gpm)
|
||||
("libx11" ,libx11)
|
||||
("gtk+" ,gtk+)
|
||||
("cairo" ,cairo)
|
||||
("pango" ,pango)
|
||||
("harfbuzz" ,harfbuzz)
|
||||
("libxft" ,libxft)
|
||||
("libtiff" ,libtiff)
|
||||
("giflib" ,giflib)
|
||||
("libjpeg" ,libjpeg-turbo)
|
||||
("acl" ,acl)
|
||||
("jansson" ,jansson)
|
||||
("gmp" ,gmp)
|
||||
("ghostscript" ,ghostscript)
|
||||
("poppler" ,poppler)
|
||||
;; TODO: Add the optional dependencies.
|
||||
gpm
|
||||
libx11
|
||||
gtk+
|
||||
cairo
|
||||
pango
|
||||
harfbuzz
|
||||
libxft
|
||||
libtiff
|
||||
giflib
|
||||
libjpeg-turbo
|
||||
acl
|
||||
jansson
|
||||
gmp
|
||||
ghostscript
|
||||
poppler
|
||||
elogind
|
||||
|
||||
;; When looking for libpng `configure' links with `-lpng -lz', so we
|
||||
;; must also provide zlib as an input.
|
||||
("libpng" ,libpng)
|
||||
("zlib" ,zlib)
|
||||
("librsvg" ,@(if (target-x86-64?)
|
||||
(list librsvg-bootstrap)
|
||||
(list librsvg-2.40)))
|
||||
("libxpm" ,libxpm)
|
||||
("libxml2" ,libxml2)
|
||||
("libice" ,libice)
|
||||
("libsm" ,libsm)
|
||||
("alsa-lib" ,alsa-lib)
|
||||
("dbus" ,dbus)
|
||||
;; When looking for libpng `configure' links with `-lpng -lz', so we
|
||||
;; must also provide zlib as an input.
|
||||
libpng
|
||||
zlib
|
||||
(if (target-x86-64?)
|
||||
librsvg-bootstrap
|
||||
librsvg-2.40)
|
||||
libxpm
|
||||
libxml2
|
||||
libice
|
||||
libsm
|
||||
alsa-lib
|
||||
dbus
|
||||
|
||||
;; multilingualization support
|
||||
("libotf" ,libotf)
|
||||
("m17n-lib" ,m17n-lib)))
|
||||
;; multilingualization support
|
||||
libotf
|
||||
m17n-lib))
|
||||
(native-inputs
|
||||
`(("guix-emacs.el" ,(search-auxiliary-file "emacs/guix-emacs.el"))
|
||||
("pkg-config" ,pkg-config)
|
||||
("texinfo" ,texinfo)))
|
||||
|
||||
(list autoconf pkg-config texinfo))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "EMACSLOADPATH")
|
||||
@ -319,12 +321,12 @@ languages.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-next
|
||||
(let ((commit "2ea34662c20f71d35dd52a5ed996542c7386b9cb")
|
||||
(let ((commit "38d87c43c2ad727406dcfe316aac5e24e202c251")
|
||||
(revision "0"))
|
||||
(package
|
||||
(inherit emacs)
|
||||
(name "emacs-next")
|
||||
(version (git-version "28.0.50" revision commit))
|
||||
(version (git-version "29.0.50" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(inherit (package-source emacs))
|
||||
@ -335,42 +337,28 @@ languages.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0igjm9kwiswn2dpiy2k9xikbdfc7njs07ry48fqz70anljj8y7y3"))))
|
||||
"0h206asgaqfzhz36p78n23yj4p7kbr6a1f0j0njzxf0ypqrmw9yr"))))
|
||||
(native-inputs
|
||||
(modify-inputs (package-native-inputs emacs)
|
||||
(prepend autoconf))))))
|
||||
|
||||
(define-public emacs-next-pgtk
|
||||
(let ((commit "ae18c8ec4f0ef37c8c9cda473770ff47e41291e2")
|
||||
(revision "1"))
|
||||
(package
|
||||
(inherit emacs-next)
|
||||
(name "emacs-next-pgtk")
|
||||
(version (git-version "28.0.50" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.savannah.gnu.org/git/emacs.git/")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"07hgfqh965zmra0rbmnf63p3lsinpv5hn5payqcrjx25pl75xnaf"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments emacs-next)
|
||||
((#:configure-flags flags ''())
|
||||
`(cons* "--with-pgtk" "--with-xwidgets" ,flags))))
|
||||
(propagated-inputs
|
||||
(list gsettings-desktop-schemas glib-networking))
|
||||
(inputs
|
||||
`(("webkitgtk" ,webkitgtk-with-libsoup2)
|
||||
,@(package-inputs emacs-next)))
|
||||
(home-page "https://github.com/masm11/emacs")
|
||||
(synopsis "Emacs text editor with @code{pgtk} and @code{xwidgets} support")
|
||||
(description "This is an unofficial Emacs fork build with a pure-GTK
|
||||
graphical toolkit to work natively on Wayland. In addition to that, xwidgets
|
||||
also enabled and works without glitches even on X server."))))
|
||||
(package
|
||||
(inherit emacs-next)
|
||||
(name "emacs-next-pgtk")
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments emacs-next)
|
||||
((#:configure-flags flags #~'())
|
||||
#~(cons* "--with-pgtk" "--with-xwidgets" #$flags))))
|
||||
(propagated-inputs
|
||||
(list gsettings-desktop-schemas glib-networking))
|
||||
(inputs
|
||||
(modify-inputs (package-inputs emacs-next)
|
||||
(prepend webkitgtk-with-libsoup2)))
|
||||
(home-page "https://github.com/masm11/emacs")
|
||||
(synopsis "Emacs text editor with @code{pgtk} and @code{xwidgets} support")
|
||||
(description "This Emacs build implements graphical UI purely in terms of
|
||||
GTK and also enables xwidgets.")))
|
||||
|
||||
(define-public emacs-minimal
|
||||
;; This is the version that you should use as an input to packages that just
|
||||
@ -381,19 +369,14 @@ also enabled and works without glitches even on X server."))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments emacs)
|
||||
((#:configure-flags flags ''())
|
||||
`(list "--with-gnutls=no" "--disable-build-details"))
|
||||
((#:configure-flags flags #~'())
|
||||
#~(list "--with-gnutls=no" "--disable-build-details"))
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(delete 'restore-emacs-pdmp)
|
||||
(delete 'strip-double-wrap)))))
|
||||
(inputs
|
||||
`(("guix-emacs.el" ,(search-auxiliary-file "emacs/guix-emacs.el"))
|
||||
("ncurses" ,ncurses)
|
||||
("coreutils" ,coreutils)
|
||||
("gzip" ,gzip)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))))
|
||||
#~(modify-phases #$phases
|
||||
(delete 'restore-emacs-pdmp)
|
||||
(delete 'strip-double-wrap)))))
|
||||
(inputs (list ncurses coreutils gzip))
|
||||
(native-inputs (list autoconf pkg-config))))
|
||||
|
||||
(define-public emacs-xwidgets
|
||||
(package/inherit emacs
|
||||
@ -403,16 +386,15 @@ editor (with xwidgets support)")
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments emacs)
|
||||
((#:configure-flags flags ''())
|
||||
`(cons "--with-xwidgets" ,flags))
|
||||
((#:configure-flags flags #~'())
|
||||
#~(cons "--with-xwidgets" #$flags))
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(delete 'restore-emacs-pdmp)
|
||||
(delete 'strip-double-wrap)))))
|
||||
#~(modify-phases #$phases
|
||||
(delete 'restore-emacs-pdmp)
|
||||
(delete 'strip-double-wrap)))))
|
||||
(inputs
|
||||
`(("webkitgtk" ,webkitgtk-with-libsoup2)
|
||||
("libxcomposite" ,libxcomposite)
|
||||
,@(package-inputs emacs)))))
|
||||
(modify-inputs (package-inputs emacs)
|
||||
(prepend webkitgtk-with-libsoup2 libxcomposite)))))
|
||||
|
||||
(define-public emacs-no-x
|
||||
(package/inherit emacs
|
||||
@ -420,22 +402,20 @@ editor (with xwidgets support)")
|
||||
(synopsis "The extensible, customizable, self-documenting text
|
||||
editor (console only)")
|
||||
(build-system gnu-build-system)
|
||||
(inputs (fold alist-delete
|
||||
(package-inputs emacs)
|
||||
'("libx11" "gtk+" "libxft" "libtiff" "giflib" "libjpeg"
|
||||
"imagemagick" "libpng" "librsvg" "libxpm" "libice"
|
||||
"libsm" "cairo" "pango" "harfbuzz"
|
||||
|
||||
;; These depend on libx11, so remove them as well.
|
||||
"libotf" "m17n-lib" "dbus")))
|
||||
(inputs (modify-inputs (package-inputs emacs)
|
||||
(delete "libx11" "gtk+" "libxft" "libtiff" "giflib" "libjpeg"
|
||||
"imagemagick" "libpng" "librsvg" "libxpm" "libice"
|
||||
"libsm" "cairo" "pango" "harfbuzz"
|
||||
;; These depend on libx11, so remove them as well.
|
||||
"libotf" "m17n-lib" "dbus")))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments emacs)
|
||||
((#:configure-flags flags ''())
|
||||
`(delete "--with-cairo" ,flags))
|
||||
((#:configure-flags flags #~'())
|
||||
#~(delete "--with-cairo" #$flags))
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(delete 'restore-emacs-pdmp)
|
||||
(delete 'strip-double-wrap)))))))
|
||||
#~(modify-phases #$phases
|
||||
(delete 'restore-emacs-pdmp)
|
||||
(delete 'strip-double-wrap)))))))
|
||||
|
||||
(define-public emacs-no-x-toolkit
|
||||
(package/inherit emacs
|
||||
@ -443,14 +423,15 @@ editor (console only)")
|
||||
(synopsis "The extensible, customizable, self-documenting text
|
||||
editor (without an X toolkit)" )
|
||||
(build-system gnu-build-system)
|
||||
(inputs (append `(("inotify-tools" ,inotify-tools))
|
||||
(alist-delete "gtk+" (package-inputs emacs))))
|
||||
(inputs (modify-inputs (package-inputs emacs)
|
||||
(delete "gtk+")
|
||||
(prepend inotify-tools)))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments emacs)
|
||||
((#:configure-flags flags ''())
|
||||
`(cons "--with-x-toolkit=no" ,flags))
|
||||
((#:configure-flags flags #~'())
|
||||
#~(cons "--with-x-toolkit=no" #$flags))
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
#~(modify-phases #$phases
|
||||
(delete 'restore-emacs-pdmp)
|
||||
(delete 'strip-double-wrap)))))))
|
||||
|
||||
@ -462,7 +443,7 @@ editor (with wide ints)" )
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments emacs)
|
||||
((#:configure-flags flags)
|
||||
`(cons "--with-wide-int" ,flags))))))
|
||||
#~(cons "--with-wide-int" #$flags))))))
|
||||
|
||||
(define-public guile-emacs
|
||||
(let ((commit "41120e0f595b16387eebfbf731fff70481de1b4b")
|
||||
|
@ -11,6 +11,7 @@
|
||||
;;; Copyright © 2020, 2021, 2022 Simon South <simon@simonsouth.net>
|
||||
;;; Copyright © 2021 Morgan Smith <Morgan.J.Smith@outlook.com>
|
||||
;;; Copyright © 2022 Mathieu Othacehe <othacehe@gnu.org>
|
||||
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -1647,17 +1648,22 @@ whereas kdmx creates pseudo-ttys.")
|
||||
(define-public mbed-tools
|
||||
(package
|
||||
(name "mbed-tools")
|
||||
(version "7.49.1")
|
||||
(version "7.53.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "mbed-tools" version))
|
||||
(sha256
|
||||
(base32
|
||||
"07w1h1093xzpg8agw9hjhki5856mam2c6f3q7jb2866n82cihkg9"))))
|
||||
"0gdmyxy97bqr9bmkg90v3axmrr2db734nwzq2l05z84x9qiarc9i"))))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'relax-requirements
|
||||
(lambda _
|
||||
(substitute* "setup.py"
|
||||
(("\"Click>=7.1,<8\"")
|
||||
"\"Click>=7.1\""))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
|
@ -32,6 +32,7 @@
|
||||
;;; Copyright © 2022 Peter Polidoro <peter@polidoro.io>
|
||||
;;; Copyright © 2022 Malte Frank Gerdes <malte.f.gerdes@gmail.com>
|
||||
;;; Copyright © 2022 Konstantinos Agiannis <agiannis.kon@gmail.com>
|
||||
;;; Copyright © 2022 Greg Hogan <code@greghogan.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -2803,13 +2804,13 @@ GUI.")
|
||||
(define-public poke
|
||||
(package
|
||||
(name "poke")
|
||||
(version "2.1")
|
||||
(version "2.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/poke/poke-" version
|
||||
".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0w168jcjahl3jawkhnh0dc10mcw4nwv4yawwc8xhqm5w3dn8wlnd"))
|
||||
(base32 "0rn7ph7fvbwasf7jhai122sniqjkw81p0kvbxjlv6z6s2q8wz41n"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
@ -1369,7 +1369,7 @@ On Guix System, you will need to invoke the included shell scripts as
|
||||
(define-public mergerfs
|
||||
(package
|
||||
(name "mergerfs")
|
||||
(version "2.32.6")
|
||||
(version "2.33.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@ -1377,7 +1377,7 @@ On Guix System, you will need to invoke the included shell scripts as
|
||||
"releases/download/" version "/"
|
||||
"mergerfs-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "08gwi094ll0b7nf2i44fyjxiyvr45rp766npbdyw0yzyigas8a2f"))))
|
||||
(base32 "0m0fg191ax855yb20vqpvn6v2gc3i5xdizx09pgpymj1ybxc7yyw"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags
|
||||
|
@ -14,7 +14,7 @@
|
||||
;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2020 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2016 Toni Reina <areina@riseup.net>
|
||||
;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017–2022 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017 José Miguel Sánchez García <jmi2k@openmailbox.com>
|
||||
;;; Copyright © 2017 Alex Griffin <a@ajgrf.com>
|
||||
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
|
||||
@ -47,6 +47,7 @@
|
||||
;;; Copyright © 2022 Kitzman <kitzman@disroot.org>
|
||||
;;; Copyright © 2021 Wamm K. D. <jaft.r@outlook.com>
|
||||
;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
|
||||
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -69,11 +70,13 @@
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system font)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (gnu packages c)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages compression)
|
||||
@ -266,6 +269,29 @@ The Lato 2.010 family supports more than 100 Latin-based languages, over
|
||||
50 Cyrillic-based languages as well as Greek and IPA phonetics.")
|
||||
(license license:silofl1.1)))
|
||||
|
||||
(define-public font-gfs-ambrosia
|
||||
;; Based on
|
||||
;; https://src.fedoraproject.org/rpms/gfs-ambrosia-fonts
|
||||
;; /blob/rawhide/f/gfs-ambrosia-fonts.spec.
|
||||
(package
|
||||
(name "font-gfs-ambrosia")
|
||||
(version "20080624")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.greekfontsociety-gfs.gr/"
|
||||
"_assets/fonts/GFS_Ambrosia.zip"))
|
||||
(sha256
|
||||
(base32
|
||||
"0vnnsal61slgj9r4q35wiznd4mbcv49dl18n91s3nvv6jzd4r8b4"))))
|
||||
(build-system font-build-system)
|
||||
(home-page "https://www.greekfontsociety-gfs.gr/")
|
||||
(synopsis "GFS Ambrosia, a Greek majuscule font family")
|
||||
(description "GFS Ambrosia is a Greek typeface that has the main
|
||||
characteristics of the majuscule forms of the early Christian tradition. The
|
||||
font is provided in the OpenType font (OTF) format.")
|
||||
(license license:silofl1.1)))
|
||||
|
||||
(define-public font-gnu-freefont
|
||||
(package
|
||||
(name "font-gnu-freefont")
|
||||
@ -695,6 +721,49 @@ following fonts in the OpenType format: Adventor, Bonum, Chorus, Cursor,
|
||||
Heros, Pagella, Schola, Termes.")
|
||||
(license license:gfl1.0)))
|
||||
|
||||
(define-public font-amiri
|
||||
(package
|
||||
(name "font-amiri")
|
||||
(version "0.114")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/aliftype/amiri")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"01d54i68pmy37fhvxv8kld3iqlc1m0vr871zd66y5y4c7kn2v7as"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:imported-modules `(,@%gnu-build-system-modules
|
||||
(guix build font-build-system))
|
||||
#:modules `(,@%gnu-build-system-modules
|
||||
((guix build font-build-system) #:prefix font:))
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(replace 'install
|
||||
(assoc-ref font:%standard-phases 'install)))))
|
||||
(native-inputs
|
||||
(list python-fonttools
|
||||
python-pcpp
|
||||
python-opentype-sanitizer
|
||||
python-sfdlib
|
||||
python-ufolib2
|
||||
python-ufo2ft
|
||||
python-wrapper))
|
||||
(home-page "https://www.amirifont.org/")
|
||||
(synopsis "Body text Naskh typeface")
|
||||
(description "Amiri (أميري) is a classical Arabic typeface in Naskh style
|
||||
for typesetting books and other running text. Amiri is a revival of the
|
||||
typeface pioneered in early 20th century by Bulaq Press in Cairo, also known
|
||||
as Amiria Press, after which the font is named. The uniqueness of this
|
||||
typeface comes from its balance between the beauty of Naskh calligraphy on one
|
||||
hand and the constraints and requirements of elegant typography on the
|
||||
other.")
|
||||
(license license:silofl1.1)))
|
||||
|
||||
(define-public font-anonymous-pro
|
||||
(package
|
||||
(name "font-anonymous-pro")
|
||||
@ -1003,7 +1072,7 @@ designed to work well in user interface environments.")
|
||||
(define-public font-adobe-source-sans-pro
|
||||
(package
|
||||
(name "font-adobe-source-sans-pro")
|
||||
(version "3.028R")
|
||||
(version "3.046R")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -1012,7 +1081,7 @@ designed to work well in user interface environments.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0lgjqi4d5p1q1z00ad807v5qy4z54gmp7jpdaypc0rxk8czv6zq7"))))
|
||||
(base32 "01dnhyfffnlyjzyh40x2z728qpc4i0jvrcxdcjfm17zrwhmw84lw"))))
|
||||
(build-system font-build-system)
|
||||
(home-page "https://github.com/adobe-fonts/source-sans-pro")
|
||||
(synopsis
|
||||
@ -1995,6 +2064,28 @@ displays (7SEG, 14SEG). DSEG includes the roman alphabet and symbol glyphs.
|
||||
This package provides the TrueType fonts.")
|
||||
(license license:silofl1.1)))
|
||||
|
||||
(define-public font-sil-ezra
|
||||
(package
|
||||
(name "font-sil-ezra")
|
||||
(version "2.51")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://software.sil.org/downloads/r/ezra/EzraSIL-"
|
||||
version ".zip"))
|
||||
(sha256
|
||||
(base32
|
||||
"1h8cfrvjdwxk963bw359jdg86bycwyyhvviqy6lwcfj7qhzcnszi"))))
|
||||
(build-system font-build-system)
|
||||
(home-page "https://software.sil.org/ezra/")
|
||||
(synopsis "Biblia Hebraica Stuttgartensia (BHS) typography inspired typeface")
|
||||
(description "Ezra SIL is a typeface fashioned after the square letter
|
||||
forms of the typography of the Biblia Hebraica Stuttgartensia (BHS), a
|
||||
beautiful Old Testament volume familiar to Biblical Hebrew scholars. This
|
||||
font package provides @code{Ezra SIL} as well as @code{Ezra SIL SR}, which has
|
||||
a different style of marking.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public font-jetbrains-mono
|
||||
(package
|
||||
(name "font-jetbrains-mono")
|
||||
|
@ -12,7 +12,7 @@
|
||||
;;; Copyright © 2019, 2020 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2020 Roel Janssen <roel@gnu.org>
|
||||
;;; Copyright © 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
|
||||
;;; Copyright © 2022 Felipe Balbi <balbi@kernel.org>
|
||||
@ -50,13 +50,17 @@
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages gperf)
|
||||
#:use-module (gnu packages graphics)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages java)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages man)
|
||||
#:use-module (gnu packages ninja)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-build)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages webkit)
|
||||
@ -65,10 +69,12 @@
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages tex)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix svn-download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system python)
|
||||
@ -108,6 +114,659 @@ anti-aliased glyph bitmap generation with 256 gray levels.")
|
||||
(license license:freetype) ; some files have other licenses
|
||||
(home-page "https://www.freetype.org/")))
|
||||
|
||||
(define-public opentype-sanitizer
|
||||
(package
|
||||
(name "opentype-sanitizer")
|
||||
(version "8.2.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/khaledhosny/ots"
|
||||
"/releases/download/v" version
|
||||
"/ots-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"17z8cxv48rfig5k7j3xk3bmbf7rm3kxsc3bazix96l0wws58r569"))))
|
||||
(build-system meson-build-system)
|
||||
(native-inputs (list googletest pkg-config))
|
||||
(inputs (list freetype lz4 woff2 zlib))
|
||||
(home-page "https://github.com/khaledhosny/ots")
|
||||
(synopsis "Sanitizer for OpenType fonts")
|
||||
(description "The OpenType Sanitizer (OTS) parses and serializes OpenType
|
||||
files (OTF, TTF) and WOFF and WOFF2 font files, validating them and sanitizing
|
||||
them as it goes.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-afdko
|
||||
(package
|
||||
(name "python-afdko")
|
||||
(version "3.8.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "afdko" version))
|
||||
(sha256
|
||||
(base32 "171r9f7n8fgz37dkcgpzj508lxfafcyzzx43ps12j1z2nk1sk905"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-problematic-requirements
|
||||
(lambda _
|
||||
(substitute* "requirements.txt"
|
||||
;; Remove lxml because the version requested here is different
|
||||
;; than the one propagated by the python-fonttools package.
|
||||
(("^lxml==.*") ""))))
|
||||
(add-after 'unpack 'patch-setup.py
|
||||
(lambda _
|
||||
;; There is no use for Python-provided CMake nor Ninja binaries.
|
||||
(substitute* '("pyproject.toml" "setup.py")
|
||||
((".*cmake.*") "")
|
||||
((".*ninja.*") ""))))
|
||||
(add-after 'unpack 'unbundle-antlr4-cpp
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("^include\\(ExternalAntlr4Cpp).*")
|
||||
(format #f "include_directories(SYSTEM ~a)"
|
||||
(search-input-directory inputs
|
||||
"include/antlr4-runtime"))))
|
||||
(substitute* "c/makeotf/lib/hotconv/CMakeLists.txt"
|
||||
(("antlr4_static")
|
||||
"antlr4-runtime"))))
|
||||
;; The test suite expects the commands to be Python rather than
|
||||
;; shell scripts, so move the wrap phase after the tests.
|
||||
(delete 'wrap)
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(setenv "HOME" "/tmp")
|
||||
(invoke "pytest" "-vv"))))
|
||||
(add-after 'check 'wrap
|
||||
(assoc-ref %standard-phases 'wrap))
|
||||
(add-before 'wrap 'wrap-PATH
|
||||
(lambda _
|
||||
;; The commands execute other commands from this package from
|
||||
;; PATH; by wrapping them with bindir, they can be found even
|
||||
;; when the command is run from its store location.
|
||||
(let* ((bindir (string-append #$output "/bin"))
|
||||
(commands (find-files bindir)))
|
||||
(for-each (lambda (c)
|
||||
(wrap-program c
|
||||
`("PATH" prefix (,bindir))))
|
||||
commands)))))))
|
||||
(native-inputs
|
||||
(list ninja python-pytest python-scikit-build python-wheel))
|
||||
(inputs (list java-antlr4-runtime-cpp `(,util-linux "lib")))
|
||||
(propagated-inputs
|
||||
(list psautohint
|
||||
python-booleanoperations
|
||||
python-defcon
|
||||
python-fontmath
|
||||
python-fonttools-next
|
||||
python-lxml
|
||||
python-tqdm
|
||||
python-ufonormalizer
|
||||
python-ufoprocessor))
|
||||
(home-page "https://github.com/adobe-type-tools/afdko")
|
||||
(synopsis "Adobe Font Development Kit for OpenType")
|
||||
(description "The Adobe Font Development Kit for OpenType (AFDKO) is a set
|
||||
of tools for building OpenType font (OTF) files from PostScript and TrueType
|
||||
font data. It includes the following commands:
|
||||
@table @command
|
||||
@item buildcff2vf
|
||||
Assemble a CFF2 variable font from a .designspace file.
|
||||
@item buildmasterotfs
|
||||
Build master source OpenType/CFF fonts from a @file{.designspace} file
|
||||
and UFO master source fonts.
|
||||
@item charplot
|
||||
@itemx digiplot
|
||||
@itemx fontplot
|
||||
@itemx fontsetplot
|
||||
@itemx hintplot
|
||||
@itemx waterfallplot
|
||||
Aliases for the corresponding options of the @command{proofpdf} command.
|
||||
@item checkoutlinesufo
|
||||
Perform outline quality checks. It can also remove path overlaps.
|
||||
@item comparefamily
|
||||
Look in a specific directory, examine and report on all the OpenType fonts found.
|
||||
@item type1
|
||||
@itemx detype1
|
||||
Compile and decompile, respectively, a Type 1 font to and from a plain-text
|
||||
representation.
|
||||
@item makeinstancesufo
|
||||
Generate UFO font instances from a set of master UFO fonts.
|
||||
@item makeotfexe
|
||||
Read all the font data and build the final OpenType font.
|
||||
@item makeotf
|
||||
This command can be used to prepare the input files needed by
|
||||
@command{makeotfexe}.
|
||||
@item mergefonts
|
||||
Merge one or more fonts into a parent font.
|
||||
@item otc2otf
|
||||
Extract all OpenType fonts from the parent OpenType Collection font.
|
||||
@item otf2otc
|
||||
Build an OpenType Collection font file from two or more OpenType font
|
||||
files.
|
||||
@item otf2ttf
|
||||
Converts OpenType-CFF fonts to TrueType.
|
||||
@item rotatefont
|
||||
Apply a Postscript transform matrix to the source font files.
|
||||
@item sfntdiff
|
||||
Low-level comparison of two OpenType font files.
|
||||
@item sfntedit
|
||||
Support table-editing, listing, and checksumming options on
|
||||
sfnt-formatted files such as OpenType Format (OTF) or TrueType.
|
||||
@item spot
|
||||
Dump sfnt data from plain files or Macintosh resource files.
|
||||
@item ttfcomponentizer
|
||||
Take in a TrueType font and look for a UFO font stored in the same directory.
|
||||
Use the UFO's components data to compose matching TrueType glyphs.
|
||||
@item ttfdecomponentizer
|
||||
Take in a TrueType font and decompose any composite glyphs into simple glyphs.
|
||||
@item ttxn
|
||||
Make a normalized dump of the font, or of selected tables.
|
||||
@item tx
|
||||
The @command{tx} (Type eXchange) is a test harness for the CoreType libraries
|
||||
but also provides many useful font conversion and analysis facilities.
|
||||
@end table")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python-cffsubr
|
||||
(package
|
||||
(name "python-cffsubr")
|
||||
(version "0.2.9.post1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "cffsubr" version))
|
||||
(modules '((guix build utils)))
|
||||
(snippet '(delete-file-recursively "external")) ;unbundle ADFKO
|
||||
(sha256
|
||||
(base32 "0p7wyagkmwf4agr6ysgswrpmpifx5rz8dnjbcs2gmj29rwnl2cbb"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-setup.py
|
||||
(lambda _
|
||||
(substitute* '("pyproject.toml"
|
||||
"setup.py")
|
||||
;; This is not needed when building the package.
|
||||
(("setuptools-git-ls-files") "")
|
||||
;; Do not attempt to build the unbundled ADFKO.
|
||||
(("cmdclass\\[\"build_ext\"] = ExecutableBuildExt.*")
|
||||
""))))
|
||||
(add-after 'unpack 'patch-tx-path
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(define tx (search-input-file inputs "bin/tx"))
|
||||
(substitute* "src/cffsubr/__init__.py"
|
||||
(("TX_EXE = \"tx\"")
|
||||
(format #f "TX_EXE = ~s" tx))
|
||||
;; Use the full 'tx' file name directly.
|
||||
(("with path\\(__name__, TX_EXE) as tx_cli:")
|
||||
"")
|
||||
((" (return subprocess.run\\(\\[)str\\(tx_cli)(].*)" _ h t)
|
||||
(format #f "~a~s~a" h tx t)))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "pytest" "-vv")))))))
|
||||
(native-inputs (list python-pytest python-setuptools-scm python-wheel))
|
||||
(inputs (list python-afdko))
|
||||
(propagated-inputs (list python-fonttools))
|
||||
(home-page "https://github.com/adobe-type-tools/cffsubr")
|
||||
(synopsis "Compact Font Format (CFF) subroutinizer")
|
||||
(description "This package provides the @command{cffsubr} command, a
|
||||
Compact Font Format (CFF) subroutinizer based on the Adobe Font Development
|
||||
Kit for OpenType (AFDKO) @command{tx} tool.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python-compreffor
|
||||
(package
|
||||
(name "python-compreffor")
|
||||
(version "0.5.1.post1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "compreffor" version))
|
||||
(sha256
|
||||
(base32 "1r3wqd67qnz8p6irv68mvadqv1nklgzw53376iarw3pq4gxrma36"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-setup.py
|
||||
(lambda _
|
||||
(substitute* "setup.py"
|
||||
;; Not actually needed.
|
||||
((", \"setuptools_git_ls_files\"") "")))))))
|
||||
(native-inputs (list python-pytest python-pytest-runner
|
||||
python-setuptools-scm))
|
||||
(propagated-inputs (list python-fonttools))
|
||||
(home-page "https://github.com/googlefonts/compreffor")
|
||||
(synopsis "Compact Font Format (CFF) subroutinizer for fontTools")
|
||||
(description "This package provides a Compact Font Format (CFF)
|
||||
subroutinizer for fontTools.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python-cu2qu
|
||||
(package
|
||||
(name "python-cu2qu")
|
||||
(version "1.6.7.post1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "cu2qu" version ".zip"))
|
||||
(sha256
|
||||
(base32 "1x762r7bf39g6aivfvrmq00h6f07abvs9x1xm0fz8l81vq8jz64c"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs (list python-fonttools-full))
|
||||
(native-inputs
|
||||
(list python-cython
|
||||
python-defcon
|
||||
python-pytest
|
||||
python-pytest-runner
|
||||
python-setuptools-scm
|
||||
unzip))
|
||||
(home-page "https://github.com/googlefonts/cu2qu")
|
||||
(synopsis "Cubic-to-quadratic bezier curve conversion")
|
||||
(description "This library provides functions which take in @acronym{UFO,
|
||||
Unified Font Object} objects (such as Defcon Fonts or Robofab RFonts) and
|
||||
converts any cubic curves to quadratic. The most useful function is probably
|
||||
@code{fonts_to_quadratic}.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python-ufo2ft
|
||||
(package
|
||||
(name "python-ufo2ft")
|
||||
(version "2.26.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "ufo2ft" version))
|
||||
(sha256
|
||||
(base32 "0a6iq5g6qdxj7nvip8nnf0mf8y5wmpd3wwq0dv7d4nm9bjrh0r6m"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs (list python-pytest python-pytest-runner))
|
||||
(propagated-inputs
|
||||
(list python-booleanoperations
|
||||
python-cffsubr
|
||||
python-compreffor
|
||||
python-cu2qu
|
||||
python-defcon
|
||||
python-fonttools
|
||||
python-skia-pathops
|
||||
python-ufolib2))
|
||||
(home-page "https://github.com/googlefonts/ufo2ft")
|
||||
(synopsis "Generate OpenType fonts from Unified Font Objects (UFOs)")
|
||||
(description "@code{ufo2ft} (UFO to FontTools) is a fork of @code{ufo2fdk}
|
||||
intended to leverage FontTools (a Python library) rather than the Adobe Font
|
||||
Development Kit for OpenType (AFDKO), a set of C libraries/utilities so that
|
||||
it can be more easily extended. Like @code{ufo2fdk}, its primary purpose is
|
||||
to generate OpenType font binaries from Unified Font Objects (UFOs).")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-fontmath
|
||||
(package
|
||||
(name "python-fontmath")
|
||||
(version "0.9.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "fontMath" version ".zip"))
|
||||
(sha256
|
||||
(base32 "001756zxn2386dm4svgqjgw5026hvyacxl09b2qlk7s06phpcphw"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs (list python-fonttools))
|
||||
(native-inputs
|
||||
(list python-setuptools-scm
|
||||
python-pytest
|
||||
python-pytest-runner
|
||||
python-wheel
|
||||
unzip))
|
||||
(home-page "https://github.com/robotools/fontMath")
|
||||
(synopsis "Fast font mathematical operations library")
|
||||
(description "This package provides a set of objects for performing fast
|
||||
font, glyph, etc. mathematical operations on font data.")
|
||||
(license license:expat)))
|
||||
|
||||
;;; An untested variant used to break a cycle with python-booleanoperations.
|
||||
(define-public python-fontpens-bootstrap
|
||||
(package
|
||||
(name "python-fontpens-bootstrap")
|
||||
(version "0.2.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "fontPens" version ".zip"))
|
||||
(sha256
|
||||
(base32 "1za15dzsnymq6d9x7xdfqwgw4a3003wj75fn2crhyidkfd2s3nd6"))))
|
||||
(build-system python-build-system)
|
||||
(arguments (list #:tests? #f))
|
||||
(propagated-inputs (list python-fonttools))
|
||||
(native-inputs (list unzip))
|
||||
(home-page "https://github.com/robofab-developers/fontPens")
|
||||
(synopsis "Python classes implementing the pen protocol")
|
||||
(description "This package provides a collection of Python classes
|
||||
implementing the pen protocol for manipulating glyphs.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-fontpens
|
||||
(hidden-package
|
||||
(package/inherit python-fontpens-bootstrap
|
||||
(name "python-fontpens")
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments python-fontpens-bootstrap)
|
||||
((#:tests? _ #f)
|
||||
#t)))
|
||||
(native-inputs
|
||||
(modify-inputs (package-native-inputs python-fontpens-bootstrap)
|
||||
(append python-fontparts-bootstrap
|
||||
python-fontpens-bootstrap
|
||||
python-pytest
|
||||
python-pytest-runner))))))
|
||||
|
||||
;;; A variant used to break a cycle with python-fontpens.
|
||||
(define-public python-fontparts-bootstrap
|
||||
(hidden-package
|
||||
(package
|
||||
(name "python-fontparts-bootstrap")
|
||||
(version "0.10.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "fontParts" version ".zip"))
|
||||
(sha256
|
||||
(base32 "1ic453q86s5hsw8mxnclk1vr4qp69fd67gywhv23zqwz9a7kb7lh"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
(list python-booleanoperations
|
||||
python-defcon-bootstrap
|
||||
python-fontmath
|
||||
python-fonttools))
|
||||
(native-inputs (list unzip))
|
||||
(home-page "https://github.com/robotools/fontParts")
|
||||
(synopsis "Library for interacting with font parts")
|
||||
(description "FontParts is an @acronym{API, Application Programming
|
||||
Interface} for interacting with the parts of fonts during the font development
|
||||
process. FontParts is the successor of RoboFab.")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public python-fontparts
|
||||
(package/inherit python-fontparts-bootstrap
|
||||
(name "python-fontparts")
|
||||
(propagated-inputs
|
||||
(modify-inputs (package-propagated-inputs python-fontparts-bootstrap)
|
||||
(replace "python-defcon-bootstrap" python-defcon)))
|
||||
(properties
|
||||
(alist-delete 'hidden?
|
||||
(package-properties python-fontparts-bootstrap)))))
|
||||
|
||||
(define-public python-opentype-sanitizer
|
||||
(package
|
||||
(name "python-opentype-sanitizer")
|
||||
(version "8.2.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "opentype-sanitizer" version))
|
||||
(sha256
|
||||
(base32 "1wjy6chbnj9ic5yjxal6spln5jfzr8cigqs6ab0gj7q60dndrl5k"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'unbundle-opentype-sanitizer
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(delete-file-recursively "src/c")
|
||||
(substitute* "setup.py"
|
||||
(("^cmdclass\\[\"download\"].*") "")
|
||||
(("^cmdclass\\[\"build_ext\"].*") "")
|
||||
(("^cmdclass\\[\"egg_info\"].*") ""))
|
||||
(substitute* "src/python/ots/__init__.py"
|
||||
(("^OTS_SANITIZE = .*")
|
||||
(format #f "OTS_SANITIZE = ~s~%"
|
||||
(search-input-file inputs "bin/ots-sanitize"))))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "pytest" "-vv")))))))
|
||||
(native-inputs (list python-pytest python-setuptools-scm))
|
||||
(inputs (list opentype-sanitizer))
|
||||
(home-page "https://github.com/googlefonts/ots-python")
|
||||
(synopsis "Python wrapper for OpenType Sanitizer")
|
||||
(description "Python wrapper for the OpenType Sanitizer library.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-mutatormath
|
||||
(package
|
||||
(name "python-mutatormath")
|
||||
(version "3.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "MutatorMath" version ".zip"))
|
||||
(sha256
|
||||
(base32 "0r1qq45np49x14zz1zwkaayqrn7m8dn2jlipjldg2ihnmpzw29w1"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs (list python-defcon python-fontmath python-fonttools))
|
||||
(native-inputs (list unzip))
|
||||
(home-page "https://github.com/LettError/MutatorMath")
|
||||
(synopsis "Piecewise linear interpolation Python library")
|
||||
(description "MutatorMath is a Python library for the calculation of
|
||||
piecewise linear interpolations in n-dimensions with any number of masters. It
|
||||
was developed for interpolating data related to fonts, but if can handle any
|
||||
arithmetic object.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public psautohint-font-data
|
||||
;; There is no release tag, so use the latest commit.
|
||||
(let ((revision "0")
|
||||
(commit "1e4c5061d328105c4dcfcb6fdbc27ec49b3e9d23"))
|
||||
(hidden-package
|
||||
(package
|
||||
(name "psautohint-font-data")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/adobe-type-tools/psautohint-testdata")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0p7g8mnndzp8zpbj9h6lkvfdpvd74fy10q8wmkagbg2ahbdi1zva"))))
|
||||
(build-system copy-build-system)
|
||||
(home-page "https://github.com/adobe-type-tools/psautohint-testdata")
|
||||
(synopsis "Test font data psautohint")
|
||||
(description "This package contains the font data used by the test
|
||||
suite of the @code{psautohint} package.")
|
||||
;; The bundle contains font data from the Cantarell, Libertinus, Source
|
||||
;; Code Pro, Source Serif Pro, all available under the same license.
|
||||
(license license:silofl1.1)))))
|
||||
|
||||
(define-public psautohint
|
||||
(package
|
||||
(name "psautohint")
|
||||
(version "2.4.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "psautohint" version))
|
||||
(sha256
|
||||
(base32 "0zzz7hy1kkkjfrrm9ly2di3xv2x1ywdqhbyqy21k670jysldw3nm"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'copy-font-data
|
||||
;; The data is copied as it needs to be writable for the tests.
|
||||
(lambda _
|
||||
(copy-recursively
|
||||
#$(this-package-native-input "psautohint-font-data")
|
||||
"tests/integration/data")
|
||||
(for-each make-file-writable
|
||||
(find-files "tests/integration/data"))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "pytest" "-vv")))))))
|
||||
(propagated-inputs (list python-fonttools))
|
||||
(native-inputs
|
||||
(list psautohint-font-data
|
||||
python-fs
|
||||
python-pytest
|
||||
python-pytest-cov
|
||||
python-pytest-randomly
|
||||
python-pytest-xdist
|
||||
python-setuptools-scm
|
||||
python-wheel))
|
||||
(home-page "https://github.com/adobe-type-tools/psautohint")
|
||||
(synopsis "Adobe's PostScript autohinter")
|
||||
(description "This package provides the @command{autohinter} command that
|
||||
can be used to hint PostScript fonts. A Python wrapper is also included.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python-sfdlib
|
||||
(package
|
||||
(name "python-sfdlib")
|
||||
(version "1.2.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/aliftype/sfdLib")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1q61km32i1h3cmn8nazcgsbzpm8q2nxp3kq3glqgfgvlxr1s3brm"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs (list python-ufolib2))
|
||||
(home-page "https://github.com/aliftype/sfdLib")
|
||||
(synopsis "Simple SFD to UFO converter")
|
||||
(description "This package provides the @command{sfd2ufo} command, a
|
||||
converter from FontForge’s @acronym{SFD, Spline Font Database} fonts to
|
||||
@acronym{UFO, Unified Font Object} fonts.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-skia-pathops
|
||||
(package
|
||||
(name "python-skia-pathops")
|
||||
(version "0.7.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "skia-pathops" version ".zip"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet '(delete-file-recursively "src/cpp")) ;140+ MiB of stuff
|
||||
(sha256
|
||||
(base32 "1456rclfn6a01c2cchlgyn166zppcjcqij0k5gwmm8gvzsd5rn0r"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'configure-env
|
||||
(lambda _
|
||||
(setenv "BUILD_SKIA_FROM_SOURCE" "0")))
|
||||
(add-after 'unpack 'adjust-c++-language
|
||||
(lambda _
|
||||
;; Our version of Skia requires c++17.
|
||||
(substitute* "setup.py"
|
||||
(("-std=c\\+\\+14")
|
||||
"-std=c++17"))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "pytest" "-vv")))))))
|
||||
(native-inputs
|
||||
(list pkg-config
|
||||
python-cython
|
||||
python-pytest
|
||||
python-setuptools-scm
|
||||
unzip))
|
||||
(inputs (list skia))
|
||||
(home-page "https://github.com/fonttools/skia-pathops")
|
||||
(synopsis "Python bindings for the Skia library's Path Ops module")
|
||||
(description "This package provides Python bindings for the Path Ops
|
||||
module of the Skia library, performing boolean operations on
|
||||
paths (intersection, union, difference, xor).")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-ufoprocessor
|
||||
(package
|
||||
(name "python-ufoprocessor")
|
||||
(version "1.9.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "ufoProcessor" version ".zip"))
|
||||
(sha256
|
||||
(base32 "0ns11aamgavgsfj8qf5kq7dvzmgl0mhr1cbych2f075ipfdvva5s"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
(list #:phases #~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
;; Most of the tests appear to be a work in
|
||||
;; progress; run only a subset.
|
||||
(invoke "python" "Tests/tests.py")))))))
|
||||
(propagated-inputs
|
||||
(list python-defcon
|
||||
python-fontmath
|
||||
python-fontparts
|
||||
python-fonttools
|
||||
python-mutatormath))
|
||||
(native-inputs (list unzip))
|
||||
(home-page "https://github.com/LettError/ufoProcessor")
|
||||
(synopsis "Process and generate @acronym{UFO, Unified Font Object} files")
|
||||
(description "This Python package processes and generates instances for
|
||||
@acronym{UFO, Unified Font Object} files, glyphs and other data. It can,
|
||||
among other things:
|
||||
@itemize
|
||||
@item Collect source materials.
|
||||
@item Provide mutators for specific glyphs, font info, kerning so that other
|
||||
tools can generate partial instances.
|
||||
@item Support designspace format 4 with layers.
|
||||
@item Apply avar-like designspace bending.
|
||||
@item Apply rules.
|
||||
@item Generate actual UFO instances in formats 2 and 3.
|
||||
@item Round geometry as requested.
|
||||
@end itemize")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-ufonormalizer
|
||||
(package
|
||||
(name "python-ufonormalizer")
|
||||
(version "0.6.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "ufonormalizer" version ".zip"))
|
||||
(sha256
|
||||
(base32 "0v5awian2alap7nvxfz38aahyqbqnma16nrqcpr8602hbbki04g6"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs (list python-setuptools-scm unzip))
|
||||
(home-page "https://github.com/unified-font-object/ufoNormalizer")
|
||||
(synopsis "Script to normalize @acronym{UFO, Unified Font Object} data")
|
||||
(description "The purpose of the @command{ufonormalizer} command is to
|
||||
provide a standard formatting so that updates to @acronym{UFO, Unified Font
|
||||
Object} data can be usefully versioned. Examples of formatting applied by
|
||||
ufoNormalizer include:
|
||||
@itemize
|
||||
@item Changing floating-point numbers to integers where it doesn't alter the
|
||||
value (e.g. @samp{x=\"95.0\"} becomes @samp{x=\"95\"})
|
||||
@item Rounding floating-point numbers to 10 digits
|
||||
@item Formatting XML with tabs rather than spaces.
|
||||
@end itemize")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public ttfautohint
|
||||
(package
|
||||
(name "ttfautohint")
|
||||
@ -737,6 +1396,52 @@ generate bitmaps.")
|
||||
`(("python" ,python-2)
|
||||
,@(alist-delete "python" (package-inputs fontforge))))))
|
||||
|
||||
(define-public python-ufolib2
|
||||
(package
|
||||
(name "python-ufolib2")
|
||||
(version "0.13.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "ufoLib2" version))
|
||||
(sha256
|
||||
(base32 "0yx4i8q5rfyqhr2fj70a7z1bp1jv7bdlr64ww9z4nv9ycbda4x9j"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; XXX: PEP 517 manual build copied from python-isort.
|
||||
(replace 'build
|
||||
(lambda _
|
||||
;; ZIP does not support timestamps before 1980.
|
||||
(setenv "SOURCE_DATE_EPOCH" "315532800")
|
||||
(invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "pytest" "-vv"))))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(let ((whl (car (find-files "dist" "\\.whl$"))))
|
||||
(invoke "pip" "--no-cache-dir" "--no-input"
|
||||
"install" "--no-deps" "--prefix" #$output whl)))))))
|
||||
(native-inputs
|
||||
(list python-pypa-build
|
||||
python-pytest
|
||||
python-setuptools-scm
|
||||
python-wheel))
|
||||
(propagated-inputs (list python-attrs python-fonttools-full))
|
||||
(home-page "https://github.com/fonttools/ufoLib2")
|
||||
(synopsis "Unified Font Object (UFO) font processing library")
|
||||
(description "The ufoLib2 Python library is meant to be a thin
|
||||
representation of the Unified Font Object (UFO) version 3 data model, intended
|
||||
for programmatic manipulation and fast batch processing of UFOs. It resembles
|
||||
the defcon library, but does without notifications, the layout engine and
|
||||
other support classes. Where useful and possible, ufoLib2 tries to be
|
||||
API-compatible with defcon.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python2-ufolib
|
||||
(package
|
||||
(name "python2-ufolib")
|
||||
@ -761,35 +1466,61 @@ generate bitmaps.")
|
||||
files. UFO is a file format that stores fonts source files.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python2-defcon
|
||||
;;; A variant used to break a cycle between python-fontpens and
|
||||
;;; python-fontparts.
|
||||
(define-public python-defcon-bootstrap
|
||||
(package
|
||||
(name "python2-defcon")
|
||||
(version "0.3.5")
|
||||
(name "python-defcon-bootstrap")
|
||||
(version "0.10.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "defcon" version ".zip"))
|
||||
(sha256
|
||||
(base32
|
||||
"03jlm2gy9lvbwj68kfdm43yaddwd634jwkdg4wf0jxx2s8mwbg22"))))
|
||||
(base32 "0g0bjwzdj6sskyh8snbxsxza3czdmvb807qv38mizx631cm8c2d0"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs (list python-fontpens-bootstrap python-fonttools-full))
|
||||
(native-inputs
|
||||
(list python-pytest
|
||||
python-pytest-runner
|
||||
python-setuptools-scm
|
||||
unzip))
|
||||
(home-page "https://github.com/robotools/defcon")
|
||||
(synopsis "Flexible objects for representing @acronym{UFO, unified font object} data")
|
||||
(description "Defcon is a set of @acronym{UFO, unified font object} based
|
||||
objects optimized for use in font editing applications. The objects are built
|
||||
to be lightweight, fast and flexible. The objects are very bare-bones and
|
||||
they are not meant to be end-all, be-all objects. Rather, they are meant to
|
||||
provide base functionality so that you can focus on your application’s
|
||||
behavior, not object observing or maintaining cached data. Defcon implements
|
||||
UFO3 as described by the UFO font format.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-defcon
|
||||
(hidden-package
|
||||
(package/inherit python-defcon-bootstrap
|
||||
(name "python-defcon")
|
||||
(propagated-inputs
|
||||
(modify-inputs (package-propagated-inputs python-defcon-bootstrap)
|
||||
(replace "python-fontpens-bootstrap" python-fontpens))))))
|
||||
|
||||
(define-public python2-defcon
|
||||
(package
|
||||
(inherit python-defcon)
|
||||
(name "python2-defcon")
|
||||
(version "0.3.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "defcon" version ".zip"))
|
||||
(sha256
|
||||
(base32
|
||||
"03jlm2gy9lvbwj68kfdm43yaddwd634jwkdg4wf0jxx2s8mwbg22"))))
|
||||
(arguments
|
||||
`(#:python ,python-2))
|
||||
(native-inputs
|
||||
(list unzip python2-pytest python2-pytest-runner))
|
||||
(propagated-inputs
|
||||
(list python2-fonttools python2-ufolib))
|
||||
(home-page "https://pypi.org/project/defcon/")
|
||||
(synopsis "Flexible objects for representing @acronym{UFO, unified font object} data")
|
||||
(description
|
||||
"Defcon is a set of @acronym{UFO, unified font object} based objects
|
||||
optimized for use in font editing applications. The objects are built to
|
||||
be lightweight, fast and flexible. The objects are very bare-bones and
|
||||
they are not meant to be end-all, be-all objects. Rather, they are meant
|
||||
to provide base functionality so that you can focus on your application’s
|
||||
behavior, not object observing or maintaining cached data. Defcon
|
||||
implements UFO3 as described by the UFO font format.")
|
||||
(license license:expat)))
|
||||
(list python2-fonttools python2-ufolib))))
|
||||
|
||||
(define-public nototools
|
||||
(package
|
||||
|
@ -57,6 +57,7 @@
|
||||
#:use-module (gnu packages inkscape)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages ssh)
|
||||
#:use-module (gnu packages tls)
|
||||
@ -1207,6 +1208,7 @@ extended file attributes. It also functions as a standalone command.")
|
||||
vala))
|
||||
(native-inputs
|
||||
(list pkg-config
|
||||
python-wrapper
|
||||
`(,glib "bin"))) ; for 'glib-compile-resources'
|
||||
(home-page "https://github.com/bitstower/markets")
|
||||
(synopsis "Stock, currency and cryptocurrency tracker")
|
||||
|
@ -446,7 +446,7 @@ services.")
|
||||
(list docbook-xml-4.1.2 gobject-introspection gtk-doc/stable
|
||||
pkg-config))
|
||||
(propagated-inputs
|
||||
(list glib libsoup libxml2))
|
||||
(list glib libsoup-minimal-2 libxml2))
|
||||
(synopsis "Glib library for feeds")
|
||||
(description "LibGRSS is a Glib abstraction to handle feeds in RSS, Atom,
|
||||
and other formats.")
|
||||
@ -557,7 +557,7 @@ bindings.")
|
||||
("xscrnsaver" ,libxscrnsaver)))
|
||||
(propagated-inputs
|
||||
`(("glib" ,glib)
|
||||
("webkit" ,webkitgtk)))
|
||||
("webkit" ,webkitgtk-with-libsoup2)))
|
||||
(synopsis "GObject JavaScriptCore bridge")
|
||||
(description "Seed is a library and interpreter, dynamically bridging
|
||||
(through GObjectIntrospection) the WebKit JavaScriptCore engine, with the
|
||||
@ -11942,7 +11942,8 @@ and toolbars.")
|
||||
("gettext" ,gettext-minimal)
|
||||
("glib:bin" ,glib "bin")
|
||||
("gobject-introspection" ,gobject-introspection)
|
||||
("gtk+:bin" ,gtk+ "bin")))
|
||||
("gtk+:bin" ,gtk+ "bin")
|
||||
("python-wrapper" ,python-wrapper)))
|
||||
(inputs
|
||||
`(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
|
||||
("gspell" ,gspell)
|
||||
|
@ -55,6 +55,7 @@
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages build-tools)
|
||||
#:use-module (gnu packages cdrom)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
@ -88,6 +89,7 @@
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages mp3)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages ninja)
|
||||
#:use-module (gnu packages pciutils)
|
||||
#:use-module (gnu packages pdf)
|
||||
#:use-module (gnu packages perl)
|
||||
@ -98,6 +100,7 @@
|
||||
#:use-module (gnu packages pth)
|
||||
#:use-module (gnu packages pulseaudio) ; libsndfile, libsamplerate
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-build)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages readline)
|
||||
@ -806,6 +809,31 @@ basic geometries.")
|
||||
;; https://gitlab.com/inkscape/inkscape/issues/784).
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public python-booleanoperations
|
||||
(package
|
||||
(name "python-booleanoperations")
|
||||
(version "0.9.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "booleanOperations" version ".zip"))
|
||||
(sha256
|
||||
(base32 "1f41lb19m8azchl1aqz6j5ycbspb8jsf1cnn42hlydxd68f85ylc"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs (list python-fonttools python-pyclipper))
|
||||
(native-inputs
|
||||
(list python-defcon-bootstrap
|
||||
python-fontpens-bootstrap
|
||||
python-pytest
|
||||
python-wheel
|
||||
unzip))
|
||||
(home-page "https://github.com/typemytype/booleanOperations")
|
||||
(synopsis "Boolean operations on paths")
|
||||
(description "Boolean operations on paths which uses a super fast
|
||||
@url{http://www.angusj.com/delphi/clipper.php, polygon clipper library by
|
||||
Angus Johnson}.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public pstoedit
|
||||
(package
|
||||
(name "pstoedit")
|
||||
@ -1832,6 +1860,113 @@ library for 3D visualization and visual simulation software in the scientific
|
||||
and engineering community.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public skia
|
||||
;; Releases follow those of Chromium, about every 6 weeks. The release
|
||||
;; version can be found on this page:
|
||||
;; https://skia.org/docs/user/release/release_notes/. The commit used
|
||||
;; should be the last commit, as recommended at
|
||||
;; https://skia.org/docs/user/release/.
|
||||
(let ((version "98")
|
||||
(revision "0")
|
||||
(commit "55c56abac381e1ae3f0116c410bed81b05e0a38a"))
|
||||
(package
|
||||
(name "skia")
|
||||
(version (git-version version revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://skia.googlesource.com/skia.git")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ldns2j1g2wj2phlxr9zqkdgs5g64pisxhwxcrq9ijn8a3jhafr2"))))
|
||||
(build-system gnu-build-system) ;actually GN + Ninja
|
||||
(arguments
|
||||
(list
|
||||
;; Running the test suite would require 'dm'; unfortunately the tool
|
||||
;; can only be built for debug builds, which require fetching third
|
||||
;; party sources.
|
||||
#:tests? #f
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "BUILD.gn"
|
||||
;; Workaround a bug in the zlib third_party definition, that
|
||||
;; fails the build even when zlib is found from the system.
|
||||
(("deps = \\[ \"//third_party/zlib\" ]")
|
||||
"deps = []"))
|
||||
(invoke "gn" "gen" "build"
|
||||
(string-append
|
||||
;;
|
||||
"--args="
|
||||
"cc=\"gcc\" " ;defaults to 'cc'
|
||||
"is_official_build=true " ;to use system libraries
|
||||
"is_component_build=true " ;build as a shared library
|
||||
;; Specify where locate the harfbuzz and freetype
|
||||
;; includes.
|
||||
(format #f "extra_cflags=[\"-I~a\",\"-I~a\"] "
|
||||
(search-input-directory inputs
|
||||
"include/harfbuzz")
|
||||
(search-input-directory inputs
|
||||
"include/freetype2"))
|
||||
;; Otherwise the validate-runpath phase fails.
|
||||
"extra_ldflags=[\"-Wl,-rpath=" #$output "/lib\"] "
|
||||
;; Disabled, otherwise the build system attempts to
|
||||
;; download the SDK at build time.
|
||||
"skia_use_dng_sdk=false "))))
|
||||
(replace 'build
|
||||
(lambda* (#:key parallel-build? #:allow-other-keys)
|
||||
(let ((job-count (if parallel-build?
|
||||
(number->string (parallel-job-count))
|
||||
"1")))
|
||||
(invoke "ninja" "-j" job-count "-C" "build"))))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
;; Install headers.
|
||||
(for-each (lambda (h)
|
||||
(install-file h (string-append
|
||||
#$output "/include/skia/"
|
||||
(dirname h))))
|
||||
(find-files "." "\\.h$"))
|
||||
;; Install libraries.
|
||||
(for-each (lambda (lib)
|
||||
(install-file lib (string-append #$output "/lib")))
|
||||
(find-files "build" "^lib.*\\.(a|so)"))
|
||||
;; This pkgconfig file is useful at least to the
|
||||
;; python-skia-pathops package.
|
||||
(define skia.pc (string-append #$output
|
||||
"/lib/pkgconfig/skia.pc"))
|
||||
(mkdir-p (dirname skia.pc))
|
||||
(call-with-output-file skia.pc
|
||||
(lambda (port)
|
||||
(format port "\
|
||||
prefix=~a
|
||||
exec_prefix=${prefix}
|
||||
libdir=${prefix}/lib
|
||||
includedir=${prefix}/include/skia
|
||||
|
||||
Name: skia
|
||||
Description: 2D graphic library for drawing text, geometries and images.
|
||||
URL: https://skia.org/
|
||||
Version: ~a
|
||||
Libs: -L${libdir} -lskia
|
||||
Cflags: -I${includedir}~%" #$output #$version))))))))
|
||||
(native-inputs (list gn libjpeg-turbo ninja pkg-config python-wrapper))
|
||||
(inputs (list expat fontconfig freetype harfbuzz mesa libwebp zlib))
|
||||
(home-page "https://skia.org/")
|
||||
(synopsis "2D graphics library")
|
||||
(description "Skia is an open source 2D graphics library. It can be
|
||||
used for drawing text, geometries, and images and has support for:
|
||||
@itemize
|
||||
@item 3x3 matrices with perspective
|
||||
@item antialiasing, transparency, filters
|
||||
@item shaders, xfermodes, maskfilters, patheffects
|
||||
@item subpixel text
|
||||
@end itemize")
|
||||
(license license:bsd-3))))
|
||||
|
||||
(define-public superfamiconv
|
||||
(package
|
||||
(name "superfamiconv")
|
||||
|
@ -16,7 +16,7 @@
|
||||
;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>
|
||||
;;; Copyright © 2017 Nikita <nikita@n0.is>
|
||||
;;; Copyright © 2017, 2018, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2018, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2018, 2019, 2020, 2021, 2022 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
|
||||
;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
|
||||
@ -135,14 +135,14 @@
|
||||
(define-public artanis
|
||||
(package
|
||||
(name "artanis")
|
||||
(version "0.5")
|
||||
(version "0.5.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/artanis/artanis-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1vk1kp2xhz35xa5n27cxlq9c88wk6qm7fqaac8rb0pb6k9pvsv7v"))
|
||||
"1zfg49s7wp37px7k22qcr06rxfwyn3gv1c3jmma346xw0m8jr63w"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
@ -153,7 +153,8 @@
|
||||
(delete-file-recursively "artanis/third-party/redis")
|
||||
(substitute* '("artanis/artanis.scm"
|
||||
"artanis/lpc.scm"
|
||||
"artanis/oht.scm")
|
||||
"artanis/oht.scm"
|
||||
"artanis/tpl/parser.scm")
|
||||
(("(#:use-module \\()artanis third-party (json\\))" _
|
||||
use-module json)
|
||||
(string-append use-module json)))
|
||||
@ -182,9 +183,9 @@
|
||||
(propagated-inputs
|
||||
(list guile-json-3 guile-readline guile-redis))
|
||||
(native-inputs
|
||||
`(("bash" ,bash) ;for the `source' builtin
|
||||
("pkgconfig" ,pkg-config)
|
||||
("util-linux" ,util-linux))) ;for the `script' command
|
||||
(list bash-minimal ;for the `source' builtin
|
||||
pkg-config
|
||||
util-linux)) ;for the `script' command
|
||||
(arguments
|
||||
`(#:modules (((guix build guile-build-system)
|
||||
#:select (target-guile-effective-version))
|
||||
@ -1772,7 +1773,7 @@ provides tight coupling to Guix.")
|
||||
(define-public guile-ics
|
||||
(package
|
||||
(name "guile-ics")
|
||||
(version "0.2.0")
|
||||
(version "0.2.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@ -1781,26 +1782,17 @@ provides tight coupling to Guix.")
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0qjjvadr7gibdq9jvwkmlkb4afsw9n2shfj9phpiadinxk3p4m2g"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; Allow builds with Guile 3.0.
|
||||
(substitute* "configure.ac"
|
||||
(("^GUILE_PKG.*")
|
||||
"GUILE_PKG([3.0 2.2 2.0])\n"))
|
||||
#t))))
|
||||
"11wv6qk8xd4sd8s97mnw383p098ffivk0na4jii76r5wbmg1wd7q"))
|
||||
(modules '((guix build utils)))))
|
||||
(build-system gnu-build-system)
|
||||
;; XXX: Tests expect 'test-runner-current' to not return #f after
|
||||
;; 'test-end', which is no longer the case in Guile 3.0.7.
|
||||
(arguments '(#:tests? #f))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("texinfo" ,texinfo)
|
||||
;; Gettext brings 'AC_LIB_LINKFLAGS_FROM_LIBS'.
|
||||
("gettext" ,gettext-minimal)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(list autoconf
|
||||
automake
|
||||
texinfo
|
||||
;; Gettext brings 'AC_LIB_LINKFLAGS_FROM_LIBS'.
|
||||
gettext-minimal
|
||||
help2man
|
||||
pkg-config))
|
||||
(inputs (list guile-3.0 which))
|
||||
(propagated-inputs (list guile-lib))
|
||||
(home-page "https://github.com/artyom-poptsov/guile-ics")
|
||||
@ -3343,7 +3335,7 @@ or errors (Left).")
|
||||
guile-lib
|
||||
guile-readline
|
||||
freeglut
|
||||
webkitgtk))
|
||||
webkitgtk-with-libsoup2))
|
||||
(propagated-inputs
|
||||
`(("glib-networking" ,glib-networking)
|
||||
("gssettings-desktop-schemas" ,gsettings-desktop-schemas)))
|
||||
@ -3359,8 +3351,7 @@ or errors (Left).")
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'setenv
|
||||
(lambda _
|
||||
(setenv "GUILE_AUTO_COMPILE" "0")
|
||||
#t))
|
||||
(setenv "GUILE_AUTO_COMPILE" "0")))
|
||||
(add-after 'install 'wrap-binaries
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
@ -3381,8 +3372,7 @@ or errors (Left).")
|
||||
(map (cut wrap-program <>
|
||||
`("GUILE_LOAD_PATH" ":" prefix ,scm-path)
|
||||
`("GUILE_LOAD_COMPILED_PATH" ":" prefix ,go-path))
|
||||
progs)
|
||||
#t))))))
|
||||
progs)))))))
|
||||
(home-page "https://savannah.nongnu.org/projects/emacsy")
|
||||
(synopsis "Embeddable GNU Emacs-like library using Guile")
|
||||
(description
|
||||
|
@ -11,7 +11,7 @@
|
||||
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
|
||||
;;; Copyright © 2019, 2020 Kyle Meyer <kyle@kyleam.com>
|
||||
;;; Copyright © 2015 John Soo <jsoo1@asu.edu>
|
||||
;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2019, 2020, 2022 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2019, 2020 Alex Griffin <a@ajgrf.com>
|
||||
;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@member.fsf.org>
|
||||
;;; Copyright © 2020 Brian Leung <bkleung89@gmail.com>
|
||||
@ -404,12 +404,16 @@ to @code{cabal repl}).")
|
||||
(inputs
|
||||
(list curl
|
||||
ghc-aeson
|
||||
ghc-ansi-terminal
|
||||
ghc-async
|
||||
ghc-attoparsec
|
||||
ghc-aws
|
||||
ghc-bloomfilter
|
||||
ghc-byteable
|
||||
ghc-case-insensitive
|
||||
ghc-concurrent-output
|
||||
ghc-conduit
|
||||
ghc-connection
|
||||
ghc-crypto-api
|
||||
ghc-cryptonite
|
||||
ghc-data-default
|
||||
@ -417,26 +421,28 @@ to @code{cabal repl}).")
|
||||
ghc-disk-free-space
|
||||
ghc-dlist
|
||||
ghc-edit-distance
|
||||
ghc-esqueleto
|
||||
ghc-exceptions
|
||||
ghc-feed
|
||||
ghc-filepath-bytestring
|
||||
ghc-free
|
||||
ghc-hinotify
|
||||
ghc-hslogger
|
||||
ghc-http-client
|
||||
ghc-http-client-tls
|
||||
ghc-http-client-restricted
|
||||
ghc-http-conduit
|
||||
ghc-http-types
|
||||
ghc-ifelse
|
||||
ghc-magic
|
||||
ghc-memory
|
||||
ghc-microlens
|
||||
ghc-monad-control
|
||||
ghc-monad-logger
|
||||
ghc-mountpoints
|
||||
ghc-network
|
||||
ghc-network-bsd
|
||||
ghc-network-info
|
||||
ghc-network-multicast
|
||||
ghc-network-uri
|
||||
ghc-old-locale
|
||||
ghc-optparse-applicative
|
||||
ghc-persistent
|
||||
@ -454,10 +460,13 @@ to @code{cabal repl}).")
|
||||
ghc-stm-chans
|
||||
ghc-tagsoup
|
||||
ghc-torrent
|
||||
ghc-transformers
|
||||
ghc-unix-compat
|
||||
ghc-unliftio-core
|
||||
ghc-unordered-containers
|
||||
ghc-utf8-string
|
||||
ghc-uuid
|
||||
ghc-vector
|
||||
git
|
||||
rsync))
|
||||
(native-inputs
|
||||
|
@ -9,11 +9,11 @@
|
||||
;;; Copyright © 2017, 2019, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018, 2019 Gábor Boskovits <boskovits@gmail.com>
|
||||
;;; Copyright © 2018 Chris Marusich <cmmarusich@gmail.com>
|
||||
;;; Copyright © 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018, 2019, 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2019, 2020, 2021 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
|
||||
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org>
|
||||
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2020, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2021 Vincent Legoll <vincent.legoll@gmail.com>
|
||||
;;; Copyright © 2021 Mike Gerwitz <mtg@gnu.org>
|
||||
;;; Copyright © 2021 Pierre Langlois <pierre.langlois@gmx.com>
|
||||
@ -45,6 +45,7 @@
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix build-system ant)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system maven)
|
||||
#:use-module (guix build-system trivial)
|
||||
@ -1768,7 +1769,7 @@ new Date();"))
|
||||
(define-public openjdk11
|
||||
(package
|
||||
(name "openjdk")
|
||||
(version "11.0.13")
|
||||
(version "11.0.15")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://openjdk-sources.osci.io/openjdk11/openjdk-"
|
||||
@ -1776,7 +1777,7 @@ new Date();"))
|
||||
(file-name (string-append name "-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0xavz7msaadprq65p5bhp6sxcyp12p0zlbhb3aaz0cvp21c9pdm9"))
|
||||
"0di91nnms2iq1svgq72r5y17am17r4vh2lq43k0bkcwpc84d6nd8"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
`(begin
|
||||
@ -1819,8 +1820,8 @@ new Date();"))
|
||||
(lambda _
|
||||
;; This file was "fixed" by patch-source-shebangs, but it requires
|
||||
;; this exact first line.
|
||||
(substitute* "make/data/blacklistedcertsconverter/blacklisted.certs.pem"
|
||||
(("^#!.*") "#! java BlacklistedCertsConverter SHA-256\n"))
|
||||
(substitute* "make/data/blockedcertsconverter/blocked.certs.pem"
|
||||
(("^#!.*") "#! java BlockedCertsConverter SHA-256\n"))
|
||||
#t))
|
||||
(add-after 'unpack 'patch-jni-libs
|
||||
;; Hardcode dynamically loaded libraries.
|
||||
@ -2054,6 +2055,16 @@ new Date();"))
|
||||
`(begin
|
||||
(for-each delete-file (find-files "." ".*.(bin|exe|jar)$"))
|
||||
#t))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments openjdk11)
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(replace 'fix-java-shebangs
|
||||
(lambda _
|
||||
;; This file was "fixed" by patch-source-shebangs, but it requires
|
||||
;; this exact first line.
|
||||
(substitute* "make/data/blacklistedcertsconverter/blacklisted.certs.pem"
|
||||
(("^#!.*") "#! java BlacklistedCertsConverter SHA-256\n"))))))))
|
||||
(inputs
|
||||
`(("alsa-lib" ,alsa-lib)
|
||||
("cups" ,cups)
|
||||
@ -8619,6 +8630,38 @@ actual rendering.")
|
||||
sources by ANTLR.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public java-antlr4-runtime-cpp
|
||||
(package
|
||||
(inherit java-antlr4-runtime)
|
||||
(name "java-antlr4-runtime-cpp")
|
||||
(outputs '("out" "static"))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; TODO: try to run the tests under
|
||||
;; runtime-testsuite/test/org/antlr/v4/test/runtime/cpp with antlr4.
|
||||
#:tests? #f ;no CMake test target
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'chdir
|
||||
(lambda _
|
||||
(chdir "runtime/Cpp")))
|
||||
(add-after 'install 'move-static-library
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((static (assoc-ref outputs "static"))
|
||||
(libantlr4-runtime.a (search-input-file
|
||||
outputs "lib/libantlr4-runtime.a")))
|
||||
(mkdir-p (string-append static "/lib"))
|
||||
(rename-file
|
||||
libantlr4-runtime.a
|
||||
(string-append static "/lib/"
|
||||
(basename libantlr4-runtime.a)))))))))
|
||||
(native-inputs (list pkg-config))
|
||||
(inputs (list `(,util-linux "lib"))) ;libuuid
|
||||
(synopsis "ANTL C++ runtime library")
|
||||
(description "This package contains the C++ runtime library used with C++
|
||||
generated sources by ANTLR.")))
|
||||
|
||||
(define-public antlr4
|
||||
(package
|
||||
(inherit java-antlr4-runtime)
|
||||
|
@ -2,7 +2,7 @@
|
||||
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2017, 2019, 2020, 2022 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2017, 2018, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017, 2018, 2019, 2020, 2022 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2021 Pierre Neidhardt <mail@ambrevar.xyz>
|
||||
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
@ -34,6 +34,7 @@
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages uglifyjs)
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
@ -681,7 +682,7 @@ external server.")
|
||||
(define-public mujs
|
||||
(package
|
||||
(name "mujs")
|
||||
(version "1.1.3")
|
||||
(version "1.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -690,19 +691,27 @@ external server.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0qizld89qw24i9v6i2j9cxjyqn425xbiqfp1b7qfrkyxqkn0byws"))))
|
||||
(base32 "0kqw3xhjk4l2jar14a1f9b3m0xq0h2g3nc9m6hsdv7kf8jhfm83l"))
|
||||
(snippet
|
||||
#~(begin
|
||||
(use-modules (guix build utils))
|
||||
(for-each delete-file
|
||||
(list "astnames.h"
|
||||
"opnames.h"
|
||||
"one.c"))))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure) ; no configure script
|
||||
(replace 'install
|
||||
(lambda* (#:key (make-flags '()) #:allow-other-keys)
|
||||
(apply invoke "make" "install-shared" make-flags))))
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure) ; no configure script
|
||||
(replace 'install
|
||||
(lambda* (#:key (make-flags '()) #:allow-other-keys)
|
||||
(apply invoke "make" "install-shared" make-flags))))
|
||||
#:make-flags
|
||||
(list ,(string-append "VERSION=" version)
|
||||
,(string-append "CC=" (cc-for-target))
|
||||
(string-append "prefix=" (assoc-ref %outputs "out")))
|
||||
#~(list (string-append "VERSION=" #$version)
|
||||
(string-append "CC=" #$(cc-for-target))
|
||||
(string-append "prefix=" #$output))
|
||||
#:tests? #f)) ; no tests
|
||||
(inputs
|
||||
(list readline))
|
||||
|
@ -3,6 +3,7 @@
|
||||
;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2021 Hugo Lecomte <hugo.lecomte@inria.fr>
|
||||
;;; Copyright © 2022 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -21,6 +22,7 @@
|
||||
|
||||
(define-module (gnu packages jupyter)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
@ -29,6 +31,7 @@
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages cpp)
|
||||
#:use-module (gnu packages docker)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages monitoring)
|
||||
#:use-module (gnu packages networking)
|
||||
@ -46,21 +49,24 @@
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages sphinx)
|
||||
#:use-module (gnu packages serialization)
|
||||
#:use-module (gnu packages docker))
|
||||
#:use-module (gnu packages version-control))
|
||||
|
||||
(define-public python-jupyter-protocol
|
||||
(package
|
||||
(name "python-jupyter-protocol")
|
||||
(version "0.1.1")
|
||||
(version "0.2.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "jupyter_protocol" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1bk3as5yw9y5nmq6l15nr46aby34phmvsx9kxgqnm5pd5q2b5h57"))))
|
||||
"075vbaak6hlk9606lw61ldv72p6694k938jd1kvkm6spd0pczpmn"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
(list python-dateutil python-jupyter-core python-pyzmq
|
||||
(list python-dateutil
|
||||
python-ipython-genutils
|
||||
python-jupyter-core
|
||||
python-pyzmq
|
||||
python-traitlets))
|
||||
(native-inputs
|
||||
(list python-ipykernel python-ipython python-mock python-pytest))
|
||||
@ -76,23 +82,40 @@ protocol} to be used by both clients and kernels.")
|
||||
(define-public python-jupyter-kernel-mgmt
|
||||
(package
|
||||
(name "python-jupyter-kernel-mgmt")
|
||||
(version "0.4.0")
|
||||
(version "0.5.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "jupyter_kernel_mgmt" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0i7a78dn89ca8h0a42giyxwcmk6y4wrdr7q8h2ax9vybb84c795q"))))
|
||||
"0977ixfi1pzjgy84hl0zycg4wpllmid98fhzcpy0lxd322w4sl7x"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
(list
|
||||
;; There are 8 test failures, most of them in 'test_client_loop.py'
|
||||
;; (see: https://github.com/takluyver/jupyter_kernel_mgmt/issues/48).
|
||||
#:tests? #f
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(setenv "HOME" "/tmp")
|
||||
(invoke "pytest" "-vv" "jupyter_kernel_mgmt")))))))
|
||||
(propagated-inputs
|
||||
(list python-dateutil
|
||||
python-entrypoints
|
||||
python-jupyter-core
|
||||
python-jupyter-protocol
|
||||
python-pyzmq
|
||||
python-tornado
|
||||
python-traitlets))
|
||||
(native-inputs
|
||||
(list python-ipykernel python-ipython python-mock python-pytest))
|
||||
(list python-async-generator
|
||||
python-ipykernel
|
||||
python-ipython
|
||||
python-pytest
|
||||
python-pytest-asyncio))
|
||||
(home-page "https://jupyter.org")
|
||||
(synopsis "Discover, launch, and communicate with Jupyter kernels")
|
||||
(description
|
||||
@ -147,15 +170,15 @@ Messaging Protocol}.")
|
||||
(define-public xeus
|
||||
(package
|
||||
(name "xeus")
|
||||
(version "0.23.2")
|
||||
(version "2.4.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/QuantStack/xeus")
|
||||
(url "https://github.com/jupyter-xeus/xeus")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"1m1b6z1538r7mv2ggn7bdbd9570ja7cadplq64zl8rgl2c8vdi2a"))
|
||||
"1k1h416qkw3yra6ayfa61nv0v4ify2wvp5x27slgbcw6c88w7fb1"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
@ -167,7 +190,7 @@ Messaging Protocol}.")
|
||||
;; The following inputs are used by the test suite.
|
||||
googletest
|
||||
python-pytest
|
||||
python-3
|
||||
python-wrapper
|
||||
python-jupyter-kernel-test
|
||||
python-jupyter-client))
|
||||
(inputs
|
||||
@ -176,7 +199,7 @@ Messaging Protocol}.")
|
||||
cppzmq
|
||||
zeromq
|
||||
openssl
|
||||
`(,util-linux "lib"))) ;libuuid
|
||||
`(,util-linux "lib"))) ;libuuid
|
||||
(home-page "https://quantstack.net/xeus")
|
||||
(synopsis "C++ implementation of the Jupyter Kernel protocol")
|
||||
(description
|
||||
@ -212,18 +235,82 @@ alternative Python kernel for Jupyter.")
|
||||
the JupyterLab CSS variables.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-jupyterlab-server
|
||||
(package
|
||||
(name "python-jupyterlab-server")
|
||||
(version "2.12.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "jupyterlab_server" version))
|
||||
(sha256
|
||||
(base32 "1gxbfa5s0v4z0v8kagkm2bz8hlli5pwhr89y68w5kxcrqfsg9q00"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "pytest" "-vv" "-c" "/dev/null" "tests"
|
||||
;; XXX: These tests appear to fail due to the lack of
|
||||
;; locales.
|
||||
"-k" "not locale and not language")))))))
|
||||
(propagated-inputs
|
||||
(list python-babel
|
||||
python-entrypoints
|
||||
python-importlib-metadata ;TODO: remove after Python >= 3.10
|
||||
python-jinja2
|
||||
python-json5
|
||||
python-jsonschema
|
||||
python-jupyter-server
|
||||
python-packaging
|
||||
python-requests))
|
||||
(native-inputs
|
||||
(list python-ipykernel
|
||||
python-jupyter-server
|
||||
python-openapi-core
|
||||
python-openapi-spec-validator
|
||||
python-pytest
|
||||
python-pytest-console-scripts
|
||||
python-pytest-tornasync
|
||||
python-ruamel.yaml
|
||||
python-strict-rfc3339))
|
||||
(home-page "https://jupyter.org")
|
||||
(synopsis "Server components for JupyterLab applications")
|
||||
(description "JupyterLab Server sits between JupyterLab and Jupyter
|
||||
Server, and provides a set of REST API handlers and utilities that are used by
|
||||
JupyterLab. It is a separate project in order to accommodate creating
|
||||
JupyterLab-like applications from a more limited scope.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-jupyter-packaging
|
||||
(package
|
||||
(name "python-jupyter-packaging")
|
||||
(version "0.9.1")
|
||||
(version "0.12.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "jupyter_packaging" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0r015c0m713d19asmpimsw6bk2sqv2lpd2nccgjzjdj5h1crg0bg"))))
|
||||
"1b7ssc627vgrdl21c09w9sxk5fc1ps3g7f70laxag4yw1bb5ax5j"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
;; Disable isolation so that the package environment can be
|
||||
;; setup without connectivity.
|
||||
(setenv "SOURCE_DATE_EPOCH" "315532800")
|
||||
(substitute* "tests/test_build_api.py"
|
||||
(("\"-m\", \"build\"" all)
|
||||
(string-append all ", \"--no-isolation\"")))
|
||||
(invoke "python" "-m" "pytest" "-vv")))))))
|
||||
(propagated-inputs
|
||||
(list python-deprecation python-packaging python-setuptools
|
||||
python-tomlkit python-wheel))
|
||||
@ -240,14 +327,14 @@ JavaScript build steps.")
|
||||
(define-public python-jupyter-server
|
||||
(package
|
||||
(name "python-jupyter-server")
|
||||
(version "1.10.2")
|
||||
(version "1.16.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "jupyter_server" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1gvjbsw5nl94hz02rnkr4g4kkvh9fz7i45vz17hzwyvdpj7bd8yk"))))
|
||||
"0fj6l34m6vk3yic87isz9bzgg4qsbr285x1faamf512bsrxghmn7"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
@ -274,7 +361,6 @@ JavaScript build steps.")
|
||||
(propagated-inputs
|
||||
(list python-anyio
|
||||
python-argon2-cffi
|
||||
python-ipython-genutils
|
||||
python-jinja2
|
||||
python-jupyter-client
|
||||
python-jupyter-core
|
||||
@ -282,7 +368,6 @@ JavaScript build steps.")
|
||||
python-nbformat
|
||||
python-prometheus-client
|
||||
python-pyzmq
|
||||
python-requests-unixsocket
|
||||
python-send2trash
|
||||
python-terminado
|
||||
python-tornado-6
|
||||
@ -324,49 +409,116 @@ endpoints—to Jupyter web applications.")
|
||||
are interactive HTML widgets for Jupyter notebooks and the IPython kernel.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-jupyter-server-mathjax
|
||||
(package
|
||||
(name "python-jupyter-server-mathjax")
|
||||
(version "0.2.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "jupyter_server_mathjax" version))
|
||||
(sha256
|
||||
(base32 "1cz7grhj9jih9mgw4xk7a4bqy1fwlb1jsawh6ykxnvpydn76rnb4"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(with-directory-excursion "/tmp"
|
||||
(invoke "pytest" "-vv"
|
||||
"--pyargs" "jupyter_server_mathjax"))))))))
|
||||
(propagated-inputs (list python-jupyter-server))
|
||||
(native-inputs
|
||||
(list python-jupyter-server
|
||||
python-jupyter-packaging
|
||||
python-pytest
|
||||
python-pytest-tornasync))
|
||||
(home-page "https://jupyter.org")
|
||||
(synopsis "Jupyter Server extension for serving Mathjax")
|
||||
(description "This package provides a Jupyter Server extension for serving
|
||||
Mathjax, the JavaScript display engine for mathematics.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-nbclient
|
||||
(package
|
||||
(name "python-nbclient")
|
||||
(version "0.5.3")
|
||||
(version "0.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "nbclient" version))
|
||||
(sha256
|
||||
(base32
|
||||
"172q4r6mq0lg394di0pc6ipvniy14jg38wkdsj48r366609jf5yv"))))
|
||||
"0cbhs8l8ma5nzm1i4484gsrb7189m1lmniashp929pxsqq1s929z"))))
|
||||
(build-system python-build-system)
|
||||
;; Tests require a kernel via python-ipykernel, and also tools from
|
||||
;; nbconvert.
|
||||
;; Tests require tools from nbconvert, which would introduces a cycle.
|
||||
(arguments '(#:tests? #false))
|
||||
(propagated-inputs
|
||||
(list python-async-generator python-jupyter-client python-nbformat
|
||||
python-nest-asyncio python-traitlets))
|
||||
(native-inputs
|
||||
(list python-black
|
||||
python-bumpversion
|
||||
python-check-manifest
|
||||
python-codecov
|
||||
python-coverage
|
||||
python-flake8
|
||||
;; ("python-ipykernel" ,python-ipykernel)
|
||||
;; ("python-ipython" ,python-ipython)
|
||||
;; ("python-ipywidgets" ,python-ipywidgets)
|
||||
python-mypy
|
||||
python-pip
|
||||
python-pytest
|
||||
python-pytest-cov
|
||||
python-setuptools
|
||||
python-testpath
|
||||
python-tox
|
||||
python-twine
|
||||
python-wheel
|
||||
python-xmltodict))
|
||||
(list python-jupyter-client
|
||||
python-nbformat
|
||||
python-nest-asyncio
|
||||
python-traitlets))
|
||||
(home-page "https://jupyter.org")
|
||||
(synopsis "Client library for executing notebooks")
|
||||
(description
|
||||
"This package provides a client library for executing notebooks. Formerly
|
||||
nbconvert's @code{ExecutePreprocessor.}")
|
||||
"This package provides a client library for executing notebooks.
|
||||
It was formerly known as nbconvert's @code{ExecutePreprocessor.}")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-nbdime
|
||||
(package
|
||||
(name "python-nbdime")
|
||||
(version "3.1.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "nbdime" version))
|
||||
(sha256
|
||||
(base32 "12v41lricbg713lzlfcx0cilfm9spndaanhp39q4ydvix4h76xk7"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'remove-ipython-genutils
|
||||
;; TODO: Remove when a release newer than 3.1.1 is made.
|
||||
(lambda _
|
||||
(substitute* "nbdime/config.py"
|
||||
(("from ipython_genutils import py3compat")
|
||||
"")
|
||||
(("py3compat\\.getcwd")
|
||||
"os.getcwd")))))))
|
||||
(propagated-inputs
|
||||
(list python-colorama
|
||||
python-gitpython
|
||||
python-jinja2
|
||||
python-jupyter-server
|
||||
python-jupyter-server-mathjax
|
||||
python-nbformat
|
||||
python-pygments
|
||||
python-requests
|
||||
python-tornado-6))
|
||||
(native-inputs
|
||||
(list python-jupyter-server
|
||||
python-mock
|
||||
python-notebook
|
||||
python-pytest
|
||||
python-pytest-tornado
|
||||
python-tabulate))
|
||||
(home-page "https://nbdime.readthedocs.io")
|
||||
(synopsis "Diff tools for Jupyter Notebooks")
|
||||
(description "@code{nbdime} provides tools for diffing and merging of
|
||||
Jupyter Notebooks. It includes the following commands:
|
||||
@table @command
|
||||
@item nbdiff compare notebooks in a terminal-friendly way
|
||||
@item nbmerge three-way merge of notebooks with automatic conflict resolution
|
||||
@item nbdiff-web rich rendered diff of notebooks
|
||||
@item nbmerge-web web-based three-way merge tool for notebooks
|
||||
nbshow present a single notebook in a terminal-friendly way
|
||||
@end table")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public repo2docker
|
||||
@ -488,33 +640,32 @@ Docker registry.")
|
||||
"004v22nyi5cnpxq4fiws89p7i5wcnzv45n3n70axdd6prh6rkapx"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'no-custom-css
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(list
|
||||
#:tests? #f ;no test suite
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'no-custom-css
|
||||
(lambda _
|
||||
(substitute* "sparqlkernel/install.py"
|
||||
(("install_custom_css\\( destd, PKGNAME \\)") ""))
|
||||
#t))
|
||||
(add-after 'install 'install-kernelspec
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(setenv "HOME" "/tmp")
|
||||
(add-installed-pythonpath inputs outputs)
|
||||
(invoke
|
||||
(string-append out "/bin/jupyter-sparqlkernel")
|
||||
"install"
|
||||
(string-append "--InstallKernelSpec.prefix=" out))
|
||||
#t))))))
|
||||
(native-inputs
|
||||
(list python-traitlets python-jupyter-client python-notebook
|
||||
python-ipykernel python-html5lib-0.9))
|
||||
(("install_custom_css\\( destd, PKGNAME \\)") ""))))
|
||||
(add-after 'add-install-to-pythonpath 'install-kernelspec
|
||||
(lambda _
|
||||
(setenv "HOME" "/tmp")
|
||||
(invoke
|
||||
(string-append #$output "/bin/jupyter-sparqlkernel")
|
||||
"install"
|
||||
(string-append "--InstallKernelSpec.prefix=" #$output)))))))
|
||||
(propagated-inputs
|
||||
(list python-sparqlwrapper python-pygments))
|
||||
(list python-ipykernel
|
||||
python-notebook
|
||||
python-pygments
|
||||
python-rdflib
|
||||
python-sparqlwrapper
|
||||
python-traitlets))
|
||||
(home-page "https://github.com/paulovn/sparql-kernel")
|
||||
(synopsis "Jupyter kernel for SPARQL")
|
||||
(description "This module installs a Jupyter kernel for SPARQL. It allows
|
||||
sending queries to an SPARQL endpoint and fetching & presenting the results in
|
||||
sending queries to an SPARQL endpoint, fetching and presenting the results in
|
||||
a notebook.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
@ -581,26 +732,52 @@ datasets across widgets.")
|
||||
(define-public python-voila
|
||||
(package
|
||||
(name "python-voila")
|
||||
(version "0.2.10")
|
||||
(version "0.3.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "voila" version))
|
||||
(method git-fetch) ;no tests in pypi archive
|
||||
(uri (git-reference
|
||||
(url "https://github.com/voila-dashboards/voila")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0krfc95yjlhjdmrsladhy6lpf4xs1zw49nmkyl4pkykndglvwa1m"))))
|
||||
"10qn34ddmcwcl9zxa0gwxarxr64k8hx4yysdwrf0iqvmzmkwmbbj"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'relax-requirements
|
||||
(lambda _
|
||||
(substitute* "setup.cfg"
|
||||
(("nbclient>=0.4.0,<0.6")
|
||||
"nbclient"))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(setenv "HOME" "/tmp")
|
||||
(invoke "pytest" "-vv"
|
||||
;; Many tests depend on Node JavaScript dependencies
|
||||
;; and a running HTTP server; ignore them.
|
||||
"--ignore" "tests/app"
|
||||
"--ignore" "tests/server")))))))
|
||||
(propagated-inputs
|
||||
(list python-jupyter-client python-jupyter-server python-nbclient
|
||||
python-nbconvert))
|
||||
(list python-jupyter-client
|
||||
python-jupyter-server
|
||||
python-jupyterlab-server
|
||||
python-nbclient
|
||||
python-nbconvert
|
||||
python-traitlets
|
||||
python-websockets))
|
||||
(native-inputs
|
||||
(list python-ipywidgets
|
||||
python-jupyter-packaging
|
||||
python-matplotlib
|
||||
python-mock
|
||||
python-numpy
|
||||
python-pandas
|
||||
python-pytest
|
||||
python-pytest-tornasync
|
||||
python-setuptools
|
||||
python-tornado-6))
|
||||
(home-page "https://github.com/voila-dashboards/voila")
|
||||
(synopsis "Render live Jupyter notebooks with interactive widgets")
|
||||
|
@ -362,17 +362,17 @@ 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.5")
|
||||
(define-public linux-libre-5.17-version "5.17.7")
|
||||
(define-public linux-libre-5.17-gnu-revision "gnu")
|
||||
(define deblob-scripts-5.17
|
||||
(linux-libre-deblob-scripts
|
||||
linux-libre-5.17-version
|
||||
linux-libre-5.17-gnu-revision
|
||||
(base32 "08ip5g827f30qzb3j2l19zkbdqv00sij46nbrjg75h5kkasdbfgr")
|
||||
(base32 "0h9zm17lb5g93yp8rdzbhznrd5jbrl2k096c28wz6ic6gpz0wrvh")))
|
||||
(base32 "1zd4ds6ha4a2acqnalp234r2m9rz9p30qmy1aqri78i06aw7flwn")))
|
||||
(define-public linux-libre-5.17-pristine-source
|
||||
(let ((version linux-libre-5.17-version)
|
||||
(hash (base32 "11z95wsgmj97pg77yck26l0383gncbla0zwpzv4gjdj4p62x3g4v")))
|
||||
(hash (base32 "16ccf7n6fns9z93c65lchn5v3fgl9c5vkr1v6p0c1xifn7v7xxi2")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-5.17)))
|
||||
@ -380,92 +380,92 @@ 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.37")
|
||||
(define-public linux-libre-5.15-version "5.15.39")
|
||||
(define-public linux-libre-5.15-gnu-revision "gnu")
|
||||
(define deblob-scripts-5.15
|
||||
(linux-libre-deblob-scripts
|
||||
linux-libre-5.15-version
|
||||
linux-libre-5.15-gnu-revision
|
||||
(base32 "1n57mz5agvf1d0ggbg080d7hvx8p9y0iqxkq4ypg10a7n96zy7y5")
|
||||
(base32 "1s2s1sjdhblaz80shq1jgp4kp9vi7j1bsh4vvsk28s5m6xwf6yvl")))
|
||||
(base32 "0gs92qbpvirwd02rpwwnja7771z2azbiy9ppy9ynpr14lxmzxnnh")))
|
||||
(define-public linux-libre-5.15-pristine-source
|
||||
(let ((version linux-libre-5.15-version)
|
||||
(hash (base32 "09n0l9ly111r6jbpgz1kw2q4n4mmcv5jxfhs5bcsiyjp44d0kgqq")))
|
||||
(hash (base32 "1bfpiyccjggysd04flaana0x69n1lcpckzpw1v6kh3ly9xil31l8")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-5.15)))
|
||||
|
||||
(define-public linux-libre-5.10-version "5.10.113")
|
||||
(define-public linux-libre-5.10-version "5.10.115")
|
||||
(define-public linux-libre-5.10-gnu-revision "gnu1")
|
||||
(define deblob-scripts-5.10
|
||||
(linux-libre-deblob-scripts
|
||||
linux-libre-5.10-version
|
||||
linux-libre-5.10-gnu-revision
|
||||
(base32 "0mw7qn77y9c6wrnw4rjvf75cpm1w6n1aqqhf8cnghcb97p2yxxrf")
|
||||
(base32 "0wx0y9fbgfbmhdb8v4ki2hq58m0w6gp66wq944sr5x0sv6m4bgf3")))
|
||||
(base32 "1xyhz0dyrkg2avz382ly3dzpa5v89x49gfzx80c1drpwsk7jg6gp")))
|
||||
(define-public linux-libre-5.10-pristine-source
|
||||
(let ((version linux-libre-5.10-version)
|
||||
(hash (base32 "1z3dd5hrdbn2axsi2n70n41q1dq2dvg7s8aph1p6yiajpc16llc2")))
|
||||
(hash (base32 "0w9gwizyqjgsj93dqqvlh6bqkmpzjajhj09319nqncc95yrigr7m")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-5.10)))
|
||||
|
||||
(define-public linux-libre-5.4-version "5.4.191")
|
||||
(define-public linux-libre-5.4-version "5.4.193")
|
||||
(define-public linux-libre-5.4-gnu-revision "gnu1")
|
||||
(define deblob-scripts-5.4
|
||||
(linux-libre-deblob-scripts
|
||||
linux-libre-5.4-version
|
||||
linux-libre-5.4-gnu-revision
|
||||
(base32 "1nlgk8ajb5wl3aa96h9a0pb9j5a5wmrbpk63varn557x1d00r7wj")
|
||||
(base32 "1mp9d0b7mqw7cl65k0a18265cvn4qwcpnvna8r6n5m3y4pz3rik9")))
|
||||
(base32 "05i286d98fm2pdf9724x1dsmfcm7gsd7yyyvxqlpisyj1kx14hda")))
|
||||
(define-public linux-libre-5.4-pristine-source
|
||||
(let ((version linux-libre-5.4-version)
|
||||
(hash (base32 "0fharjqasvq76pciwci6qamdadpfjh2n8gdyri8fj65drmgsi318")))
|
||||
(hash (base32 "187jfk9hf52n5z9yv56vq1knp3kdcbyk5w5k98ziwcbdjm1x65hd")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-5.4)))
|
||||
|
||||
(define-public linux-libre-4.19-version "4.19.241")
|
||||
(define-public linux-libre-4.19-version "4.19.242")
|
||||
(define-public linux-libre-4.19-gnu-revision "gnu1")
|
||||
(define deblob-scripts-4.19
|
||||
(linux-libre-deblob-scripts
|
||||
linux-libre-4.19-version
|
||||
linux-libre-4.19-gnu-revision
|
||||
(base32 "06pqv050bkii0hc2v7ymny5264w1bca8db0dp1pw9mfmjg865am5")
|
||||
(base32 "1mp9d0b7mqw7cl65k0a18265cvn4qwcpnvna8r6n5m3y4pz3rik9")))
|
||||
(base32 "1dnjgx1nmawm9gm0yf15nl80nmg7hy7q2vl3jxjbwj6hlrfv5dmx")))
|
||||
(define-public linux-libre-4.19-pristine-source
|
||||
(let ((version linux-libre-4.19-version)
|
||||
(hash (base32 "04zyi22c2d91k7v2w0s8v112cqqf24km599mn18k2nafq79njqjc")))
|
||||
(hash (base32 "18k5fbzclk7g657bs8idwqjk7hakzx6256b1a3506sy29q4zvg2r")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-4.19)))
|
||||
|
||||
(define-public linux-libre-4.14-version "4.14.277")
|
||||
(define-public linux-libre-4.14-version "4.14.278")
|
||||
(define-public linux-libre-4.14-gnu-revision "gnu1")
|
||||
(define deblob-scripts-4.14
|
||||
(linux-libre-deblob-scripts
|
||||
linux-libre-4.14-version
|
||||
linux-libre-4.14-gnu-revision
|
||||
(base32 "02rxvr0gmxb3zfsyyzdmzgfq04gkdkv1cc38md0xfl0mxzdzdfyk")
|
||||
(base32 "1mp9d0b7mqw7cl65k0a18265cvn4qwcpnvna8r6n5m3y4pz3rik9")))
|
||||
(base32 "1dnjgx1nmawm9gm0yf15nl80nmg7hy7q2vl3jxjbwj6hlrfv5dmx")))
|
||||
(define-public linux-libre-4.14-pristine-source
|
||||
(let ((version linux-libre-4.14-version)
|
||||
(hash (base32 "058vzn1gcsc194hgwrj78afawz2anm7ga8a1x5m5i4cw8p1arp73")))
|
||||
(hash (base32 "1glb6z3nicd2lzhvwcqj54642agk0bbg022wnc3ckld5ngpd9miw")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-4.14)))
|
||||
|
||||
(define-public linux-libre-4.9-version "4.9.312")
|
||||
(define-public linux-libre-4.9-version "4.9.313")
|
||||
(define-public linux-libre-4.9-gnu-revision "gnu1")
|
||||
(define deblob-scripts-4.9
|
||||
(linux-libre-deblob-scripts
|
||||
linux-libre-4.9-version
|
||||
linux-libre-4.9-gnu-revision
|
||||
(base32 "0nai5m4rbh37qaj1xf2qj7656l2gacfh0847q5d07y22b048fq5n")
|
||||
(base32 "0wdaj40pcq9wg5xnz2zj3jj8bawhfgqxcwp6dnavbf9lq0gca48p")))
|
||||
(base32 "14jyn2yrbm6ayp0bszs4f9jy3p1qkrj5p5gf5c42spr67aa2lv2v")))
|
||||
(define-public linux-libre-4.9-pristine-source
|
||||
(let ((version linux-libre-4.9-version)
|
||||
(hash (base32 "09y6wl4j3y46fza6kmssibmxspxx0i44fqrhc2cyvrm2bgxv2bzs")))
|
||||
(hash (base32 "1p3vr1h01ph6x0pxrr6y6k5c4nrhvq650dfngv5mkrgsc5w7ffz0")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-4.9)))
|
||||
@ -6759,7 +6759,7 @@ under OpenGL graphics workloads.")
|
||||
#:make-flags
|
||||
#~(list (string-append "prefix=" #$output)
|
||||
(string-append "libdir=" #$output "/lib")
|
||||
(string-append "CC_FOR_BUILD=" #$(cc-for-target))
|
||||
(string-append "CC=" #$(cc-for-target))
|
||||
(string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
@ -6788,7 +6788,7 @@ interface to the variable facility of UEFI boot firmware.")
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/rhinstaller/efibootmgr")
|
||||
(url "https://github.com/rhboot/efibootmgr")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
@ -6806,20 +6806,28 @@ interface to the variable facility of UEFI boot firmware.")
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ;no tests
|
||||
#:make-flags #~(list (string-append "prefix=" #$output)
|
||||
(string-append "libdir=" #$output "/lib")
|
||||
;; EFIDIR denotes a subdirectory relative to the
|
||||
;; EFI System Partition where the loader will be
|
||||
;; installed (known as OS_VENDOR in the code).
|
||||
;; GRUB overrides this, as such it's only used if
|
||||
;; nothing else is specified on the command line.
|
||||
"EFIDIR=gnu")
|
||||
#:make-flags
|
||||
#~(append (list (string-append "prefix=" #$output)
|
||||
(string-append "libdir=" #$output "/lib")
|
||||
;; EFIDIR denotes a subdirectory relative to the
|
||||
;; EFI System Partition where the loader will be
|
||||
;; installed (known as OS_VENDOR in the code).
|
||||
;; GRUB overrides this, as such it's only used if
|
||||
;; nothing else is specified on the command line.
|
||||
"EFIDIR=gnu")
|
||||
#$(if (%current-target-system)
|
||||
#~(list
|
||||
(string-append "CC=" #$(cc-for-target))
|
||||
(string-append "PKG_CONFIG=" #$(pkg-config-for-target))
|
||||
(string-append "EXTRAINCDIRS="
|
||||
#$(this-package-input "efivar") "/include"))
|
||||
#~'()))
|
||||
#:phases #~(modify-phases %standard-phases (delete 'configure))))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
(list efivar popt))
|
||||
(home-page "https://github.com/rhinstaller/efibootmgr")
|
||||
(home-page "https://github.com/rhboot/efibootmgr")
|
||||
(synopsis "Modify the Extensible Firmware Interface (EFI) boot manager")
|
||||
(description
|
||||
"@code{efibootmgr} is a user-space application to modify the Intel
|
||||
|
@ -17,7 +17,7 @@
|
||||
;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
|
||||
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
|
||||
;;; Copyright © 2021, 2022 Maxime Devos <maximedevos@telenet.be>
|
||||
;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2021 Julien Lepiller <julien@lepiller.eu>
|
||||
;;; Copyright © 2021 Lars-Dominik Braun <lars@6xq.net>
|
||||
;;; Copyright © 2021, 2022 Guillaume Le Vaillant <glv@posteo.net>
|
||||
@ -1503,14 +1503,14 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.")
|
||||
(define-public python-llvmlite
|
||||
(package
|
||||
(name "python-llvmlite")
|
||||
(version "0.37.0")
|
||||
(version "0.38.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "llvmlite" version))
|
||||
(sha256
|
||||
(base32
|
||||
"05avhsvdcqh8wfpblx16qslfq3masqcbkfyn8p3c13h1rmqbi4k3"))))
|
||||
"0p4nyic9rm7s2fm3m3wpkh568594p9q9nfyjkqxny49vrxn1d7d9"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
@ -16,7 +16,7 @@
|
||||
;;; Copyright © 2020 Konrad Hinsen <konrad.hinsen@fastmail.net>
|
||||
;;; Copyright © 2020 Edouard Klein <edk@beaver-labs.com>
|
||||
;;; Copyright © 2020, 2021, 2022 Vinicius Monego <monego@posteo.net>
|
||||
;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -1111,8 +1111,13 @@ computing environments.")
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'build 'configure
|
||||
(lambda _
|
||||
(setenv "SKLEARN_BUILD_PARALLEL"
|
||||
(number->string (parallel-job-count)))))
|
||||
(add-after 'build 'build-ext
|
||||
(lambda _ (invoke "python" "setup.py" "build_ext" "--inplace")))
|
||||
(lambda _ (invoke "python" "setup.py" "build_ext" "--inplace"
|
||||
"-j" (number->string (parallel-job-count)))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
@ -1123,13 +1128,15 @@ computing environments.")
|
||||
(setenv "HOME" "/tmp")
|
||||
|
||||
(invoke "pytest" "sklearn" "-m" "not network"
|
||||
"-n" (number->string (parallel-job-count))
|
||||
;; This test tries to access the internet.
|
||||
"-k" "not test_load_boston_alternative")))))))
|
||||
(inputs
|
||||
(list openblas))
|
||||
(inputs (list openblas))
|
||||
(native-inputs
|
||||
(list python-pytest python-pandas ;for tests
|
||||
python-cython))
|
||||
(list python-cython
|
||||
python-pandas
|
||||
python-pytest
|
||||
python-pytest-xdist))
|
||||
(propagated-inputs
|
||||
(list python-numpy python-threadpoolctl python-scipy python-joblib))
|
||||
(home-page "https://scikit-learn.org/")
|
||||
@ -1219,13 +1226,13 @@ for scientific computing and data science (e.g. BLAS and OpenMP).")
|
||||
(define-public python-pynndescent
|
||||
(package
|
||||
(name "python-pynndescent")
|
||||
(version "0.5.5")
|
||||
(version "0.5.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pynndescent" version))
|
||||
(sha256
|
||||
(base32 "10pqqqc3jkpw03cyzy04slxmpgyhqnlgbyk0c1cv7kqr5d0zhzbs"))))
|
||||
(base32 "0p3jsdcprjfzz7qf5674dsqfpvdn6p4wgqikg7b6ki5abf433yv1"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
@ -1233,12 +1240,16 @@ for scientific computing and data science (e.g. BLAS and OpenMP).")
|
||||
(replace 'check
|
||||
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(add-installed-pythonpath inputs outputs)
|
||||
(invoke "python" "-m" "pytest" "--pyargs" "pynndescent")))))))
|
||||
(native-inputs
|
||||
(list python-pytest))
|
||||
(invoke "python" "-m" "pytest" "--pyargs" "pynndescent"
|
||||
;; wminkowski no longer exists in scipy 1.8.0 (see:
|
||||
;; https://github.com/lmcinnes/pynndescent/issues/177)
|
||||
"-k" "not test_weighted_minkowski")))))))
|
||||
(native-inputs (list python-pytest))
|
||||
(propagated-inputs
|
||||
(list python-joblib python-llvmlite python-numba python-scikit-learn
|
||||
(list python-joblib
|
||||
python-llvmlite
|
||||
python-numba
|
||||
python-scikit-learn
|
||||
python-scipy))
|
||||
(home-page "https://github.com/lmcinnes/pynndescent")
|
||||
(synopsis "Nearest neighbor descent for approximate nearest neighbors")
|
||||
@ -2804,26 +2815,40 @@ These include a barrier, broadcast, and allreduce.")
|
||||
(define-public python-umap-learn
|
||||
(package
|
||||
(name "python-umap-learn")
|
||||
(version "0.3.10")
|
||||
(version "0.5.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "umap-learn" version))
|
||||
(method git-fetch) ;no tests in pypi release
|
||||
(uri (git-reference
|
||||
(url "https://github.com/lmcinnes/umap")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"02ada2yy6km6zgk2836kg1c97yrcpalvan34p8c57446finnpki1"))))
|
||||
"1315jkb0h1b579y9m59632f0nnpksilm01nxx46in0rq8zna8vsb"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
(list python-joblib python-nose))
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(setenv "HOME" "/tmp")
|
||||
(invoke "pytest" "-vv" "umap")))))))
|
||||
(native-inputs (list python-pytest))
|
||||
(propagated-inputs
|
||||
(list python-numba python-numpy python-scikit-learn python-scipy))
|
||||
(list python-numba
|
||||
python-numpy
|
||||
python-pynndescent
|
||||
python-scikit-learn
|
||||
python-scipy
|
||||
python-tqdm))
|
||||
(home-page "https://github.com/lmcinnes/umap")
|
||||
(synopsis
|
||||
"Uniform Manifold Approximation and Projection")
|
||||
(description
|
||||
"Uniform Manifold Approximation and Projection is a dimension reduction
|
||||
technique that can be used for visualisation similarly to t-SNE, but also for
|
||||
general non-linear dimension reduction.")
|
||||
(synopsis "Uniform Manifold Approximation and Projection")
|
||||
(description "Uniform Manifold Approximation and Projection is a dimension
|
||||
reduction technique that can be used for visualization similarly to t-SNE, but
|
||||
also for general non-linear dimension reduction.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public nnpack
|
||||
|
@ -1890,7 +1890,7 @@ facilities for checking incoming mail.")
|
||||
(package
|
||||
(name "dovecot")
|
||||
;; Also update dovecot-pigeonhole when updating to a new minor version.
|
||||
(version "2.3.18")
|
||||
(version "2.3.19")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@ -1898,7 +1898,7 @@ facilities for checking incoming mail.")
|
||||
(version-major+minor version) "/"
|
||||
"dovecot-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0cvcbp6f5i8sg2sz8d3j654xrf4a74h7rszfpm2kq2bciik3zrq6"))))
|
||||
(base32 "0ys3zq9b1rgj1cz6a0i9l421y6h2j3b5zak2ia5j9dj1sj9zcwq1"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
@ -1958,7 +1958,7 @@ It supports mbox/Maildir and its own dbox/mdbox formats.")
|
||||
(let ((dovecot-version (version-major+minor (package-version dovecot))))
|
||||
(package
|
||||
(name "dovecot-pigeonhole")
|
||||
(version "0.5.18")
|
||||
(version "0.5.19")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@ -1966,7 +1966,7 @@ It supports mbox/Maildir and its own dbox/mdbox formats.")
|
||||
"https://pigeonhole.dovecot.org/releases/" dovecot-version "/"
|
||||
"dovecot-" dovecot-version "-pigeonhole-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "198865a9fv9a8gj8lsp4jjylalm6qzjyqhsk22jwpppjsvw2in56"))
|
||||
(base32 "033kkhby9k9yrmgvlfmyzp8fccsw5bhq1dyvxj94sg3grkpj7f8h"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
@ -4005,7 +4005,7 @@ It is a replacement for the @command{urlview} program.")
|
||||
(list guile-email-latest
|
||||
guile-fibers
|
||||
guile-gcrypt
|
||||
guile-json-3
|
||||
guile-json-4
|
||||
guile-kolam
|
||||
guile-redis
|
||||
guile-syntax-highlight
|
||||
|
@ -252,13 +252,13 @@ implementation.
|
||||
(define-public python-cmarkgfm
|
||||
(package
|
||||
(name "python-cmarkgfm")
|
||||
(version "0.7.0")
|
||||
(version "0.8.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "cmarkgfm" version))
|
||||
(sha256
|
||||
(base32
|
||||
"06cw49bzxl3k7m8993cyi5zqxvk817z8ghhr9xqq5gx8klpiap56"))
|
||||
"1jxk9cdir4q1bpjla7b7y1qfjmr7mkd0f802b2sb88njk079p1gy"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
@ -187,7 +187,7 @@ homeserver and generally help bootstrap the ecosystem.")
|
||||
(native-inputs
|
||||
`(("python-pytest" ,python-pytest-6)
|
||||
("python-hyperframe" ,python-hyperframe)
|
||||
("python-hypothesis" ,python-hypothesis-6.23)
|
||||
("python-hypothesis" ,python-hypothesis-next)
|
||||
("python-hpack" ,python-hpack)
|
||||
("python-faker" ,python-faker)
|
||||
("python-pytest-aiohttp" ,python-pytest-aiohttp)
|
||||
|
@ -107,7 +107,7 @@ interfacing MPD in the C, C++ & Objective C languages.")
|
||||
(define-public mpd
|
||||
(package
|
||||
(name "mpd")
|
||||
(version "0.23.6")
|
||||
(version "0.23.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
@ -116,7 +116,7 @@ interfacing MPD in the C, C++ & Objective C languages.")
|
||||
"/mpd-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1v969w7h3660ph3h2bdlkrzc05pfz95bmxjqdbzzf7pfwf795ifb"))))
|
||||
"04c2fr4akiylafb7wdjzn7r7d90rmzilbnagrifqyf3wf6ncn3cn"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags '("-Ddocumentation=enabled")))
|
||||
|
@ -33,14 +33,14 @@
|
||||
(define-public ncdu
|
||||
(package
|
||||
(name "ncdu")
|
||||
(version "1.16")
|
||||
(version "1.17")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://dev.yorhel.nl/download/ncdu-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1m0gk09jaz114piidiw8fkg0id5l6nhz1cg5nlaf1yl3l595g49b"))))
|
||||
"1wfvdajln0iy7364nxkg4bpgdv8l3b6a9bnkhy67icqsxnl4a1w1"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs (list ncurses))
|
||||
(synopsis "Ncurses-based disk usage analyzer")
|
||||
|
@ -18,7 +18,7 @@
|
||||
;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
|
||||
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
|
||||
;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru>
|
||||
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2021 John Kehayias <john.kehayias@protonmail.com>
|
||||
;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
|
||||
;;;
|
||||
@ -80,6 +80,7 @@
|
||||
#:use-module (gnu packages libedit)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages lisp)
|
||||
#:use-module (gnu packages lua)
|
||||
#:use-module (gnu packages man)
|
||||
#:use-module (gnu packages markup)
|
||||
#:use-module (gnu packages nettle)
|
||||
@ -121,6 +122,7 @@
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils)
|
||||
#:use-module ((guix search-paths) #:select ($SSL_CERT_DIR $SSL_CERT_FILE))
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (srfi srfi-1))
|
||||
|
||||
@ -473,14 +475,9 @@ $(prefix)/etc/openrc\n")))
|
||||
(list (search-path-specification
|
||||
(variable "GUIX_EXTENSIONS_PATH")
|
||||
(files '("share/guix/extensions")))
|
||||
|
||||
;; (guix git) and (guix build download) honor this variable whose
|
||||
;; name comes from OpenSSL.
|
||||
(search-path-specification
|
||||
(variable "SSL_CERT_DIR")
|
||||
(separator #f) ;single entry
|
||||
(files '("etc/ssl/certs")))))
|
||||
|
||||
$SSL_CERT_DIR))
|
||||
(home-page "https://www.gnu.org/software/guix/")
|
||||
(synopsis "Functional package manager for installed software packages and versions")
|
||||
(description
|
||||
@ -829,7 +826,7 @@ features of Stow with some extensions.")
|
||||
(define-public rpm
|
||||
(package
|
||||
(name "rpm")
|
||||
(version "4.16.1.3")
|
||||
(version "4.17.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://ftp.rpm.org/releases/rpm-"
|
||||
@ -837,35 +834,40 @@ features of Stow with some extensions.")
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"07g2g0adgjm29wqy94iqhpp5dk0hacfw1yf7kzycrrxnfbwwfgai"))))
|
||||
"0sjyqs6hc57k46f45b68dfxnp985s0gar0fi1s0ig6vl4h5j439f"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags '("--with-external-db" ;use the system's bdb
|
||||
"--enable-python"
|
||||
"--without-lua")
|
||||
'(#:configure-flags '("--with-external-db" ;use the system's bdb
|
||||
"--enable-python")
|
||||
#:phases (modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-lua-check
|
||||
(lambda _
|
||||
(substitute* "configure"
|
||||
(("lua >= 5.3")
|
||||
"lua-5.3 >= 5.3"))))
|
||||
(add-before 'configure 'set-nss-library-path
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((nss (assoc-ref inputs "nss")))
|
||||
(setenv "LIBRARY_PATH"
|
||||
(string-append (getenv "LIBRARY_PATH") ":"
|
||||
nss "/lib/nss"))
|
||||
#t))))))
|
||||
nss "/lib/nss"))))))))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
(list python
|
||||
xz
|
||||
bdb
|
||||
popt
|
||||
nss
|
||||
nspr
|
||||
(list bdb
|
||||
bzip2
|
||||
cpio
|
||||
file
|
||||
libarchive
|
||||
libgcrypt
|
||||
file
|
||||
bzip2
|
||||
zlib
|
||||
cpio))
|
||||
lua
|
||||
nspr
|
||||
nss
|
||||
popt
|
||||
python
|
||||
sqlite
|
||||
xz
|
||||
zlib))
|
||||
(home-page "https://rpm.org/")
|
||||
(synopsis "The RPM Package Manager")
|
||||
(description
|
||||
@ -1112,7 +1114,7 @@ written entirely in Python.")
|
||||
(define-public conan
|
||||
(package
|
||||
(name "conan")
|
||||
(version "1.42.0")
|
||||
(version "1.47.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch) ;no tests in PyPI archive
|
||||
@ -1122,7 +1124,7 @@ written entirely in Python.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"153npvj81m1c33gfcv2nry7xhyikxnhjns7lvs525f1x20ck6asg"))))
|
||||
"1zs2xb22rsy5fsc0fd7c95vrx1mfz7vasyg1lqkzyfimvn5zah6n"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
@ -1133,7 +1135,9 @@ written entirely in Python.")
|
||||
(("node-semver==0.6.1")
|
||||
"node-semver>=0.6.1")
|
||||
(("Jinja2>=2.9, <3")
|
||||
"Jinja2>=2.9"))))
|
||||
"Jinja2>=2.9")
|
||||
(("PyYAML>=3.11, <6.0")
|
||||
"PyYAML"))))
|
||||
(add-after 'unpack 'patch-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((coreutils (assoc-ref inputs "coreutils")))
|
||||
@ -1189,6 +1193,8 @@ written entirely in Python.")
|
||||
;; This one fails for unknown reasons (see:
|
||||
;; https://github.com/conan-io/conan/issues/9671).
|
||||
"and not test_build "
|
||||
;; This test expects the 'apt' command to be available.
|
||||
"and not test_apt_check "
|
||||
(if (not (string-prefix? "x86_64" system))
|
||||
;; These tests either assume the machine is
|
||||
;; x86_64, or require a cross-compiler to target
|
||||
|
@ -62,14 +62,14 @@
|
||||
(define-public parallel
|
||||
(package
|
||||
(name "parallel")
|
||||
(version "20220322")
|
||||
(version "20220422")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/parallel/parallel-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "1n76lhw2sw21kj9hbd3pij9kwq460kpjl15p4qhssagmm7vcr4yz"))))
|
||||
(base32 "19rwnxqbwbfhrrifyq5chsg6qgz9n8xf96l838agq0hkzwzvgr4n"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
@ -4,13 +4,13 @@ with things like GCC being referenced.
|
||||
|
||||
--- a/lisp/loadup.el
|
||||
+++ b/lisp/loadup.el
|
||||
@@ -481,7 +481,8 @@ lost after dumping")))
|
||||
@@ -530,7 +530,8 @@ lost after dumping")))
|
||||
((equal dump-mode "dump") "emacs")
|
||||
((equal dump-mode "bootstrap") "emacs")
|
||||
((equal dump-mode "pbootstrap") "bootstrap-emacs.pdmp")
|
||||
- (t (error "unrecognized dump mode %s" dump-mode)))))
|
||||
+ (t (error "unrecognized dump mode %s" dump-mode))))
|
||||
- (t (error "Unrecognized dump mode %s" dump-mode)))))
|
||||
+ (t (error "Unrecognized dump mode %s" dump-mode))))
|
||||
+ (exec-path nil))
|
||||
(message "Dumping under the name %s" output)
|
||||
(condition-case ()
|
||||
(delete-file output)
|
||||
(when (and (featurep 'native-compile)
|
||||
(equal dump-mode "pdump"))
|
||||
;; Don't enable this before bootstrap is completed, as the
|
||||
|
@ -1,24 +0,0 @@
|
||||
Fix contributed upstream here:
|
||||
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=42694.
|
||||
|
||||
Index: emacs-26.3/src/xfns.c
|
||||
===================================================================
|
||||
--- emacs-26.3.orig/src/xfns.c
|
||||
+++ emacs-26.3/src/xfns.c
|
||||
@@ -2628,6 +2628,8 @@ xic_free_xfontset (struct frame *f)
|
||||
static XIMStyle
|
||||
best_xim_style (XIMStyles *xim)
|
||||
{
|
||||
+ if (xim == NULL) goto out;
|
||||
+
|
||||
int i, j;
|
||||
int nr_supported = ARRAYELTS (supported_xim_styles);
|
||||
|
||||
@@ -2636,6 +2638,7 @@ best_xim_style (XIMStyles *xim)
|
||||
if (supported_xim_styles[i] == xim->supported_styles[j])
|
||||
return supported_xim_styles[i];
|
||||
|
||||
+ out:
|
||||
/* Return the default style. */
|
||||
return XIMPreeditNothing | XIMStatusNothing;
|
||||
}
|
95
gnu/packages/patches/emacs-yasnippet-fix-tests.patch
Normal file
95
gnu/packages/patches/emacs-yasnippet-fix-tests.patch
Normal file
@ -0,0 +1,95 @@
|
||||
From 904a058fcf4e1f4985e03f8551eec282ca12ccb5 Mon Sep 17 00:00:00 2001
|
||||
From: Philipp Stephani <phst@google.com>
|
||||
Date: Mon, 6 Dec 2021 18:50:10 +0100
|
||||
Subject: [PATCH] Unbreak unit tests under Emacs 28.
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
- Emacs 28 has a new mode ‘lisp-data-mode’ for Lisp data.
|
||||
- A test that was temporarily broken passes again.
|
||||
- The default for ‘org-adapt-indentation’ has changed.
|
||||
---
|
||||
yasnippet-tests.el | 41 ++++++++++++++++++++++++++---------------
|
||||
1 file changed, 26 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/yasnippet-tests.el b/yasnippet-tests.el
|
||||
index b8a7980f..9fadf00c 100644
|
||||
--- a/yasnippet-tests.el
|
||||
+++ b/yasnippet-tests.el
|
||||
@@ -1,6 +1,6 @@
|
||||
;;; yasnippet-tests.el --- some yasnippet tests -*- lexical-binding: t -*-
|
||||
|
||||
-;; Copyright (C) 2012-2015, 2017-2018 Free Software Foundation, Inc.
|
||||
+;; Copyright (C) 2012-2015, 2017-2018, 2021 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: João Távora <joaot@siscog.pt>
|
||||
;; Keywords: emulations, convenience
|
||||
@@ -556,16 +556,19 @@ XXXXX ------------------------"))))
|
||||
(yas-mock-insert "foo bar")
|
||||
(ert-simulate-command '(yas-next-field))
|
||||
(goto-char (point-min))
|
||||
- (let ((expected (with-temp-buffer
|
||||
- (insert (format (concat "* Test foo bar\n"
|
||||
- " " org-property-format "\n"
|
||||
- " " org-property-format "\n"
|
||||
- " " org-property-format)
|
||||
- ":PROPERTIES:" ""
|
||||
- ":ID:" "foo bar-after"
|
||||
- ":END:" ""))
|
||||
- (delete-trailing-whitespace)
|
||||
- (buffer-string))))
|
||||
+ ;; The default value of `org-adapt-indentation' changed between Org-mode 9.4
|
||||
+ ;; and 9.5, so force a specific value.
|
||||
+ (let* ((org-adapt-indentation nil)
|
||||
+ (expected (with-temp-buffer
|
||||
+ (insert (format (concat "* Test foo bar\n"
|
||||
+ org-property-format "\n"
|
||||
+ org-property-format "\n"
|
||||
+ org-property-format)
|
||||
+ ":PROPERTIES:" ""
|
||||
+ ":ID:" "foo bar-after"
|
||||
+ ":END:" ""))
|
||||
+ (delete-trailing-whitespace)
|
||||
+ (buffer-string))))
|
||||
;; Some org-mode versions leave trailing whitespace, some don't.
|
||||
(delete-trailing-whitespace)
|
||||
(should (equal expected (buffer-string))))))
|
||||
@@ -1390,7 +1393,9 @@ hello ${1:$(when (stringp yas-text) (funcall func yas-text))} foo${1:$$(concat \
|
||||
,@(if (fboundp 'prog-mode)
|
||||
'(prog-mode))
|
||||
emacs-lisp-mode
|
||||
- lisp-interaction-mode))
|
||||
+ lisp-interaction-mode
|
||||
+ ;; `lisp-data-mode' doesn't exist prior to Emacs 28.
|
||||
+ ,@(and (fboundp 'lisp-data-mode) '(lisp-data-mode))))
|
||||
(observed (yas--modes-to-activate)))
|
||||
(should (equal major-mode (car observed)))
|
||||
(should (equal (sort expected #'string<) (sort observed #'string<))))))))
|
||||
@@ -1418,7 +1423,11 @@ hello ${1:$(when (stringp yas-text) (funcall func yas-text))} foo${1:$$(concat \
|
||||
'(prog-mode))
|
||||
emacs-lisp-mode
|
||||
and-also-this-one
|
||||
- lisp-interaction-mode))
|
||||
+ lisp-interaction-mode
|
||||
+ ;; `lisp-data-mode' doesn't exist prior to
|
||||
+ ;; Emacs 28.
|
||||
+ ,@(and (fboundp 'lisp-data-mode)
|
||||
+ '(lisp-data-mode))))
|
||||
(observed (yas--modes-to-activate)))
|
||||
(should (equal expected-first
|
||||
(cl-subseq observed 0 (length expected-first))))
|
||||
@@ -1691,9 +1700,11 @@ TODO: be meaner"
|
||||
"Test expansion of snippets in org source blocks."
|
||||
;; org 9+ no longer runs fontification for text-mode, so our hacks
|
||||
;; don't work. Note that old ert doesn't have skipping, so we have
|
||||
- ;; to expect failure instead.
|
||||
+ ;; to expect failure instead. Starting with Org-mode 9.5 this seems
|
||||
+ ;; to work again.
|
||||
:expected-result (if (and (fboundp 'org-in-src-block-p)
|
||||
- (version< (org-version) "9"))
|
||||
+ (or (version< (org-version) "9")
|
||||
+ (version<= "9.5" (org-version))))
|
||||
:passed :failed)
|
||||
(let ((text-mode-hook #'yas-minor-mode))
|
||||
(do-yas-org-native-tab-in-source-block "text")))
|
@ -1,72 +0,0 @@
|
||||
Add minor fixes for compiling with GCC 10.
|
||||
|
||||
Taken from upstream:
|
||||
https://gitlab.isc.org/isc-projects/dhcp/-/commit/6c7e61578b1b449272dbb40dd8b98d03dad8a57a
|
||||
|
||||
diff --git a/client/dhclient.c b/client/dhclient.c
|
||||
--- a/client/dhclient.c
|
||||
+++ b/client/dhclient.c
|
||||
@@ -83,8 +83,9 @@ static const char message [] = "Internet Systems Consortium DHCP Client";
|
||||
static const char url [] = "For info, please visit https://www.isc.org/software/dhcp/";
|
||||
#endif /* UNIT_TEST */
|
||||
|
||||
-u_int16_t local_port = 0;
|
||||
-u_int16_t remote_port = 0;
|
||||
+extern u_int16_t local_port;
|
||||
+extern u_int16_t remote_port;
|
||||
+
|
||||
#if defined(DHCPv6) && defined(DHCP4o6)
|
||||
int dhcp4o6_state = -1; /* -1 = stopped, 0 = polling, 1 = started */
|
||||
#endif
|
||||
diff --git a/common/discover.c b/common/discover.c
|
||||
--- a/common/discover.c
|
||||
+++ b/common/discover.c
|
||||
@@ -45,8 +45,8 @@ struct interface_info *fallback_interface = 0;
|
||||
|
||||
int interfaces_invalidated;
|
||||
int quiet_interface_discovery;
|
||||
-u_int16_t local_port;
|
||||
-u_int16_t remote_port;
|
||||
+u_int16_t local_port = 0;
|
||||
+u_int16_t remote_port = 0;
|
||||
u_int16_t relay_port = 0;
|
||||
int dhcpv4_over_dhcpv6 = 0;
|
||||
int (*dhcp_interface_setup_hook) (struct interface_info *, struct iaddr *);
|
||||
diff --git a/relay/dhcrelay.c b/relay/dhcrelay.c
|
||||
--- a/relay/dhcrelay.c
|
||||
+++ b/relay/dhcrelay.c
|
||||
@@ -95,8 +95,8 @@ enum { forward_and_append, /* Forward and append our own relay option. */
|
||||
forward_untouched, /* Forward without changes. */
|
||||
discard } agent_relay_mode = forward_and_replace;
|
||||
|
||||
-u_int16_t local_port;
|
||||
-u_int16_t remote_port;
|
||||
+extern u_int16_t local_port;
|
||||
+extern u_int16_t remote_port;
|
||||
|
||||
/* Relay agent server list. */
|
||||
struct server_list {
|
||||
diff --git a/server/mdb.c b/server/mdb.c
|
||||
--- a/server/mdb.c
|
||||
+++ b/server/mdb.c
|
||||
@@ -67,7 +67,7 @@ static host_id_info_t *host_id_info = NULL;
|
||||
|
||||
int numclasseswritten;
|
||||
|
||||
-omapi_object_type_t *dhcp_type_host;
|
||||
+extern omapi_object_type_t *dhcp_type_host;
|
||||
|
||||
isc_result_t enter_class(cd, dynamicp, commit)
|
||||
struct class *cd;
|
||||
diff --git a/server/mdb6.c b/server/mdb6.c
|
||||
--- a/server/mdb6.c
|
||||
+++ b/server/mdb6.c
|
||||
@@ -1945,7 +1945,7 @@ create_prefix6(struct ipv6_pool *pool, struct iasubopt **pref,
|
||||
}
|
||||
new_ds.data = new_ds.buffer->data;
|
||||
memcpy(new_ds.buffer->data, ds.data, ds.len);
|
||||
- memcpy(new_ds.buffer->data + ds.len, &tmp, sizeof(tmp));
|
||||
+ memcpy(&new_ds.buffer->data[0] + ds.len, &tmp, sizeof(tmp));
|
||||
data_string_forget(&ds, MDL);
|
||||
data_string_copy(&ds, &new_ds, MDL);
|
||||
data_string_forget(&new_ds, MDL);
|
100
gnu/packages/patches/libxmlb-install-xb-tool-into-bindir.patch
Normal file
100
gnu/packages/patches/libxmlb-install-xb-tool-into-bindir.patch
Normal file
@ -0,0 +1,100 @@
|
||||
From f91a9cfcd70178404ac2aafdfa124c9a4efe8866 Mon Sep 17 00:00:00 2001
|
||||
From: Richard Hughes <richard@hughsie.com>
|
||||
Date: Mon, 18 Apr 2022 10:50:42 +0100
|
||||
Subject: [PATCH 11/11] Install xb-tool into bindir
|
||||
|
||||
Fixes https://github.com/hughsie/libxmlb/issues/123
|
||||
---
|
||||
contrib/libxmlb.spec.in | 3 ++-
|
||||
meson.build | 4 +++-
|
||||
src/meson.build | 9 ++++++++-
|
||||
src/xb-tool.1 | 19 +++++++++++++++++++
|
||||
4 files changed, 32 insertions(+), 3 deletions(-)
|
||||
create mode 100644 src/xb-tool.1
|
||||
|
||||
diff --git a/contrib/libxmlb.spec.in b/contrib/libxmlb.spec.in
|
||||
index 6be65d1..24478fe 100644
|
||||
--- a/contrib/libxmlb.spec.in
|
||||
+++ b/contrib/libxmlb.spec.in
|
||||
@@ -71,7 +71,8 @@ Executable and data files for installed tests.
|
||||
%files
|
||||
%doc README.md
|
||||
%license LICENSE
|
||||
-%{_libexecdir}/xb-tool
|
||||
+%{_bindir}/xb-tool
|
||||
+%{_mandir}/man1/xb-tool.1*
|
||||
%dir %{_libdir}/girepository-1.0
|
||||
%{_libdir}/girepository-1.0/Xmlb-2.0.typelib
|
||||
%{_libdir}/libxmlb.so.2*
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 6870907..53b1324 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -103,16 +103,18 @@ add_project_link_arguments(
|
||||
)
|
||||
|
||||
if host_machine.system() == 'windows'
|
||||
- libexecdir = get_option('libexecdir')
|
||||
+ bindir = get_option('bindir')
|
||||
installed_test_bindir = get_option('libexecdir')
|
||||
installed_test_datadir = get_option('datadir')
|
||||
else
|
||||
prefix = get_option('prefix')
|
||||
datadir = join_paths(prefix, get_option('datadir'))
|
||||
+ bindir = join_paths(prefix, get_option('bindir'))
|
||||
libexecdir = join_paths(prefix, get_option('libexecdir'))
|
||||
installed_test_bindir = join_paths(libexecdir, 'installed-tests', meson.project_name())
|
||||
installed_test_datadir = join_paths(datadir, 'installed-tests', meson.project_name())
|
||||
endif
|
||||
+mandir = join_paths(prefix, get_option('mandir'))
|
||||
|
||||
gio = dependency('gio-2.0', version : '>= 2.45.8')
|
||||
giounix = dependency('gio-unix-2.0', version : '>= 2.45.8', required: false)
|
||||
diff --git a/src/meson.build b/src/meson.build
|
||||
index d7a1401..93fb8ba 100644
|
||||
--- a/src/meson.build
|
||||
+++ b/src/meson.build
|
||||
@@ -96,7 +96,14 @@ xb_tool = executable(
|
||||
libxmlb,
|
||||
],
|
||||
install : true,
|
||||
- install_dir : libexecdir
|
||||
+ install_dir : bindir
|
||||
+)
|
||||
+configure_file(
|
||||
+ input : 'xb-tool.1',
|
||||
+ output : 'xb-tool.1',
|
||||
+ configuration : conf,
|
||||
+ install: true,
|
||||
+ install_dir: join_paths(mandir, 'man1'),
|
||||
)
|
||||
endif
|
||||
|
||||
diff --git a/src/xb-tool.1 b/src/xb-tool.1
|
||||
new file mode 100644
|
||||
index 0000000..348d1b1
|
||||
--- /dev/null
|
||||
+++ b/src/xb-tool.1
|
||||
@@ -0,0 +1,19 @@
|
||||
+.\" Report problems in https://github.com/hughsie/libxmlb
|
||||
+.TH man 1 "18 April 2022" @PACKAGE_VERSION@ "xb-tool man page"
|
||||
+.SH NAME
|
||||
+xb-tool \- standalone XMLb utility
|
||||
+.SH SYNOPSIS
|
||||
+xb-tool [CMD]
|
||||
+.SH DESCRIPTION
|
||||
+This tool allows creating, dumping and querying binary XML blobs.
|
||||
+.PP
|
||||
+Additionally \fBxb-tool\fR can be used to profile specfic tokenized queries.
|
||||
+.SH OPTIONS
|
||||
+The xb-tool command takes various options depending on the action.
|
||||
+Run \fBxb-tool --help\fR for the full list.
|
||||
+.SH EXIT STATUS
|
||||
+Commands that successfully execute will return "0", otherwise "1".
|
||||
+.SH BUGS
|
||||
+No known bugs.
|
||||
+.SH AUTHOR
|
||||
+Richard Hughes (richard@hughsie.com)
|
||||
--
|
||||
2.35.1
|
||||
|
254
gnu/packages/patches/python-debugpy-unbundle-pydevd.patch
Normal file
254
gnu/packages/patches/python-debugpy-unbundle-pydevd.patch
Normal file
@ -0,0 +1,254 @@
|
||||
Allow using pydevd as a regular dependency.
|
||||
Submitted upstream at: https://github.com/microsoft/debugpy/pull/902
|
||||
|
||||
diff --git a/setup.py b/setup.py
|
||||
index 5fc40070..3a530a29 100644
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -11,6 +11,9 @@ import subprocess
|
||||
import sys
|
||||
|
||||
|
||||
+DEBUGPY_BUNDLING_DISABLED = bool(os.getenv('DEBUGPY_BUNDLING_DISABLED'))
|
||||
+
|
||||
+
|
||||
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
|
||||
import versioneer # noqa
|
||||
|
||||
@@ -18,12 +21,15 @@ del sys.path[0]
|
||||
|
||||
sys.path.insert(0, os.path.join(os.path.dirname(os.path.abspath(__file__)), "src"))
|
||||
import debugpy
|
||||
-import debugpy._vendored
|
||||
+
|
||||
+if not DEBUGPY_BUNDLING_DISABLED:
|
||||
+ import debugpy._vendored
|
||||
|
||||
del sys.path[0]
|
||||
|
||||
|
||||
-PYDEVD_ROOT = debugpy._vendored.project_root("pydevd")
|
||||
+PYDEVD_ROOT = (None if DEBUGPY_BUNDLING_DISABLED else
|
||||
+ debugpy._vendored.project_root("pydevd"))
|
||||
DEBUGBY_ROOT = os.path.dirname(os.path.abspath(debugpy.__file__))
|
||||
|
||||
|
||||
@@ -67,7 +73,7 @@ def iter_vendored_files():
|
||||
# relevant setuptools versions.
|
||||
class ExtModules(list):
|
||||
def __bool__(self):
|
||||
- return True
|
||||
+ return not DEBUGPY_BUNDLING_DISABLED
|
||||
|
||||
|
||||
def override_build(cmds):
|
||||
@@ -133,9 +139,24 @@ with open("DESCRIPTION.md", "r") as fh:
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
- if not os.getenv("SKIP_CYTHON_BUILD"):
|
||||
+ if not (os.getenv("SKIP_CYTHON_BUILD") or DEBUGPY_BUNDLING_DISABLED):
|
||||
cython_build()
|
||||
|
||||
+ # Etch bundling status in the source.
|
||||
+ if debugpy.__bundling_disabled__ != DEBUGPY_BUNDLING_DISABLED:
|
||||
+
|
||||
+ with open(os.path.join(DEBUGBY_ROOT, '__init__.py'), 'r') as f:
|
||||
+ lines = f.readlines()
|
||||
+ with open(os.path.join(DEBUGBY_ROOT, '__init__.py'), 'w') as f:
|
||||
+ edited = []
|
||||
+ for line in lines:
|
||||
+ if line.startswith('__bundling_disabled__'):
|
||||
+ edited.append(
|
||||
+ f'__bundling_disabled__ = {DEBUGPY_BUNDLING_DISABLED}\n')
|
||||
+ else:
|
||||
+ edited.append(line)
|
||||
+ f.writelines(edited)
|
||||
+
|
||||
extras = {}
|
||||
platforms = get_buildplatform()
|
||||
if platforms is not None:
|
||||
@@ -145,6 +166,18 @@ if __name__ == "__main__":
|
||||
override_build(cmds)
|
||||
override_build_py(cmds)
|
||||
|
||||
+ data = {"debugpy": ["ThirdPartyNotices.txt"]}
|
||||
+ packages = [
|
||||
+ "debugpy",
|
||||
+ "debugpy.adapter",
|
||||
+ "debugpy.common",
|
||||
+ "debugpy.launcher",
|
||||
+ "debugpy.server",
|
||||
+ ]
|
||||
+ if not DEBUGPY_BUNDLING_DISABLED:
|
||||
+ data.update({"debugpy._vendored": list(iter_vendored_files())})
|
||||
+ packages.append("debugpy._vendored")
|
||||
+
|
||||
setuptools.setup(
|
||||
name="debugpy",
|
||||
version=versioneer.get_version(),
|
||||
@@ -173,20 +206,10 @@ if __name__ == "__main__":
|
||||
"License :: OSI Approved :: MIT License",
|
||||
],
|
||||
package_dir={"": "src"},
|
||||
- packages=[
|
||||
- "debugpy",
|
||||
- "debugpy.adapter",
|
||||
- "debugpy.common",
|
||||
- "debugpy.launcher",
|
||||
- "debugpy.server",
|
||||
- "debugpy._vendored",
|
||||
- ],
|
||||
- package_data={
|
||||
- "debugpy": ["ThirdPartyNotices.txt"],
|
||||
- "debugpy._vendored": list(iter_vendored_files()),
|
||||
- },
|
||||
+ packages=packages,
|
||||
+ package_data=data,
|
||||
ext_modules=ExtModules(),
|
||||
- has_ext_modules=lambda: True,
|
||||
+ has_ext_modules=lambda: not DEBUGPY_BUNDLING_DISABLED,
|
||||
cmdclass=cmds,
|
||||
**extras
|
||||
)
|
||||
diff --git a/src/debugpy/__init__.py b/src/debugpy/__init__.py
|
||||
index baa5a7c5..7b7a29aa 100644
|
||||
--- a/src/debugpy/__init__.py
|
||||
+++ b/src/debugpy/__init__.py
|
||||
@@ -206,6 +206,8 @@ def trace_this_thread(should_trace):
|
||||
|
||||
__version__ = _version.get_versions()["version"]
|
||||
|
||||
+__bundling_disabled__ = False
|
||||
+
|
||||
# Force absolute path on Python 2.
|
||||
__file__ = os.path.abspath(__file__)
|
||||
|
||||
diff --git a/src/debugpy/server/__init__.py b/src/debugpy/server/__init__.py
|
||||
index e6a1ad66..5f29a87a 100644
|
||||
--- a/src/debugpy/server/__init__.py
|
||||
+++ b/src/debugpy/server/__init__.py
|
||||
@@ -4,6 +4,50 @@
|
||||
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
+from importlib import import_module
|
||||
+import os
|
||||
+
|
||||
# "force_pydevd" must be imported first to ensure (via side effects)
|
||||
# that the debugpy-vendored copy of pydevd gets used.
|
||||
-import debugpy._vendored.force_pydevd # noqa
|
||||
+import debugpy
|
||||
+if debugpy.__bundling_disabled__:
|
||||
+ # Do what force_pydevd.py does, but using the system-provided
|
||||
+ # pydevd.
|
||||
+
|
||||
+ # XXX: This is copied here so that the whole '_vendored' directory
|
||||
+ # can be deleted when DEBUGPY_BUNDLING_DISABLED is set.
|
||||
+
|
||||
+ # If debugpy logging is enabled, enable it for pydevd as well
|
||||
+ if "DEBUGPY_LOG_DIR" in os.environ:
|
||||
+ os.environ[str("PYDEVD_DEBUG")] = str("True")
|
||||
+ os.environ[str("PYDEVD_DEBUG_FILE")] = \
|
||||
+ os.environ["DEBUGPY_LOG_DIR"] + str("/debugpy.pydevd.log")
|
||||
+
|
||||
+ # Work around https://github.com/microsoft/debugpy/issues/346.
|
||||
+ # Disable pydevd frame-eval optimizations only if unset, to allow opt-in.
|
||||
+ if "PYDEVD_USE_FRAME_EVAL" not in os.environ:
|
||||
+ os.environ[str("PYDEVD_USE_FRAME_EVAL")] = str("NO")
|
||||
+
|
||||
+ # Constants must be set before importing any other pydevd module
|
||||
+ # due to heavy use of "from" in them.
|
||||
+ pydevd_constants = import_module('_pydevd_bundle.pydevd_constants')
|
||||
+ # The default pydevd value is 1000.
|
||||
+ pydevd_constants.MAXIMUM_VARIABLE_REPRESENTATION_SIZE = 2 ** 32
|
||||
+
|
||||
+ # When pydevd is imported it sets the breakpoint behavior, but it needs to be
|
||||
+ # overridden because by default pydevd will connect to the remote debugger using
|
||||
+ # its own custom protocol rather than DAP.
|
||||
+ import pydevd # noqa
|
||||
+ import debugpy # noqa
|
||||
+
|
||||
+ def debugpy_breakpointhook():
|
||||
+ debugpy.breakpoint()
|
||||
+
|
||||
+ pydevd.install_breakpointhook(debugpy_breakpointhook)
|
||||
+
|
||||
+ # Ensure that pydevd uses JSON protocol
|
||||
+ from _pydevd_bundle import pydevd_constants
|
||||
+ from _pydevd_bundle import pydevd_defaults
|
||||
+ pydevd_defaults.PydevdCustomization.DEFAULT_PROTOCOL = pydevd_constants.HTTP_JSON_PROTOCOL
|
||||
+else:
|
||||
+ import debugpy._vendored.force_pydevd # noqa
|
||||
diff --git a/src/debugpy/server/attach_pid_injected.py b/src/debugpy/server/attach_pid_injected.py
|
||||
index e6345996..87cfdd53 100644
|
||||
--- a/src/debugpy/server/attach_pid_injected.py
|
||||
+++ b/src/debugpy/server/attach_pid_injected.py
|
||||
@@ -8,6 +8,7 @@ from __future__ import absolute_import, division, print_function, unicode_litera
|
||||
|
||||
import os
|
||||
|
||||
+import debugpy
|
||||
|
||||
__file__ = os.path.abspath(__file__)
|
||||
_debugpy_dir = os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
|
||||
@@ -30,25 +31,29 @@ def attach(setup):
|
||||
def on_critical(msg):
|
||||
print(msg, file=sys.stderr)
|
||||
|
||||
- pydevd_attach_to_process_path = os.path.join(
|
||||
- _debugpy_dir,
|
||||
- "debugpy",
|
||||
- "_vendored",
|
||||
- "pydevd",
|
||||
- "pydevd_attach_to_process",
|
||||
- )
|
||||
- assert os.path.exists(pydevd_attach_to_process_path)
|
||||
- sys.path.insert(0, pydevd_attach_to_process_path)
|
||||
-
|
||||
- # NOTE: that it's not a part of the pydevd PYTHONPATH
|
||||
- import attach_script
|
||||
+ if debugpy.__bundling_disabled__:
|
||||
+ from pydevd_attach_to_process import attach_script
|
||||
+ else:
|
||||
+ pydevd_attach_to_process_path = os.path.join(
|
||||
+ _debugpy_dir,
|
||||
+ "debugpy",
|
||||
+ "_vendored",
|
||||
+ "pydevd",
|
||||
+ "pydevd_attach_to_process",
|
||||
+ )
|
||||
+ assert os.path.exists(pydevd_attach_to_process_path)
|
||||
+ sys.path.insert(0, pydevd_attach_to_process_path)
|
||||
+
|
||||
+ # NOTE: that it's not a part of the pydevd PYTHONPATH
|
||||
+ import attach_script
|
||||
|
||||
attach_script.fix_main_thread_id(
|
||||
on_warn=on_warn, on_exception=on_exception, on_critical=on_critical
|
||||
)
|
||||
|
||||
- # NOTE: At this point it should be safe to remove this.
|
||||
- sys.path.remove(pydevd_attach_to_process_path)
|
||||
+ if not debugpy.__bundling_disabled__:
|
||||
+ # NOTE: At this point it should be safe to remove this.
|
||||
+ sys.path.remove(pydevd_attach_to_process_path)
|
||||
except:
|
||||
import traceback
|
||||
|
||||
diff --git a/tests/tests/test_vendoring.py b/tests/tests/test_vendoring.py
|
||||
index dd6c4269..28c03702 100644
|
||||
--- a/tests/tests/test_vendoring.py
|
||||
+++ b/tests/tests/test_vendoring.py
|
||||
@@ -1,3 +1,8 @@
|
||||
+import pytest
|
||||
+
|
||||
+import debugpy
|
||||
+
|
||||
+@pytest.mark.skipif(debugpy.__bundling_disabled__, reason='Bundling disabled')
|
||||
def test_vendoring(pyfile):
|
||||
@pyfile
|
||||
def import_debugpy():
|
||||
--
|
||||
2.34.0
|
||||
|
@ -0,0 +1,18 @@
|
||||
Avoid LaTeX errors due to non-printable characters.
|
||||
Submitted upstream: https://github.com/ipython/ipython/pull/13640
|
||||
|
||||
diff --git a/IPython/utils/coloransi.py b/IPython/utils/coloransi.py
|
||||
index e33142180..9300b0108 100644
|
||||
--- a/IPython/utils/coloransi.py
|
||||
+++ b/IPython/utils/coloransi.py
|
||||
@@ -74,8 +74,8 @@ class TermColors:
|
||||
class InputTermColors:
|
||||
"""Color escape sequences for input prompts.
|
||||
|
||||
- This class is similar to TermColors, but the escapes are wrapped in \001
|
||||
- and \002 so that readline can properly know the length of each line and
|
||||
+ This class is similar to TermColors, but the escapes are wrapped in \\001
|
||||
+ and \\002 so that readline can properly know the length of each line and
|
||||
can wrap lines accordingly. Use this class for any colored text which
|
||||
needs to be used in input prompts, such as in calls to raw_input().
|
||||
|
@ -0,0 +1,25 @@
|
||||
Fix non-reproducibilities caused by time-dependent procedures.
|
||||
Submitted upstream: https://github.com/ipython/ipython/pull/13640
|
||||
|
||||
diff --git a/IPython/sphinxext/ipython_directive.py b/IPython/sphinxext/ipython_directive.py
|
||||
index 18bdfcae9..2c665ac87 100644
|
||||
--- a/IPython/sphinxext/ipython_directive.py
|
||||
+++ b/IPython/sphinxext/ipython_directive.py
|
||||
@@ -19,7 +19,7 @@
|
||||
In [1]: 1+1
|
||||
|
||||
In [1]: import datetime
|
||||
- ...: datetime.datetime.now()
|
||||
+ ...: datetime.date.fromisoformat('2022-02-22')
|
||||
|
||||
It supports IPython construct that plain
|
||||
Python does not understand (like magics):
|
||||
@@ -28,7 +28,7 @@
|
||||
|
||||
In [0]: import time
|
||||
|
||||
- In [0]: %timeit time.sleep(0.05)
|
||||
+ In [0]: %pdoc time
|
||||
|
||||
This will also support top-level async when using IPython 7.0+
|
||||
|
130
gnu/packages/patches/python-mypy-use-sys-path.patch
Normal file
130
gnu/packages/patches/python-mypy-use-sys-path.patch
Normal file
@ -0,0 +1,130 @@
|
||||
This patch fixes the annotation files search of mypy on non-FHS distributions.
|
||||
|
||||
Submitted upstream: https://github.com/python/mypy/pull/12530
|
||||
|
||||
diff --git a/mypy/main.py b/mypy/main.py
|
||||
index 3d9836587..f9b0cbd39 100644
|
||||
--- a/mypy/main.py
|
||||
+++ b/mypy/main.py
|
||||
@@ -1033,10 +1033,10 @@ def process_options(args: List[str],
|
||||
# Set target.
|
||||
if special_opts.modules + special_opts.packages:
|
||||
options.build_type = BuildType.MODULE
|
||||
- egg_dirs, site_packages = get_site_packages_dirs(options.python_executable)
|
||||
+ site_packages = get_site_packages_dirs(options.python_executable)
|
||||
search_paths = SearchPaths((os.getcwd(),),
|
||||
tuple(mypy_path() + options.mypy_path),
|
||||
- tuple(egg_dirs + site_packages),
|
||||
+ tuple(site_packages),
|
||||
())
|
||||
targets = []
|
||||
# TODO: use the same cache that the BuildManager will
|
||||
diff --git a/mypy/modulefinder.py b/mypy/modulefinder.py
|
||||
index 94d2dd34c..337a2d59b 100644
|
||||
--- a/mypy/modulefinder.py
|
||||
+++ b/mypy/modulefinder.py
|
||||
@@ -629,7 +629,7 @@ def get_prefixes(python_executable: Optional[str]) -> Tuple[str, str]:
|
||||
|
||||
|
||||
@functools.lru_cache(maxsize=None)
|
||||
-def get_site_packages_dirs(python_executable: Optional[str]) -> Tuple[List[str], List[str]]:
|
||||
+def get_site_packages_dirs(python_executable: Optional[str]) -> List[str]:
|
||||
"""Find package directories for given python.
|
||||
|
||||
This runs a subprocess call, which generates a list of the egg directories, and the site
|
||||
@@ -648,51 +648,7 @@ def get_site_packages_dirs(python_executable: Optional[str]) -> Tuple[List[str],
|
||||
site_packages = ast.literal_eval(
|
||||
subprocess.check_output([python_executable, pyinfo.__file__, 'getsitepackages'],
|
||||
stderr=subprocess.PIPE).decode())
|
||||
- return expand_site_packages(site_packages)
|
||||
-
|
||||
-
|
||||
-def expand_site_packages(site_packages: List[str]) -> Tuple[List[str], List[str]]:
|
||||
- """Expands .pth imports in site-packages directories"""
|
||||
- egg_dirs: List[str] = []
|
||||
- for dir in site_packages:
|
||||
- if not os.path.isdir(dir):
|
||||
- continue
|
||||
- pth_filenames = sorted(name for name in os.listdir(dir) if name.endswith(".pth"))
|
||||
- for pth_filename in pth_filenames:
|
||||
- egg_dirs.extend(_parse_pth_file(dir, pth_filename))
|
||||
-
|
||||
- return egg_dirs, site_packages
|
||||
-
|
||||
-
|
||||
-def _parse_pth_file(dir: str, pth_filename: str) -> Iterator[str]:
|
||||
- """
|
||||
- Mimics a subset of .pth import hook from Lib/site.py
|
||||
- See https://github.com/python/cpython/blob/3.5/Lib/site.py#L146-L185
|
||||
- """
|
||||
-
|
||||
- pth_file = os.path.join(dir, pth_filename)
|
||||
- try:
|
||||
- f = open(pth_file, "r")
|
||||
- except OSError:
|
||||
- return
|
||||
- with f:
|
||||
- for line in f.readlines():
|
||||
- if line.startswith("#"):
|
||||
- # Skip comment lines
|
||||
- continue
|
||||
- if line.startswith(("import ", "import\t")):
|
||||
- # import statements in .pth files are not supported
|
||||
- continue
|
||||
-
|
||||
- yield _make_abspath(line.rstrip(), dir)
|
||||
-
|
||||
-
|
||||
-def _make_abspath(path: str, root: str) -> str:
|
||||
- """Take a path and make it absolute relative to root if not already absolute."""
|
||||
- if os.path.isabs(path):
|
||||
- return os.path.normpath(path)
|
||||
- else:
|
||||
- return os.path.join(root, os.path.normpath(path))
|
||||
+ return site_packages
|
||||
|
||||
|
||||
def add_py2_mypypath_entries(mypypath: List[str]) -> List[str]:
|
||||
@@ -781,7 +737,7 @@ def compute_search_paths(sources: List[BuildSource],
|
||||
if options.python_version[0] == 2:
|
||||
mypypath = add_py2_mypypath_entries(mypypath)
|
||||
|
||||
- egg_dirs, site_packages = get_site_packages_dirs(options.python_executable)
|
||||
+ site_packages = get_site_packages_dirs(options.python_executable)
|
||||
base_prefix, prefix = get_prefixes(options.python_executable)
|
||||
is_venv = base_prefix != prefix
|
||||
for site_dir in site_packages:
|
||||
@@ -801,7 +757,7 @@ def compute_search_paths(sources: List[BuildSource],
|
||||
|
||||
return SearchPaths(python_path=tuple(reversed(python_path)),
|
||||
mypy_path=tuple(mypypath),
|
||||
- package_path=tuple(egg_dirs + site_packages),
|
||||
+ package_path=tuple(site_packages),
|
||||
typeshed_path=tuple(lib_path))
|
||||
|
||||
|
||||
diff --git a/mypy/pyinfo.py b/mypy/pyinfo.py
|
||||
index ab2d3286b..9fb0501a1 100644
|
||||
--- a/mypy/pyinfo.py
|
||||
+++ b/mypy/pyinfo.py
|
||||
@@ -24,16 +24,11 @@ def getprefixes():
|
||||
|
||||
def getsitepackages():
|
||||
# type: () -> List[str]
|
||||
- res = []
|
||||
- if hasattr(site, 'getsitepackages'):
|
||||
- res.extend(site.getsitepackages())
|
||||
|
||||
- if hasattr(site, 'getusersitepackages') and site.ENABLE_USER_SITE:
|
||||
- res.insert(0, site.getusersitepackages())
|
||||
- else:
|
||||
- from distutils.sysconfig import get_python_lib
|
||||
- res = [get_python_lib()]
|
||||
- return res
|
||||
+ # Simply return sys.path, which has already been expanded
|
||||
+ # correctly via Python's site.py module, which takes care of .pth,
|
||||
+ # sitecustomize.py files, etc.
|
||||
+ return sys.path
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
@ -1,465 +0,0 @@
|
||||
From 8d7687842f099e3e7e60d3a83fed58b2c6a92863 Mon Sep 17 00:00:00 2001
|
||||
From: Matthew Flatt <mflatt@racket-lang.org>
|
||||
Date: Sun, 6 Feb 2022 10:36:09 -0700
|
||||
Subject: [PATCH 1/2] Chez Scheme: adapt bootfile build for supplied `Scheme=`
|
||||
|
||||
(cherry picked from commit fca1e02349664060e10278ca2ce6577a949bebf5)
|
||||
|
||||
(Fixed conflicts by dropping pbchunks and pbarch changes.)
|
||||
---
|
||||
racket/src/ChezScheme/configure | 15 ++++++++++++++-
|
||||
racket/src/ChezScheme/s/Mf-base | 4 ++--
|
||||
racket/src/ChezScheme/s/Mf-cross | 4 +++-
|
||||
3 files changed, 19 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/racket/src/ChezScheme/configure b/racket/src/ChezScheme/configure
|
||||
index 4515ffc105..0098829091 100755
|
||||
--- a/racket/src/ChezScheme/configure
|
||||
+++ b/racket/src/ChezScheme/configure
|
||||
@@ -45,6 +45,7 @@ threads=yes
|
||||
nothreads=no
|
||||
temproot=""
|
||||
help=no
|
||||
+forceworkarea=no
|
||||
gzipmanpages=yes
|
||||
installowner=""
|
||||
installgroup=""
|
||||
@@ -205,6 +206,9 @@ while [ $# != 0 ] ; do
|
||||
--pb)
|
||||
pb=yes
|
||||
;;
|
||||
+ --force)
|
||||
+ forceworkarea=yes
|
||||
+ ;;
|
||||
--installprefix=*)
|
||||
installprefix=`echo $1 | sed -e 's/^--installprefix=//'`
|
||||
;;
|
||||
@@ -439,6 +443,7 @@ if [ "$help" = "yes" ]; then
|
||||
echo " --toolprefix=<prefix> prefix tool (compiler, linker, ...) names"
|
||||
echo " --[no]gzip-man-pages compress manual pages ($gzipmanpages)"
|
||||
echo " --workarea=<pathname> build directory ($w)"
|
||||
+ echo " --force configure even without boot files"
|
||||
echo " CC=<C compiler> C compiler"
|
||||
echo " CPPFLAGS=<C preprocessor flags> C preprocessor flags"
|
||||
echo " CFLAGS=<C compiler flags> C compiler flags"
|
||||
@@ -721,8 +726,16 @@ case "${flagsmuni}" in
|
||||
;;
|
||||
esac
|
||||
|
||||
+if [ "$w" = "$m" ] ; then
|
||||
+ configuringin=""
|
||||
+else
|
||||
+ configuringin=" in $w"
|
||||
+fi
|
||||
+
|
||||
if [ -f boot/$m/scheme.boot -o -f "$srcdir"/boot/$m/scheme.boot ] ; then
|
||||
- echo "Configuring for $m"
|
||||
+ echo "Configuring for $m$configuringin"
|
||||
+elif [ "$forceworkarea" = yes ] ; then
|
||||
+ echo "Configuring for $m$configuringin despite missing boot files"
|
||||
else
|
||||
if [ "$m" = "" ] ; then
|
||||
maybem="<machine type>"
|
||||
diff --git a/racket/src/ChezScheme/s/Mf-base b/racket/src/ChezScheme/s/Mf-base
|
||||
index cc6178c973..1f4a967998 100644
|
||||
--- a/racket/src/ChezScheme/s/Mf-base
|
||||
+++ b/racket/src/ChezScheme/s/Mf-base
|
||||
@@ -94,7 +94,7 @@ endif
|
||||
# that Scheme and SCHEMEHEAPDIRS are set by Mf-cross to point to the host Scheme
|
||||
# implementation
|
||||
Scheme = ../bin/$m/scheme${ExeSuffix}
|
||||
-export SCHEMEHEAPDIRS=../boot/%m
|
||||
+export SCHEMEHEAPDIRS=../boot/$m
|
||||
export CHEZSCHEMELIBDIRS=.
|
||||
|
||||
# Define the libdirs separator character
|
||||
@@ -691,4 +691,4 @@ reset-one:
|
||||
|
||||
.PHONY: run
|
||||
run:
|
||||
- env SCHEMEHEAPDIRS=../boot/$m/ ../bin/$m/scheme $(ARGS)
|
||||
+ env SCHEMEHEAPDIRS=${SCHEMEHEAPDIRS} ${Scheme} $(ARGS)
|
||||
diff --git a/racket/src/ChezScheme/s/Mf-cross b/racket/src/ChezScheme/s/Mf-cross
|
||||
index d796cbb459..397af59a28 100644
|
||||
--- a/racket/src/ChezScheme/s/Mf-cross
|
||||
+++ b/racket/src/ChezScheme/s/Mf-cross
|
||||
@@ -43,5 +43,7 @@ x$(xm).$(m):
|
||||
$(MAKE) -f Mf-cross m=$(m) xm=$(xm) i=f o=3 d=0 xpatch
|
||||
mv xpatch x$(xm).$(m)
|
||||
|
||||
+ifneq ($(SCHEMEHEAPDIRS),:)
|
||||
# Ensure that cross-compiling "nanopass.so" is rebuilt if the host compiler changed
|
||||
-nanopass.so: ${SCHEME} ${SCHEMEHEAPDIRS}/petite.boot ${SCHEMEHEAPDIRS}/scheme.boot
|
||||
+nanopass.so: ${Scheme} ${SCHEMEHEAPDIRS}/petite.boot ${SCHEMEHEAPDIRS}/scheme.boot
|
||||
+endif
|
||||
--
|
||||
2.32.0
|
||||
|
||||
|
||||
From 26c8e2c1d9b02ad85acef8bda40d92154cf0b699 Mon Sep 17 00:00:00 2001
|
||||
From: Matthew Flatt <mflatt@racket-lang.org>
|
||||
Date: Sun, 6 Feb 2022 11:03:30 -0700
|
||||
Subject: [PATCH 2/2] configure: make `--enable-scheme` work with an executable
|
||||
|
||||
When the same Chez Scheme version as used by Racket is already
|
||||
available, then `--enable-scheme=...` can supply an executable. For
|
||||
cross builds, `--enable-scheme=...` can still supply a build
|
||||
directory, instead, as before.
|
||||
|
||||
(cherry picked from commit 4f0e76855ce7e86107de495292a553469daf0b3f)
|
||||
---
|
||||
racket/src/ChezScheme/makefiles/Makefile.in | 3 ++
|
||||
racket/src/README.txt | 30 +++++++++++---
|
||||
racket/src/configure | 8 +++-
|
||||
racket/src/cs/README.txt | 6 ++-
|
||||
racket/src/cs/c/Makefile.in | 44 ++++++++++++++++-----
|
||||
racket/src/cs/c/configure | 24 +++++++++--
|
||||
racket/src/cs/c/configure.ac | 21 ++++++++--
|
||||
7 files changed, 112 insertions(+), 24 deletions(-)
|
||||
|
||||
diff --git a/racket/src/ChezScheme/makefiles/Makefile.in b/racket/src/ChezScheme/makefiles/Makefile.in
|
||||
index c396efc851..3998ef9ccd 100644
|
||||
--- a/racket/src/ChezScheme/makefiles/Makefile.in
|
||||
+++ b/racket/src/ChezScheme/makefiles/Makefile.in
|
||||
@@ -59,6 +59,9 @@ reset:
|
||||
%.boot:
|
||||
(cd $(workarea) && $(MAKE) $*.boot)
|
||||
|
||||
+auto.boot:
|
||||
+ (cd $(workarea) && $(MAKE) $(defaultm).boot)
|
||||
+
|
||||
# <machine>.bootquick to build boot files for <machine>
|
||||
# with o=3 d=0 for the cross compiler, and only after
|
||||
# building the kernel for the configured machine
|
||||
diff --git a/racket/src/README.txt b/racket/src/README.txt
|
||||
index 98647aebce..d77310b4a4 100644
|
||||
--- a/racket/src/README.txt
|
||||
+++ b/racket/src/README.txt
|
||||
@@ -354,6 +354,10 @@ variant of MinGW without "libdelayimp.a", get the implementation of
|
||||
========================================================================
|
||||
|
||||
Cross-compilation requires at least two flags to `configure`:
|
||||
+`--host=OS` and either `--enable-racket=RACKET` or (for Racket CS)
|
||||
+`--enable-scheme-SCHEME`.
|
||||
+
|
||||
+More information:
|
||||
|
||||
* `--host=OS`, where OS is something like `i386-gnu-linux` to
|
||||
indicate the target platform.
|
||||
@@ -374,11 +378,27 @@ Cross-compilation requires at least two flags to `configure`:
|
||||
run `configure` again (with no arguments) in a "local" subdirectory
|
||||
to create a build for the current platform.
|
||||
|
||||
-An additional flag is needed for building Racket CS, unless the flag
|
||||
-`--enable-racket=auto` is used:
|
||||
-
|
||||
- * `--enable-scheme=DIR`, where DIR is a path that has a "ChezScheme"
|
||||
- directory where Chez Scheme is built for the host system.
|
||||
+ * `--enable-scheme=SCHEME`, where SCHEME is a Chez Scheme executable
|
||||
+ executable that runs on the build platform; the executable must be
|
||||
+ the same version as used in Racket built for the target platform.
|
||||
+
|
||||
+ Supplying `--enable-scheme=DIR` is also supported in cross-build
|
||||
+ mode, where DIR is a path that has a "ChezScheme" directory where
|
||||
+ Chez Scheme is built for the host system.
|
||||
+
|
||||
+The `--enable-racket=RACKET` and `--enable-scheme=SCHEME` flags are
|
||||
+allowed for non-cross builds, too:
|
||||
+
|
||||
+ * For Racket CS, supplying either selects a Racket or Chez Scheme
|
||||
+ implementation used to create boot files to the build platform.
|
||||
+ Suppling Chez Scheme is a much more direct path, but when Racket is
|
||||
+ supplied, its version does not have to match the version being
|
||||
+ built.
|
||||
+
|
||||
+ * For Racket BC, `--enable-racket=RACKET` selects a Racket for
|
||||
+ prepare C sources to cooperate with garbage collection. Its version
|
||||
+ needs to be close to the one being built, and potentially exactly
|
||||
+ the same version.
|
||||
|
||||
Some less commonly needed `configure` flags are for Racket BC:
|
||||
|
||||
diff --git a/racket/src/configure b/racket/src/configure
|
||||
index c9f3ba4419..1b53ec7ce2 100755
|
||||
--- a/racket/src/configure
|
||||
+++ b/racket/src/configure
|
||||
@@ -9,6 +9,7 @@ pb_dir="$dir/ChezScheme/boot/pb"
|
||||
use_cs=maybe
|
||||
use_bc=maybe
|
||||
supplied_racket=no
|
||||
+supplied_scheme=no
|
||||
enable_boothelp=
|
||||
|
||||
# We don't have to detect conflicts like `--enable-csdefault --enable-bcdefault`,
|
||||
@@ -34,6 +35,9 @@ for arg in $*; do
|
||||
--enable-racket=*)
|
||||
supplied_racket=yes
|
||||
;;
|
||||
+ --enable-scheme=*)
|
||||
+ supplied_scheme=yes
|
||||
+ ;;
|
||||
--help | -h)
|
||||
echo $0:
|
||||
echo see --help-bc or --help-cs, since the Racket CS build and the
|
||||
@@ -70,8 +74,8 @@ elif test "$use_cs" = "maybe" ; then
|
||||
fi
|
||||
|
||||
if test "$use_cs" = "yes" ; then
|
||||
- if test $use_bc = no -a $supplied_racket = no -a ! -d "$pb_dir" ; then
|
||||
- echo $0: must have $pb_dir or --enable-racket=... for --enable-csonly
|
||||
+ if test $use_bc = no -a $supplied_racket = no -a $supplied_scheme = no -a ! -d "$pb_dir" ; then
|
||||
+ echo $0: must have $pb_dir, --enable-racket=... or --enable-scheme=... for --enable-csonly
|
||||
exit 1
|
||||
fi
|
||||
|
||||
diff --git a/racket/src/cs/README.txt b/racket/src/cs/README.txt
|
||||
index 2ece417b78..8e6fc57b74 100644
|
||||
--- a/racket/src/cs/README.txt
|
||||
+++ b/racket/src/cs/README.txt
|
||||
@@ -39,6 +39,11 @@ build:
|
||||
installed in the "../ChezScheme/boot/pb" directory as described by
|
||||
"../ChezScheme/BUILDING".
|
||||
|
||||
+ Supplying `--enable-scheme=...` is also an option if you alerady
|
||||
+ have the same version of Chez Scheme built on the current platform.
|
||||
+ Another build will be created, anyway, but more quickly than
|
||||
+ without Chez Scheme.
|
||||
+
|
||||
* Racket is needed to generate the files in the "schemified"
|
||||
directory from the sources in sibling directories like "../io". The
|
||||
Racket version must be practically the same as the current Racket
|
||||
@@ -48,7 +53,6 @@ build:
|
||||
Unlike Chez Scheme boot files, the files generated in "schemified"
|
||||
are human-readable and -editable Scheme code. That provides a way
|
||||
out of bootstrapping black holes, even without BC.
|
||||
-
|
||||
|
||||
|
||||
========================================================================
|
||||
diff --git a/racket/src/cs/c/Makefile.in b/racket/src/cs/c/Makefile.in
|
||||
index 54a644a1d9..d73993f0fc 100644
|
||||
--- a/racket/src/cs/c/Makefile.in
|
||||
+++ b/racket/src/cs/c/Makefile.in
|
||||
@@ -12,7 +12,9 @@ CS_HOST_WORKAREA_PREFIX = @CS_HOST_WORKAREA_PREFIX@
|
||||
SCHEME_HOST_WORKAREA = $(CS_HOST_WORKAREA_PREFIX)$(SCHEME_WORKAREA)
|
||||
SCHEME_BIN = $(SCHEME_HOST_WORKAREA)/$(MACH)/bin/$(MACH)/scheme
|
||||
SCHEME_INC = $(SCHEME_HOST_WORKAREA)/$(MACH)/boot/$(MACH)
|
||||
-SCHEME = $(SCHEME_BIN) -B $(SCHEME_INC)/petite.boot -B $(SCHEME_INC)/scheme.boot
|
||||
+SCHEME_built = $(SCHEME_BIN) -B $(SCHEME_INC)/petite.boot -B $(SCHEME_INC)/scheme.boot
|
||||
+SCHEME_existing = @MAKE_SCHEME_SCHEME@
|
||||
+SCHEME = $(SCHEME@USE_SCHEME_MODE@)
|
||||
|
||||
TARGET_MACH = @TARGET_MACH@
|
||||
SCHEME_TARGET_INC = $(SCHEME_WORKAREA)/$(TARGET_MACH)/boot/$(TARGET_MACH)
|
||||
@@ -88,7 +90,7 @@ mainsrcdir = @srcdir@/../..
|
||||
@INCLUDEDEP@ @srcdir@/../../version/version.mak
|
||||
|
||||
cs:
|
||||
- $(MAKE) scheme@T_CROSS_MODE@
|
||||
+ $(MAKE) scheme@MAKE_SCHEME_MODE@
|
||||
$(MAKE) racket-so
|
||||
cd rktio; $(MAKE)
|
||||
$(MAKE) racketcs
|
||||
@@ -121,9 +123,13 @@ racket-so:
|
||||
|
||||
RACKET_SO_ENV = @CONFIGURE_RACKET_SO_COMPILE@
|
||||
|
||||
+TARGET_MACH_built = $(TARGET_MACH)
|
||||
+TARGET_MACH_existing = xc-$(TARGET_MACH)
|
||||
+XPATCH_FILE = $(SCHEME_WORKAREA)/$(TARGET_MACH@USE_SCHEME_MODE@)/s/xpatch
|
||||
+
|
||||
CS_PROGS = SCHEME="$(SCHEME)"
|
||||
CS_OPTS = COMPRESS_COMP=@COMPRESS_COMP@ @ENABLE_OR_DISABLE_WPO@
|
||||
-CS_OPTScross = $(CS_OPTS) CSO=$(MACH) CROSS_COMP="--xpatch $(SCHEME_WORKAREA)/$(TARGET_MACH)/s/xpatch"
|
||||
+CS_OPTScross = $(CS_OPTS) CSO=$(MACH) CROSS_COMP="--xpatch $(XPATCH_FILE)"
|
||||
PASS_COMPILE_DEPS = EXTRA_COMPILE_DEPS="$(SCHEME_INC)/petite.boot $(SCHEME_INC)/scheme.boot"
|
||||
|
||||
build-racket-so:
|
||||
@@ -163,6 +169,15 @@ pb-bootquick:
|
||||
cd $(SCHEME_WORKAREA) && $(MAKE) reset
|
||||
$(SHELL) $(srcdir)/ready_boot.sh $(MACH) $(SCHEME_WORKAREA)
|
||||
|
||||
+scheme-via-scheme:
|
||||
+ $(MAKE) $(SCHEME_WORKAREA)/boot/$(MACH)/scheme.boot
|
||||
+ $(MAKE) mach-make
|
||||
+
|
||||
+$(SCHEME_WORKAREA)/boot/$(MACH)/scheme.boot:
|
||||
+ mkdir -p $(SCHEME_WORKAREA)
|
||||
+ $(MAKE) config-scheme CONFIG_SCHEME_MODE="$(CONFIG_SCHEME_MODE) --force"
|
||||
+ cd $(SCHEME_WORKAREA) && $(MAKE) $(MACH).boot Scheme="$(SCHEME)" SCHEMEHEAPDIRS=: o=3 d=0 what=all
|
||||
+
|
||||
mach-make:
|
||||
$(MAKE) config-scheme
|
||||
cd $(SCHEME_WORKAREA) && $(MAKE)
|
||||
@@ -182,24 +197,33 @@ config-scheme:
|
||||
|
||||
scheme-cross:
|
||||
env MAKE_BOOT_FOR_CROSS=yes SCHEME_SRC="$(SCHEME_DIR)" SCHEME_WORKAREA=$(SCHEME_WORKAREA) MACH="$(TARGET_MACH)" $(BOOTSTRAP_RACKET) "$(SCHEME_DIR)"/rktboot/make-boot.rkt
|
||||
+ $(MAKE) finish-scheme-cross
|
||||
+
|
||||
+finish-scheme-cross:
|
||||
$(SHELL) $(srcdir)/reset_boot.sh $(TARGET_MACH) $(SCHEME_WORKAREA)
|
||||
cd $(SCHEME_WORKAREA) && "$(UP_SCHEME_DIR)"/configure @SCHEME_CROSS_CONFIG_ARGS@ $(SCHEME_CONFIG_VARS)
|
||||
cd $(SCHEME_WORKAREA)/$(TARGET_MACH)/c && $(CHOST_HACK@T_CROSS_MODE@) $(MAKE) o=o cross=t
|
||||
- $(MAKE) $(SCHEME_WORKAREA)/$(TARGET_MACH)/s/xpatch
|
||||
+ $(MAKE) $(XPATCH_FILE)
|
||||
+
|
||||
+scheme-cross-via-scheme:
|
||||
+ $(MAKE) $(SCHEME_WORKAREA)/boot/$(TARGET_MACH)/scheme.boot MACH=$(TARGET_MACH)
|
||||
+ $(MAKE) finish-scheme-cross
|
||||
|
||||
# Rebuild patch file and cross "petite.boot" and "scheme.boot" when older
|
||||
-# than the build-host "scheme.boot" or when "make-boot.rkt" touchs dummy boot files
|
||||
-XPATCH_DEPS = $(SCHEME_HOST_WORKAREA)/$(MACH)/boot/$(MACH)/scheme.boot \
|
||||
- $(SCHEME_WORKAREA)/boot/$(TARGET_MACH)/scheme.boot
|
||||
+# than the build-<host "scheme.boot" or when "make-boot.rkt" touchs dummy boot files
|
||||
+XPATCH_DEPS_built = $(SCHEME_HOST_WORKAREA)/$(MACH)/boot/$(MACH)/scheme.boot \
|
||||
+ $(SCHEME_WORKAREA)/boot/$(TARGET_MACH)/scheme.boot
|
||||
+XPATCH_DEPS_existing =
|
||||
+XPATCH_DEPS = $(XPATCH_DEPS@USE_SCHEME_MODE@)
|
||||
|
||||
-$(SCHEME_WORKAREA)/$(TARGET_MACH)/s/xpatch: $(XPATCH_DEPS)
|
||||
+$(XPATCH_FILE): $(XPATCH_DEPS)
|
||||
$(MAKE) bounce TARGET=build-xpatch-using-host
|
||||
|
||||
build-xpatch-using-host:
|
||||
cd $(SCHEME_WORKAREA)/$(TARGET_MACH)/s && $(MAKE) -f Mf-cross m=$(MACH) xm=$(TARGET_MACH) Scheme="$(SCHEME_BIN)" SCHEMEHEAPDIRS="$(SCHEME_INC)"
|
||||
|
||||
XPATCH =
|
||||
-XPATCHcross = --xpatch $(SCHEME_WORKAREA)/$(TARGET_MACH)/s/xpatch
|
||||
+XPATCHcross = --xpatch $(XPATCH_FILE)
|
||||
|
||||
racket.boot: racket.so
|
||||
$(SCHEME) --script $(srcdir)/convert-to-boot.ss @BOOT_COMPRESS_COMP@ $(XPATCH@CROSS_MODE@) racket.so racket.boot $(TARGET_MACH)
|
||||
@@ -410,7 +434,7 @@ install-cross:
|
||||
$(MAKE) compile-xpatch.$(TARGET_MACH)
|
||||
$(MAKE) library-xpatch.$(TARGET_MACH)
|
||||
|
||||
-SCHEME_XPATCH = $(SCHEME_WORKAREA)/$(TARGET_MACH)/s/xpatch
|
||||
+SCHEME_XPATCH = $(XPATCH_FILE)
|
||||
|
||||
CROSS_SERVE_DEPS = $(srcdir)/mk-cross-serve.ss $(srcdir)/cross-serve.ss \
|
||||
$(srcdir)/../expander/env.ss $(srcdir)/../linklet/config.ss
|
||||
diff --git a/racket/src/cs/c/configure b/racket/src/cs/c/configure
|
||||
index 21695a431a..1eeef57753 100755
|
||||
--- a/racket/src/cs/c/configure
|
||||
+++ b/racket/src/cs/c/configure
|
||||
@@ -654,6 +654,9 @@ MINGW
|
||||
NOT_OSX
|
||||
OSX
|
||||
SETUP_BOOT_MODE
|
||||
+USE_SCHEME_MODE
|
||||
+MAKE_SCHEME_SCHEME
|
||||
+MAKE_SCHEME_MODE
|
||||
TT_CROSS_MODE
|
||||
T_CROSS_MODE
|
||||
CROSS_MODE
|
||||
@@ -1448,7 +1451,7 @@ Optional Features:
|
||||
--enable-docs build docs on install (enabled by default)
|
||||
--enable-usersetup setup user-specific files on install
|
||||
--enable-racket=<path> use <path> as Racket for build; or "auto" to create
|
||||
- --enable-scheme=<path> use <path> as host's build directory for cross
|
||||
+ --enable-scheme=<path> use <path> as host build for cross
|
||||
--enable-mach=<mach> use Chez Scheme machine type <mach>
|
||||
--enable-target=<mach> cross-build for Chez Scheme machine type <mach>
|
||||
--enable-portable prefer portable to host-specific
|
||||
@@ -2867,7 +2870,7 @@ show_explicitly_enabled "${enable_xonx}" "Unix style"
|
||||
show_explicitly_enabled "${enable_libzo}" 'Compiled ".zo" files moved to lib'
|
||||
|
||||
show_explicitly_set "${enable_racket}" "Racket"
|
||||
-show_explicitly_set "${enable_scheme}" "Chez Scheme build directory"
|
||||
+show_explicitly_set "${enable_scheme}" "Chez Scheme for build"
|
||||
show_explicitly_set "${enable_mach}" "machine type"
|
||||
show_explicitly_set "${enable_target}" "cross-build machine type"
|
||||
show_explicitly_enabled "${enable_portable}" "portable"
|
||||
@@ -4745,9 +4748,21 @@ esac
|
||||
|
||||
SCHEME_DIR=${srcdir}/../../ChezScheme
|
||||
MAKE_BUILD_SCHEME=checkout
|
||||
+USE_SCHEME_MODE="_built"
|
||||
+MAKE_SCHEME_MODE="${T_CROSS_MODE}"
|
||||
|
||||
if test "${enable_scheme}" != "" ; then
|
||||
- CS_HOST_WORKAREA_PREFIX="${enable_scheme}/"
|
||||
+ if test -d "${enable_scheme}" ; then
|
||||
+ # Directory exists, so use it as a build directory
|
||||
+ echo "Using supplied Scheme path as a build directory"
|
||||
+ CS_HOST_WORKAREA_PREFIX="${enable_scheme}/"
|
||||
+ else
|
||||
+ # Directory does not exist, so assume it's an executable
|
||||
+ echo "Using supplied Scheme path as an executable"
|
||||
+ MAKE_SCHEME_MODE="${T_CROSS_MODE}-via-scheme"
|
||||
+ MAKE_SCHEME_SCHEME="${enable_scheme}"
|
||||
+ USE_SCHEME_MODE="_existing"
|
||||
+ fi
|
||||
fi
|
||||
|
||||
if test "${enable_racket}" != "" ; then
|
||||
@@ -6012,6 +6027,9 @@ SCHEME_CROSS_CONFIG_ARGS="--machine=${TARGET_MACH} --disable-x11 ${cs_auto_flags
|
||||
|
||||
|
||||
|
||||
+
|
||||
+
|
||||
+
|
||||
|
||||
|
||||
|
||||
diff --git a/racket/src/cs/c/configure.ac b/racket/src/cs/c/configure.ac
|
||||
index 464ebe1760..aaee88156d 100644
|
||||
--- a/racket/src/cs/c/configure.ac
|
||||
+++ b/racket/src/cs/c/configure.ac
|
||||
@@ -23,7 +23,7 @@ AC_ARG_ENABLE(compressmore, [ --enable-compressmore compress compiled code ev
|
||||
AC_ARG_ENABLE(compressboot, [ --enable-compressboot compress boot files])
|
||||
m4_include(../ac/path_arg.m4)
|
||||
AC_ARG_ENABLE(racket, [ --enable-racket=<path> use <path> as Racket for build; or "auto" to create])
|
||||
-AC_ARG_ENABLE(scheme, [ --enable-scheme=<path> use <path> as host's build directory for cross])
|
||||
+AC_ARG_ENABLE(scheme, [ --enable-scheme=<path> use <path> as host build for cross])
|
||||
AC_ARG_ENABLE(mach, [ --enable-mach=<mach> use Chez Scheme machine type <mach>])
|
||||
AC_ARG_ENABLE(target, [ --enable-target=<mach> cross-build for Chez Scheme machine type <mach>])
|
||||
m4_include(../ac/portable_arg.m4)
|
||||
@@ -81,7 +81,7 @@ show_explicitly_disabled "${enable_compressboot}" "Compressed boot files"
|
||||
show_explicitly_enabled "${enable_xonx}" "Unix style"
|
||||
m4_include(../ac/path_show.m4)
|
||||
show_explicitly_set "${enable_racket}" "Racket"
|
||||
-show_explicitly_set "${enable_scheme}" "Chez Scheme build directory"
|
||||
+show_explicitly_set "${enable_scheme}" "Chez Scheme for build"
|
||||
show_explicitly_set "${enable_mach}" "machine type"
|
||||
show_explicitly_set "${enable_target}" "cross-build machine type"
|
||||
m4_include(../ac/portable_show.m4)
|
||||
@@ -504,9 +504,21 @@ esac
|
||||
|
||||
SCHEME_DIR=${srcdir}/../../ChezScheme
|
||||
MAKE_BUILD_SCHEME=checkout
|
||||
+USE_SCHEME_MODE="_built"
|
||||
+MAKE_SCHEME_MODE="${T_CROSS_MODE}"
|
||||
|
||||
if test "${enable_scheme}" != "" ; then
|
||||
- CS_HOST_WORKAREA_PREFIX="${enable_scheme}/"
|
||||
+ if test -d "${enable_scheme}" ; then
|
||||
+ # Directory exists, so use it as a build directory
|
||||
+ echo "Using supplied Scheme path as a build directory"
|
||||
+ CS_HOST_WORKAREA_PREFIX="${enable_scheme}/"
|
||||
+ else
|
||||
+ # Directory does not exist, so assume it's an executable
|
||||
+ echo "Using supplied Scheme path as an executable"
|
||||
+ MAKE_SCHEME_MODE="${T_CROSS_MODE}-via-scheme"
|
||||
+ MAKE_SCHEME_SCHEME="${enable_scheme}"
|
||||
+ USE_SCHEME_MODE="_existing"
|
||||
+ fi
|
||||
fi
|
||||
|
||||
if test "${enable_racket}" != "" ; then
|
||||
@@ -821,6 +833,9 @@ AC_SUBST(DIFF_MACH)
|
||||
AC_SUBST(CROSS_MODE)
|
||||
AC_SUBST(T_CROSS_MODE)
|
||||
AC_SUBST(TT_CROSS_MODE)
|
||||
+AC_SUBST(MAKE_SCHEME_MODE)
|
||||
+AC_SUBST(MAKE_SCHEME_SCHEME)
|
||||
+AC_SUBST(USE_SCHEME_MODE)
|
||||
AC_SUBST(SETUP_BOOT_MODE)
|
||||
AC_SUBST(OSX)
|
||||
AC_SUBST(NOT_OSX)
|
||||
--
|
||||
2.32.0
|
||||
|
@ -1,26 +0,0 @@
|
||||
From aa792e707b1fbc5cc33691bfaee5828dc3fbebaa Mon Sep 17 00:00:00 2001
|
||||
From: Matthew Flatt <mflatt@racket-lang.org>
|
||||
Date: Mon, 31 Jan 2022 15:31:22 -0700
|
||||
Subject: [PATCH] fix creation of tethered launchers
|
||||
|
||||
Related to racket/racket#4133
|
||||
|
||||
(cherry picked from commit 563c68432f127729592f234ef30c31e92618b517)
|
||||
---
|
||||
gui-lib/mred/installer.rkt | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/gui-lib/mred/installer.rkt b/gui-lib/mred/installer.rkt
|
||||
index b1691472..9ef06c53 100644
|
||||
--- a/gui-lib/mred/installer.rkt
|
||||
+++ b/gui-lib/mred/installer.rkt
|
||||
@@ -72,4 +72,5 @@
|
||||
(list "-A" (path->string (find-system-path 'addon-dir)))))
|
||||
|
||||
(define (config-flags)
|
||||
- (list "-G" (path->string (find-config-dir))))
|
||||
+ (list "-X" (path->string (find-collects-dir))
|
||||
+ "-G" (path->string (find-config-dir))))
|
||||
--
|
||||
2.32.0
|
||||
|
@ -20,7 +20,7 @@
|
||||
;;; Copyright © 2020-2022 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
|
||||
;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si>
|
||||
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2020, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
@ -88,6 +88,7 @@
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages pulseaudio)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-build)
|
||||
#:use-module (gnu packages python-check)
|
||||
#:use-module (gnu packages python-web)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
@ -701,63 +702,92 @@ for applications that wish to do lower level manipulation of PDF, such as
|
||||
extracting content or merging files.")
|
||||
(license license:lgpl2.0+)))
|
||||
|
||||
(define-public python-pydyf
|
||||
(package
|
||||
(name "python-pydyf")
|
||||
(version "0.1.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pydyf" version))
|
||||
(sha256
|
||||
(base32 "0b30g3hhxw1bg18r9ax85i1dkg8vy1y1wzas0bg0bxblh7j5sbqy"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "pytest" "-vv" "-c" "/dev/null")))))))
|
||||
(propagated-inputs (list python-pillow))
|
||||
(native-inputs (list ghostscript python-pytest))
|
||||
(home-page "https://github.com/CourtBouillon/pydyf")
|
||||
(synopsis "Low-level PDF generator")
|
||||
(description "@code{pydyf} is a low-level PDF generator written in Python
|
||||
and based on PDF specification 1.7.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public mupdf
|
||||
(package
|
||||
(name "mupdf")
|
||||
(version "1.19.0")
|
||||
(version "1.19.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://mupdf.com/downloads/archive/"
|
||||
"mupdf-" version "-source.tar.xz"))
|
||||
(sha256
|
||||
(base32 "1i98xqgnzp168hnnhradl8658qsif06wlbvcglz0mmh8wi1rkwrq"))
|
||||
(base32 "0gl0wf16m1cafs20h3v1f4ysf7zlbijjyd6s1r1krwvlzriwdsmm"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; Remove bundled software.
|
||||
(let* ((keep (list "extract"
|
||||
"lcms2")) ; different from our lcms2 package
|
||||
(from "thirdparty")
|
||||
(kept (string-append from "~temp")))
|
||||
(mkdir-p kept)
|
||||
(for-each (lambda (file) (rename-file (string-append from "/" file)
|
||||
(string-append kept "/" file)))
|
||||
keep)
|
||||
(delete-file-recursively from)
|
||||
(rename-file kept from))
|
||||
#t))))
|
||||
#~(begin
|
||||
;; Remove bundled software.
|
||||
(let* ((keep (list "extract"
|
||||
"lcms2")) ; different from our lcms2 package
|
||||
(from "thirdparty")
|
||||
(kept (string-append from "~temp")))
|
||||
(mkdir-p kept)
|
||||
(for-each (lambda (file)
|
||||
(rename-file (string-append from "/" file)
|
||||
(string-append kept "/" file)))
|
||||
keep)
|
||||
(delete-file-recursively from)
|
||||
(rename-file kept from))))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("curl" ,curl)
|
||||
("freeglut" ,freeglut)
|
||||
("freetype" ,freetype)
|
||||
("gumbo-parser" ,gumbo-parser)
|
||||
("harfbuzz" ,harfbuzz)
|
||||
("jbig2dec" ,jbig2dec)
|
||||
("libjpeg" ,libjpeg-turbo)
|
||||
("libx11" ,libx11)
|
||||
("libxext" ,libxext)
|
||||
("mujs" ,mujs)
|
||||
("openjpeg" ,openjpeg)
|
||||
("openssl" ,openssl)
|
||||
("zlib" ,zlib)))
|
||||
(list curl
|
||||
freeglut
|
||||
freetype
|
||||
gumbo-parser
|
||||
harfbuzz
|
||||
jbig2dec
|
||||
libjpeg-turbo
|
||||
libx11
|
||||
libxext
|
||||
mujs
|
||||
openjpeg
|
||||
openssl
|
||||
zlib))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(list pkg-config))
|
||||
(arguments
|
||||
`(#:tests? #f ; no check target
|
||||
#:make-flags (list "verbose=yes"
|
||||
(string-append "CC=" ,(cc-for-target))
|
||||
"XCFLAGS=-fpic"
|
||||
"USE_SYSTEM_LIBS=yes"
|
||||
"USE_SYSTEM_MUJS=yes"
|
||||
"shared=yes"
|
||||
;; Even with the linkage patch we must fix RUNPATH.
|
||||
(string-append "LDFLAGS=-Wl,-rpath="
|
||||
(assoc-ref %outputs "out") "/lib")
|
||||
(string-append "prefix=" (assoc-ref %outputs "out")))
|
||||
#:phases (modify-phases %standard-phases
|
||||
(delete 'configure)))) ; no configure script
|
||||
(list
|
||||
#:tests? #f ; no check target
|
||||
#:make-flags
|
||||
#~(list "verbose=yes"
|
||||
(string-append "CC=" #$(cc-for-target))
|
||||
"XCFLAGS=-fpic"
|
||||
"USE_SYSTEM_LIBS=yes"
|
||||
"USE_SYSTEM_MUJS=yes"
|
||||
"shared=yes"
|
||||
;; Even with the linkage patch we must fix RUNPATH.
|
||||
(string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib")
|
||||
(string-append "prefix=" #$output))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure)))) ; no configure script
|
||||
(home-page "https://mupdf.com")
|
||||
(synopsis "Lightweight PDF viewer and toolkit")
|
||||
(description
|
||||
@ -1451,77 +1481,75 @@ manipulating PDF documents from the command line. It supports
|
||||
(define-public weasyprint
|
||||
(package
|
||||
(name "weasyprint")
|
||||
(version "52.1")
|
||||
(version "54.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/FelixSchwarz/WeasyPrint")
|
||||
(url "https://github.com/Kozea/WeasyPrint")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0rcj9yah3bp6bbvkmny3w4csx4l5v49lc7mrk29g0x77qnwswjy7"))))
|
||||
"0cn8gpgyic6pmrnhp0540nbgplpsd5aybi7k89anz6m1sshgjzgs"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-library-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((fontconfig (assoc-ref inputs "fontconfig"))
|
||||
(glib (assoc-ref inputs "glib"))
|
||||
(pango (assoc-ref inputs "pango"))
|
||||
(pangoft2 (assoc-ref inputs "pangoft2")))
|
||||
(substitute* "weasyprint/fonts.py"
|
||||
(("'fontconfig'")
|
||||
(format #f "'~a/lib/libfontconfig.so'" fontconfig))
|
||||
(("'pangoft2-1.0'")
|
||||
(format #f "'~a/lib/libpangoft2-1.0.so'" pango)))
|
||||
(substitute* "weasyprint/text.py"
|
||||
(("'gobject-2.0'")
|
||||
(format #f "'~a/lib/libgobject-2.0.so'" glib))
|
||||
(("'pango-1.0'")
|
||||
(format #f "'~a/lib/libpango-1.0.so'" pango))
|
||||
(("'pangocairo-1.0'")
|
||||
(format #f "'~a/lib/libpangocairo-1.0.so'" pango)))
|
||||
#t)))
|
||||
(add-after 'unpack 'disable-linters
|
||||
;; Their check fails; none of our business.
|
||||
(lambda _
|
||||
(substitute* "setup.cfg"
|
||||
((".*pytest-flake8.*") "")
|
||||
((".*pytest-isort.*") "")
|
||||
(("--flake8") "")
|
||||
(("--isort") ""))
|
||||
#t))
|
||||
(add-before 'check 'register-dejavu-font
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; TODO: fix FreeType so that fonts found in XDG_DATA_DIRS are
|
||||
;; honored.
|
||||
(let* ((HOME "/tmp")
|
||||
(dejavu (assoc-ref inputs "font-dejavu"))
|
||||
(fonts-dir (string-append HOME "/.fonts")))
|
||||
(setenv "HOME" HOME)
|
||||
(mkdir-p fonts-dir)
|
||||
(symlink (string-append dejavu "/share/fonts/truetype")
|
||||
(string-append fonts-dir "/truetype"))
|
||||
(invoke "fc-cache" "-rv")))))))
|
||||
(inputs
|
||||
`(("fontconfig" ,fontconfig)
|
||||
("glib" ,glib)
|
||||
("pango" ,pango)))
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-library-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "weasyprint/text/ffi.py"
|
||||
(("'gobject-2.0-0'")
|
||||
(format #f "~s"
|
||||
(search-input-file inputs "lib/libgobject-2.0.so")))
|
||||
(("'pango-1.0-0'")
|
||||
(format #f "~s"
|
||||
(search-input-file inputs "lib/libpango-1.0.so")))
|
||||
(("'harfbuzz'")
|
||||
(format #f "~s"
|
||||
(search-input-file inputs "lib/libharfbuzz.so")))
|
||||
(("'fontconfig-1'")
|
||||
(format #f "~s"
|
||||
(search-input-file inputs "lib/libfontconfig.so")))
|
||||
(("'pangoft2-1.0-0'")
|
||||
(format #f "~s"
|
||||
(search-input-file inputs
|
||||
"lib/libpangoft2-1.0.so"))))))
|
||||
;; XXX: PEP 517 manual build copied from python-isort.
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "pytest" "-vv" "-c" "/dev/null"
|
||||
"-n" (number->string (parallel-job-count))))))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(let ((whl (car (find-files "dist" "\\.whl$"))))
|
||||
(invoke "pip" "--no-cache-dir" "--no-input"
|
||||
"install" "--no-deps" "--prefix" #$output whl)))))))
|
||||
(inputs (list fontconfig glib harfbuzz pango))
|
||||
(propagated-inputs
|
||||
(list gdk-pixbuf
|
||||
python-cairocffi
|
||||
python-cairosvg
|
||||
python-cffi
|
||||
python-cssselect2
|
||||
python-fonttools-full
|
||||
python-html5lib
|
||||
python-pillow
|
||||
python-pydyf
|
||||
python-pyphen
|
||||
python-tinycss2))
|
||||
(native-inputs
|
||||
(list font-dejavu ;tests depend on it
|
||||
python-pytest-cov python-pytest-runner))
|
||||
(list font-dejavu ;tests depend on it
|
||||
ghostscript
|
||||
python-flit-core
|
||||
python-pypa-build
|
||||
python-pytest
|
||||
python-pytest-xdist))
|
||||
(home-page "https://weasyprint.org/")
|
||||
(synopsis "Document factory for creating PDF files from HTML")
|
||||
(description "WeasyPrint helps web developers to create PDF documents. It
|
||||
|
@ -5,7 +5,7 @@
|
||||
;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
|
||||
;;; Copyright © 2018, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -309,10 +309,12 @@ information.")
|
||||
;; *either* of the licenses found in LICENSE.APACHE or LICENSE.BSD.
|
||||
;; Contributions to this software is made under the terms of *both* these
|
||||
;; licenses.
|
||||
(license (list license:asl2.0 license:bsd-2))))
|
||||
(license (list license:asl2.0 license:bsd-2))
|
||||
(properties `((python2-variant . ,(delay python2-packaging-bootstrap))))))
|
||||
|
||||
(define-public python2-packaging-bootstrap
|
||||
(let ((base (package-with-python2 python-packaging-bootstrap)))
|
||||
(let ((base (package-with-python2
|
||||
(strip-python2-variant python-packaging-bootstrap))))
|
||||
(package/inherit base
|
||||
(version "20.0") ;last version with Python 2 support
|
||||
(source
|
||||
|
@ -2,7 +2,7 @@
|
||||
;;; Copyright © 2019, 2021, 2022 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2019, 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2019, 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2019, 2021 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
||||
;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu>
|
||||
;;; Copyright © 2020, 2022 Marius Bakke <marius@gnu.org>
|
||||
@ -70,6 +70,38 @@ Protocol (TAP) in Python. TAP is a line based test protocol for recording test
|
||||
data in a standard way.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-beartype
|
||||
(package
|
||||
(name "python-beartype")
|
||||
(version "0.10.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "beartype" version))
|
||||
(sha256
|
||||
(base32 "0amzckgw9c93bl4jf0q6322j9wyyf3i8vl03yixfkrpllzv6kv14"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
(list #:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "pytest" "-vv" "beartype_test"
|
||||
;; These tests rely on git through the
|
||||
;; "get_main_readme_file" helper.
|
||||
"-k"
|
||||
(string-append "not test_doc_readme "
|
||||
"and not test_sphinx "
|
||||
"and not test_pep561_mypy"))))))))
|
||||
(native-inputs
|
||||
(list python-pytest))
|
||||
(home-page "https://github.com/beartype/beartype")
|
||||
(synopsis "Fast runtime type checking for Python")
|
||||
(description "Beartype aims to be a very fast runtime type checking tool
|
||||
written in pure Python.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-pytest-click
|
||||
(package
|
||||
(name "python-pytest-click")
|
||||
@ -921,18 +953,21 @@ doctest to render the object representations.")
|
||||
(define-public python-pytest-checkdocs
|
||||
(package
|
||||
(name "python-pytest-checkdocs")
|
||||
(version "1.2.5")
|
||||
(version "2.7.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pytest-checkdocs" version))
|
||||
(sha256
|
||||
(base32 "0m4kn7141i6k8qr8ak3lbmk9vim11xsrlnrggcfwczfrglc6jmia"))))
|
||||
(base32 "1bn1wr3yz8avkwacffyh26za7mg20f9pajpakfk4cn7yvmgbhcrb"))))
|
||||
(build-system python-build-system)
|
||||
(arguments (list #:tests? #f)) ;no tests in pypi archive
|
||||
(propagated-inputs
|
||||
(list python-docutils python-importlib-metadata python-more-itertools))
|
||||
(native-inputs
|
||||
(list python-setuptools-scm python-pytest))
|
||||
(list python-docutils
|
||||
python-importlib-metadata
|
||||
python-pep517
|
||||
python-pytest))
|
||||
(native-inputs (list python-setuptools-scm))
|
||||
(home-page "https://github.com/jaraco/pytest-checkdocs")
|
||||
(synopsis "Check the README when running tests")
|
||||
(description
|
||||
@ -1077,6 +1112,12 @@ isort.")
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'use-path-instead-of-path.py
|
||||
;; path.py is obsolete.
|
||||
(lambda _
|
||||
(substitute* "setup.py"
|
||||
(("'path.py'")
|
||||
"'path'"))))
|
||||
(add-after 'unpack 'patch-tests
|
||||
(lambda _
|
||||
(mkdir "/tmp/bin")
|
||||
@ -1084,11 +1125,9 @@ isort.")
|
||||
(("dirname = '/bin'")
|
||||
"dirname = '/tmp/bin'")
|
||||
(("bindir = os.path.realpath\\('/bin'\\)")
|
||||
"bindir = os.path.realpath('/tmp/bin')"))
|
||||
#t)))))
|
||||
"bindir = os.path.realpath('/tmp/bin')")))))))
|
||||
(propagated-inputs
|
||||
(list python-contextlib2 python-execnet python-pathpy
|
||||
python-termcolor))
|
||||
(list python-contextlib2 python-execnet python-path python-termcolor))
|
||||
(native-inputs
|
||||
(list python-mock python-pytest python-setuptools-git))
|
||||
(home-page "https://github.com/manahl/pytest-plugins")
|
||||
@ -1335,17 +1374,21 @@ new fixtures, new methods and new comparison objects.")
|
||||
(lambda _
|
||||
;; This test fails because of a mismatch in the output of LaTeX
|
||||
;; equation environments. Seems OK to skip.
|
||||
(delete-file "tests/ipynb-test-samples/test-latex-pass-correctouput.ipynb")
|
||||
#t))
|
||||
(delete-file
|
||||
"tests/ipynb-test-samples/test-latex-pass-correctouput.ipynb")))
|
||||
(replace 'check
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(add-installed-pythonpath inputs outputs)
|
||||
(invoke "pytest" "-vv" "-k"
|
||||
(string-append
|
||||
;; This only works with Pytest < 5.
|
||||
"not nbdime_reporter"
|
||||
;; https://github.com/computationalmodelling/nbval/pull/148.
|
||||
" and not test_timeouts")))))))
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "pytest" "-vv" "-k"
|
||||
(string-append
|
||||
;; This only works with Pytest < 5.
|
||||
"not nbdime_reporter"
|
||||
;; https://github.com/computationalmodelling/nbval/pull/148.
|
||||
" and not test_timeouts"
|
||||
;; It seems the output format has changed; the following
|
||||
;; test fails with "Unexpected output fields from
|
||||
;; running code: {'text/plain'}".
|
||||
" and not test_conf_ignore_stderr "))))))))
|
||||
(native-inputs
|
||||
(list python-pytest python-pytest-cov python-sympy))
|
||||
(propagated-inputs
|
||||
@ -1413,6 +1456,36 @@ also ensuring that the notebooks are running without errors.")
|
||||
"This package provides a pytest plugin for testing console scripts.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-pytest-tornado
|
||||
(package
|
||||
(name "python-pytest-tornado")
|
||||
(version "0.8.1")
|
||||
(source (origin
|
||||
(method git-fetch) ;no tests in pypi archive
|
||||
(uri (git-reference
|
||||
(url "https://github.com/eugeniy/pytest-tornado")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"05hgq1m9g35kpc01im7ci1wd85xi1rdxnyms9izjg65c9976zn6x"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "pytest" "-vv")))))))
|
||||
(propagated-inputs (list python-pytest python-setuptools python-tornado))
|
||||
(home-page "https://github.com/eugeniy/pytest-tornado")
|
||||
(synopsis "Pytest plugin to ease testing tornado applications")
|
||||
(description
|
||||
"This package provides a py.test plugin providing fixtures and markers to
|
||||
simplify testing of asynchronous tornado applications.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python-pytest-tornasync
|
||||
(package
|
||||
(name "python-pytest-tornasync")
|
||||
@ -1673,7 +1746,7 @@ supported by the MyPy typechecker.")
|
||||
(define-public python-mypy
|
||||
(package
|
||||
(name "python-mypy")
|
||||
(version "0.931")
|
||||
(version "0.942")
|
||||
(source
|
||||
(origin
|
||||
;; Because of https://github.com/python/mypy/issues/9584, the
|
||||
@ -1690,9 +1763,10 @@ supported by the MyPy typechecker.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1v83flrdxh8grcp40qw04q4hzjflih9xwib64078vsxv2w36f817"))
|
||||
"0hxnrqhvskiclwfj2s4gyfclzjas1dvpfxhyng8v7mq38rqps1j5"))
|
||||
(patches
|
||||
(search-patches "python-mypy-12332.patch"))))
|
||||
(search-patches "python-mypy-12332.patch"
|
||||
"python-mypy-use-sys-path.patch"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
@ -1714,10 +1788,10 @@ supported by the MyPy typechecker.")
|
||||
(home-page "http://www.mypy-lang.org/")
|
||||
(synopsis "Static type checker for Python")
|
||||
(description "Mypy is an optional static type checker for Python that aims
|
||||
to combine the benefits of dynamic (or 'duck') typing and static typing. Mypy combines
|
||||
to combine the benefits of dynamic typing and static typing. Mypy combines
|
||||
the expressive power and convenience of Python with a powerful type system and
|
||||
compile-time type checking. Mypy type checks standard Python programs; run them using
|
||||
any Python VM with basically no runtime overhead.")
|
||||
compile-time type checking. Mypy type checks standard Python programs; run
|
||||
them using any Python VM with basically no runtime overhead.")
|
||||
;; Most of the code is under MIT license; Some files are under Python Software
|
||||
;; Foundation License version 2: stdlib-samples/*, mypyc/lib-rt/pythonsupport.h and
|
||||
;; mypyc/lib-rt/getargs.c
|
||||
@ -1737,6 +1811,40 @@ any Python VM with basically no runtime overhead.")
|
||||
(delete 'ensure-no-mtimes-pre-1980))))
|
||||
(native-inputs '()))))
|
||||
|
||||
(define-public python-nptyping
|
||||
(package
|
||||
(name "python-nptyping")
|
||||
(version "2.0.0")
|
||||
(source (origin
|
||||
(method git-fetch) ;pypi only contains a binary wheel
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ramonhagenaars/nptyping")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0839mcrv5jljq9k9124ssnl1hc1inbxwlwjk72imabsbqssjy9rb"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'build 'set-source-date-epoch
|
||||
(lambda _
|
||||
;; Otherwise the wheel building test would fail with "ZIP does
|
||||
;; not support timestamps before 1980".
|
||||
(setenv "SOURCE_DATE_EPOCH" "315532800"))))))
|
||||
(native-inputs
|
||||
(list python-beartype
|
||||
python-mypy
|
||||
python-typeguard
|
||||
python-wheel))
|
||||
(propagated-inputs (list python-numpy python-typing-extensions))
|
||||
(home-page "https://github.com/ramonhagenaars/nptyping")
|
||||
(synopsis "Type hints for Numpy")
|
||||
(description "This package provides extensive dynamic type checks for
|
||||
dtypes and shapes of arrays for NumPy, extending @code{numpy.typing}.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-pylama
|
||||
(package
|
||||
(name "python-pylama")
|
||||
@ -1877,13 +1985,13 @@ help in debugging failures and optimizing the scheduler to improve speed.")
|
||||
(define-public python-pytest-sanic
|
||||
(package
|
||||
(name "python-pytest-sanic")
|
||||
(version "1.7.0")
|
||||
(version "1.9.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pytest-sanic" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0hm7im77dgqfk8k34qbbfhimg8hifl4zwpa2s3mgbknrjvyw5qpx"))))
|
||||
"0shq1bqnydj0l3ipb73j1qh5kqcjvzkps30zk8grq3dwmh3wmnkr"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
;; Tests depend on python-sanic.
|
||||
|
@ -24,7 +24,7 @@
|
||||
;;; Copyright © 2020 Alexandros Theodotou <alex@zrythm.org>
|
||||
;;; Copyright © 2020 Justus Winter <justus@sequoia-pgp.org>
|
||||
;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net>
|
||||
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
@ -351,14 +351,10 @@ do what is needed for client/server Kerberos authentication based on
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "pytest"))
|
||||
#t)))))
|
||||
(invoke "pytest" "-vv" "-c" "/dev/null" "tests")))))))
|
||||
(native-inputs
|
||||
(list python-toml
|
||||
python-pytest
|
||||
python-pytest-checkdocs
|
||||
python-pytest-cov
|
||||
python-pytest-flake8
|
||||
python-setuptools
|
||||
python-setuptools-scm))
|
||||
(propagated-inputs
|
||||
@ -370,30 +366,8 @@ do what is needed for client/server Kerberos authentication based on
|
||||
service from python. It can be used in any application that needs safe
|
||||
password storage.")
|
||||
;; "MIT" and PSF dual license
|
||||
(properties `((python2-variant . ,(delay python2-keyring))))
|
||||
(license license:x11)))
|
||||
|
||||
(define-public python2-keyring
|
||||
(let ((keyring (package-with-python2
|
||||
(strip-python2-variant python-keyring))))
|
||||
(package
|
||||
(inherit keyring)
|
||||
(name "python2-keyring")
|
||||
(version "8.7")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "keyring" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0482rmi2x6p78wl2kz8qzyq21xz1sbbfwnv5x7dggar4vkwxhzfx"))))
|
||||
(arguments
|
||||
`(#:python ,python-2))
|
||||
(native-inputs
|
||||
(list python2-pytest python2-pytest-runner python2-setuptools-scm))
|
||||
(propagated-inputs
|
||||
(list python2-pycrypto)))))
|
||||
|
||||
(define-public python-keyrings.alt
|
||||
(package
|
||||
(name "python-keyrings.alt")
|
||||
|
@ -6,7 +6,7 @@
|
||||
;;; Copyright © 2016, 2022 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016-2020, 2022 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2019, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
|
||||
;;; Copyright © 2020 Pierre Langlois <pierre.langlois@gmx.com>
|
||||
;;; Copyright © 2020, 2021, 2022 Vinicius Monego <monego@posteo.net>
|
||||
@ -73,102 +73,82 @@
|
||||
(define-public python-scipy
|
||||
(package
|
||||
(name "python-scipy")
|
||||
(version "1.7.3")
|
||||
(version "1.8.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "scipy" version))
|
||||
(sha256
|
||||
(base32 "1gxsnw6viz2j3sm8ak2a8l7fcn4b2zm3kzfm8w57xxyyrzx7an5b"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
(list python-numpy python-matplotlib python-pyparsing))
|
||||
(inputs
|
||||
(list openblas pybind11))
|
||||
(native-inputs
|
||||
(list python-cython
|
||||
python-pydata-sphinx-theme
|
||||
python-pytest
|
||||
python-sphinx
|
||||
python-sphinx-panels
|
||||
python-numpydoc
|
||||
gfortran
|
||||
perl
|
||||
which))
|
||||
(base32 "1gghkwn93niyasm36333xbqrnn3yiadq9d97wnc9mg14nzbg5m1i"))))
|
||||
(outputs '("out" "doc"))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'disable-pythran
|
||||
(lambda _
|
||||
(setenv "SCIPY_USE_PYTHRAN" "0")))
|
||||
(add-before 'build 'change-home-dir
|
||||
(lambda _
|
||||
;; Change from /homeless-shelter to /tmp for write permission.
|
||||
(setenv "HOME" "/tmp")))
|
||||
(add-after 'unpack 'disable-broken-tests
|
||||
(lambda _
|
||||
(substitute* "scipy/sparse/linalg/dsolve/tests/test_linsolve.py"
|
||||
(("^( +)def test_threads_parallel\\(self\\):" m indent)
|
||||
(string-append indent
|
||||
"@pytest.mark.skip(reason=\"Disabled by Guix\")\n"
|
||||
m)))
|
||||
(substitute* "scipy/sparse/linalg/eigen/arpack/tests/test_arpack.py"
|
||||
(("^def test_parallel_threads\\(\\):" m)
|
||||
(string-append "@pytest.mark.skip(reason=\"Disabled by Guix\")\n"
|
||||
m)))))
|
||||
(add-before 'build 'configure-openblas
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(call-with-output-file "site.cfg"
|
||||
(lambda (port)
|
||||
(format port
|
||||
"[blas]
|
||||
(list
|
||||
#:modules '((guix build utils)
|
||||
(guix build python-build-system)
|
||||
(ice-9 format))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'disable-pythran
|
||||
(lambda _
|
||||
(setenv "SCIPY_USE_PYTHRAN" "0")))
|
||||
(add-before 'build 'change-home-dir
|
||||
(lambda _
|
||||
;; Change from /homeless-shelter to /tmp for write permission.
|
||||
(setenv "HOME" "/tmp")))
|
||||
(add-before 'build 'configure-openblas
|
||||
(lambda _
|
||||
(call-with-output-file "site.cfg"
|
||||
(lambda (port)
|
||||
(format port
|
||||
"\
|
||||
[blas]
|
||||
libraries = openblas
|
||||
library_dirs = ~a/lib
|
||||
include_dirs = ~a/include
|
||||
include_dirs = ~:*~a/include
|
||||
|
||||
# backslash-n to make emacs happy
|
||||
\n[atlas]
|
||||
library_dirs = ~a/lib
|
||||
atlas_libs = openblas
|
||||
"
|
||||
(assoc-ref inputs "openblas")
|
||||
(assoc-ref inputs "openblas")
|
||||
(assoc-ref inputs "openblas"))))))
|
||||
(add-after 'install 'install-doc
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((data (string-append (assoc-ref outputs "doc") "/share"))
|
||||
(doc (string-append data "/doc/" ,name "-" ,version))
|
||||
(html (string-append doc "/html"))
|
||||
(pyver ,(string-append "PYVER=" (version-major+minor
|
||||
(package-version python))))
|
||||
;; By default it tries to run sphinx-build through the Python
|
||||
;; interpreter which won't work with our shell wrapper.
|
||||
(sphinxbuild "SPHINXBUILD=LANG=C sphinx-build"))
|
||||
;; Make installed package available for building the
|
||||
;; documentation
|
||||
(add-installed-pythonpath inputs outputs)
|
||||
(with-directory-excursion "doc"
|
||||
;; Fix generation of images for mathematical expressions.
|
||||
(substitute* (find-files "source" "conf\\.py")
|
||||
(("pngmath_use_preview = True")
|
||||
"pngmath_use_preview = False"))
|
||||
(mkdir-p html)
|
||||
(invoke "make" "html" pyver sphinxbuild)
|
||||
(with-directory-excursion "build/html"
|
||||
(for-each (lambda (file)
|
||||
(let* ((dir (dirname file))
|
||||
(tgt-dir (string-append html "/" dir)))
|
||||
(install-file file html)))
|
||||
(find-files ".")))))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? inputs outputs #:allow-other-keys)
|
||||
(when tests?
|
||||
(add-installed-pythonpath inputs outputs)
|
||||
(with-directory-excursion "/tmp"
|
||||
(invoke "python" "-c"
|
||||
"import scipy; scipy.test(verbose=2)"))))))))
|
||||
(home-page "https://www.scipy.org/")
|
||||
[atlas]
|
||||
library_dirs = ~:*~a/lib
|
||||
atlas_libs = openblas~%" #$(this-package-input "openblas"))))))
|
||||
(add-before 'build 'parallelize-build
|
||||
(lambda _
|
||||
(setenv "NPY_NUM_BUILD_JOBS"
|
||||
(number->string (parallel-job-count)))))
|
||||
(add-before 'check 'install-doc
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((data (string-append (assoc-ref outputs "doc") "/share"))
|
||||
(doc (string-append data "/doc/" #$name "-" #$version))
|
||||
(html (string-append doc "/html")))
|
||||
(with-directory-excursion "doc"
|
||||
;; Build doc.
|
||||
(invoke "make" "html"
|
||||
;; Building the documentation takes a very long time.
|
||||
;; Parallelize it.
|
||||
(string-append "SPHINXOPTS=-j"
|
||||
(number->string (parallel-job-count))))
|
||||
;; Install doc.
|
||||
(mkdir-p html)
|
||||
(copy-recursively "build/html" html)))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "./runtests.py" "-vv" "--no-build" "--mode=fast"
|
||||
"-j" (number->string (parallel-job-count)))))))))
|
||||
(propagated-inputs (list python-numpy python-matplotlib python-pyparsing))
|
||||
(inputs (list openblas pybind11))
|
||||
(native-inputs
|
||||
(list gfortran
|
||||
perl
|
||||
python-cython
|
||||
python-numpydoc
|
||||
python-pydata-sphinx-theme
|
||||
python-pytest
|
||||
python-pytest-xdist
|
||||
python-sphinx
|
||||
python-sphinx-panels
|
||||
python-threadpoolctl
|
||||
which))
|
||||
(home-page "https://scipy.org/")
|
||||
(synopsis "The Scipy library provides efficient numerical routines")
|
||||
(description "The SciPy library is one of the core packages that make up
|
||||
the SciPy stack. It provides many user-friendly and efficient numerical
|
||||
@ -417,13 +397,13 @@ library.")
|
||||
(define-public python-pandas
|
||||
(package
|
||||
(name "python-pandas")
|
||||
(version "1.3.5")
|
||||
(version "1.4.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pandas" version))
|
||||
(sha256
|
||||
(base32 "1wd92ra8xcjgigbypid53gvby89myg68ica6r8hdw4hhvvsqahhy"))))
|
||||
(base32 "04lsak3j5hq2hk0vfjf532rdxdqmg2akamdl4yl3qipihp2izg4j"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build utils)
|
||||
@ -433,6 +413,12 @@ library.")
|
||||
(srfi srfi-26))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'enable-parallel-build
|
||||
(lambda _
|
||||
(substitute* "setup.py"
|
||||
(("\"-j\", type=int, default=1")
|
||||
(format #f "\"-j\", type=int, default=~a"
|
||||
(parallel-job-count))))))
|
||||
(add-after 'unpack 'patch-which
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((which (assoc-ref inputs "which")))
|
||||
@ -459,6 +445,7 @@ library.")
|
||||
(when tests?
|
||||
(invoke "pytest" "-vv" "pandas" "--skip-slow"
|
||||
"--skip-network"
|
||||
"-n" (number->string (parallel-job-count))
|
||||
"-k"
|
||||
(string-append
|
||||
;; These test access the internet (see:
|
||||
@ -468,7 +455,11 @@ library.")
|
||||
"not test_wrong_url"
|
||||
;; TODO: Missing input
|
||||
" and not TestS3"
|
||||
" and not s3"))))))))))
|
||||
" and not s3"
|
||||
;; This test fails when run with pytest-xdist
|
||||
;; (see:
|
||||
;; https://github.com/pandas-dev/pandas/issues/39096).
|
||||
" and not test_memory_usage"))))))))))
|
||||
(propagated-inputs
|
||||
(list python-jinja2
|
||||
python-numpy
|
||||
@ -486,6 +477,7 @@ library.")
|
||||
python-html5lib
|
||||
python-pytest
|
||||
python-pytest-mock
|
||||
python-pytest-xdist
|
||||
;; Needed to test clipboard support.
|
||||
xorg-server-for-tests))
|
||||
(home-page "https://pandas.pydata.org")
|
||||
@ -953,7 +945,7 @@ of Pandas
|
||||
(define-public python-pingouin
|
||||
(package
|
||||
(name "python-pingouin")
|
||||
(version "0.5.0")
|
||||
(version "0.5.1")
|
||||
(source
|
||||
;; The PyPI tarball does not contain the tests.
|
||||
(origin
|
||||
@ -964,7 +956,7 @@ of Pandas
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"01aaq023q4bymffrc2wm56af87da32wcvy5d5156i4g7qgvh346r"))))
|
||||
"10v3mwcmyc7rd2957cbmfcw66yw2y0fz7zcfyx46q8slbmd1d8d4"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
@ -86,6 +86,7 @@
|
||||
#:use-module (gnu packages libevent)
|
||||
#:use-module (gnu packages libffi)
|
||||
#:use-module (gnu packages node)
|
||||
#:use-module (gnu packages openstack)
|
||||
#:use-module (gnu packages pcre)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
@ -575,6 +576,46 @@ Model} (SAM) templates into AWS CloudFormation templates.")
|
||||
emit information from within their applications to the AWS X-Ray service.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python-cbor2
|
||||
(package
|
||||
(name "python-cbor2")
|
||||
(version "5.4.2.post1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "cbor2" version))
|
||||
(sha256
|
||||
(base32 "15y78xcc3zkmvj1mdzz8gyhf3apbl91073kwhzbjk5abc1civwlw"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "pytest" "-vv")))))))
|
||||
(native-inputs (list python-pytest python-pytest-cov python-setuptools-scm))
|
||||
(home-page "https://github.com/agronholm/cbor2")
|
||||
(synopsis "Concise Binary Object Representation (CBOR) (de)serializer")
|
||||
(description "This Python library provides encoding and decoding for the
|
||||
Concise Binary Object
|
||||
Representation (CBOR) (@url{https://www.rfc-editor.org/rfc/rfc8949.html, RFC
|
||||
8949}) serialization format. The specification is fully compatible with the
|
||||
original RFC 7049. Among its features are:
|
||||
@itemize
|
||||
@item Simple API like the @code{json} or @code{pickle} modules.
|
||||
@item Support many CBOR tags with stdlib objects.
|
||||
@item Generic tag decoding.
|
||||
@item Shared value references including cyclic references.
|
||||
@item String references compact encoding with repeated strings replaced with
|
||||
indices.
|
||||
@item Optional C module backend tested on big- and little-endian architectures.
|
||||
@item Extensible tagged value handling using tag_hook and object_hook on
|
||||
decode and default on encode.
|
||||
@end itemize")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-cfn-lint
|
||||
(package
|
||||
(name "python-cfn-lint")
|
||||
@ -628,14 +669,16 @@ for resource properties and best practices.")
|
||||
(define-public python-falcon
|
||||
(package
|
||||
(name "python-falcon")
|
||||
(version "2.0.0")
|
||||
(version "3.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "falcon" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1z6mqfv574x6jiawf67ib52g4kk20c2x7xk7wrn1573b8v7r79gf"))
|
||||
;; Use git, as there are some test files missing from the PyPI release,
|
||||
;; such as 'examples' directory.
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/falconry/falcon")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
@ -643,11 +686,13 @@ for resource properties and best practices.")
|
||||
(substitute* "setup.py"
|
||||
((".*falcon\\.vendor\\.mimeparse.*") ""))
|
||||
(substitute* '("falcon/media/handlers.py"
|
||||
"falcon/request.py")
|
||||
(("from falcon\\.vendor ") ""))
|
||||
(substitute* "falcon.egg-info/SOURCES.txt"
|
||||
(("falcon/vendor.*") ""))
|
||||
#t))))
|
||||
"falcon/request.py"
|
||||
"tests/test_deps.py")
|
||||
(("from falcon\\.vendor ") "")
|
||||
(("mimeparse.mimeparse") "mimeparse"))))
|
||||
(sha256
|
||||
(base32
|
||||
"17k31d8avl63xsr6fzvmkxcsm7gnz5dqpgsz65psm1lpc38c79k3"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
@ -657,27 +702,33 @@ for resource properties and best practices.")
|
||||
;; Skip orjson, which requires rust to build.
|
||||
(substitute* "tests/test_media_handlers.py"
|
||||
(("== 'CPython") "!= 'CPython"))
|
||||
(add-installed-pythonpath inputs outputs)
|
||||
(invoke "pytest" "--ignore" "falcon"))))))
|
||||
(setenv "HOME" "/tmp")
|
||||
(invoke "pytest" "-vv" "tests"))))))
|
||||
(propagated-inputs
|
||||
(list python-mimeparse))
|
||||
(native-inputs
|
||||
(list python-cython ;for faster binaries
|
||||
(list python-aiofiles
|
||||
python-cbor2
|
||||
python-cython ;for faster binaries
|
||||
python-fakeredis
|
||||
python-httpx
|
||||
python-mujson
|
||||
python-msgpack
|
||||
python-pecan
|
||||
python-pillow
|
||||
python-pytest
|
||||
python-pytest-asyncio
|
||||
python-pytest-runner
|
||||
python-pyyaml
|
||||
python-rapidjson
|
||||
python-requests
|
||||
python-testtools
|
||||
python-ujson))
|
||||
python-ujson
|
||||
python-websockets))
|
||||
(home-page "https://falconframework.org")
|
||||
(synopsis
|
||||
"Web framework for building APIs and application backends")
|
||||
(description
|
||||
"Falcon is a web API framework for building microservices, application
|
||||
backends and higher-level frameworks. Among its features are:
|
||||
(synopsis "Web framework for building APIs and application backends")
|
||||
(description "Falcon is a web API framework for building microservices,
|
||||
application backends and higher-level frameworks. Among its features are:
|
||||
@itemize
|
||||
@item Optimized and extensible code base
|
||||
@item Routing via URI templates and REST-inspired resource
|
||||
@ -1064,7 +1115,7 @@ and that could be anything you want.")
|
||||
(add-installed-pythonpath inputs outputs)
|
||||
(invoke "python" "-m" "pytest" "-vv" "test")))))))
|
||||
(native-inputs
|
||||
(list python-hypothesis-6.23 python-pytest))
|
||||
(list python-hypothesis-next python-pytest))
|
||||
(propagated-inputs
|
||||
(list python-hpack python-hyperframe))
|
||||
(home-page "https://github.com/python-hyper/h2")
|
||||
@ -1429,6 +1480,180 @@ is Python’s.")
|
||||
(define-public python2-webencodings
|
||||
(package-with-python2 python-webencodings))
|
||||
|
||||
(define-public python-openapi-schema-validator
|
||||
(package
|
||||
(name "python-openapi-schema-validator")
|
||||
(version "0.2.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch) ;no tests in pypi release
|
||||
(uri (git-reference
|
||||
(url "https://github.com/p1c2u/openapi-schema-validator")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1swm8h74nhg63nxk347blwq9f1qn6iiq3zisndcvm7axkq3pc2df"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'remove-coverage-pytest-options
|
||||
(lambda _
|
||||
(substitute* "pyproject.toml"
|
||||
(("^--cov.*") ""))))
|
||||
;; XXX: PEP 517 manual build copied from python-isort.
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "pytest"))))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(let ((whl (car (find-files "dist" "\\.whl$"))))
|
||||
(invoke "pip" "--no-cache-dir" "--no-input"
|
||||
"install" "--no-deps" "--prefix" #$output whl)))))))
|
||||
(native-inputs (list python-poetry-core python-pypa-build python-pytest))
|
||||
(propagated-inputs
|
||||
(list python-isodate
|
||||
python-jsonschema
|
||||
python-rfc3339-validator
|
||||
python-strict-rfc3339))
|
||||
(home-page "https://github.com/p1c2u/openapi-schema-validator")
|
||||
(synopsis "OpenAPI schema validation library for Python")
|
||||
(description "Openapi-schema-validator is a Python library that validates
|
||||
a schema against:
|
||||
@itemize
|
||||
@item OpenAPI Schema Specification v3.0 which is an extended subset of the
|
||||
JSON Schema Specification Wright Draft 00.
|
||||
@item OpenAPI Schema Specification v3.1 which is an extended superset of the
|
||||
JSON Schema Specification Draft 2020-12.
|
||||
@end itemize")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-openapi-spec-validator
|
||||
(package
|
||||
(name "python-openapi-spec-validator")
|
||||
(version "0.4.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch) ;no tests in pypi release
|
||||
(uri (git-reference
|
||||
(url "https://github.com/p1c2u/openapi-spec-validator")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1q09sjh4hsc0c8yqbd97h5mp6rwh427y6zyn8kv8wljk6sa0fs4q"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'remove-coverage-pytest-options
|
||||
(lambda _
|
||||
(substitute* "pyproject.toml"
|
||||
(("^--cov.*") ""))))
|
||||
;; XXX: PEP 517 manual build copied from python-isort.
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "pytest" "-vv"
|
||||
;; The example tests attempt to fetch resources from
|
||||
;; the Internet (see:
|
||||
;; https://github.com/p1c2u/openapi-spec-validator/issues/151).
|
||||
"-k" "not Example and not Exampe"))))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(let ((whl (car (find-files "dist" "\\.whl$"))))
|
||||
(invoke "pip" "--no-cache-dir" "--no-input"
|
||||
"install" "--no-deps" "--prefix" #$output whl)))))))
|
||||
(native-inputs (list python-poetry-core python-pypa-build python-pytest))
|
||||
(propagated-inputs
|
||||
(list python-jsonschema
|
||||
python-openapi-schema-validator
|
||||
python-pyyaml
|
||||
python-requests
|
||||
python-setuptools))
|
||||
(home-page "https://github.com/p1c2u/openapi-spec-validator")
|
||||
(synopsis "OpenAPI spec validator")
|
||||
(description "OpenAPI Spec Validator is a Python library that validates an
|
||||
OpenAPI specification against the OpenAPI 2.0 (also known as Swagger), OpenAPI
|
||||
3.0 and OpenAPI 3.1 specifications. The validator aims to check for full
|
||||
compliance with the specification.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python-openapi-core
|
||||
(package
|
||||
(name "python-openapi-core")
|
||||
(version "0.14.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/p1c2u/openapi-core")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1npsibyf8zx6z230yl19kyap8g25kqvgm7z1w6rm6jxv58yqsp7r"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "pytest" "-vv" "tests/unit"
|
||||
;; Ignore Pytest configuration in setup.cfg that adds
|
||||
;; unwanted flake8 and coverage options.
|
||||
"-c" "/dev/null"
|
||||
;; This tests fails due to changes in Pytest; fixed
|
||||
;; but not yet released upstream
|
||||
;; (https://github.com/p1c2u/openapi-core/issues/158).
|
||||
"-k" "not test_string_format_invalid_value")))))))
|
||||
(native-inputs (list python-django
|
||||
python-falcon
|
||||
python-flask
|
||||
python-poetry-core
|
||||
python-pypa-build
|
||||
python-pytest
|
||||
python-responses))
|
||||
(propagated-inputs
|
||||
(list python-attrs
|
||||
python-dictpath
|
||||
python-isodate
|
||||
python-jsonschema
|
||||
python-lazy-object-proxy
|
||||
python-more-itertools
|
||||
python-openapi-schema-validator
|
||||
python-openapi-spec-validator
|
||||
python-parse
|
||||
python-six
|
||||
python-werkzeug))
|
||||
(home-page "https://github.com/p1c2u/openapi-core")
|
||||
(synopsis "OpenAPI core library")
|
||||
(description "Openapi-core is a Python library that adds client-side and
|
||||
server-side support for the OpenAPI Specification v3. It has features such
|
||||
as:
|
||||
@itemize
|
||||
@item Validation of requests and responses
|
||||
@item Schema casting and unmarshalling
|
||||
@item Media type and parameters deserialization
|
||||
@item Security providers (API keys, Cookie, Basic and Bearer HTTP
|
||||
authentications)
|
||||
@item Custom deserializers and formats
|
||||
@item Integration with libraries and frameworks.
|
||||
@end itemize")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-openid
|
||||
(package
|
||||
(name "python-openid")
|
||||
@ -2994,13 +3219,13 @@ minimum of WSGI.")
|
||||
(define-public python-flask
|
||||
(package
|
||||
(name "python-flask")
|
||||
(version "2.0.2")
|
||||
(version "2.1.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "Flask" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1qilnrdakhbw5k951kczdy8ia0wczh0dpp1vi4qhgmfx6klvhbvv"))))
|
||||
"1j0rjly2yhbm566lq2s8543fs7fz86f77abps539djcfalzbvjd8"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
@ -3012,8 +3237,13 @@ minimum of WSGI.")
|
||||
(native-inputs
|
||||
(list python-pytest))
|
||||
(propagated-inputs
|
||||
(list python-itsdangerous python-jinja2 python-click python-werkzeug))
|
||||
(home-page "https://www.palletsprojects.com/p/flask/")
|
||||
(list python-asgiref ;async extra
|
||||
python-click
|
||||
python-importlib-metadata
|
||||
python-itsdangerous
|
||||
python-jinja2
|
||||
python-werkzeug))
|
||||
(home-page "https://palletsprojects.com/p/flask/")
|
||||
(synopsis "Microframework based on Werkzeug, Jinja2 and good intentions")
|
||||
(description "Flask is a micro web framework based on the Werkzeug toolkit
|
||||
and Jinja2 template engine. It is called a micro framework because it does not
|
||||
@ -3023,14 +3253,14 @@ presume or force a developer to use a particular tool or library.")
|
||||
(define-public python-flask-wtf
|
||||
(package
|
||||
(name "python-flask-wtf")
|
||||
(version "0.14.3")
|
||||
(version "1.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "Flask-WTF" version))
|
||||
(sha256
|
||||
(base32
|
||||
"086pvg2x69n0nczcq7frknfjd8am1zdy8qqpva1sanwb02hf65yl"))))
|
||||
"1jd614662r6ifh4svs8zfwm4k8bal5z3n6pq607bas8gxrpmrzil"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
@ -3039,7 +3269,7 @@ presume or force a developer to use a particular tool or library.")
|
||||
(lambda _
|
||||
(invoke "pytest" "-vv"))))))
|
||||
(propagated-inputs
|
||||
(list python-flask-babel python-babel python-wtforms))
|
||||
(list python-flask python-itsdangerous python-wtforms))
|
||||
(native-inputs
|
||||
(list python-pytest))
|
||||
(home-page "https://github.com/lepture/flask-wtf")
|
||||
@ -3611,7 +3841,7 @@ on the command line.")
|
||||
(define-public python-flask-login
|
||||
(package
|
||||
(name "python-flask-login")
|
||||
(version "0.5.0")
|
||||
(version "0.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -3620,17 +3850,21 @@ on the command line.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "11ac924w0y4m0kf3mxnxdlidy88jfa7njw5yyrq16dvnx4iwd8gg"))))
|
||||
(base32 "12yw01ccgjn9c88cbkrd6k1ykjxd8fxip2b1isvxjirphnlqhn9g"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
(list #:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "pytest" "-vv" "-c" "/dev/null")))))))
|
||||
(propagated-inputs
|
||||
(list python-flask))
|
||||
(native-inputs
|
||||
;; For tests.
|
||||
(list python-blinker
|
||||
python-coverage
|
||||
python-mock
|
||||
python-pycodestyle
|
||||
python-pyflakes
|
||||
python-pytest
|
||||
python-semantic-version
|
||||
python-werkzeug))
|
||||
@ -4863,7 +5097,7 @@ and fairly speedy.")
|
||||
(define-public python-uvicorn
|
||||
(package
|
||||
(name "python-uvicorn")
|
||||
(version "0.13.2")
|
||||
(version "0.17.6")
|
||||
(source
|
||||
(origin
|
||||
;; PyPI tarball has no tests.
|
||||
@ -4873,20 +5107,33 @@ and fairly speedy.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "04zgmp9z46k72ay6cz7plga6d3w3a6x41anabm7ramp7jdqf6na9"))))
|
||||
(base32 "0npwls02nhna2lyw2nksxij16l9agf12c9f42pvxb5yrpi9l16c8"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
|
||||
(add-installed-pythonpath inputs outputs)
|
||||
(invoke "pytest" "-vv"))))))
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "pytest" "-vv" "-o" "asyncio_mode=auto"
|
||||
"-k"
|
||||
(string-append
|
||||
;; These error or fail due to networking.
|
||||
"not test_keepalive "
|
||||
"and not test_bind_unix_socket_works_with_"
|
||||
"reload_or_workers "))))))))
|
||||
(native-inputs
|
||||
(list python-pytest python-pytest-mock python-requests
|
||||
python-trustme python-wsproto))
|
||||
(list python-httpx-bootstrap
|
||||
python-pytest
|
||||
python-pytest-asyncio
|
||||
python-pytest-mock
|
||||
python-requests
|
||||
python-trustme
|
||||
python-wsproto))
|
||||
(propagated-inputs
|
||||
(list python-click
|
||||
(list python-asgiref
|
||||
python-click
|
||||
python-dotenv
|
||||
python-h11
|
||||
python-httptools
|
||||
python-pyyaml
|
||||
@ -5103,7 +5350,7 @@ and serve updated contents upon changes to the directory.")
|
||||
(define-public python-httpcore
|
||||
(package
|
||||
(name "python-httpcore")
|
||||
(version "0.12.2")
|
||||
(version "0.14.7")
|
||||
(source
|
||||
(origin
|
||||
;; PyPI tarball does not contain tests.
|
||||
@ -5113,34 +5360,31 @@ and serve updated contents upon changes to the directory.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1nrwwfdqjfc2a1k3j41cdwkprwvplf95fwmypdl2aq2qgp3209q0"))))
|
||||
(base32 "0wdr28vf03l6yxhk8nrvhh7y7x18rqdcfzv1sb6jgzk9zmycrvc7"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; Tests hang at 98%
|
||||
#:phases
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(add-installed-pythonpath inputs outputs)
|
||||
(invoke "pytest" "-vv" "--cov=httpcore"
|
||||
"--cov=tests" "tests"))
|
||||
#t)))))
|
||||
(invoke "pytest" "-vv" "tests")))))))
|
||||
(native-inputs
|
||||
(list python-autoflake
|
||||
python-flake8
|
||||
python-flake8-bugbear
|
||||
python-flake8-pie
|
||||
python-isort
|
||||
python-mypy
|
||||
python-pytest
|
||||
(list python-pytest
|
||||
python-pytest-asyncio
|
||||
python-pytest-cov
|
||||
python-pytest-httpbin
|
||||
python-pytest-trio
|
||||
python-uvicorn
|
||||
python-trustme))
|
||||
(propagated-inputs
|
||||
(list python-h11 python-h2 python-sniffio python-trio
|
||||
(list python-anyio
|
||||
python-certifi
|
||||
python-h11
|
||||
python-h2
|
||||
python-sniffio
|
||||
python-socksio
|
||||
python-trio
|
||||
python-trio-typing))
|
||||
(home-page "https://github.com/encode/httpcore")
|
||||
(synopsis "Minimal, low-level HTTP client")
|
||||
@ -5160,10 +5404,18 @@ Some things HTTP Core does do:
|
||||
@end itemize")
|
||||
(license license:bsd-3)))
|
||||
|
||||
;;; Variant used to break a cycle between python-httpx and python-uvicorn.
|
||||
(define-public python-httpcore-bootstrap
|
||||
(hidden-package
|
||||
(package/inherit python-httpcore
|
||||
(name "python-httpcore-bootstrap")
|
||||
(arguments (list #:tests? #f))
|
||||
(native-inputs '()))))
|
||||
|
||||
(define-public python-httpx
|
||||
(package
|
||||
(name "python-httpx")
|
||||
(version "0.16.1")
|
||||
(version "0.22.0")
|
||||
(source
|
||||
(origin
|
||||
;; PyPI tarball does not contain tests.
|
||||
@ -5173,7 +5425,7 @@ Some things HTTP Core does do:
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "00gmq45fckcqkj910bvd7pyqz1mvgsdvz4s0k7dzbnc5czzq1f4a"))))
|
||||
(base32 "1awr56488b66zyl3cx1f03lq2n07xdg5kb4l46vnsm59s6hr02c5"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
@ -5181,7 +5433,8 @@ Some things HTTP Core does do:
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "pytest" "-vv" "-k"
|
||||
(invoke "pytest" "-vv" "-o" "asyncio_mode=auto"
|
||||
"-k"
|
||||
;; These tests try to open an outgoing connection.
|
||||
(string-append
|
||||
"not test_connect_timeout"
|
||||
@ -5191,26 +5444,23 @@ Some things HTTP Core does do:
|
||||
"being_deleted"
|
||||
" and not test_that_send_cause_client_to_be_not_closed"
|
||||
" and not test_async_proxy_close"
|
||||
" and not test_sync_proxy_close"))))))))
|
||||
" and not test_sync_proxy_close"
|
||||
;; This test is apparently incompatible with
|
||||
;; python-click 8, fails with " AttributeError:
|
||||
;; 'function' object has no attribute 'name'".
|
||||
" and not test_main"))))))))
|
||||
(native-inputs
|
||||
(list python-autoflake
|
||||
python-black
|
||||
python-cryptography
|
||||
python-flake8
|
||||
python-flake8-bugbear
|
||||
python-flake8-pie
|
||||
python-isort
|
||||
python-mypy
|
||||
(list python-cryptography
|
||||
python-pytest
|
||||
python-pytest-asyncio
|
||||
python-pytest-trio
|
||||
python-pytest-cov
|
||||
python-trio
|
||||
python-trio-typing
|
||||
python-trustme
|
||||
python-uvicorn))
|
||||
(propagated-inputs
|
||||
(list python-brotli
|
||||
(list python-charset-normalizer
|
||||
python-brotli
|
||||
python-certifi
|
||||
python-chardet
|
||||
python-httpcore
|
||||
@ -5256,6 +5506,17 @@ Plus all the standard features of requests:
|
||||
@end itemize")
|
||||
(license license:bsd-3)))
|
||||
|
||||
;;; Variant used to break a cycle with python-uvicorn.
|
||||
(define-public python-httpx-bootstrap
|
||||
(hidden-package
|
||||
(package/inherit python-httpx
|
||||
(name "python-httpx-bootstrap")
|
||||
(arguments (list #:tests? #f))
|
||||
(native-inputs '())
|
||||
(propagated-inputs
|
||||
(modify-inputs (package-propagated-inputs python-httpx)
|
||||
(replace "python-httpcore" python-httpcore-bootstrap))))))
|
||||
|
||||
(define-public python-wsgiprox
|
||||
(package
|
||||
(name "python-wsgiprox")
|
||||
@ -5343,24 +5604,18 @@ files.")
|
||||
(define-public python-websockets
|
||||
(package
|
||||
(name "python-websockets")
|
||||
(version "8.1")
|
||||
(version "10.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "websockets" version))
|
||||
(sha256
|
||||
(base32
|
||||
"03s3ml6sbki24aajllf8aily0xzrn929zxi84p50zkkbikdd4raw"))))
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/aaugustin/websockets")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1vk7g5z977mi89hamwiqawpmibwvv9ghrf3pqva1waxmyc7gyjb5"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; Tests not included in release tarball.
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-websockets-package-name-requirement
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; Python package names use dot as separator.
|
||||
(substitute* "setup.py"
|
||||
(("websockets/extensions") "websockets.extensions")))))))
|
||||
(home-page "https://github.com/aaugustin/websockets")
|
||||
(synopsis
|
||||
"Python implementation of the WebSocket Protocol (RFC 6455 & 7692)")
|
||||
@ -5729,6 +5984,53 @@ Swagger.")
|
||||
"Manuel lets you mix and match traditional doctests with custom test syntax.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python-pecan
|
||||
(package
|
||||
(name "python-pecan")
|
||||
(version "1.4.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch) ;no tests in pypi release
|
||||
(uri (git-reference
|
||||
(url "https://github.com/pecan/pecan")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"10lz0cqafx3j24m52vv9ph0bxrzyx6wv2dgz7g9kfm60lhaskqkh"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'relax-requirements
|
||||
(lambda _
|
||||
(substitute* "test-requirements.txt"
|
||||
;; Drop extraneous virtualenv requirement.
|
||||
((".*virtualenv.*") ""))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "pytest" "-vv" "pecan")))))))
|
||||
(native-inputs
|
||||
(list gunicorn
|
||||
python-genshi
|
||||
python-jinja2
|
||||
python-pytest
|
||||
python-sqlalchemy
|
||||
uwsgi))
|
||||
(propagated-inputs
|
||||
(list python-logutils
|
||||
python-mako
|
||||
python-six
|
||||
python-webob
|
||||
python-webtest))
|
||||
(home-page "http://github.com/pecan/pecan")
|
||||
(synopsis "WSGI object-dispatching web framework")
|
||||
(description "This package provides a WSGI object-dispatching web
|
||||
framework, designed to be lean and fast, with few dependencies.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-persistent
|
||||
(package
|
||||
(name "python-persistent")
|
||||
@ -6043,56 +6345,103 @@ parsing and rewriting of remote git URLs from various hosting providers.")
|
||||
as a Python package.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-sanic-routing
|
||||
(package
|
||||
(name "python-sanic-routing")
|
||||
(version "0.7.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "sanic-routing" version))
|
||||
(sha256
|
||||
(base32 "0k9paln0jd4sc2bklp977c82n29pk12wiv726siplkh57y5yi70k"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
;; PyPi sources does not contain tests, recursive dependency on
|
||||
;; python-sanic.
|
||||
(list #:tests? #f))
|
||||
(home-page "https://github.com/sanic-org/sanic-routing/")
|
||||
(synopsis "Routing component for Sanic")
|
||||
(description "Internal package for @code{python-sanic}, which provides
|
||||
the @code{BasicRouter}.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-sanic-testing
|
||||
(package
|
||||
(name "python-sanic-testing")
|
||||
(version "22.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "sanic-testing" version))
|
||||
(sha256
|
||||
(base32 "1vkgi9d3xyik507j4jy9s74mkl81hgx3c2d5y3aa1av9h6wjjivp"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
;; PyPi sources does not contain tests, recursive dependency on
|
||||
;; python-sanic.
|
||||
(list #:tests? #f))
|
||||
(propagated-inputs (list python-httpx python-sanic-bootstrap
|
||||
python-websockets))
|
||||
(home-page "https://github.com/sanic-org/sanic-testing/")
|
||||
(synopsis "Test clients for Sanic")
|
||||
(description "Internal package for @code{python-sanic}, which is
|
||||
meant to be the core testing utility and clients for testing Sanic
|
||||
applications.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-sanic
|
||||
(package
|
||||
(name "python-sanic")
|
||||
(version "20.12.4")
|
||||
;; We provide the latest LTS version of python-sanic.
|
||||
(version "21.12.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "sanic" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0axfc151s7nrykzypzciyvkxxrs5ayx8kxv4r620hjb9w3jjhfnp"))))
|
||||
"0b8mcd1q9qkwcv2qz8nlyaacs0bp7a1l31sdq2m8hhkxykzfq5bg"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'use-recent-pytest
|
||||
;; Allow using recent dependencies.
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "setup.py"
|
||||
(("pytest==5.2.1") "pytest")
|
||||
(("multidict>=5.0,<6.0") "multidict")
|
||||
(("httpx==0\\.15\\.4") "httpx"))
|
||||
#t))
|
||||
(replace 'check
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(add-installed-pythonpath inputs outputs)
|
||||
(invoke "pytest" "-vv" "./tests" "-k"
|
||||
(string-append "not test_zero_downtime "
|
||||
"and not test_gunicorn_worker "
|
||||
"and not test_logo_")))))))
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "pytest" "-vv" "./tests" "-k"
|
||||
(string-append
|
||||
;; PyPi sources lack examples module.
|
||||
"not test_gunicorn_"
|
||||
;; Does not expect brotli and reordered headers.
|
||||
" and not test_raw_headers"
|
||||
;; These look like buggy testcases.
|
||||
" and not test_zero_downtime"
|
||||
" and not test_non_default_uvloop_config_raises_warning"
|
||||
" and not test_listeners_triggered"
|
||||
" and not test_keep_alive_connection_context"
|
||||
" and not test_keep_alive_client_timeout"))))))))
|
||||
(propagated-inputs
|
||||
(list python-aiofiles
|
||||
python-httptools
|
||||
python-httpx
|
||||
python-multidict
|
||||
python-sanic-routing
|
||||
python-ujson
|
||||
python-uvloop
|
||||
python-websockets))
|
||||
(native-inputs
|
||||
(list gunicorn
|
||||
python-bandit
|
||||
python-beautifulsoup4
|
||||
python-hstspreload
|
||||
python-httpcore
|
||||
python-chardet
|
||||
python-isort
|
||||
python-pytest
|
||||
python-pytest-cov
|
||||
python-pytest-benchmark
|
||||
python-pytest-sanic
|
||||
python-pytest-sugar
|
||||
python-pytest-asyncio
|
||||
python-urllib3
|
||||
python-sanic-testing
|
||||
python-uvicorn))
|
||||
(home-page
|
||||
"https://github.com/sanic-org/sanic/")
|
||||
@ -6105,6 +6454,13 @@ that's written to go fast. It allows the usage of the
|
||||
your code non-blocking and speedy.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-sanic-bootstrap
|
||||
(package
|
||||
(inherit python-sanic)
|
||||
(name "python-sanic-bootstrap")
|
||||
(arguments (list #:tests? #f))
|
||||
(native-inputs '())))
|
||||
|
||||
(define-public python-socketio
|
||||
(package
|
||||
(name "python-socketio")
|
||||
@ -6164,6 +6520,27 @@ your code non-blocking and speedy.")
|
||||
functionality.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python-socksio
|
||||
(package
|
||||
(name "python-socksio")
|
||||
(version "1.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "socksio" version))
|
||||
(sha256
|
||||
(base32 "1b64j45w35jzhjhnq44bnyad9ydh1iyyd7a6j2c8phxmllyyp2zq"))))
|
||||
(build-system python-build-system)
|
||||
(home-page "https://github.com/sethmlarson/socksio")
|
||||
(synopsis "Sans-I/O implementation of SOCKS4, SOCKS4A, and SOCKS5.")
|
||||
(description "The @code{socksio} Python module is a client-side sans-I/O
|
||||
SOCKS proxy implementation. It supports SOCKS4, SOCKS4A, and SOCKS5.
|
||||
@code{socksio} is a sans-I/O library similar to @code{h11} or @code{h2}; this
|
||||
means the library itself does not handle the actual sending of the bytes
|
||||
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-azure-nspkg
|
||||
(package
|
||||
(name "python-azure-nspkg")
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -2269,17 +2269,16 @@ top of the PyQt bindings for Qt. PyQt-builder is used to build PyQt itself.")
|
||||
(define-public python-qtpy
|
||||
(package
|
||||
(name "python-qtpy")
|
||||
(version "1.9.0")
|
||||
(version "2.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "QtPy" version))
|
||||
(sha256
|
||||
(base32
|
||||
"13cw8l7zrhbdi03k1wl1pg9xdl4ahdfa7yz8gd0f23sxnm22rdrd"))))
|
||||
"13zbhnl2rm30xafwrzfwdb4mjp7gk4s9h2xagbf83pnjzczhgzdd"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
`(("python-pyside2" ,python-pyside-2)))
|
||||
(propagated-inputs (list python-packaging))
|
||||
(arguments
|
||||
`(;; Not all supported bindings are packaged. Especially PyQt4.
|
||||
#:tests? #f))
|
||||
|
@ -190,12 +190,15 @@
|
||||
(define* (racket-vm-for-system #:optional
|
||||
(system (or (%current-target-system)
|
||||
(%current-system))))
|
||||
"Return 'racket-vm-cs' if it supports SYSTEM; 'racket-vm-bc' otherwise."
|
||||
(if (nix-system->chez-machine system)
|
||||
"Return 'racket-vm-cs' if we are able to build it for SYSTEM; 'racket-vm-bc'
|
||||
otherwise."
|
||||
;; Once we figure out the issues in https://racket.discourse.group/t/950,
|
||||
;; we can use 'racket-vm-cs' everywhere.
|
||||
(if (racket-cs-native-supported-system? system)
|
||||
racket-vm-cs
|
||||
racket-vm-bc))
|
||||
|
||||
(define %racket-version "8.4") ; Remember to update chez-scheme-for-racket!
|
||||
(define %racket-version "8.5") ; Remember to update chez-scheme-for-racket!
|
||||
(define %racket-commit
|
||||
(string-append "v" %racket-version))
|
||||
(define %racket-origin
|
||||
@ -205,11 +208,9 @@
|
||||
(url "https://github.com/racket/racket")
|
||||
(commit %racket-commit)))
|
||||
(sha256
|
||||
(base32 "1vpl66gdgc8rnldmn8rmb7ar9l057jqjvgpfn29k57i3c5skr8s6"))
|
||||
(base32 "0f9zyhdvbh4xsndrqjzl85j5ziz0rmqi676g9s1lw3h3skq2636h"))
|
||||
(file-name (git-file-name "racket" %racket-version))
|
||||
(patches (search-patches "racket-minimal-sh-via-rktio.patch"
|
||||
;; Remove by Racket 8.5:
|
||||
"racket-enable-scheme-backport.patch"))
|
||||
(patches (search-patches "racket-minimal-sh-via-rktio.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
#~(begin
|
||||
@ -248,8 +249,10 @@
|
||||
,(string-append "CPPFLAGS=-DGUIX_RKTIO_PATCH_BIN_SH="
|
||||
#$(file-append bash-minimal "/bin/sh"))
|
||||
"--disable-strip"
|
||||
;; XXX: origtree layout is required by some other packages down the
|
||||
;; bootstrap chain. Remove these flags as soon as we can do without them.
|
||||
;; Using --enable-origtree lets us distinguish the VM from subsequent
|
||||
;; layers and produces a build with the shape expected by tools such as
|
||||
;; "distro-build" and "raco-cross". Removing these flags would require
|
||||
;; changes, especially to 'configure-layer.rkt' (defined below).
|
||||
"--enable-origtree"
|
||||
,(string-append "--prefix=" #$output "/opt/racket-vm")))
|
||||
|
||||
@ -276,8 +279,9 @@
|
||||
;; main-distribution-test that aren't part of the main
|
||||
;; distribution.
|
||||
#:tests? #f
|
||||
;; Upstream recommends #:out-of-source?, and it does
|
||||
;; help with debugging, but it confuses `install-license-files`.
|
||||
;; Upstream recommends #:out-of-source?, and it
|
||||
;; helps a lot with debugging.
|
||||
#:out-of-source? #t
|
||||
#:modules '((ice-9 match)
|
||||
(ice-9 regex)
|
||||
(guix build gnu-build-system)
|
||||
@ -314,7 +318,18 @@
|
||||
#f)))))))
|
||||
(add-before 'configure 'chdir
|
||||
(lambda _
|
||||
(chdir "racket/src"))))))
|
||||
(chdir "racket/src")))
|
||||
(replace 'install-license-files
|
||||
;; The #:out-of-source? mode for install-license-files fails
|
||||
;; to find the srcdir: as a workaround, navigate there ourselves.
|
||||
(let ((install-license-files
|
||||
(assoc-ref %standard-phases 'install-license-files)))
|
||||
(lambda args
|
||||
(with-directory-excursion "../src"
|
||||
(apply install-license-files
|
||||
`(,@args
|
||||
;; if there are duplicate keywords, last is used
|
||||
#:out-of-source? #f)))))))))
|
||||
(home-page "https://racket-lang.org")
|
||||
(synopsis "Old Racket implementation used for bootstrapping")
|
||||
(description "This variant of the Racket BC (``before Chez'' or
|
||||
@ -589,7 +604,7 @@ DrRacket IDE, are not included.")
|
||||
racket-minimal ;; <-- TODO non-tethered layer
|
||||
(racket-vm-for-system)
|
||||
(simple-racket-origin
|
||||
"2d" (base32 "1zzcz5qyjv7syi41vb8jkxjp1rqgj61zbsdrg0nlc4qy9qsafzgr")
|
||||
"2d" (base32 "0fb5v6058ls08xw3zbmqyr2ym0psm119gl9ffgmhm9w8rs9i4dq7")
|
||||
'("2d" "2d-doc" "2d-lib"))
|
||||
(simple-racket-origin
|
||||
"algol60" (base32 "09kj6asypmc24n29w0izc9p0q8hpga2hpkchsypfwn5c8zpvihlx")
|
||||
@ -622,22 +637,22 @@ DrRacket IDE, are not included.")
|
||||
"data" (base32 "10iabgrk9alaggvksnyb0hdq7f1p30pq6pq2bcakvhzpxwiv1f55")
|
||||
'("data" "data-doc" "data-enumerate-lib" "data-lib"))
|
||||
(simple-racket-origin
|
||||
"datalog" (base32 "0n5j5gnqh7g31mvgx19ggl18hirzbvq2r189lbngmnrmbc7b73fp")
|
||||
"datalog" (base32 "0nf6cy4djpyhfvgpa6yn72apbz9s83gp0qg95pzjd0az4v6qwq1s")
|
||||
'(("datalog" ".")))
|
||||
(simple-racket-origin
|
||||
"db" (base32 "1n02ja0yj3mjjhmz0yv04yfhyvrsznbljn8bjviyfxnm4xf9rcc5")
|
||||
'("db" "db-doc" "db-lib"))
|
||||
(simple-racket-origin
|
||||
"deinprogramm" (base32 "1is6fapgv6rxfjz47nh6qf3kh7y7sjdinakaxqffi46gf1al8prd")
|
||||
"deinprogramm" (base32 "0g8flr1qg3bcyhdinqhs4w7dyisaqyailbxrjgd2a7zlqmdyicfr")
|
||||
'("deinprogramm" "deinprogramm-signature"))
|
||||
(simple-racket-origin
|
||||
"distributed-places" (base32 "1dajpkj9balqcpv6cdk9hwjz592h1vq8rrx5vncariiac4vbdpa0")
|
||||
'("distributed-places" "distributed-places-doc" "distributed-places-lib"))
|
||||
(simple-racket-origin
|
||||
"draw" (base32 "1xgjfbh70hqw67z88iqqajg98d04qwbzn6im2wj47rs28jxlm9ly")
|
||||
"draw" (base32 "1fpk85rs2crd63bxnmwj2pysisd62pxcqaip01si67dv1ri8ff92")
|
||||
'("draw" "draw-doc" "draw-lib"))
|
||||
(simple-racket-origin
|
||||
"drracket" (base32 "0m3l4an3nq2ycd1h287s1az2v2zprjbzd8if2x7d5r71vaj4i00c")
|
||||
"drracket" (base32 "0dipnz92c63zxys9z1kl5215rm7arc35g9r8bs8ivp96p75mljnz")
|
||||
'("drracket"
|
||||
"drracket-plugin-lib"
|
||||
"drracket-tool"
|
||||
@ -657,7 +672,7 @@ DrRacket IDE, are not included.")
|
||||
"errortrace" (base32 "14m7rhaxngj36070iw15am434hm438pfgmwjfsiqhsglz4pcxhip")
|
||||
'("errortrace" "errortrace-doc" "errortrace-lib"))
|
||||
(simple-racket-origin
|
||||
"expeditor" (base32 "07djzxs6307l51mcsk3yr2g4g47ayxa3878g7sf5xhqdr4hd9vxf")
|
||||
"expeditor" (base32 "0mjfwb4wzwsg5xj3k6cmik0va432n56rp5h7rxx1c2yy3prh1j7q")
|
||||
'("expeditor" "expeditor-doc" "expeditor-lib"))
|
||||
(simple-racket-origin
|
||||
"frtime" (base32 "0ydz2yn8vvv6z7brwlswcyx0f31a6y6d443i89rysfvd2xkhpfd5")
|
||||
@ -670,25 +685,14 @@ DrRacket IDE, are not included.")
|
||||
(simple-racket-origin
|
||||
"games" (base32 "0kpn3izlx1ccd0pj0dnvmnrhny51b85xy418a7psj70lz8j8415d")
|
||||
'(("games" ".")))
|
||||
(racket-packages-origin
|
||||
"gui" (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/racket/gui")
|
||||
(commit %racket-commit)))
|
||||
(sha256 (base32
|
||||
"1x33jgrx3r32k7hgwr591z3xqv1m2r5nc4km2fnxv0ak2xa0j3gj"))
|
||||
(patches
|
||||
;; remove in Racket 8.5
|
||||
;; see https://github.com/racket/racket/issues/4133
|
||||
(search-patches "racket-gui-tethered-launcher-backport.patch"))
|
||||
(file-name (git-file-name "racket-gui" %racket-version)))
|
||||
(simple-racket-origin
|
||||
"gui" (base32 "0r3ck4gxdhnzr1a1fi0f1i7gwfip7akq10qgcxza66pp57hnl0wx")
|
||||
'("gui" "gui-doc" "gui-lib" "tex-table"))
|
||||
(simple-racket-origin
|
||||
"gui-pkg-manager" (base32 "1ji9448d723nklqvycwdswj0ni28sabrncag14f9mx47did5myb5")
|
||||
'("gui-pkg-manager-lib"))
|
||||
(simple-racket-origin
|
||||
"htdp" (base32 "0r4ykybcpr10y2db9rlza9pr0xh58nd7ac389mjcxp8g386hgihl")
|
||||
"htdp" (base32 "19xqixrqbwdxph17w9jga19008j88harb5wgml4hpqj3x0apx9g3")
|
||||
'("htdp" "htdp-doc" "htdp-lib"))
|
||||
(simple-racket-origin
|
||||
"html" (base32 "18n1jnjgzfknc8nv8dppi85nb8q08gqdwkg6hfjk08x0p00anx2x")
|
||||
@ -756,7 +760,7 @@ DrRacket IDE, are not included.")
|
||||
"pconvert" (base32 "00czi0p399mmyrvxyrs5kniizpkqfxyz2ncxqi2jy79a7wk79pb1")
|
||||
'("pconvert-lib"))
|
||||
(simple-racket-origin
|
||||
"pict" (base32 "0g1iwdr6qh1xb0crhj96830vjjnbds409xbpqn7j5sh0ksy6vr5x")
|
||||
"pict" (base32 "0v7a3l77swsbh80mnb9rakdwgw7s66ji0mall7qcqfwyg1b4zmlv")
|
||||
'("pict" "pict-doc" "pict-lib"))
|
||||
(simple-racket-origin
|
||||
"pict-snip" (base32 "081nwiy4a0n4f7xws16hqbhf0j3kz5alizndi3nnyr3chm4kng6x")
|
||||
@ -771,7 +775,7 @@ DrRacket IDE, are not included.")
|
||||
"planet" (base32 "0r2yqrzrmdjjyr14k6hhlzc5kzrcx3583m1s02mhrcmpfw0s85w9")
|
||||
'("planet" "planet-doc" "planet-lib"))
|
||||
(simple-racket-origin
|
||||
"plot" (base32 "07kq32si34ybcwz8idxxcrzssg8diyrp1nfgkcj0mmvr45321zm7")
|
||||
"plot" (base32 "04871pspbm0q3bz5896sa3jw2rp9i6jf0b5aivrxfp56vxxd2ybb")
|
||||
'("plot" "plot-compat" "plot-doc" "plot-gui-lib" "plot-lib"))
|
||||
(simple-racket-origin
|
||||
"preprocessor" (base32 "1p5aid58ifnjy4xl0ysh85cq39k25661v975jrpk182z3k5621mg")
|
||||
@ -786,7 +790,7 @@ DrRacket IDE, are not included.")
|
||||
(url "https://github.com/Metaxal/quickscript")
|
||||
(commit %racket-commit)))
|
||||
(sha256 (base32
|
||||
"100g3yqhbjdq06b6l6d72ywsw29awgy8crqg33wj7h12xq07nzcr"))
|
||||
"00sf5nw09aacd0l4a4cknnffvcs95p596im3blsdvfz5ck6jdwl8"))
|
||||
(file-name (git-file-name "Metaxal-quickscript" %racket-version)))
|
||||
'(("quickscript" ".")))
|
||||
(simple-racket-origin
|
||||
@ -807,10 +811,10 @@ DrRacket IDE, are not included.")
|
||||
(git-file-name "jeapostrophe-racket-cheat" %racket-version)))
|
||||
'(("racket-cheat" ".")))
|
||||
(simple-racket-origin
|
||||
"racklog" (base32 "1rgrvwy3kr9b9w5cghsffiv3ly00yfvvzr5xaaw83g1w7yin0mnb")
|
||||
"racklog" (base32 "0fbq0fpfb3l6h7h772dvkmlzlk2dnq5f8296xx1qxhhwypibqzr9")
|
||||
'(("racklog" ".")))
|
||||
(simple-racket-origin
|
||||
"rackunit" (base32 "057z31rja6h3nabh5b2xgwfrzmlm6h1cv1qcgf3xfy4g2q5dqn5p")
|
||||
"rackunit" (base32 "0vfwcddzrgrdv5awjka7m0jzqhqvfc5wlkih83a670y96496a83n")
|
||||
'("rackunit"
|
||||
"rackunit-doc"
|
||||
"rackunit-gui"
|
||||
@ -826,7 +830,7 @@ DrRacket IDE, are not included.")
|
||||
"realm" (base32 "0hxcgla08iack54j8v40fj51811chpy66ym2zq76zb52c7kzn0hi")
|
||||
'(("realm" ".")))
|
||||
(simple-racket-origin
|
||||
"redex" (base32 "0vlgxbnbgrlihk1hh5zd6hsc4566ldi4q76f87z5vai54dxkwy2f")
|
||||
"redex" (base32 "18rn8ddsqh1s7hdlb2cb9wxln63bz0wysjssaf9v92r712xnnv8i")
|
||||
'("redex"
|
||||
"redex-benchmark"
|
||||
"redex-doc"
|
||||
@ -841,7 +845,7 @@ DrRacket IDE, are not included.")
|
||||
"scheme-lib" (base32 "0pcf0y8rp4qyjhaz5ww5sr5diq0wpcdfrrnask7zapyklzx1jx8x")
|
||||
'(("scheme-lib" ".")))
|
||||
(simple-racket-origin
|
||||
"scribble" (base32 "0rgvnsykrxkah6s5fw1vyp9lxsb4z9w6hgwk5j6wbwjp2gsfczbm")
|
||||
"scribble" (base32 "0fbb7xgz95y90247hfc1a19v7ry8m6blvv4y8irdgzhjvik70zb3")
|
||||
'("scribble"
|
||||
"scribble-doc"
|
||||
"scribble-html-lib"
|
||||
@ -873,35 +877,24 @@ DrRacket IDE, are not included.")
|
||||
"snip" (base32 "01r9wc5xr3q3n4yyif6j0a37rgdzmpslxn05k13ksik73b3wj6hj")
|
||||
'("snip" "snip-lib"))
|
||||
(simple-racket-origin
|
||||
"typed-racket" (base32 "1462kj9yswsxbnw71casylzlvhd7cxrml2v9j7rcsnn9hmrqx4vv")
|
||||
"typed-racket" (base32 "0z6bagp6qiw0i3slhvq035y5hqgq664xw3bdlvdayad0bgbg0mdc")
|
||||
'("source-syntax"
|
||||
"typed-racket"
|
||||
"typed-racket-compatibility"
|
||||
"typed-racket-doc"
|
||||
"typed-racket-lib"
|
||||
"typed-racket-more"))
|
||||
(racket-packages-origin
|
||||
"srfi" (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/racket/srfi")
|
||||
;; Includes an FSDG fix: return to %racket-commit in 8.5.
|
||||
;; See <https://github.com/racket/srfi/pull/15>.
|
||||
(commit "7243029b135741ce08ae30f877e2f49a2a460b22")))
|
||||
(sha256 (base32
|
||||
"0aqbcdv2dfc2xnk0h6zfi56p7bpwqji8s88qds3d03hhh9k28gvn"))
|
||||
;; Use the relevant version for srfi-doc and srfi-lib,
|
||||
;; since we're using a newer commit than the v8.4 tag.
|
||||
(file-name (git-file-name "racket-srfi" "1.1")))
|
||||
(simple-racket-origin
|
||||
"srfi" (base32 "0aqbcdv2dfc2xnk0h6zfi56p7bpwqji8s88qds3d03hhh9k28gvn")
|
||||
'("srfi" "srfi-doc" "srfi-lib" "srfi-lite-lib"))
|
||||
(simple-racket-origin
|
||||
"string-constants" (base32 "1qizjq4n0hzdgdcjjpr94464gsywpsk2g9mnvwzqr7dcqbrsfvn6")
|
||||
"string-constants" (base32 "0b1ji31pv6bjb0a2bh9sqp5abvf91gn2rai8r4c4nkar1fzfwfac")
|
||||
'("string-constants" "string-constants-doc" "string-constants-lib"))
|
||||
(simple-racket-origin
|
||||
"swindle" (base32 "164gdsphjzdl2vv7zxz7dfk9jwax8njpmim6sidm8qz8a8589y67")
|
||||
'(("swindle" ".")))
|
||||
(simple-racket-origin
|
||||
"syntax-color" (base32 "1vf2fc3qvx8a1igi7swsg8gaqhx786sa0vqxd18xhbsidfgb5ywp")
|
||||
"syntax-color" (base32 "17lb2403ymz6sflw4vs3gsh2y7kgsf0gn8sncsxjhi16rpj3a9vm")
|
||||
'("syntax-color" "syntax-color-doc" "syntax-color-lib"))
|
||||
(simple-racket-origin
|
||||
"trace" (base32 "070ihla5j796hdarn5wxdwn4xj0xnkm50shgh49jy994mribvhia")
|
||||
@ -910,13 +903,13 @@ DrRacket IDE, are not included.")
|
||||
"unix-socket" (base32 "02dfwas5ynbpyz74w9kwb4wgb37y5wys7svrlmir8k0n9ph9vq0y")
|
||||
'("unix-socket" "unix-socket-doc" "unix-socket-lib"))
|
||||
(simple-racket-origin
|
||||
"web-server" (base32 "1zgb6jl7zx6258ljs8f3lvryrq5n5zpd71dqzr698m92kw3x2pkn")
|
||||
"web-server" (base32 "1g4x79ym3mgxv4f3z3z84j12355pf44pjlzlb7f0h6r0i7p0cbjd")
|
||||
'("web-server" "web-server-doc" "web-server-lib"))
|
||||
(simple-racket-origin
|
||||
"wxme" (base32 "1qp5gr9gqsakiq3alw6m4yyv5vw4i3hp4y4nhq8vl2nkjmirvn0b")
|
||||
'("wxme" "wxme-lib"))
|
||||
(simple-racket-origin
|
||||
"xrepl" (base32 "12zjgsy5zqm3fck3ihg4a70wj56s2cnnjyb4jlfi5nnsfqyrnxg3")
|
||||
"xrepl" (base32 "19svg0jfs656bld5ikqipz3a5szk5k02zq5fh43209qw527dnfbk")
|
||||
'("xrepl" "xrepl-doc" "xrepl-lib"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
@ -8,6 +8,7 @@
|
||||
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2020 pukkamustard <pukkamustard@posteo.net>
|
||||
;;; Copyright © 2022 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -473,24 +474,20 @@ C++ library as well as various command-line tools to to work with HDT.")
|
||||
(define-public python-sparqlwrapper
|
||||
(package
|
||||
(name "python-sparqlwrapper")
|
||||
(version "1.8.5")
|
||||
(version "2.0.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/RDFLib/sparqlwrapper.git")
|
||||
(url "https://github.com/RDFLib/sparqlwrapper")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ia5h06zf6kpw6gdi7f80pzx10m79brj08zrbffb5wn9hzz8x528"))))
|
||||
"1b4vg754kcxvinwdv7pjfmwbnmgm50w8mb2naf2lwp27bpyllvkb"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f)) ; The test suite simply queries external HTTP endpoints.
|
||||
(native-inputs
|
||||
;; Build with setuptools <58 to get lib2to3 support.
|
||||
(list python-nose python-setuptools))
|
||||
(propagated-inputs
|
||||
(list python-rdflib))
|
||||
(propagated-inputs (list python-rdflib))
|
||||
(home-page "https://rdflib.dev/sparqlwrapper/")
|
||||
(synopsis "SPARQL Endpoint interface to Python")
|
||||
(description "Python wrapper around a SPARQL service. It helps in creating
|
||||
|
@ -12250,3 +12250,388 @@ functions for complex numbers. The functions in this module accept integers,
|
||||
floating-point numbers or complex numbers as arguments.")
|
||||
(home-page "https://github.com/ruby/cmath")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public ruby-sucker-punch
|
||||
(package
|
||||
(name "ruby-sucker-punch")
|
||||
(version "3.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (rubygems-uri "sucker_punch" version))
|
||||
(sha256
|
||||
(base32 "0yams24wndpj7dzdysvm4z1w6ggg4xvj4snxba66prahhxvik4xl"))))
|
||||
(build-system ruby-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'extract-gemspec 'less-strict-dependencies
|
||||
(lambda _
|
||||
(substitute* "sucker_punch.gemspec"
|
||||
(("1.0.0") "1.0")))))))
|
||||
(native-inputs
|
||||
(list
|
||||
ruby-pry))
|
||||
(propagated-inputs
|
||||
(list
|
||||
ruby-concurrent))
|
||||
(home-page "https://github.com/brandonhilkert/sucker_punch")
|
||||
(synopsis "Asynchronous processing library for Ruby")
|
||||
(description "Sucker Punch is a single-process Ruby asynchronous processing
|
||||
library. It is perfect for asynchronous processes like emailing, data crunching
|
||||
or social platform manipulation; and generally recommended for jobs that are
|
||||
fast and non-mission critical like logs, emails, etc.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public ruby-countdownlatch
|
||||
(package
|
||||
(name "ruby-countdownlatch")
|
||||
(version "1.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (rubygems-uri "countdownlatch" version))
|
||||
(sha256
|
||||
(base32 "1v6pbay6z07fp7yvnba1hmyacbicvmjndd8rn2h1b5rmpcb5s0j3"))))
|
||||
(build-system ruby-build-system)
|
||||
(home-page "https://github.com/benlangfeld/countdownlatch")
|
||||
(synopsis "Thread synchronization aid Ruby")
|
||||
(description "CountDownLatch is a synchronization aid that allows one or
|
||||
more threads to wait until a set of operations being performed in other threads
|
||||
completes.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public ruby-value-semantics
|
||||
(package
|
||||
(name "ruby-value-semantics")
|
||||
(version "3.6.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (rubygems-uri "value_semantics" version))
|
||||
(sha256
|
||||
(base32 "1vdwai8wf6r1fkvdpyz1vzxm89q7ghjvb3pqpg2kvwibwzd99dnx"))))
|
||||
(build-system ruby-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "rspec")))))))
|
||||
(native-inputs
|
||||
(list
|
||||
ruby-rspec))
|
||||
(home-page "https://github.com/tomdalling/value_semantics")
|
||||
(synopsis "Ruby gem for making value classes")
|
||||
(description "ValueSemantics generates modules that provide conventional
|
||||
value semantics for a given set of attributes. The behaviour is similar to an
|
||||
immutable Struct class, plus extensible, lightweight validation and coercion.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public ruby-promise
|
||||
(package
|
||||
(name "ruby-promise")
|
||||
(version "0.7.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (rubygems-uri "promise.rb" version))
|
||||
(sha256
|
||||
(base32 "0a819sikcqvhi8hck1y10d1nv2qkjvmmm553626fmrh51h2i089d"))))
|
||||
(build-system ruby-build-system)
|
||||
(arguments
|
||||
`(#:test-target "spec"
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'extract-gemspec 'less-strict-dependencies
|
||||
(lambda _
|
||||
(substitute* "Rakefile"
|
||||
(("if Gem.ruby_version.*") "if false\n"))
|
||||
(substitute* "spec/spec_helper.rb"
|
||||
((".*devtools/spec_helper.*") "\n")))))))
|
||||
(native-inputs
|
||||
(list
|
||||
ruby-rspec
|
||||
ruby-rspec-its
|
||||
ruby-awesome-print
|
||||
ruby-fuubar))
|
||||
(home-page "https://github.com/lgierth/promise.rb")
|
||||
(synopsis "Asynchronous operation library for Ruby")
|
||||
(description "Promise is a Ruby implementation of the Promises/A+
|
||||
specification. It provides 100% mutation coverage, tested on MRI 1.9, 2.0, 2.1,
|
||||
2.2, Rubinius, and JRuby.")
|
||||
(license license:unlicense)))
|
||||
|
||||
(define-public ruby-multicodecs
|
||||
(package
|
||||
(name "ruby-multicodecs")
|
||||
(version "0.2.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (rubygems-uri "multicodecs" version))
|
||||
(sha256
|
||||
(base32 "0drq267di57l9zqw6zvqqimilz42rbc8z7392dwkk8wslq30s7v8"))))
|
||||
(build-system ruby-build-system)
|
||||
(home-page "https://github.com/SleeplessByte/ruby-multicodec")
|
||||
(synopsis "Ruby implementation of multiformats/multicodec")
|
||||
(description "Multicodecs is the ruby implementation of
|
||||
multiformats/multicodec, a canonical table of of codecs used by various
|
||||
multiformats.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public ruby-multihashes
|
||||
(package
|
||||
(name "ruby-multihashes")
|
||||
(version "0.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (rubygems-uri "multihashes" version))
|
||||
(sha256
|
||||
(base32 "17wiyy3fiv8rpgdv9ca01yncsmaaf8yg15bg18wc7m9frss1vgqg"))))
|
||||
(build-system ruby-build-system)
|
||||
(propagated-inputs
|
||||
(list
|
||||
ruby-multicodecs))
|
||||
(home-page "https://github.com/multiformats/ruby-multihash")
|
||||
(synopsis "Multihash implementation for Ruby")
|
||||
(description "Multihashes provides a simple, low-level multihash
|
||||
implementation for Ruby. A multihash is a digest with an embedded hash function
|
||||
code")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public ruby-lazy-object
|
||||
(package
|
||||
(name "ruby-lazy-object")
|
||||
(version "0.0.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (rubygems-uri "lazy_object" version))
|
||||
(sha256
|
||||
(base32 "08px15lahc28ik9smvw1hgamf792gd6gq0s4k94yq1h7jq25wjn8"))))
|
||||
(build-system ruby-build-system)
|
||||
(arguments
|
||||
`(#:test-target "spec"))
|
||||
(home-page "https://github.com/HornsAndHooves/lazy_object")
|
||||
(synopsis "Object wrapper that forwards all calls to the reference object")
|
||||
(description "LazyObject is an object wrapper that forwards all calls to the
|
||||
reference object. This object is not created until the first method dispatch.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public ruby-citrus
|
||||
(package
|
||||
(name "ruby-citrus")
|
||||
(version "3.0.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
;; Download from GitHub because the rubygems version does not contain
|
||||
;; files needed for tests.
|
||||
(uri (git-reference
|
||||
(url "https://github.com/mjackson/citrus")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "197wrgqrddgm1xs3yvjvd8vkvil4h4mdrcp16jmd4b57rxrrr769"))))
|
||||
(build-system ruby-build-system)
|
||||
(home-page "http://mjackson.github.io/citrus/")
|
||||
(synopsis "Parsing Expressions for Ruby")
|
||||
(description "Citrus is a parsing library for Ruby that combines the
|
||||
expressiveness of the language with the parsing expressions.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public ruby-cbor
|
||||
(package
|
||||
(name "ruby-cbor")
|
||||
(version "0.5.9.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (rubygems-uri "cbor" version))
|
||||
(sha256
|
||||
(base32 "0511idr8xps9625nh3kxr68sdy6l3xy2kcz7r57g47fxb1v18jj3"))))
|
||||
(build-system ruby-build-system)
|
||||
(arguments
|
||||
`(#:test-target "spec"))
|
||||
(native-inputs
|
||||
(list
|
||||
ruby-rspec
|
||||
ruby-rake-compiler
|
||||
ruby-yard))
|
||||
(home-page "http://cbor.io/")
|
||||
(synopsis "Concise Binary Object Representation")
|
||||
(description "CBOR is a library for the
|
||||
@acronym{CBOR, Concise Binary Object Representation} format, based on
|
||||
Sadayuki Furuhashi's MessagePack library.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public ruby-gem-release
|
||||
(package
|
||||
(name "ruby-gem-release")
|
||||
(version "2.2.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (rubygems-uri "gem-release" version))
|
||||
(sha256
|
||||
(base32 "108rrfaiayi14zrqbb6z0cbwcxh8n15am5ry2a86v7c8c3niysq9"))))
|
||||
(build-system ruby-build-system)
|
||||
(arguments
|
||||
;; No rakefile
|
||||
`(#:tests? #f))
|
||||
(home-page "https://github.com/svenfuchs/gem-release")
|
||||
(synopsis "Ruby gem plugin for release management")
|
||||
(description "GemRelease is a gem plugin that aims at making gem development
|
||||
easier by automating repetitive work based on conventions, configuration, and
|
||||
templates.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public ruby-base32
|
||||
(package
|
||||
(name "ruby-base32")
|
||||
(version "0.3.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (rubygems-uri "base32" version))
|
||||
(sha256
|
||||
(base32 "1fjs0l3c5g9qxwp43kcnhc45slx29yjb6m6jxbb2x1krgjmi166b"))))
|
||||
(build-system ruby-build-system)
|
||||
(native-inputs
|
||||
(list
|
||||
ruby-gem-release))
|
||||
(home-page "https://github.com/stesla/base32")
|
||||
(synopsis "Ruby extension for base32 encoding and decoding")
|
||||
(description "Base32 is a library which provides base32 decoding and
|
||||
encoding.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public ruby-dhall
|
||||
(package
|
||||
(name "ruby-dhall")
|
||||
(version "0.5.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (rubygems-uri "dhall" version))
|
||||
(sha256
|
||||
(base32 "09wcq8xc1ynld04r2f332bx8cn7rjc4afaq8hm1dr2fc35jlpn6m"))))
|
||||
(build-system ruby-build-system)
|
||||
(arguments
|
||||
;; No test in gem archive
|
||||
`(#:tests? #f))
|
||||
(propagated-inputs
|
||||
(list
|
||||
ruby-base32
|
||||
ruby-cbor
|
||||
ruby-citrus
|
||||
ruby-lazy-object
|
||||
ruby-multihashes
|
||||
ruby-promise
|
||||
ruby-value-semantics))
|
||||
(home-page "https://git.sr.ht/~singpolyma/dhall-ruby")
|
||||
(synopsis "Ruby implementation of the Dhall configuration language")
|
||||
(description "Dhall.rb is a Ruby implementation of the Dhall configuration
|
||||
language. Dhall is a memory safe and non-Turing-complete configuration
|
||||
language.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public ruby-money
|
||||
(package
|
||||
(name "ruby-money")
|
||||
(version "6.16.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (rubygems-uri "money" version))
|
||||
(sha256
|
||||
(base32 "0jkmsj5ymadik7bvl670bqwmvhsdyv7hjr8gq9z293hq35gnyiyg"))))
|
||||
(build-system ruby-build-system)
|
||||
(arguments
|
||||
;; No rakefile.
|
||||
`(#:tests? #f))
|
||||
(propagated-inputs
|
||||
(list
|
||||
ruby-i18n))
|
||||
(home-page "https://rubymoney.github.io/money/")
|
||||
(synopsis "Currency conversion library for Ruby")
|
||||
(description "RubyMoney provides a library for dealing with money and
|
||||
currency conversion. Its features are:
|
||||
@itemize
|
||||
@item
|
||||
Provides a Money class which encapsulates all information about a certain
|
||||
amount of money, such as its value and its currency.
|
||||
@item
|
||||
Provides a Money::Currency class which encapsulates all information about a
|
||||
monetary unit.
|
||||
@item
|
||||
Represents monetary values as integers, in cents; so avoids floating point
|
||||
rounding errors.
|
||||
@item
|
||||
Represents currency as Money::Currency instances providing a high level of
|
||||
flexibility.
|
||||
@item Provides APIs for exchanging money from one currency to another.
|
||||
@end itemize")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public ruby-monetize
|
||||
(package
|
||||
(name "ruby-monetize")
|
||||
(version "1.11.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (rubygems-uri "monetize" version))
|
||||
(sha256
|
||||
(base32 "0cna2myxdbwfq0gn6k2hgrh368dq7wld3jklm96443ysykd0difn"))))
|
||||
(build-system ruby-build-system)
|
||||
(arguments
|
||||
`(#:test-target "spec"))
|
||||
(native-inputs
|
||||
(list
|
||||
ruby-rspec))
|
||||
(propagated-inputs
|
||||
(list
|
||||
ruby-money))
|
||||
(home-page "https://github.com/RubyMoney/monetize")
|
||||
(synopsis "Convert various objects into Money objects")
|
||||
(description "Monetize provides a library for converting various objects
|
||||
into Money objects.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public ruby-money-open-exchange-rates
|
||||
(package
|
||||
(name "ruby-money-open-exchange-rates")
|
||||
(version "1.4.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
;; Download from GitHub because the rubygems version does not contain
|
||||
;; Rakefile.
|
||||
(uri (git-reference
|
||||
(url "https://github.com/spk/money-open-exchange-rates")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "11xwqli8snr19k48yh8h77sal5vxd4snzq9gxg08v61f0574m3gw"))))
|
||||
(build-system ruby-build-system)
|
||||
(native-inputs
|
||||
(list
|
||||
ruby-minitest
|
||||
ruby-mocha
|
||||
ruby-monetize
|
||||
ruby-rake
|
||||
ruby-rubocop
|
||||
ruby-timecop
|
||||
ruby-webmock))
|
||||
(propagated-inputs
|
||||
(list
|
||||
ruby-money))
|
||||
(home-page "https://spk.github.io/money-open-exchange-rates/")
|
||||
(synopsis "Money open exchange rates for Ruby")
|
||||
(description "This package provides a gem that calculates the exchange rate
|
||||
using published rates from open-exchange-rates. Compatible with the money gem.")
|
||||
(license license:expat)))
|
||||
|
@ -545,13 +545,13 @@ ksh, and tcsh.")
|
||||
(define-public xonsh
|
||||
(package
|
||||
(name "xonsh")
|
||||
(version "0.9.27")
|
||||
(version "0.12.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "xonsh" version))
|
||||
(sha256
|
||||
(base32 "1maz7yvb5py91n699yqsna81x2i25mvrqkrcn7h7870nxd87ral2"))
|
||||
(base32 "0xlac84nsgs0052n2pw8np1smlgghrbd7p6yrcp7d5qh8zdr9lx3"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
`(begin
|
||||
@ -565,6 +565,7 @@ ksh, and tcsh.")
|
||||
"xonsh/__amalgam__.py"
|
||||
"xonsh/lexer.py"
|
||||
"xonsh/parsers/base.py"
|
||||
"xonsh/parsers/completion_context.py"
|
||||
"xonsh/xonfig.py")
|
||||
(("from xonsh\\.ply\\.(.*) import" _ module)
|
||||
(format #f "from ~a import" module))
|
||||
@ -572,10 +573,19 @@ ksh, and tcsh.")
|
||||
#t))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
'(;; TODO Try running run the test suite.
|
||||
;; See 'requirements-tests.txt' in the source distribution for more
|
||||
;; information.
|
||||
#:tests? #f))
|
||||
(list ;; TODO Try running run the test suite.
|
||||
;; See 'requirements-tests.txt' in the source distribution for more
|
||||
;; information.
|
||||
#:tests? #f
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out")))
|
||||
(invoke "python" "-m" "compileall"
|
||||
"--invalidation-mode=unchecked-hash" out)
|
||||
(invoke "python" "setup.py" "install" "--root=/"
|
||||
(string-append "--prefix=" out))))))))
|
||||
(inputs
|
||||
(list python-ply))
|
||||
(home-page "https://xon.sh/")
|
||||
|
@ -17,7 +17,7 @@
|
||||
;;; Copyright © 2021 Eric Bavier <bavier@posteo.net>
|
||||
;;; Copyright © 2021, 2022 Vinicius Monego <monego@posteo.net>
|
||||
;;; Copyright © 2021 Hugo Lecomte <hugo.lecomte@inria.fr>
|
||||
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -38,6 +38,7 @@
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix hg-download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build-system python)
|
||||
@ -49,24 +50,26 @@
|
||||
#:use-module (gnu packages imagemagick)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-build)
|
||||
#:use-module (gnu packages python-check)
|
||||
#:use-module (gnu packages python-crypto)
|
||||
#:use-module (gnu packages python-web)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages time)
|
||||
#:use-module (gnu packages python-science)
|
||||
#:use-module (gnu packages graph))
|
||||
#:use-module (gnu packages graph)
|
||||
#:use-module (gnu packages tex))
|
||||
|
||||
(define-public python-sphinx
|
||||
(package
|
||||
(name "python-sphinx")
|
||||
(version "4.2.0")
|
||||
(version "4.5.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "Sphinx" version))
|
||||
(sha256
|
||||
(base32
|
||||
"19jq21py7m061v8142y2dbqrbv0adqcdjmharrdy34a432wqs1wl"))))
|
||||
"1rp28jryxwy24y8vpacclqihbizyi6b1s6id86pibvm46ybcmy3v"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
@ -79,12 +82,14 @@
|
||||
(substitute* "tests/test_build_latex.py"
|
||||
(("@pytest.mark.sphinx\\('latex', testroot='images'\\)")
|
||||
"@pytest.mark.skip()"))
|
||||
(setenv "HOME" "/tmp") ;for test_cython
|
||||
(invoke "make" "test")))))))
|
||||
(propagated-inputs
|
||||
(list python-babel
|
||||
python-docutils
|
||||
python-jinja2
|
||||
python-imagesize
|
||||
python-importlib-metadata
|
||||
python-packaging
|
||||
python-pygments
|
||||
python-requests
|
||||
@ -95,13 +100,46 @@
|
||||
python-sphinxcontrib-htmlhelp
|
||||
python-sphinxcontrib-jsmath
|
||||
python-sphinxcontrib-qthelp
|
||||
python-sphinxcontrib-serializinghtml))
|
||||
python-sphinxcontrib-serializinghtml
|
||||
|
||||
;; The Sphinx LaTeX library '\RequirePackage' or \\usepackage
|
||||
;; these:
|
||||
texlive-amsfonts ;amsmath, amssymb, amstext
|
||||
texlive-amsmath
|
||||
texlive-capt-of
|
||||
texlive-carlisle ;remreset
|
||||
texlive-etoolbox
|
||||
texlive-generic-ltxcmds
|
||||
texlive-hyperref
|
||||
;; TODO: Remove texlive-stringenc and texlive-zapfding after
|
||||
;; propagating them in texlive-hyperref in next rebuild cycle.
|
||||
texlive-stringenc
|
||||
texlive-zapfding
|
||||
texlive-latex-base ;alltt, atbegshi, makeidx, textcomp
|
||||
texlive-latex-cmap
|
||||
texlive-latex-fancyhdr
|
||||
texlive-latex-fancyvrb
|
||||
texlive-latex-float
|
||||
texlive-latex-fncychap
|
||||
texlive-latex-framed
|
||||
texlive-latex-geometry
|
||||
texlive-latex-graphics ;graphicx, color
|
||||
texlive-latex-kvoptions
|
||||
texlive-latex-needspace
|
||||
texlive-latex-parskip
|
||||
texlive-latex-preview
|
||||
texlive-latex-tabulary
|
||||
texlive-latex-titlesec
|
||||
texlive-latex-tools ;multicol, longtable
|
||||
texlive-latex-upquote
|
||||
texlive-latex-varwidth
|
||||
texlive-oberdiek ;hypcap
|
||||
texlive-wrapfig
|
||||
texlive-xcolor))
|
||||
(native-inputs
|
||||
(list graphviz
|
||||
imagemagick ;for "convert"
|
||||
(list imagemagick ;for "convert"
|
||||
python-cython
|
||||
python-html5lib
|
||||
python-mock
|
||||
python-nose
|
||||
python-pytest))
|
||||
(home-page "https://www.sphinx-doc.org")
|
||||
(synopsis "Python documentation generator")
|
||||
@ -206,23 +244,23 @@ Apple help books.")
|
||||
(define-public python-sphinx-click
|
||||
(package
|
||||
(name "python-sphinx-click")
|
||||
(version "3.0.1")
|
||||
(version "4.0.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "sphinx-click" version))
|
||||
(sha256
|
||||
(base32
|
||||
"118ppsymp1p2gn8v7mifika817qx6v07mja7kxizq9cg7dpw894v"))))
|
||||
"1nqy3b7wr64rbmdp7kpi723az53a89y6250h46i505g1rw0czam1"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f)) ;requires python-coverage<5.0
|
||||
(native-inputs
|
||||
(list python-click
|
||||
python-coverage
|
||||
python-docutils
|
||||
python-pbr
|
||||
python-sphinx))
|
||||
(list #:phases #~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "pytest" "-vv" "tests")))))))
|
||||
(native-inputs (list python-pbr python-pytest python-wheel))
|
||||
(propagated-inputs (list python-click python-docutils python-sphinx))
|
||||
(home-page "https://github.com/click-contrib/sphinx-click")
|
||||
(synopsis "Sphinx extension that documents click applications")
|
||||
(description "This package provide sphinx extension that automatically
|
||||
@ -232,19 +270,18 @@ documents click applications.")
|
||||
(define-public python-sphinx-copybutton
|
||||
(package
|
||||
(name "python-sphinx-copybutton")
|
||||
(version "0.2.6")
|
||||
(version "0.5.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "sphinx-copybutton" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0ny9jpygj93z8jyjpi4v6jjz90pmns74s389wq16igzzq2mpgfjm"))))
|
||||
"1xl7jwcldqvfya2gdp1nfxma7rv35alk998dfnx2fg6hmpd5kh50"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f)) ; XXX: Check requires network access.
|
||||
(propagated-inputs
|
||||
(list python-flit python-setuptools python-sphinx python-wheel))
|
||||
(propagated-inputs (list python-sphinx))
|
||||
(home-page "https://github.com/choldgraf/sphinx-copybutton")
|
||||
(synopsis "Sphinx extension to add \"copy\" buttons to code blocks")
|
||||
(description
|
||||
@ -388,19 +425,15 @@ Blog, News or Announcements section to a Sphinx website.")
|
||||
(define-public python-sphinxcontrib-programoutput
|
||||
(package
|
||||
(name "python-sphinxcontrib-programoutput")
|
||||
(version "0.15")
|
||||
(version "0.17")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "sphinxcontrib-programoutput" version))
|
||||
(sha256
|
||||
(base32
|
||||
"155bz0z2cz544pphkd3nk7ph83mz7nn0ql135kzi62kqmd75ppc0"))))
|
||||
"0zrb2ny6y7nk84qmw5mds84fc4pxgqf4sjy7bk95b0zfrawfj3ih"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
;; FIXME: Many tests are failing.
|
||||
'(#:tests? #f))
|
||||
(propagated-inputs
|
||||
(list python-sphinx))
|
||||
(propagated-inputs (list python-sphinx))
|
||||
(synopsis "Sphinx extension to include program output")
|
||||
(description "A Sphinx extension to literally insert the output of arbitrary
|
||||
commands into documents, helping you to keep your command examples up to date.")
|
||||
@ -471,13 +504,13 @@ builder does not support SVG images natively (e.g. LaTeX).")
|
||||
(define-public python-sphinxcontrib-websupport
|
||||
(package
|
||||
(name "python-sphinxcontrib-websupport")
|
||||
(version "1.2.0")
|
||||
(version "1.2.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "sphinxcontrib-websupport" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1smma7r0rhwcmbfvvkfs5djfz1qm8wbpcvp084ca6dmw2b9zplxs"))))
|
||||
"0ck2jphvs82vjcbphhd1h7j1xfi9ynv5d8g5b947qnk8l0ih5psf"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
;; FIXME: Tests depend on Sphinx, which depends on this.
|
||||
@ -651,13 +684,13 @@ theme for the Sphinx documentation system. It's the default theme of Sphinx.")
|
||||
(define-public python-sphinx-argparse
|
||||
(package
|
||||
(name "python-sphinx-argparse")
|
||||
(version "0.2.5")
|
||||
(version "0.3.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "sphinx-argparse" version))
|
||||
(sha256
|
||||
(base32 "05wc8f5hb3jsg2vh2jf7jsyan8d4i09ifrz2c8fp6f7x1zw9iav0"))))
|
||||
(base32 "07nw68nrbpzsswb5bz8gdb5allgj6jnz8m81afhr9v6c8fyiq5c2"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
(list python-sphinx))
|
||||
@ -670,25 +703,28 @@ theme for the Sphinx documentation system. It's the default theme of Sphinx.")
|
||||
argparse commands and options")
|
||||
(license license:expat)))
|
||||
|
||||
;;; FIXME: Currently broken by Jinja >= 3.10 (see:
|
||||
;;; https://foss.heptapod.net/doc-utils/cloud_sptheme/-/issues/47).
|
||||
(define-public python-sphinx-cloud-sptheme
|
||||
(package
|
||||
(name "python-sphinx-cloud-sptheme")
|
||||
(version "1.8.0")
|
||||
(version "1.10.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "cloud_sptheme" version))
|
||||
(method hg-fetch)
|
||||
(uri (hg-reference
|
||||
(url "https://foss.heptapod.net/doc-utils/cloud_sptheme")
|
||||
(changeset version)))
|
||||
(file-name (hg-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1dniqb6a39yh786f86c4jn666rwnyi1jvzn4616zhcchb7sfdshd"))))
|
||||
"0k0pgi0vcn8vdy3k6x11fpp4mqp7p3l6n6pjfi3mir3vwjhdfz7l"))))
|
||||
(build-system python-build-system)
|
||||
;; FIXME: The 'pypi' release archive does not contain tests.
|
||||
(arguments '(#:tests? #f))
|
||||
(native-inputs
|
||||
(list python-sphinx))
|
||||
(home-page "https://bitbucket.org/ecollins/cloud_sptheme")
|
||||
(synopsis "'Cloud' theme for Sphinx documenter")
|
||||
(description "This package contains the \"Cloud\" theme for Sphinx and some
|
||||
related extensions.")
|
||||
(native-inputs (list python-mock))
|
||||
(propagated-inputs (list python-sphinx))
|
||||
(home-page "https://foss.heptapod.net/doc-utils/cloud_sptheme")
|
||||
(synopsis "Cloud theme for Sphinx")
|
||||
(description "This package contains the @emph{Cloud} theme for Sphinx and
|
||||
some related extensions.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-guzzle-sphinx-theme
|
||||
@ -712,21 +748,37 @@ Sphinx documentation system, used by @uref{http://docs.guzzlephp.org, Guzzle}
|
||||
and several other projects.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-mpl-sphinx-theme
|
||||
(package
|
||||
(name "python-mpl-sphinx-theme")
|
||||
(version "3.5.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "mpl_sphinx_theme" version))
|
||||
(sha256
|
||||
(base32 "0ilsw6s5hfvjzqs3258c8gmg5v3dwa6k69mwmkxsyh1qmv15krpw"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs (list python-pydata-sphinx-theme))
|
||||
(home-page "https://github.com/matplotlib/mpl-sphinx-theme")
|
||||
(synopsis "Matplotlib theme for Sphinx")
|
||||
(description "This package provides a Matplotlib theme for Sphinx.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-sphinx-rtd-theme
|
||||
(package
|
||||
(name "python-sphinx-rtd-theme")
|
||||
(version "0.2.4")
|
||||
(version "1.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "sphinx_rtd_theme" version))
|
||||
(sha256
|
||||
(base32
|
||||
"05rlhjzdyapr2w74jjs7mrm8hi69qskcr5vya9f9drpsys7lpxrd"))))
|
||||
"0p3abj91c3l72ajj5jwblscsdf1jflrnn0djx2h5y6f2wjbx9ipf"))))
|
||||
(build-system python-build-system)
|
||||
(arguments '(#:tests? #f)) ; No tests.
|
||||
(propagated-inputs
|
||||
(list python-sphinx))
|
||||
(propagated-inputs (list python-docutils python-sphinx))
|
||||
(home-page "https://github.com/snide/sphinx_rtd_theme/")
|
||||
(synopsis "ReadTheDocs.org theme for Sphinx")
|
||||
(description "A theme for Sphinx used by ReadTheDocs.org.")
|
||||
@ -776,7 +828,7 @@ translate and to apply translation to Sphinx generated document.")
|
||||
(define-public python-sphinxext-opengraph
|
||||
(package
|
||||
(name "python-sphinxext-opengraph")
|
||||
(version "0.4.2")
|
||||
(version "0.6.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch) ; no tests in PyPI release
|
||||
@ -785,18 +837,16 @@ translate and to apply translation to Sphinx generated document.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0dka44wri7agcr1jd641hq6j7qlbycligp80ngf32l5asqz1mgzp"))))
|
||||
(base32 "1wrgpan9z65fv4hbvisz4sypc4w5ammnxkyn5lhr43wdr6b967k1"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(add-installed-pythonpath inputs outputs)
|
||||
(invoke "python" "-m" "pytest")))))))
|
||||
(native-inputs
|
||||
(list python-beautifulsoup4 python-pytest python-sphinx))
|
||||
(invoke "pytest" "-vv")))))))
|
||||
(native-inputs (list python-beautifulsoup4 python-pytest python-sphinx))
|
||||
(home-page "https://github.com/wpilibsuite/sphinxext-opengraph")
|
||||
(synopsis "Sphinx Extension to enable OpenGraph support")
|
||||
(description
|
||||
@ -837,20 +887,42 @@ enabled web server.")
|
||||
(define-public python-sphinx-autodoc-typehints
|
||||
(package
|
||||
(name "python-sphinx-autodoc-typehints")
|
||||
(version "1.11.1")
|
||||
(version "1.18.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "sphinx-autodoc-typehints" version))
|
||||
(method git-fetch) ;no tests in pypi archive
|
||||
(uri (git-reference
|
||||
(url "https://github.com/tox-dev/sphinx-autodoc-typehints")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"086v9mg21pvfx0lfqjx2xf36hnzrsripfg345xi59f7xwb9scjr4"))))
|
||||
"16yhpwfdmybir80a6892cnr98m58p19rklmjdlzhk3njx7di8jzp"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
(list python-setuptools-scm python-sphinx))
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'build 'pretend-version
|
||||
;; The version string is usually derived via setuptools-scm, but
|
||||
;; without the git metadata available, the version string is set to
|
||||
;; '0.0.0'.
|
||||
(lambda _
|
||||
(setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version)))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "pytest" "-vv" "tests"
|
||||
;; This test requires to download an objects.inv file
|
||||
;; from the Sphinx website.
|
||||
"-k" "not test_format_annotation")))))))
|
||||
(propagated-inputs (list python-sphinx))
|
||||
(native-inputs
|
||||
(list python-dataclasses python-pytest python-sphinx
|
||||
python-sphobjinv python-typing-extensions))
|
||||
(list python-nptyping
|
||||
python-pytest
|
||||
python-setuptools-scm
|
||||
python-sphobjinv
|
||||
python-typing-extensions))
|
||||
(home-page "https://pypi.org/project/sphinx-autodoc-typehints/")
|
||||
(synopsis "Type hints for the Sphinx autodoc extension")
|
||||
(description "This extension allows you to use Python 3 annotations for
|
||||
@ -969,32 +1041,106 @@ automated way to document command-line programs. It scans
|
||||
@code{.. program::} and @code{.. option::} directives.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public python-sphinx-theme-builder
|
||||
(package
|
||||
(name "python-sphinx-theme-builder")
|
||||
(version "0.2.0a14")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch) ;no tests in pypi archive
|
||||
(uri (git-reference
|
||||
(url "https://github.com/pradyunsg/sphinx-theme-builder")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1brqp34q716gglliallbgq4m63hl3nk8j6w8wcl8f2vvnkch6v98"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
;; XXX: PEP 517 manual build copied from python-isort.
|
||||
(replace 'build
|
||||
(lambda _
|
||||
;; ZIP does not support timestamps before 1980.
|
||||
(setenv "SOURCE_DATE_EPOCH" "315532800")
|
||||
(invoke "python" "-m" "build" "--wheel" "--no-isolation" ".")))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "pytest" "-vv"))))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(let ((whl (car (find-files "dist" "\\.whl$"))))
|
||||
(invoke "pip" "--no-cache-dir" "--no-input"
|
||||
"install" "--no-deps" "--prefix" #$output whl)))))))
|
||||
(native-inputs (list python-flit-core python-pytest))
|
||||
(propagated-inputs
|
||||
(list python-pypa-build
|
||||
python-click
|
||||
python-nodeenv
|
||||
python-packaging
|
||||
python-pep621
|
||||
python-rich
|
||||
python-sphinx-autobuild
|
||||
python-tomli))
|
||||
(home-page "https://github.com/pradyunsg/sphinx-theme-builder")
|
||||
(synopsis "Tool for authoring Sphinx themes")
|
||||
(description "This package provides a tool for authoring Sphinx themes
|
||||
with a simple (opinionated) workflow.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-sphinx-sitemap
|
||||
(package
|
||||
(name "python-sphinx-sitemap")
|
||||
(version "2.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "sphinx-sitemap" version))
|
||||
(sha256
|
||||
(base32 "0dvpryrz7vn8rvayzy5nrmqy4wyzlaxcx88bl46prc9w4cwxmbb5"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs (list python-sphinx))
|
||||
(home-page "https://github.com/jdillard/sphinx-sitemap")
|
||||
(synopsis "Sitemap generator for Sphinx")
|
||||
(description "A Sphinx extension to generate multiversion and
|
||||
multilanguage sitemaps.org compliant sitemaps for the HTML version of your
|
||||
Sphinx documentation.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-pydata-sphinx-theme
|
||||
(package
|
||||
(name "python-pydata-sphinx-theme")
|
||||
(version "0.6.3")
|
||||
;; TODO: This is not the latest release, but the 0.8.x series introduced a
|
||||
;; new Sphinx theme build system that complicate things (see:
|
||||
;; https://github.com/pydata/pydata-sphinx-theme/issues/628 and
|
||||
;; https://src.fedoraproject.org/rpms/python-pydata-sphinx-theme
|
||||
;; /blob/rawhide/f/prepare_vendor.sh).
|
||||
(version "0.7.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pydata-sphinx-theme" version))
|
||||
(sha256
|
||||
(base32
|
||||
"055bh3hyh72pafiylvgpsjlk18wm15gg4azc5rjlsww5z475iq1j"))))
|
||||
"0ph69bnnw9w8vksc7rk45q5yknsrsgk9a19xsbxym46jrmgz67b7"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "pytest" "-vv")))))))
|
||||
(propagated-inputs
|
||||
(list python-beautifulsoup4))
|
||||
(native-inputs
|
||||
(list python-beautifulsoup4
|
||||
python-docutils-0.15
|
||||
python-jupyter-sphinx
|
||||
python-numpy
|
||||
python-numpydoc
|
||||
python-pandas
|
||||
python-pytest
|
||||
python-pytest-regressions
|
||||
python-recommonmark
|
||||
python-sphinx
|
||||
python-xarray))
|
||||
python-docutils
|
||||
python-jinja2
|
||||
python-sphinx))
|
||||
(native-inputs (list python-pytest python-pytest-regressions))
|
||||
(home-page "https://github.com/pydata/pydata-sphinx-theme")
|
||||
(synopsis "Bootstrap-based Sphinx theme")
|
||||
(description
|
||||
|
@ -46,7 +46,7 @@
|
||||
(define-public syncthing
|
||||
(package
|
||||
(name "syncthing")
|
||||
(version "1.19.1")
|
||||
(version "1.20.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/syncthing/syncthing"
|
||||
@ -54,7 +54,7 @@
|
||||
"/syncthing-source-v" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"09silpbpciqzpr4y4ycpkxrwi9zf90xgd13844m145134cpyrigz"))))
|
||||
"1g1514y1p8cfvjqszn6k90xv67vzr1yw6xa02g6gb38sl6pap3x8"))))
|
||||
(build-system go-build-system)
|
||||
;; The primary Syncthing executable goes to "out", while the auxiliary
|
||||
;; server programs and utility tools go to "utils". This reduces the size
|
||||
|
@ -5,7 +5,7 @@
|
||||
;;; Copyright © 2016 David Craven <david@craven.ch>
|
||||
;;; Copyright © 2016, 2017, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016, 2017 José Miguel Sánchez García <jmi2k@openmailbox.org>
|
||||
;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017–2022 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
|
||||
;;; Copyright © 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2017 Petter <petter@mykolab.ch>
|
||||
@ -58,6 +58,7 @@
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (gnu packages)
|
||||
@ -559,7 +560,7 @@ to all types of devices that provide serial consoles.")
|
||||
(define-public beep
|
||||
(package
|
||||
(name "beep")
|
||||
(version "1.4.10")
|
||||
(version "1.4.12")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -572,24 +573,29 @@ to all types of devices that provide serial consoles.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "05c2gxfqc12rgp88c65q7f5ha9gzh222vdh0qpdq1zmyhqj43pq1"))))
|
||||
(base32 "0dgrb5yg4ys1fa4hs95iz3m2yhryfzzw0j6g6yf6vhbys4ihcf40"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags
|
||||
(list (string-append "prefix=" (assoc-ref %outputs "out"))
|
||||
(string-append "pkgdocdir=$(docdir)/" ,name "-" ,version))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure) ; no configure script
|
||||
(add-before 'check 'patch-tests
|
||||
(lambda _
|
||||
(substitute* "GNUmakefile"
|
||||
(("/bin/bash")
|
||||
(which "bash")))
|
||||
(substitute* (find-files "tests" "\\.expected")
|
||||
;; The build environment lacks /dev/{console,tty*}.
|
||||
((": Permission denied")
|
||||
": No such file or directory")))))))
|
||||
(list #:make-flags
|
||||
#~(list (string-append "CC=" #$(cc-for-target))
|
||||
(string-append "prefix=" #$output))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure) ; no configure script
|
||||
(add-before 'check 'patch-tests
|
||||
(lambda _
|
||||
(substitute* "GNUmakefile"
|
||||
(("/bin/bash")
|
||||
(which "bash"))
|
||||
;; XXX In the build environment, $(PWD) is the *parent* directory
|
||||
;; /tmp/guix-build-beep-x.y.drv-0! A pure guix shell works fine.
|
||||
(("\\$\\(PWD\\)" pwd)
|
||||
(string-append pwd "/source")))
|
||||
(substitute* (find-files "tests" "\\.expected")
|
||||
;; The build environment lacks /dev/{console,tty*}.
|
||||
;; In fact, even nckx's regular Guix System lacks ttyS1…
|
||||
((": Permission denied")
|
||||
": No such file or directory")))))))
|
||||
(synopsis "Linux command-line utility to control the PC speaker")
|
||||
(description "beep allows the user to control the PC speaker with precision,
|
||||
allowing different sounds to indicate different events. While it can be run
|
||||
|
@ -14,7 +14,7 @@
|
||||
;;; Copyright © 2018, 2020 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
|
||||
;;; Copyright © 2020, 2021 Paul Garlick <pgarlick@tourbillion-technology.com>
|
||||
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2021 Leo Le Bouter <lle-bout@zaclys.net>
|
||||
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
|
||||
;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru>
|
||||
@ -50,6 +50,7 @@
|
||||
#:use-module (guix build-system texlive)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix deprecation)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix svn-download)
|
||||
#:use-module (gnu packages)
|
||||
@ -58,6 +59,8 @@
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages lisp)
|
||||
#:use-module (gnu packages fonts)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages gd)
|
||||
#:use-module (gnu packages ghostscript)
|
||||
@ -561,6 +564,52 @@ This package contains the binaries.")
|
||||
(license (license:fsf-free "https://www.tug.org/texlive/copying.html"))
|
||||
(home-page "https://www.tug.org/texlive/")))
|
||||
|
||||
(define-public texlive-bidi
|
||||
(package
|
||||
(name "texlive-bidi")
|
||||
;; Take the version from texlive-2022.0 as the one from texlive 2021.0 is
|
||||
;; buggy.
|
||||
(version "36.4")
|
||||
(source (origin
|
||||
(method svn-multi-fetch)
|
||||
(uri (svn-multi-reference
|
||||
(url (string-append "svn://www.tug.org/texlive/tags/"
|
||||
"texlive-2022.0/Master/texmf-dist"))
|
||||
(locations (list "doc/xelatex/bidi/"
|
||||
"source/xelatex/bidi/"))
|
||||
(revision 62885)))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"09nfvsjfnms3pclyd2rcivyb5qvzw48b934i3bcl83hv69ix2ks7"))))
|
||||
(outputs '("out" "doc"))
|
||||
(build-system texlive-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tex-directory "xelatex/bidi"
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'chdir
|
||||
(lambda _
|
||||
(chdir "source/xelatex/bidi")))
|
||||
(add-after 'install 'install-doc
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((doc (string-append (assoc-ref outputs "doc")
|
||||
"/share/texmf-dist/doc")))
|
||||
(mkdir-p doc)
|
||||
(copy-recursively (string-append #$source "/doc")
|
||||
doc)))))))
|
||||
(propagated-inputs (list texlive-generic-iftex
|
||||
texlive-generic-ltxcmds
|
||||
texlive-hyperref
|
||||
texlive-latex-xkeyval
|
||||
texlive-zref))
|
||||
(home-page "https://ctan.org/pkg/bidi")
|
||||
(synopsis "Bidirectional typesetting in plain TeX and LaTeX using XeTeX")
|
||||
(description "The @code{bidi} package provides a convenient interface for
|
||||
typesetting bidirectional texts with plain TeX and LaTeX. The package
|
||||
includes adaptations for use with many other commonly-used packages.")
|
||||
(license license:lppl1.3+)))
|
||||
|
||||
(define-public texlive-libkpathsea
|
||||
(package/inherit texlive-bin
|
||||
(name "texlive-libkpathsea")
|
||||
@ -615,6 +664,26 @@ executables. It is maintained as a part of TeX Live.")))
|
||||
documentation from TeX files. It is part of the LaTeX base.")
|
||||
(license license:lppl1.3+)))
|
||||
|
||||
(define-public texlive-underscore
|
||||
(package
|
||||
(inherit (simple-texlive-package
|
||||
"texlive-underscore"
|
||||
(list "/doc/latex/underscore/"
|
||||
"/tex/latex/underscore/")
|
||||
(base32
|
||||
"0slxsxc9azmv3gsm55jkhkv8a06wafankp55hhsdd6k4prp8szrb")
|
||||
#:trivial? #t))
|
||||
(home-page "https://www.ctan.org/pkg/underscore")
|
||||
(synopsis "Control the behaviour of @samp{_} in text")
|
||||
(description "This package causes @code{\\_} in text mode (i.e.,
|
||||
@code{\\textunderscore}) to print an underscore so that hyphenation of words
|
||||
either side of it is not affected; a package option controls whether an actual
|
||||
hyphenation point appears after the underscore, or merely a break point. The
|
||||
package also arranges that, while in text, @samp{_} itself behaves as
|
||||
@code{\\textunderscore} (the behaviour of @samp{_} in maths mode is not
|
||||
affected).")
|
||||
(license license:lppl1.2+)))
|
||||
|
||||
(define-public texlive-unicode-data
|
||||
(package
|
||||
(inherit (simple-texlive-package
|
||||
@ -868,6 +937,44 @@ from (almost) arbitrarily complex font names, thus helping portability of TeX
|
||||
documents.")
|
||||
(license license:public-domain)))
|
||||
|
||||
(define-public texlive-cbfonts ;71 MiB of greek fonts
|
||||
(package
|
||||
(inherit (simple-texlive-package
|
||||
"texlive-cbfonts"
|
||||
(list "/doc/fonts/cbfonts/"
|
||||
"/fonts/type1/public/cbfonts/")
|
||||
(base32
|
||||
"01j22cbwq9jkni5vvrpz2mg1799cbx3aq801sni74i8wb1zcf6y1")
|
||||
#:trivial? #t))
|
||||
(propagated-inputs (list texlive-cbfonts-fd))
|
||||
(home-page "https://www.ctan.org/pkg/cbgreek-complete")
|
||||
(synopsis "Complete set of Greek fonts")
|
||||
(description "This bundle presents the whole of Beccari's original Greek
|
||||
font set, which use the @i{Lispiakos} font shape derived from the shape of the
|
||||
fonts used in printers' shops in Lispia. The fonts are available both as
|
||||
Metafont source and in Adobe Type 1 format, and at the same wide set of design
|
||||
sizes as are such font sets as the EC fonts.")
|
||||
(license license:lppl1.3c+)))
|
||||
|
||||
(define-public texlive-cbfonts-fd
|
||||
(package
|
||||
(inherit (simple-texlive-package
|
||||
"texlive-cbfonts-fd"
|
||||
(list "/doc/fonts/cbfonts/"
|
||||
"/tex/latex/cbfonts-fd/")
|
||||
(base32
|
||||
"0g91p2qcgqn916vgf777h45dabv2r6l6f9xkcq0b3gpir3qsj3d4")
|
||||
#:trivial? #t))
|
||||
(home-page "https://www.ctan.org/pkg/cbfonts-fd")
|
||||
(synopsis "LaTeX font description files for the CB Greek fonts")
|
||||
(description "The package provides font description files for all the many
|
||||
shapes available from the cbfonts collection. The files provide the means
|
||||
whereby the @acronym{NFSS, New Font Selection Scheme} knows which fonts a
|
||||
LaTeX user is requesting.
|
||||
|
||||
Tip: installing @code{texlive-cbfonts} will automatically propagate this one.")
|
||||
(license license:lppl1.3c+)))
|
||||
|
||||
(define-public texlive-cm
|
||||
(let ((template (simple-texlive-package
|
||||
"texlive-cm"
|
||||
@ -943,6 +1050,31 @@ display, and mathematical fonts in a range of styles, based on Monotype Modern
|
||||
|
||||
(define-deprecated-package texlive-fonts-cm texlive-cm)
|
||||
|
||||
(define-public texlive-cm-lgc
|
||||
(package
|
||||
(inherit (simple-texlive-package
|
||||
"texlive-cm-lgc"
|
||||
(list "/doc/fonts/cm-lgc/"
|
||||
"/fonts/afm/public/cm-lgc/"
|
||||
"/fonts/type1/public/cm-lgc/"
|
||||
"/fonts/vf/public/cm-lgc/"
|
||||
"/tex/latex/cm-lgc/")
|
||||
(base32
|
||||
"0rm7wgyb07y8h6vbvc2xzsqnxy322d4j9ly2p67z84b81c8i3zpc")
|
||||
#:trivial? #t))
|
||||
(home-page "https://www.ctan.org/pkg/cm-lgc")
|
||||
(synopsis "Type 1 CM-based fonts for Latin, Greek and Cyrillic")
|
||||
(description "The fonts are converted from Metafont sources of the
|
||||
Computer Modern font families, using @command{textrace}. Supported encodings
|
||||
are: T1 (Latin), T2A (Cyrillic), LGR (Greek) and TS1. The package also
|
||||
includes Unicode virtual fonts for use with Omega. The font set is not a
|
||||
replacement for any of the other Computer Modern-based font sets (for example,
|
||||
cm-super for Latin and Cyrillic, or cbgreek for Greek), since it is available
|
||||
at a single size only; it offers a compact set for @i{general} working. The
|
||||
fonts themselves are encoded to external standards, and virtual fonts are
|
||||
provided for use with TeX.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public texlive-cm-super
|
||||
(let ((template (simple-texlive-package
|
||||
"texlive-cm-super"
|
||||
@ -1071,6 +1203,22 @@ Computers & Typesetting series.")
|
||||
|
||||
(define-deprecated-package texlive-fonts-lm texlive-lm)
|
||||
|
||||
(define-public texlive-lm-math
|
||||
(package
|
||||
(inherit (simple-texlive-package
|
||||
"texlive-lm-math"
|
||||
(list "/doc/fonts/lm-math/"
|
||||
"/fonts/opentype/public/lm-math/")
|
||||
(base32
|
||||
"0gqdk8x3r1iz4n8j6r3pcqbwalxvkihayvmjfq4iv6hwb0pvys8z")
|
||||
#:trivial? #t))
|
||||
(home-page "http://www.gust.org.pl/projects/e-foundry/latin-modern")
|
||||
(synopsis "OpenType maths fonts for Latin Modern")
|
||||
(description "Latin Modern Math is a maths companion for the Latin Modern
|
||||
family of fonts, in OpenType format. For use with LuaLaTeX or XeLaTeX,
|
||||
support is available from the @code{unicode-math} package.")
|
||||
(license license:gfl1.0)))
|
||||
|
||||
(define-public texlive-knuth-lib
|
||||
(let ((template (simple-texlive-package
|
||||
"texlive-knuth-lib"
|
||||
@ -3131,6 +3279,9 @@ used by @code{hyperref} and @code{bookmark}.")
|
||||
(rename-file (string-append share "/tex/latex/xcolor/xcolor.pro")
|
||||
(string-append share "/dvips/xcolor/xcolor.pro"))
|
||||
#t)))))))
|
||||
;; TODO: Propagate texlive-hyperref and many others in the next rebuild
|
||||
;; cycle. Grep for '\usepackage' to see what packages it requires.
|
||||
;; (propagated-inputs (list texlive-hyperref ...))
|
||||
(home-page "https://www.ctan.org/pkg/xcolor")
|
||||
(synopsis "Driver-independent color extensions for LaTeX and pdfLaTeX")
|
||||
(description
|
||||
@ -3254,7 +3405,13 @@ XML, using UTF-8 or a suitable 8-bit encoding.")
|
||||
texlive-latex-pdftexcmds
|
||||
texlive-latex-refcount
|
||||
texlive-latex-rerunfilecheck
|
||||
texlive-url))
|
||||
texlive-url
|
||||
;; TODO: Add this in next rebuild cycle.
|
||||
;;texlive-cm
|
||||
;;texlive-latex-graphics ;for keyval
|
||||
;;texlive-stringenc
|
||||
;;texlive-zapfding
|
||||
))
|
||||
(home-page "https://www.ctan.org/pkg/hyperref")
|
||||
(synopsis "Extensive support for hypertext in LaTeX")
|
||||
(description
|
||||
@ -3571,7 +3728,7 @@ here are defined for the dvips engine only.")
|
||||
(add-after 'unpack 'chdir
|
||||
(lambda _ (chdir "source/latex/fontspec/") #t))))))
|
||||
(propagated-inputs
|
||||
(list texlive-latex-l3packages))
|
||||
(list texlive-cm texlive-latex-l3packages texlive-lm))
|
||||
(home-page "https://www.ctan.org/pkg/fontspec")
|
||||
(synopsis "Advanced font selection in XeLaTeX and LuaLaTeX")
|
||||
(description
|
||||
@ -3907,6 +4064,65 @@ polyglossia package rather than Babel.")
|
||||
|
||||
(define-deprecated-package texlive-latex-babel texlive-babel)
|
||||
|
||||
(define-public texlive-cs
|
||||
(package
|
||||
(inherit (simple-texlive-package
|
||||
"texlive-cs"
|
||||
(list
|
||||
"fonts/enc/dvips/cs/"
|
||||
"fonts/map/dvips/cs/"
|
||||
"fonts/source/public/cs/"
|
||||
;; TODO: Remove these pre-built files after the manual
|
||||
;; build below is fixed.
|
||||
;; The font fails to build from the Metafont sources, with
|
||||
;; errors such as:
|
||||
;; This is METAFONT, Version 2.71828182 (TeX Live 2021/GNU Guix) [...]
|
||||
;; (./csaccent.mf
|
||||
;; >> cap_curve#-dot_size#
|
||||
;; ! Unknown relation will be considered false.
|
||||
;; <to be read again>
|
||||
"fonts/tfm/cs/cs-a35/"
|
||||
"fonts/tfm/cs/cs-charter/"
|
||||
"fonts/tfm/public/cs/"
|
||||
"fonts/type1/public/cs/"
|
||||
"fonts/vf/cs/cs-a35/")
|
||||
(base32 "1ww5lrqja051fh0ygmfdyy5a6bhwq9k5zv857vwiqf5syvw5djps")
|
||||
#:trivial? #t))
|
||||
(home-page "http://petr.olsak.net/cstex/")
|
||||
(synopsis "Czech/Slovak-tuned Computer Modern fonts")
|
||||
(description "This package provides Czech/Slovak-tuned Computer Modern
|
||||
fonts in the Metafont format; Type 1 format versions (csfonts-t1) are also
|
||||
available.")
|
||||
(license license:gpl2+))) ;see fonts/source/public/cs/cscode.mf
|
||||
|
||||
;;; Note: if this package is modified, its name must be changed to comply with
|
||||
;;; its license.
|
||||
(define-public texlive-csplain
|
||||
(package
|
||||
(inherit (simple-texlive-package
|
||||
"texlive-csplain"
|
||||
(list "tex/csplain/base/")
|
||||
(base32 "0cgrwc8lgf2x2hq6bb4kqxw597card985zdd9ipn7k98mmwrxhz3")
|
||||
#:trivial? #t))
|
||||
(home-page "http://petr.olsak.net/csplain-e.html")
|
||||
(synopsis "Plain TeX multilanguage support")
|
||||
(description "CSplain is a small extension of basic Plain TeX macros from
|
||||
which the formats @code{csplain} and @code{pdfcsplain} can be generated. It
|
||||
supports: hyphenation of words for 50+ languages, simple and powerful font
|
||||
loading system (various sizes of fonts), TeX, pdfTeX, XeTeX and LuaTeX
|
||||
engines, math fonts simply loaded with full amstex-like features, three
|
||||
internal encodings (IL2 for Czech/Slovak languages, T1 for many languages with
|
||||
latin alphabet and Unicode in new TeX engines), natural UTF-8 input in pdfTeX
|
||||
using encTeX without any active characters, Czech and Slovak special
|
||||
typesetting features. An important part of the package is OPmac, which
|
||||
implements most of LaTeX's features (sectioning, font selection, color, hyper
|
||||
reference and URLs, bibliography, index, table of contents, tables, etc.) by
|
||||
Plain TeX macros. The OPmac macros can generate a bibliography without any
|
||||
external program.")
|
||||
;; This custom permissive license includes as a redistribution condition
|
||||
;; that says the package must be renamed from 'csplain' if it is modified.
|
||||
(license (license:non-copyleft "file:///tex/csplain/base/csplain.ini"))))
|
||||
|
||||
(define-public texlive-generic-babel-english
|
||||
(package
|
||||
(name "texlive-generic-babel-english")
|
||||
@ -5195,7 +5411,8 @@ BibLaTeX, and is considered experimental.")
|
||||
(build-system texlive-build-system)
|
||||
(arguments '(#:tex-directory "latex/geometry"))
|
||||
(propagated-inputs
|
||||
(list texlive-oberdiek)) ;for ifpdf
|
||||
(list texlive-oberdiek ;for ifpdf
|
||||
texlive-latex-graphics)) ;for keyval
|
||||
(home-page "https://www.ctan.org/pkg/geometry")
|
||||
(synopsis "Flexible and complete interface to document dimensions")
|
||||
(description
|
||||
@ -5232,25 +5449,306 @@ which adds some minor changes to LaTeX maths; a rewrite of LaTeX's tabular and
|
||||
array environments; verbatim handling; and syntax diagrams.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public texlive-latex-polyglossia
|
||||
(define-public texlive-makecmds
|
||||
(package
|
||||
(name "texlive-latex-polyglossia")
|
||||
(version (number->string %texlive-revision))
|
||||
(source (origin
|
||||
(method svn-fetch)
|
||||
(uri (texlive-ref "latex" "polyglossia"))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"1ci6hr8hx4g2x359n6wqvw6w8fv42cjjpzxxxd3pn6av5nkaiav3"))))
|
||||
(build-system texlive-build-system)
|
||||
(arguments '(#:tex-directory "latex/polyglossia"))
|
||||
(inherit (simple-texlive-package
|
||||
"texlive-makecmds"
|
||||
(list "doc/latex/makecmds/README"
|
||||
"source/latex/makecmds/makecmds.dtx"
|
||||
"source/latex/makecmds/makecmds.ins")
|
||||
(base32 "0znx80x6ic7a25v9dw8yjibq7lx65wangcyii18kk5x5z4jljba9")))
|
||||
(outputs '("out" "doc"))
|
||||
(arguments
|
||||
(list
|
||||
#:tex-directory "latex/makecmds"
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'build 'chdir
|
||||
(lambda _
|
||||
(setenv "ROOT_DIR" (getcwd))
|
||||
(chdir "source/latex/makecmds")))
|
||||
(add-after 'build 'build-doc
|
||||
(lambda _
|
||||
(copy-file "makecmds.dtx" "build/makecmds.dtx")
|
||||
(chdir "build")
|
||||
(invoke "pdflatex" "makecmds.dtx"))) ;generate makecmds.pdf
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs tex-directory #:allow-other-keys)
|
||||
(let ((doc (string-append (assoc-ref outputs "doc")
|
||||
"/share/doc/" tex-directory))
|
||||
(out (string-append #$output "/share/texmf-dist/tex/"
|
||||
tex-directory)))
|
||||
(install-file "makecmds.pdf" doc)
|
||||
(install-file (car (find-files (getenv "ROOT_DIR") "README"))
|
||||
doc)
|
||||
(install-file "makecmds.sty" out)))))))
|
||||
(native-inputs (list (texlive-updmap.cfg
|
||||
(list texlive-amsfonts
|
||||
texlive-cm))))
|
||||
(home-page "https://www.ctan.org/pkg/makecmds")
|
||||
(synopsis "TeX macro to define or redefine a command")
|
||||
(description "The package provides a @code{\\makecommand} command, which
|
||||
is like @code{\\newcommand} or @code{\\renewcommand} except it
|
||||
always (re)defines a command. There is also @code{\\makeenvironment} and
|
||||
@code{\\provideenvironment} for environments.")
|
||||
(license license:lppl1.3c+)))
|
||||
|
||||
(define-public texlive-metalogo
|
||||
(package
|
||||
(inherit (simple-texlive-package
|
||||
"texlive-metalogo"
|
||||
(list "doc/latex/metalogo/README"
|
||||
;; These PDFs are apparently used as graphic files, not
|
||||
;; built.
|
||||
"doc/latex/metalogo/TeXoutline.pdf"
|
||||
"doc/latex/metalogo/eLaToutline.pdf"
|
||||
"source/latex/metalogo/metalogo.dtx"
|
||||
"source/latex/metalogo/metalogo.ins")
|
||||
(base32 "0v1jwp8xhzwn0a4apiyya17s4r1kpn6q9nmv38jj1wwdvgia0jpi")))
|
||||
(outputs '("out" "doc"))
|
||||
(arguments
|
||||
(list
|
||||
#:tex-directory "latex/metalogo"
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'build 'chdir
|
||||
(lambda _
|
||||
(setenv "ROOT_DIR" (getcwd))
|
||||
(chdir "source/latex/metalogo")))
|
||||
(add-after 'chdir 'patch-metalogo.dtx
|
||||
(lambda _
|
||||
(substitute* "metalogo.dtx"
|
||||
;; Prevent embedding a build time date, for reproducibility.
|
||||
(("^% \\\\date.*") "")
|
||||
;; These fonts are not free.
|
||||
(("^\\\\setmainfont.*") "")
|
||||
(("^\\\\DeclareSymbolFont\\{SabonMaths}.*") "")
|
||||
(("^\\\\AtBeginDocument\\{.*") "")
|
||||
((".*\\\\expandafter.*\\\\symSabonMaths.*") "")
|
||||
(("^\\\\setsansfont.*MgOpen Cosmetica.*") "")
|
||||
(("^\\\\setmonofont.*Consolas.*") "")
|
||||
;; The 'stix' texlive font package has been obsoleted by
|
||||
;; stix2.
|
||||
(("^\\\\newfontfamily\\\\stixgeneral\\{STIXGeneral}")
|
||||
"\\newfontfamily\\stixgeneral{STIX Two Text}"))))
|
||||
(add-after 'build 'build-doc
|
||||
(lambda* (#:key outputs tex-directory #:allow-other-keys)
|
||||
(define doc-sources (string-append (getenv "ROOT_DIR")
|
||||
"/doc/latex/metalogo"))
|
||||
(copy-file "metalogo.dtx" "build/metalogo.dtx")
|
||||
(mkdir "build/graphics")
|
||||
(copy-file (string-append doc-sources "/TeXoutline.pdf")
|
||||
"build/graphics/TeXoutline.pdf")
|
||||
(copy-file (string-append doc-sources "/eLaToutline.pdf")
|
||||
"build/graphics/eLaToutline.pdf")
|
||||
(chdir "build")
|
||||
(invoke "xelatex" "metalogo.dtx"))) ;generate metalogo.pdf
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs tex-directory #:allow-other-keys)
|
||||
(let ((doc (string-append (assoc-ref outputs "doc")
|
||||
"/share/doc/" tex-directory))
|
||||
(out (string-append #$output "/share/texmf-dist/tex/"
|
||||
tex-directory)))
|
||||
(install-file "metalogo.pdf" doc)
|
||||
(install-file (car (find-files (getenv "ROOT_DIR") "README"))
|
||||
doc)
|
||||
(install-file "metalogo.sty" out)))))))
|
||||
(native-inputs (list fontconfig ;for XDG_DATA_DIRS, to locate OTF fonts
|
||||
texlive-booktabs
|
||||
texlive-cm
|
||||
texlive-fontspec
|
||||
texlive-generic-iftex
|
||||
texlive-latex-base
|
||||
texlive-latex-eukdate
|
||||
texlive-latex-graphics
|
||||
texlive-latex-multirow
|
||||
texlive-lm ;for lmroman10-regular
|
||||
texlive-stix2-otf))
|
||||
(propagated-inputs (list texlive-fontspec texlive-generic-iftex
|
||||
texlive-latex-graphics))
|
||||
(home-page "https://ctan.org/pkg/metalogo")
|
||||
(synopsis "Extended TeX logo macros")
|
||||
(description "This package exposes spacing parameters for various TeX
|
||||
logos to the end user, to optimise the logos for different fonts. It is
|
||||
written especially for XeLaTeX users.")
|
||||
(license license:lppl1.3c+)))
|
||||
|
||||
(define-public texlive-paralist
|
||||
(package
|
||||
(inherit (simple-texlive-package
|
||||
"texlive-paralist"
|
||||
(list "doc/latex/paralist/README"
|
||||
"source/latex/paralist/paralist.dtx"
|
||||
"source/latex/paralist/paralist.ins")
|
||||
(base32 "1lz8yds2i64wkb89a9amydwkzsdbc09s1kbgn7vgh2qsxqrrgwam")))
|
||||
(outputs '("out" "doc"))
|
||||
(arguments
|
||||
(list
|
||||
#:tex-directory "latex/paralist"
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'build 'chdir
|
||||
(lambda _
|
||||
(setenv "ROOT_DIR" (getcwd))
|
||||
(chdir "source/latex/paralist")))
|
||||
(add-after 'build 'build-doc
|
||||
(lambda* (#:key outputs tex-directory #:allow-other-keys)
|
||||
(copy-file "paralist.dtx" "build/paralist.dtx")
|
||||
(chdir "build")
|
||||
(invoke "pdflatex" "paralist.dtx")))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs tex-directory #:allow-other-keys)
|
||||
(let ((doc (string-append (assoc-ref outputs "doc")
|
||||
"/share/doc/" tex-directory))
|
||||
(out (string-append #$output "/share/texmf-dist/tex/"
|
||||
tex-directory)))
|
||||
(install-file "paralist.pdf" doc)
|
||||
(install-file (car (find-files (getenv "ROOT_DIR") "README"))
|
||||
doc)
|
||||
(install-file "paralist.sty" out)))))))
|
||||
(native-inputs (list texlive-latex-base
|
||||
(texlive-updmap.cfg
|
||||
(list texlive-cm
|
||||
texlive-jknappen))))
|
||||
(home-page "https://ctan.org/pkg/paralist")
|
||||
(synopsis "Enumerate and itemize within paragraphs")
|
||||
(description "The @code{paralist} package provides enumerate and itemize
|
||||
environments that can be used within paragraphs to format the items either as
|
||||
running text or as separate paragraphs with a preceding number or symbol. It
|
||||
also provides compacted versions of enumerate and itemize.")
|
||||
(license license:lppl1.0+)))
|
||||
|
||||
(define-public texlive-polyglossia
|
||||
(package
|
||||
(inherit (simple-texlive-package
|
||||
"texlive-polyglossia"
|
||||
(list "source/latex/polyglossia/"
|
||||
;; These files are not part of polyglossia.dtx
|
||||
"tex/latex/polyglossia/arabicnumbers.sty"
|
||||
"tex/latex/polyglossia/xpg-cyrillicnumbers.sty")
|
||||
(base32 "1p0hhclypv2zbs8h64c6sd689m9ym3vvpn966qpwpjxbymsrc49g")))
|
||||
(outputs '("out" "doc"))
|
||||
(arguments
|
||||
(list
|
||||
#:tex-directory "latex/polyglossia"
|
||||
#:tex-format "xelatex"
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'build-and-install-xelatex.fmt
|
||||
(lambda* (#:key tex-format #:allow-other-keys)
|
||||
(invoke "fmtutil-sys" "--byfmt" tex-format "--fmtdir=web2c")
|
||||
;; Extend the current TEXMF environment variable to make
|
||||
;; available the newly built formats.
|
||||
(setenv "GUIX_TEXMF" (string-append (getcwd) ":"
|
||||
(getenv "GUIX_TEXMF")))
|
||||
;; XXX: Extend the base (more limited) xelatex.fmt provided by
|
||||
;; texlive-latex-base, otherwise packages using Polyglossia
|
||||
;; would encounter the same lack of hyphenation support problem.
|
||||
(install-file "web2c/xetex/xelatex.fmt"
|
||||
(string-append #$output
|
||||
"/share/texmf-dist/web2c/xetex"))))
|
||||
(add-before 'build 'chdir
|
||||
(lambda _
|
||||
;; This is so the build can find the files not part of the .dtx.
|
||||
(setenv "TEXINPUTS" (string-append (getcwd)
|
||||
"/tex/latex/polyglossia:"))
|
||||
(chdir "source/latex/polyglossia")))
|
||||
(add-after 'chdir 'substitute-nonfree-fonts
|
||||
(lambda _
|
||||
(substitute* "polyglossia.dtx"
|
||||
(("\\{Serto Jerusalem}")
|
||||
"{FreeSans}"))))
|
||||
(add-after 'substitute-nonfree-fonts 'extract-dtx
|
||||
(lambda* (#:key tex-format #:allow-other-keys)
|
||||
(invoke tex-format "polyglossia.dtx")))
|
||||
(add-after 'install 'install-doc
|
||||
(lambda* (#:key outputs tex-directory #:allow-other-keys)
|
||||
(let ((doc (string-append (assoc-ref outputs "doc")
|
||||
"/share/texmf-dist/doc" tex-directory)))
|
||||
(install-file "README.md" doc)
|
||||
(install-file "polyglossia.pdf" doc)))))))
|
||||
(native-inputs (list fontconfig ;for XDG_DATA_DIRS (to locate fonts)
|
||||
font-amiri
|
||||
font-dejavu
|
||||
font-gfs-ambrosia
|
||||
font-gnu-freefont
|
||||
font-linuxlibertine
|
||||
font-sil-ezra
|
||||
texlive-latex-base
|
||||
texlive-babel
|
||||
texlive-bin ;for fmtutil.cnf
|
||||
texlive-bidi
|
||||
texlive-booktabs
|
||||
texlive-caption
|
||||
texlive-context
|
||||
texlive-latex-fancyvrb
|
||||
texlive-etoolbox
|
||||
texlive-fonts-latex
|
||||
texlive-fontspec
|
||||
texlive-hyperref
|
||||
;; TODO: Remove texlive-stringenc and
|
||||
;; texlive-zapfding after texlive-hyperref propagates
|
||||
;; them.
|
||||
texlive-stringenc
|
||||
texlive-zapfding
|
||||
texlive-latex-graphics
|
||||
texlive-kpathsea ;for cp227.tcx & friends
|
||||
texlive-makecmds
|
||||
texlive-metalogo
|
||||
texlive-microtype
|
||||
texlive-paralist
|
||||
texlive-latex-tools
|
||||
texlive-tex-ini-files)) ;for pdftexconfig
|
||||
;; polyglossia.sty \RequirePackage or \\usepackage these other TexLive
|
||||
;; packages.
|
||||
(propagated-inputs
|
||||
(list texlive-bidi
|
||||
texlive-etoolbox
|
||||
texlive-fontspec
|
||||
texlive-hyperref
|
||||
;; TODO: Remove texlive-stringenc and
|
||||
;; texlive-zapfding after texlive-hyperref propagates
|
||||
;; them.
|
||||
texlive-stringenc
|
||||
texlive-zapfding
|
||||
texlive-makecmds
|
||||
texlive-latex-l3packages ;expl3, l3keys2e, xparse
|
||||
texlive-latex-tools
|
||||
texlive-latex-xkeyval))
|
||||
(home-page "https://www.ctan.org/pkg/polyglossia")
|
||||
(synopsis "Alternative to babel for XeLaTeX and LuaLaTeX")
|
||||
(description
|
||||
"This package provides a complete Babel replacement for users of LuaLaTeX
|
||||
and XeLaTeX; it relies on the @code{fontspec} package, version 2.0 at least.")
|
||||
(license license:lppl1.3+)))
|
||||
(synopsis "Alternative to Babel for XeLaTeX and LuaLaTeX")
|
||||
(description "This package provides a complete Babel replacement for users
|
||||
of LuaLaTeX and XeLaTeX. It includes support for over 70 different languages,
|
||||
some of which in different regional or national varieties, or using a
|
||||
different writing system. It enables:
|
||||
@itemize
|
||||
@item
|
||||
Loading the appropriate hyphenation patterns.
|
||||
@item
|
||||
Setting the script and language tags of the current font (if possible and
|
||||
available), using the package fontspec.
|
||||
@item
|
||||
Switching to a font assigned by the user to a particular script or language.
|
||||
@item
|
||||
Adjusting some typographical conventions in function of the current language
|
||||
(such as afterindent, frenchindent, spaces before or after punctuation marks,
|
||||
etc.)
|
||||
@item
|
||||
Redefining the document strings (like @samp{chapter}, @samp{figure},
|
||||
@samp{bibliography}). Adapting the formatting of dates (for non-gregorian
|
||||
calendars via external packages bundled with polyglossia: currently the
|
||||
Hebrew, Islamic and Farsi calendars are supported).
|
||||
@item
|
||||
For languages that have their own numeration system, modifying the formatting
|
||||
of numbers appropriately.
|
||||
@item
|
||||
Ensuring the proper directionality if the document contains languages
|
||||
written from right to left (via the packages bidi and luabidi, available
|
||||
separately).
|
||||
@end itemize")
|
||||
(license license:expat)))
|
||||
|
||||
(define-deprecated-package texlive-latex-polyglossia texlive-polyglossia)
|
||||
|
||||
(define-public texlive-latex-supertabular
|
||||
(package
|
||||
@ -5947,6 +6445,76 @@ Adobe's basic set.")
|
||||
;; No license version specified.
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public texlive-zref
|
||||
(package
|
||||
(inherit (simple-texlive-package
|
||||
"texlive-zref"
|
||||
(list "doc/latex/zref/"
|
||||
"source/latex/zref/")
|
||||
(base32 "09l2wrqx0navislkx15iazv7jy0ip8bqaw3c0hjf0jy81kqrrm01")))
|
||||
(outputs '("out" "doc"))
|
||||
(arguments
|
||||
(list
|
||||
#:build-targets #~(list "zref.dtx")
|
||||
#:tex-directory "latex/zref"
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'chdir
|
||||
(lambda _
|
||||
(setenv "ROOT_DIR" (getcwd))
|
||||
(chdir "source/latex/zref")))
|
||||
(add-after 'install 'install-doc
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(define doc (string-append (assoc-ref outputs "doc")
|
||||
"/share/texmf-dist/doc"))
|
||||
(mkdir-p doc)
|
||||
(copy-recursively (string-append (getenv "ROOT_DIR") "/doc")
|
||||
doc))))))
|
||||
(propagated-inputs (list texlive-generic-atbegshi
|
||||
texlive-generic-gettitlestring
|
||||
texlive-generic-iftex
|
||||
texlive-latex-atveryend
|
||||
texlive-latex-kvoptions
|
||||
texlive-latex-pdftexcmds
|
||||
texlive-latex-xkeyval))
|
||||
(home-page "https://github.com/ho-tex/zref")
|
||||
(synopsis "Reference scheme for LaTeX")
|
||||
(description "This package offers a means to remove the limitation, of
|
||||
only two properties, that is inherent in the way LaTeX's reference system
|
||||
works. The package implements an extensible referencing system, where
|
||||
properties may be defined and used in the course of a document. It provides
|
||||
an interface for macro programmers to access the new reference scheme and some
|
||||
modules that use it. Modules available are:
|
||||
@table @code
|
||||
@item zref-user
|
||||
use zref for traditional labels and references;
|
||||
@item zref-abspage
|
||||
retrieve absolute page numbers (physical pages, as opposed to the logical page
|
||||
number that is normally typeset when a page number is requested;
|
||||
@item zref-lastpage
|
||||
provide a zref-label for the last page of the document;
|
||||
@item zref-nextpage
|
||||
provide the page number of the next page of the document;
|
||||
@item zref-totpages
|
||||
provide the total number of pages in the document;
|
||||
@item zref-pagelayout
|
||||
provide the page layout parameters of a each page (which may then be printed
|
||||
at the end of the document);
|
||||
@item zref-perpage
|
||||
make a counter reset for each new page;
|
||||
@item zref-titleref
|
||||
make section title or caption text available through the reference system;
|
||||
@item zref-savepos
|
||||
make positions on a page available;
|
||||
@item zref-dotfill
|
||||
controlled dot-filling
|
||||
@item zref-env
|
||||
record the latest environment's name and the line it started on;
|
||||
@item zref-xr
|
||||
provide the facilities of the xr and xr-hyper packages.
|
||||
@end table")
|
||||
(license license:lppl1.3c+)))
|
||||
|
||||
(define-deprecated-package texlive-fonts-adobe-zapfding texlive-zapfding)
|
||||
|
||||
(define-public texlive-fonts-rsfs
|
||||
@ -6215,6 +6783,41 @@ package supports pdfTeX (pdfLaTeX) and VTeX. With VTeX it is even possible to
|
||||
use this package to insert PostScript files, in addition to PDF files.")
|
||||
(license license:lppl1.3+)))
|
||||
|
||||
(define-public texlive-stix2-otf
|
||||
(let ((base (simple-texlive-package
|
||||
"texlive-stix2-otf"
|
||||
(list "/doc/fonts/stix2-otf/"
|
||||
"/fonts/opentype/public/stix2-otf/")
|
||||
(base32 "0i7rd1wn5jgm3gbi779gy78apz63w034ck4pn73xw6s10zgjzmgl")
|
||||
;; Building these fonts requires FontLab, which is nonfree.
|
||||
#:trivial? #t)))
|
||||
(package
|
||||
(inherit base)
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments base)
|
||||
((#:phases phases)
|
||||
#~(modify-phases #$phases
|
||||
(add-after 'install 'symlink-fonts-to-system-fonts-prefix
|
||||
;; This is so that fontconfig can locate the fonts, such as
|
||||
;; when using xetex or xelatex.
|
||||
(lambda _
|
||||
(let ((system-fonts-prefix (string-append #$output
|
||||
"/share/fonts")))
|
||||
(mkdir-p system-fonts-prefix)
|
||||
(symlink (string-append
|
||||
#$output "/share/texmf-dist/fonts/opentype"
|
||||
"/public/stix2-otf")
|
||||
(string-append system-fonts-prefix
|
||||
"/stix2-otf")))))))))
|
||||
(home-page "https://www.stixfonts.org/")
|
||||
(synopsis "OpenType Unicode text and maths fonts")
|
||||
(description "The Scientific and Technical Information eXchange (STIX)
|
||||
fonts are intended to satisfy the demanding needs of authors, publishers,
|
||||
printers, and others working in the scientific, medical, and technical fields.
|
||||
They combine a comprehensive Unicode-based collection of mathematical symbols
|
||||
and alphabets with a set of text faces suitable for professional publishing.")
|
||||
(license license:silofl1.1))))
|
||||
|
||||
(define-public texlive-stmaryrd
|
||||
(let ((template (simple-texlive-package
|
||||
"texlive-stmaryrd"
|
||||
@ -9969,6 +10572,57 @@ on the page, and which specifies where it is to be placed. The environment is
|
||||
accompanied by various configuration commands.")
|
||||
(license license:lppl)))
|
||||
|
||||
(define-public texlive-unicode-math
|
||||
(package
|
||||
(inherit (simple-texlive-package
|
||||
"texlive-unicode-math"
|
||||
(list "source/latex/unicode-math/"
|
||||
"doc/latex/unicode-math/"
|
||||
"tex/latex/unicode-math/unicode-math-table.tex")
|
||||
(base32 "1j3041dcm7wqj0x26rxm9bb7q4xa1rqsqynqdb6cbjk3jmfvskxn")))
|
||||
(outputs '("out" "doc"))
|
||||
(arguments
|
||||
(list
|
||||
#:tex-directory "latex/unicode-math"
|
||||
#:tex-format "xelatex"
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'copy-files
|
||||
;; The documentation isn't built.
|
||||
(lambda* (#:key outputs tex-directory #:allow-other-keys)
|
||||
(let ((doc (assoc-ref outputs "doc"))
|
||||
(tex (string-append #$output "/share/texmf-dist/tex/"
|
||||
tex-directory)))
|
||||
;; Install documentation.
|
||||
(mkdir-p (string-append doc "/share/texmf-dist/doc" ))
|
||||
(copy-recursively "doc" doc)
|
||||
;; Install unicode-math-table.tex, which is not
|
||||
;; built.
|
||||
(install-file "tex/latex/unicode-math/unicode-math-table.tex"
|
||||
tex))))
|
||||
(add-after 'copy-files 'chdir
|
||||
(lambda* (#:key tex-directory #:allow-other-keys)
|
||||
(chdir (string-append "source/" tex-directory)))))))
|
||||
(home-page "https://ctan.org/pkg/unicode-math")
|
||||
(synopsis "Unicode mathematics support for XeTeX and LuaTeX")
|
||||
(description "This package will provide a complete implementation of
|
||||
Unicode maths for XeLaTeX and LuaLaTeX. Unicode maths is currently supported
|
||||
by the following fonts:
|
||||
@itemize
|
||||
@item Latin Modern Math
|
||||
@item TeX Gyre Bonum Math
|
||||
@item TeX Gyre Pagella Math
|
||||
@item TeX Gyre Schola Math
|
||||
@item TeX Gyre Termes Math
|
||||
@item DejaVu Math TeX Gyre
|
||||
@item Asana-Math
|
||||
@item STIX
|
||||
@item XITS Math
|
||||
@item Libertinus Math
|
||||
@item Fira Math
|
||||
@end itemize")
|
||||
(license license:lppl1.3c+)))
|
||||
|
||||
(define-public texlive-xifthen
|
||||
(package
|
||||
(inherit (simple-texlive-package
|
||||
@ -9990,6 +10644,54 @@ the package @code{calc}, together with the ability of defining new commands to
|
||||
handle complex tests.")
|
||||
(license license:lppl)))
|
||||
|
||||
(define-public texlive-xindy
|
||||
(package
|
||||
(name "texlive-xindy")
|
||||
(version "2.5.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://ctan/indexing/xindy/base/xindy-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0hxsx4zw19kmixkmrln17sxgg1ln4pfp4lpfn5v5fyr1nwfyk3ic"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags #~(list "--enable-docs")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-clisp
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; The xindy.in file is encoded in ISO-8859-1 (or iso-latin-1).
|
||||
(with-fluids ((%default-port-encoding "ISO-8859-1"))
|
||||
(substitute* "user-commands/xindy.in"
|
||||
(("(our \\$clisp = ).*" _ head)
|
||||
(format #f "our $clisp = ~s;~%"
|
||||
(search-input-file inputs "bin/clisp"))))))))))
|
||||
(native-inputs (list clisp
|
||||
glibc-locales
|
||||
perl
|
||||
texlive-bin
|
||||
texlive-greek-fontenc
|
||||
texlive-hyperref
|
||||
texlive-latex-base
|
||||
texlive-latex-cyrillic
|
||||
texlive-latex-geometry
|
||||
(texlive-updmap.cfg ;fonts
|
||||
(list texlive-cbfonts
|
||||
texlive-lh
|
||||
texlive-jknappen))))
|
||||
(inputs (list clisp perl)) ;used at run time
|
||||
(home-page "https://www.ctan.org/pkg/xindy")
|
||||
(synopsis "General-purpose index processor")
|
||||
(description "Xindy was developed after an impasse had been encountered in
|
||||
the attempt to complete internationalisation of @command{makeindex}. Xindy
|
||||
can be used to process indexes for documents marked up using (La)TeX, Nroff
|
||||
family and SGML-based languages. Xindy is highly configurable, both in markup
|
||||
terms and in terms of the collating order of the text being processed.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public bibtool
|
||||
(package
|
||||
(name "bibtool")
|
||||
|
@ -233,7 +233,44 @@ datetime module, available in Python 2.3+.")
|
||||
(license (list bsd-3 asl2.0))))
|
||||
|
||||
(define-public python2-dateutil
|
||||
(package-with-python2 python-dateutil))
|
||||
(package
|
||||
(name "python2-dateutil")
|
||||
(version "2.8.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "python-dateutil" version))
|
||||
(sha256
|
||||
(base32
|
||||
"11iy7m4bp2lgfkcl0r6xzf34bvk7ppjmsyn2ygfikbi72v6cl8q1"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:python ,python-2
|
||||
#:phases (modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda _
|
||||
;; Delete tests that depend on "freezegun" to avoid a
|
||||
;; circular dependency.
|
||||
(delete-file "dateutil/test/test_utils.py")
|
||||
(delete-file "dateutil/test/test_rrule.py")
|
||||
|
||||
;; XXX: Fails to get timezone from /etc/localtime.
|
||||
(delete-file "dateutil/test/test_tz.py")
|
||||
|
||||
(invoke "pytest" "-vv"))))))
|
||||
(native-inputs
|
||||
(list python2-pytest python2-pytest-cov python2-setuptools-scm))
|
||||
(propagated-inputs
|
||||
(list python2-six))
|
||||
(home-page "https://dateutil.readthedocs.io/en/stable/")
|
||||
(synopsis "Extensions to the standard datetime module")
|
||||
(description
|
||||
"The dateutil module provides powerful extensions to the standard
|
||||
datetime module, available in Python 2.3+.")
|
||||
;; The license was changed from the three-clause BSD license to a dual
|
||||
;; Apache 2.0/BSD-3 variant at 2017-12-01. Some code is only available as
|
||||
;; BSD-3 still; but all new code is dual licensed (the user can choose).
|
||||
(license (list bsd-3 asl2.0))))
|
||||
|
||||
(define-public python-parsedatetime
|
||||
(package
|
||||
|
@ -51,6 +51,7 @@
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module ((guix search-paths) #:select ($SSL_CERT_DIR $SSL_CERT_FILE))
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages autotools)
|
||||
@ -495,15 +496,7 @@ OpenSSL for TARGET."
|
||||
#$(package-version this-package)
|
||||
"/misc")))))))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "SSL_CERT_DIR")
|
||||
(separator #f) ;single entry
|
||||
(files '("etc/ssl/certs")))
|
||||
(search-path-specification
|
||||
(variable "SSL_CERT_FILE")
|
||||
(file-type 'regular)
|
||||
(separator #f) ;single entry
|
||||
(files '("etc/ssl/certs/ca-certificates.crt")))))
|
||||
(list $SSL_CERT_DIR $SSL_CERT_FILE))
|
||||
(synopsis "SSL/TLS implementation")
|
||||
(description
|
||||
"OpenSSL is an implementation of SSL/TLS.")
|
||||
@ -532,7 +525,7 @@ OpenSSL for TARGET."
|
||||
(define-public openssl-3.0
|
||||
(package
|
||||
(inherit openssl)
|
||||
(version "3.0.2")
|
||||
(version "3.0.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (list (string-append "https://www.openssl.org/source/openssl-"
|
||||
@ -545,7 +538,7 @@ OpenSSL for TARGET."
|
||||
(patches (search-patches "openssl-3.0-c-rehash-in.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"0qyvvw8n97f0gs786l2dkxnmi3hs344mxplw7jp5cisdmp71rscq"))))
|
||||
"02wcan5izwsxg6vl5fzkqq4icwi7cp4hrj327h05zppirsnph07f"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments openssl)
|
||||
((#:phases phases '%standard-phases)
|
||||
|
@ -33,7 +33,7 @@
|
||||
;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
|
||||
;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de>
|
||||
;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
|
||||
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2021 Chris Marusich <cmmarusich@gmail.com>
|
||||
;;; Copyright © 2021 Léo Le Bouter <lle-bout@zaclys.net>
|
||||
;;; Copyright © 2021 LibreMiami <packaging-guix@libremiami.org>
|
||||
@ -44,6 +44,7 @@
|
||||
;;; Copyright © 2021 jgart <jgart@dismail.de>
|
||||
;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
|
||||
;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
|
||||
;;; Copyright © 2022 Maxime Devos <maximedevos@telenet.be>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -789,7 +790,7 @@ to GitHub contributions calendar.")
|
||||
(define-public libgit2
|
||||
(package
|
||||
(name "libgit2")
|
||||
(version "1.3.0")
|
||||
(version "1.4.3")
|
||||
(source (origin
|
||||
;; Since v1.1.1, release artifacts are no longer offered (see:
|
||||
;; https://github.com/libgit2/libgit2/discussions/5932#discussioncomment-1682729).
|
||||
@ -800,18 +801,18 @@ to GitHub contributions calendar.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0vgpb2175a5dhqiy1iwywwppahgqhi340i8bsvafjpvkw284vazd"))
|
||||
"02x1a4zrzpzjd0yxnsi8njh5hgihc1iy1v4r0fnl8m4ckcgp6x2s"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
(delete-file-recursively "deps")
|
||||
|
||||
;; The "refs:revparse::date" test is time-dependent: it
|
||||
;; assumes "HEAD@{10 years ago}" doesn't match anything,
|
||||
;; which is no longer true. Adjust that test.
|
||||
;; assumes "HEAD@{10 years ago}" matches a specific commit.
|
||||
;; See <https://github.com/libgit2/libgit2/pull/6299>.
|
||||
(substitute* "tests/refs/revparse.c"
|
||||
(("10 years ago")
|
||||
"100 years ago"))))))
|
||||
(("test_object.*10 years ago.*" all)
|
||||
(string-append "// " all "\n")))))))
|
||||
(build-system cmake-build-system)
|
||||
(outputs '("out" "debug"))
|
||||
(arguments
|
||||
@ -819,6 +820,7 @@ to GitHub contributions calendar.")
|
||||
(list "-DUSE_NTLMCLIENT=OFF" ;TODO: package this
|
||||
"-DREGEX_BACKEND=pcre2"
|
||||
"-DUSE_HTTP_PARSER=system"
|
||||
"-DUSE_SSH=ON" ; cmake fails to find libssh if this is missing
|
||||
,@(if (%current-target-system)
|
||||
`((string-append
|
||||
"-DPKG_CONFIG_EXECUTABLE="
|
||||
@ -829,18 +831,11 @@ to GitHub contributions calendar.")
|
||||
'()))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-hardcoded-paths
|
||||
(lambda _
|
||||
(substitute* "tests/repo/init.c"
|
||||
(("#!/bin/sh") (string-append "#!" (which "sh"))))
|
||||
(substitute* "tests/clar/fs.h"
|
||||
(("/bin/cp") (which "cp"))
|
||||
(("/bin/rm") (which "rm")))))
|
||||
;; Run checks more verbosely, unless we are cross-compiling.
|
||||
(replace 'check
|
||||
(lambda* (#:key (tests? #t) #:allow-other-keys)
|
||||
(if tests?
|
||||
(invoke "./libgit2_clar" "-v" "-Q")
|
||||
(invoke "./libgit2_tests" "-v" "-Q")
|
||||
;; Tests may be disabled if cross-compiling.
|
||||
(format #t "Test suite not run.~%")))))))
|
||||
(inputs
|
||||
@ -859,12 +854,39 @@ write native speed custom Git applications in any language with bindings.")
|
||||
;; GPLv2 with linking exception
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public libgit2-1.1
|
||||
(define-public libgit2-1.3
|
||||
(package
|
||||
(inherit libgit2)
|
||||
(name "libgit2")
|
||||
(version "1.3.0")
|
||||
(source (origin
|
||||
(inherit (package-source libgit2))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/libgit2/libgit2")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name "libgit2" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0vgpb2175a5dhqiy1iwywwppahgqhi340i8bsvafjpvkw284vazd"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments libgit2)
|
||||
((#:phases _ '%standard-phases)
|
||||
`(modify-phases %standard-phases
|
||||
;; Run checks more verbosely, unless we are cross-compiling.
|
||||
(replace 'check
|
||||
(lambda* (#:key (tests? #t) #:allow-other-keys)
|
||||
(if tests?
|
||||
(invoke "./libgit2_clar" "-v" "-Q")
|
||||
;; Tests may be disabled if cross-compiling.
|
||||
(format #t "Test suite not run.~%"))))))))))
|
||||
|
||||
(define-public libgit2-1.1
|
||||
(package
|
||||
(inherit libgit2-1.3)
|
||||
(version "1.1.0")
|
||||
(source (origin
|
||||
(inherit (package-source libgit2-1.3))
|
||||
(file-name #f) ;use the default name
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/libgit2/libgit2/"
|
||||
"releases/download/v" version
|
||||
@ -872,17 +894,7 @@ write native speed custom Git applications in any language with bindings.")
|
||||
(sha256
|
||||
(base32
|
||||
"1fjdglkh04qv3b4alg621pxa689i0wlf8m7nf2755zawjr2zhwxd"))
|
||||
(patches (search-patches "libgit2-mtime-0.patch"))
|
||||
(snippet '(begin
|
||||
(delete-file-recursively "deps")
|
||||
|
||||
;; The "refs:revparse::date" test is time-dependent: it
|
||||
;; assumes "HEAD@{10 years ago}" doesn't match anything,
|
||||
;; which is no longer true. Adjust that test.
|
||||
(substitute* "tests/refs/revparse.c"
|
||||
(("10 years ago")
|
||||
"100 years ago"))))
|
||||
(modules '((guix build utils)))))))
|
||||
(patches (search-patches "libgit2-mtime-0.patch"))))))
|
||||
|
||||
(define-public git-crypt
|
||||
(package
|
||||
@ -1127,7 +1139,7 @@ repository")
|
||||
(define-public python-ghp-import
|
||||
(package
|
||||
(name "python-ghp-import")
|
||||
(version "0.5.5")
|
||||
(version "2.0.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -1136,7 +1148,7 @@ repository")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "12pmw3zz3i57ljnm0rxdyjqdyhisbvy18mjwkb3bzp5pgzs2f45c"))))
|
||||
(base32 "0i4lxsgqri1y8sw4k44bkwbzmdmk4vpmdi882mw148j8gk4i7vvj"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
@ -1147,6 +1159,7 @@ repository")
|
||||
(licenses (string-append out "/share/licenses")))
|
||||
(install-file "README.md" doc)
|
||||
(install-file "LICENSE" licenses)))))))
|
||||
(propagated-inputs (list python-dateutil))
|
||||
(home-page "https://github.com/davisp/ghp-import")
|
||||
(synopsis "Copy directory to the gh-pages branch")
|
||||
(description "Script that copies a directory to the gh-pages branch (by
|
||||
@ -1157,10 +1170,6 @@ default) of the repository.")
|
||||
"https://raw.githubusercontent.com/davisp/ghp-import/master/LICENSE"
|
||||
"Tumbolia Public License"))))
|
||||
|
||||
(define-public python2-ghp-import
|
||||
(package-with-python2
|
||||
(strip-python2-variant python-ghp-import)))
|
||||
|
||||
(define-public python-gitdb
|
||||
(package
|
||||
(name "python-gitdb")
|
||||
|
@ -1078,7 +1078,7 @@ H.264 (MPEG-4 AVC) video streams.")
|
||||
(define-public pipe-viewer
|
||||
(package
|
||||
(name "pipe-viewer")
|
||||
(version "0.1.7")
|
||||
(version "0.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -1088,7 +1088,7 @@ H.264 (MPEG-4 AVC) video streams.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1fh8b77vchpsar88dszsz5h1gzd4jz0v902igp2880vnpvacmfi9"))))
|
||||
(base32 "19qfs0nv7l01468f14a5zbvaiff5hrsk3a4zqknh15014xnvw08s"))))
|
||||
(build-system perl-build-system)
|
||||
(arguments
|
||||
`(#:imported-modules
|
||||
|
@ -20,6 +20,7 @@
|
||||
;;; Copyright © 2021 jgart <jgart@dismail.de>
|
||||
;;; Copyright © 2022 Josselin Poiret <josselin.poiret@protonmail.ch>
|
||||
;;; Copyright © 2022 Lu hui <luhux76@gmail.com>
|
||||
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -907,14 +908,14 @@ DNS domain name queries.")
|
||||
(define-public sshoot
|
||||
(package
|
||||
(name "sshoot")
|
||||
(version "1.2.6")
|
||||
(version "1.5.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ccgh0hjyxrwkgy3hnxz3hgbjbs0lmfs25d5l5jam0xbpcpj63h0"))))
|
||||
"05i54nga4vy660yy9yf6dl376yj0jc51303yr295qk3k9w0k96yd"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
@ -922,13 +923,20 @@ DNS domain name queries.")
|
||||
(add-after 'unpack 'patch-paths
|
||||
(lambda _
|
||||
(substitute* "sshoot/tests/test_manager.py"
|
||||
(("/bin/sh") (which "sh")))
|
||||
#t)))))
|
||||
(("/bin/sh") (which "sh")))))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "pytest" "-vv" "--pyargs" "sshoot")))))))
|
||||
(inputs
|
||||
(list python-argcomplete python-prettytable python-pyyaml))
|
||||
(list python-argcomplete
|
||||
python-prettytable
|
||||
python-pyyaml
|
||||
python-pyxdg
|
||||
python-toolrack))
|
||||
;; For tests only.
|
||||
(native-inputs
|
||||
(list python-fixtures python-pbr python-testtools))
|
||||
(list python-pytest python-pytest-mock))
|
||||
(home-page "https://github.com/albertodonato/sshoot")
|
||||
(synopsis "sshuttle VPN session manager")
|
||||
(description "sshoot provides a command-line interface to manage multiple
|
||||
|
@ -15,8 +15,8 @@
|
||||
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
|
||||
;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
|
||||
;;; Copyright © 2016, 2017, 2018, 2019, 2021 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2016–2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2016–2022 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2016–2022 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2016 Bake Timmons <b3timmons@speedymail.org>
|
||||
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
|
||||
;;; Copyright © 2017, 2018, 2020, 2021, 2022 Marius Bakke <marius@gnu.org>
|
||||
@ -827,7 +827,7 @@ stream. Remote control of the module is possible over HTTP.")
|
||||
(define-public lighttpd
|
||||
(package
|
||||
(name "lighttpd")
|
||||
(version "1.4.59")
|
||||
(version "1.4.64")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.lighttpd.net/lighttpd/"
|
||||
@ -835,43 +835,51 @@ stream. Remote control of the module is possible over HTTP.")
|
||||
"lighttpd-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1mc421yrbnq3k6yrc708svp0fgcamrn5a0p2nvnhivysffr3v5gv"))))
|
||||
"09hf3cp4ivy9a9z9drgi4f6d60137dcqncqw0wpbyvs9lygrsj71"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list "--with-krb5"
|
||||
"--with-ldap"
|
||||
"--with-libev"
|
||||
"--with-libunwind"
|
||||
"--with-openssl"
|
||||
"--with-pam"
|
||||
"--with-sasl")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'embed-/bin/sh-reference
|
||||
(lambda _
|
||||
(substitute* "src/mod_ssi.c"
|
||||
(("/bin/sh") (which "sh")))
|
||||
#t))
|
||||
(add-after 'unpack 'fix-tests
|
||||
(lambda _
|
||||
(setenv "SHELL" (which "sh"))
|
||||
;; gethostbyaddr fails
|
||||
(substitute* "tests/LightyTest.pm"
|
||||
(("\\{HOSTNAME\\} = \\$name;")
|
||||
"{HOSTNAME} = \"127.0.0.1\";"))
|
||||
#t)))))
|
||||
(list #:configure-flags
|
||||
#~(list "--with-krb5"
|
||||
"--with-ldap"
|
||||
"--with-libev"
|
||||
"--with-libunwind"
|
||||
"--with-openssl"
|
||||
"--with-pam"
|
||||
"--with-sasl")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'embed-/bin/sh-reference
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "src/mod_ssi.c"
|
||||
(("/bin/sh") (search-input-file inputs "/bin/sh")))))
|
||||
(add-after 'unpack 'fix-tests
|
||||
(lambda _
|
||||
(setenv "SHELL" (which "sh"))
|
||||
;; gethostbyaddr fails
|
||||
(substitute* "tests/LightyTest.pm"
|
||||
(("\\{HOSTNAME\\} = \\$name;")
|
||||
"{HOSTNAME} = \"127.0.0.1\";"))))
|
||||
(add-after 'unpack 'skip-failing-tests
|
||||
;; XXX It would be wonderful if you, reader, felt suddenly and
|
||||
;; irresistibly compelled to investigate & fix these failures.
|
||||
(lambda _
|
||||
;; Throws a bunch of ‘connect failed: Connection refused’.
|
||||
(delete-file "tests/mod-scgi.t")
|
||||
|
||||
;; test_mod_ssi_read_fd: Assertion `cq->first' failed.
|
||||
(substitute* "src/t/test_mod.c"
|
||||
((".*\\btest_mod_ssi\\b.*") "")))))))
|
||||
(inputs
|
||||
`(("cyrus-sasl" ,cyrus-sasl)
|
||||
("libev" ,libev)
|
||||
("libunwind" ,libunwind)
|
||||
("linux-pam" ,linux-pam)
|
||||
("mit-krb5" ,mit-krb5)
|
||||
("openldap" ,openldap)
|
||||
("openssl" ,openssl)
|
||||
("pcre" ,pcre)
|
||||
("pcre:bin" ,pcre "bin")
|
||||
("zlib" ,zlib)))
|
||||
(list bash-minimal
|
||||
cyrus-sasl
|
||||
libev
|
||||
libunwind
|
||||
linux-pam
|
||||
mit-krb5
|
||||
openldap
|
||||
openssl
|
||||
pcre2
|
||||
zlib))
|
||||
(native-inputs
|
||||
(list perl ; for tests
|
||||
pkg-config which))
|
||||
@ -8191,13 +8199,13 @@ Unicode.")
|
||||
"1znvnr30xi5vgd6n3wvgv9pwj992zpzzjk0fmq28ydf1l6kqvkm7"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no tests
|
||||
#:make-flags
|
||||
(list (string-append "CC=" ,(cc-for-target))
|
||||
(string-append "PREFIX=" %output))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)))) ; no configure script
|
||||
(list #:tests? #f ; no tests
|
||||
#:make-flags
|
||||
#~(list (string-append "CC=" #$(cc-for-target))
|
||||
(string-append "PREFIX=" (assoc-ref %outputs "out")))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(delete 'configure)))) ; no configure script
|
||||
(home-page "https://tools.suckless.org/quark/")
|
||||
(synopsis "Small and simple HTTP GET/HEAD-only web server for static
|
||||
content")
|
||||
|
@ -72,6 +72,7 @@
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
@ -98,7 +99,9 @@
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0znz2y1ig2kvlda44a3kxa8x7f222nbg50rjz6nlngzka0ccsgxx"))))
|
||||
(base32 "0znz2y1ig2kvlda44a3kxa8x7f222nbg50rjz6nlngzka0ccsgxx"))
|
||||
;; Drop xb-tool patch after libxmlb 0.3.8, merged upstream
|
||||
(patches (search-patches "libxmlb-install-xb-tool-into-bindir.patch"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:glib-or-gtk? #t))
|
||||
@ -2544,6 +2547,35 @@ libxml2 and libxslt.")
|
||||
(define-public python2-lxml
|
||||
(package-with-python2 python-lxml))
|
||||
|
||||
(define-public python-untangle
|
||||
;; The latest tagged release is from 2014; use the latest commit.
|
||||
(let ((revision "1")
|
||||
(commit "fb916a9621175d000a3b0ca9322d3b3ebf8570c0"))
|
||||
(package
|
||||
(name "python-untangle")
|
||||
;; PyPI currently offers some untagged 1.1.1 version.
|
||||
(version (git-version "1.1.1" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch) ;no tests in pypi archive
|
||||
(uri (git-reference
|
||||
(url "https://github.com/stchris/untangle")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0dn2jz9ajncbqx3pdlgqaxmngl6pdiaz03nj8mkddasckdq9lbrh"))))
|
||||
(build-system python-build-system)
|
||||
(arguments (list #:phases #~(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "python" "tests/tests.py")))))))
|
||||
(home-page "http://0chris.com/untangle")
|
||||
(synopsis "XML to Python objects conversion library")
|
||||
(description "@code{untangle} is a tiny Python library which converts an
|
||||
XML document to a Python object.")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public python-xmlschema
|
||||
(package
|
||||
(name "python-xmlschema")
|
||||
|
@ -14,7 +14,7 @@
|
||||
;;; Copyright © 2017, 2018, 2019, 2020, 2021 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com>
|
||||
;;; Copyright © 2017, 2020 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018–2022 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net>
|
||||
;;; Copyright © 2018, 2020, 2022 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net>
|
||||
@ -955,7 +955,7 @@ rendering commands to the X server.")
|
||||
(define-public iceauth
|
||||
(package
|
||||
(name "iceauth")
|
||||
(version "1.0.8")
|
||||
(version "1.0.9")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@ -964,8 +964,7 @@ rendering commands to the X server.")
|
||||
version
|
||||
".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1ik0mdidmyvy48hn8p2hwvf3535rf3m96hhf0mvcqrbj44x23vp6"))))
|
||||
(base32 "1ik0mdidmyvy48hn8p2hwvf3535rf3m96hhf0mvcqrbj44x23vp6"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
(list libice))
|
||||
|
@ -246,6 +246,11 @@
|
||||
"http://cran.stat.auckland.ac.nz/"
|
||||
"http://cran.mirror.ac.za/"
|
||||
"http://cran.csie.ntu.edu.tw/")
|
||||
(ctan
|
||||
;; This is the CTAN mirror multiplexor service, which automatically
|
||||
;; redirect to a mirror in or close to the country of the requester
|
||||
;; (see: https://ctan.org/mirrors/).
|
||||
"https://mirror.ctan.org/")
|
||||
(imagemagick
|
||||
;; from http://www.imagemagick.org/script/download.php
|
||||
;; (without mirrors that are unavailable or not up to date)
|
||||
|
@ -1,5 +1,6 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013, 2014, 2015, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2022 Maxime Devos <maximedevos@telenet.be>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -32,6 +33,8 @@
|
||||
search-path-specification-file-pattern
|
||||
|
||||
$PATH
|
||||
$SSL_CERT_DIR
|
||||
$SSL_CERT_FILE
|
||||
|
||||
search-path-specification->sexp
|
||||
sexp->search-path-specification
|
||||
@ -70,6 +73,29 @@
|
||||
(variable "PATH")
|
||||
(files '("bin" "sbin"))))
|
||||
|
||||
;; Two variables for certificates (see (guix)X.509 Certificates),
|
||||
;; respected by 'openssl', possibly GnuTLS in the future
|
||||
;; (https://gitlab.com/gnutls/gnutls/-/merge_requests/1541)
|
||||
;; and many of their dependents -- even some GnuTLS depepdents
|
||||
;; like Guile. As they are not tied to a single package, define
|
||||
;; them here to avoid duplication.
|
||||
;;
|
||||
;; Additionally, the 'native-search-paths' field is not thunked,
|
||||
;; so doing (package-native-search-paths openssl)
|
||||
;; could cause import cycle issues.
|
||||
(define-public $SSL_CERT_DIR
|
||||
(search-path-specification
|
||||
(variable "SSL_CERT_DIR")
|
||||
(separator #f) ;single entry
|
||||
(files '("etc/ssl/certs"))))
|
||||
|
||||
(define-public $SSL_CERT_FILE
|
||||
(search-path-specification
|
||||
(variable "SSL_CERT_FILE")
|
||||
(file-type 'regular)
|
||||
(separator #f) ;single entry
|
||||
(files '("etc/ssl/certs/ca-certificates.crt"))))
|
||||
|
||||
(define (search-path-specification->sexp spec)
|
||||
"Return an sexp representing SPEC, a <search-path-specification>. The sexp
|
||||
corresponds to the arguments expected by `set-path-environment-variable'."
|
||||
|
Loading…
Reference in New Issue
Block a user