me
/
guix
Archived
1
0
Fork 0

Merge branch 'master' into staging

master
Marius Bakke 2022-07-21 23:52:47 +02:00
commit abea091dbe
No known key found for this signature in database
GPG Key ID: A2A06DF2A33A54FA
82 changed files with 2042 additions and 691 deletions

View File

@ -225,8 +225,7 @@ $ ./pre-inst-env guile -c '(use-modules (guix utils)) (pk (%current-system))'
@noindent
@cindex REPL
@cindex read-eval-print loop
@dots{} and for a REPL (@pxref{Using Guile Interactively,,, guile, Guile
Reference Manual}):
@dots{} and for a REPL (@pxref{Using Guix Interactively}):
@example
$ ./pre-inst-env guile
@ -279,8 +278,8 @@ prepared Guile object (@file{.go}) files.
You can run @command{make} automatically as you work using
@command{watchexec} from the @code{watchexec} package. For example,
to build again each time you update a package file, you can run
@samp{watchexec -w gnu/packages make -j4}.
to build again each time you update a package file, run
@samp{watchexec -w gnu/packages -- make -j4}.
@node The Perfect Setup
@section The Perfect Setup
@ -292,7 +291,7 @@ Manual}). First, you need more than an editor, you need
wonderful @url{https://nongnu.org/geiser/, Geiser}. To set that up, run:
@example
guix package -i emacs guile emacs-geiser emacs-geiser-guile
guix install emacs guile emacs-geiser emacs-geiser-guile
@end example
Geiser allows for interactive and incremental development from within

View File

@ -299,6 +299,7 @@ Programming Interface
* The Store Monad:: Purely functional interface to the store.
* G-Expressions:: Manipulating build expressions.
* Invoking guix repl:: Programming Guix in Guile.
* Using Guix Interactively:: Fine-grain interaction at the REPL.
Defining Packages
@ -7100,6 +7101,7 @@ package definitions.
* The Store Monad:: Purely functional interface to the store.
* G-Expressions:: Manipulating build expressions.
* Invoking guix repl:: Programming Guix in Guile
* Using Guix Interactively:: Fine-grain interaction at the REPL.
@end menu
@node Package Modules
@ -10860,8 +10862,9 @@ So, to exit the monad and get the desired effect, one must use
@end lisp
Note that the @code{(guix monad-repl)} module extends the Guile REPL with
new ``meta-commands'' to make it easier to deal with monadic procedures:
@code{run-in-store}, and @code{enter-store-monad}. The former is used
new ``commands'' to make it easier to deal with monadic procedures:
@code{run-in-store}, and @code{enter-store-monad} (@pxref{Using Guix
Interactively}). The former is used
to ``run'' a single monadic value through the store:
@example
@ -10886,6 +10889,9 @@ scheme@@(guile-user)>
Note that non-monadic values cannot be returned in the
@code{store-monad} REPL.
Other meta-commands are available at the REPL, such as @code{,build} to
build a file-like object (@pxref{Using Guix Interactively}).
The main syntactic forms to deal with monads in general are provided by
the @code{(guix monads)} module and are described below.
@ -11778,7 +11784,8 @@ lines at the top of the script:
@code{!#}
@end example
Without a file name argument, a Guile REPL is started:
Without a file name argument, a Guile REPL is started, allowing for
interactive use (@pxref{Using Guix Interactively}):
@example
$ guix repl
@ -11834,6 +11841,132 @@ Inhibit loading of the @file{~/.guile} file. By default, that
configuration file is loaded when spawning a @code{guile} REPL.
@end table
@node Using Guix Interactively
@section Using Guix Interactively
@cindex interactive use
@cindex REPL, read-eval-print loop
The @command{guix repl} command gives you access to a warm and friendly
@dfn{read-eval-print loop} (REPL) (@pxref{Invoking guix repl}). If
you're getting into Guix programming---defining your own packages,
writing manifests, defining services for Guix System or Guix Home,
etc.---you will surely find it convenient to toy with ideas at the REPL.
If you use Emacs, the most convenient way to do that is with Geiser
(@pxref{The Perfect Setup}), but you do not have to use Emacs to enjoy
the REPL@. When using @command{guix repl} or @command{guile} in the
terminal, we recommend using Readline for completion and Colorized to
get colorful output. To do that, you can run:
@example
guix install guile guile-readline guile-colorized
@end example
@noindent
... and then create a @file{.guile} file in your home directory containing
this:
@lisp
(use-modules (ice-9 readline) (ice-9 colorized))
(activate-readline)
(activate-colorized)
@end lisp
The REPL lets you evaluate Scheme code; you type a Scheme expression at
the prompt, and the REPL prints what it evaluates to:
@example
$ guix repl
scheme@@(guix-user)> (+ 2 3)
$1 = 5
scheme@@(guix-user)> (string-append "a" "b")
$2 = "ab"
@end example
It becomes interesting when you start fiddling with Guix at the REPL.
The first thing you'll want to do is to ``import'' the @code{(guix)}
module, which gives access to the main part of the programming
interface, and perhaps a bunch of useful Guix modules. You could type
@code{(use-modules (guix))}, which is valid Scheme code to import a
module (@pxref{Using Guile Modules,,, guile, GNU Guile Reference
Manual}), but the REPL provides the @code{use} @dfn{command} as a
shorthand notation (@pxref{REPL Commands,,, guile, GNU Guile Reference
Manual}):
@example
scheme@@(guix-user)> ,use (guix)
scheme@@(guix-user)> ,use (gnu packages base)
@end example
Notice that REPL commands are introduced by a leading comma. A REPL
command like @code{use} is not valid Scheme code; it's interpreted
specially by the REPL.
Guix extends the Guile REPL with additional commands for convenience.
Among those, the @code{build} command comes in handy: it ensures that
the given file-like object is built, building it if needed, and returns
its output file name(s). In the example below, we build the
@code{coreutils} and @code{grep} packages, as well as a ``computed
file'' (@pxref{G-Expressions, @code{computed-file}}), and we use the
@code{scandir} procedure to list the files in Grep's @code{/bin}
directory:
@example
scheme@@(guix-user)> ,build coreutils
$1 = "/gnu/store/@dots{}-coreutils-8.32-debug"
$2 = "/gnu/store/@dots{}-coreutils-8.32"
scheme@@(guix-user)> ,build grep
$3 = "/gnu/store/@dots{}-grep-3.6"
scheme@@(guix-user)> ,build (computed-file "x" #~(mkdir #$output))
building /gnu/store/@dots{}-x.drv...
$4 = "/gnu/store/@dots{}-x"
scheme@@(guix-user)> ,use(ice-9 ftw)
scheme@@(guix-user)> (scandir (string-append $3 "/bin"))
$5 = ("." ".." "egrep" "fgrep" "grep")
@end example
At a lower-level, a useful command is @code{lower}: it takes a file-like
object and ``lowers'' it into a derivation (@pxref{Derivations}) or a
store file:
@example
scheme@@(guix-user)> ,lower grep
$6 = #<derivation /gnu/store/@dots{}-grep-3.6.drv => /gnu/store/@dots{}-grep-3.6 7f0e639115f0>
scheme@@(guix-user)> ,lower (plain-file "x" "Hello!")
$7 = "/gnu/store/@dots{}-x"
@end example
The full list of REPL commands can be seen by typing @code{,help guix}
and is given below for reference.
@deffn {REPL command} build @var{object}
Lower @var{object} and build it if it's not already built, returning its
output file name(s).
@end deffn
@deffn {REPL command} lower @var{object}
Lower @var{object} into a derivation or store file name and return it.
@end deffn
@deffn {REPL command} verbosity @var{level}
Change build verbosity to @var{level}.
This is similar to the @option{--verbosity} command-line option
(@pxref{Common Build Options}): level 0 means total silence, level 1
shows build events only, and higher levels print build logs.
@end deffn
@deffn {REPL command} run-in-store @var{exp}
Run @var{exp}, a monadic expresssion, through the store monad.
@xref{The Store Monad}, for more information.
@end deffn
@deffn {REPL command} enter-store-monad
Enter a new REPL to evaluate monadic expressions (@pxref{The Store
Monad}). You can quit this ``inner'' REPL by typing @code{,q}.
@end deffn
@c *********************************************************************
@node Utilities
@chapter Utilities
@ -37648,6 +37781,13 @@ bootloader boot menu:
Describe the running system generation: its file name, the kernel and
bootloader used, etc., as well as provenance information when available.
The @code{--list-installed} flag is available, with the same
syntax that is used in @command{guix package --list-installed}
(@pxref{Invoking guix package}). When the flag is used,
the description will include a list of packages that are currently
installed in the system profile, with optional filtering based on a
regular expression.
@quotation Note
The @emph{running} system generation---referred to by
@file{/run/current-system}---is not necessarily the @emph{current}
@ -37675,6 +37815,11 @@ generations that are up to 10 days old:
$ guix system list-generations 10d
@end example
The @code{--list-installed} flag may also be specified, with the same
syntax that is used in @command{guix package --list-installed}. This
may be helpful if trying to determine when a package was added to the
system.
@end table
The @command{guix system} command has even more to offer! The following
@ -39663,6 +39808,23 @@ contents of the extensions will be added to the end of the corresponding
Bash configuration files (@pxref{Bash Startup Files,,, bash, The GNU
Bash Reference Manual}.
For example, here is how you would define a service that extends the
Bash service such that @file{~/.bash_profile} defines an additional
environment variable, @env{PS1}:
@lisp
(define bash-fancy-prompt-service
(simple-service 'bash-fancy-prompt
home-bash-service-type
(home-bash-extension
(environment-variables
'(("PS1" . "\\u \\wλ "))))))
@end lisp
You would then add @code{bash-fancy-prompt-service} to the list in the
@code{services} field of your @code{home-environment}. The reference of
@code{home-bash-extension} follows.
@deftp {Data Type} home-bash-extension
Available @code{home-bash-extension} fields are:
@ -40345,6 +40507,17 @@ install anything.
Describe the current home generation: its file name, as well as
provenance information when available.
To show installed packages in the current home generation's profile, the
@code{--list-installed} flag is provided, with the same syntax that is
used in @command{guix package --list-installed} (@pxref{Invoking guix
package}). For instance, the following command shows a table of all the
packages with ``emacs'' in their name that are installed in the current
home generation's profile:
@example
guix home describe --list-installed=emacs
@end example
@item list-generations
List a summary of each generation of the home environment available on
disk, in a human-readable way. This is similar to the
@ -40357,9 +40530,14 @@ generations displayed. For instance, the following command displays
generations that are up to 10 days old:
@example
$ guix home list-generations 10d
guix home list-generations 10d
@end example
The @code{--list-installed} flag may also be specified, with the same
syntax that is used in @command{guix home describe}. This may be
helpful if trying to determine when a package was added to the home
profile.
@item import
Generate a @dfn{home environment} from the packages in the default
profile and configuration files found in the user's home directory. The
@ -40787,6 +40965,16 @@ package, you can try and import it (@pxref{Invoking guix import}):
guix import texlive @var{package}
@end example
Additional options include:
@table @code
@item --recursive
@itemx -r
Traverse the dependency graph of the given upstream package recursively
and generate package expressions for all those packages that are not yet
in Guix.
@end table
@quotation Note
@TeX{} Live packaging is still very much work in progress, but you can
help! @xref{Contributing}, for more information.

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020, 2021 Marius Bakke <marius@gnu.org>
;;; Copyright © 2022 Nicolas Graves <ngraves@ngraves.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -19,10 +20,9 @@
(define-module (gnu build chromium-extension)
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (gnu packages chromium)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages tls)
#:use-module (gnu packages xorg)
#:use-module (gnu packages node-xyz)
#:use-module (guix build-system trivial)
#:export (make-chromium-extension))
@ -69,24 +69,14 @@ in PACKAGE-OUTPUT of PACKAGE. The extension will be signed with SIGNING-KEY."
(string-append name "-" version ".crx")
(with-imported-modules '((guix build utils))
#~(begin
;; This is not great. We pull Xorg and Chromium just to Zip and
;; sign an extension. This should be implemented with something
;; lighter. (TODO: where is the CRXv3 documentation..?)
(use-modules (guix build utils))
(let ((chromium #$(file-append ungoogled-chromium "/bin/chromium"))
(xvfb #$(file-append xorg-server "/bin/Xvfb"))
(let ((crx3 #+(file-append node-crx3 "/bin/crx3"))
(packdir (string-append (getcwd) "/extension")))
(mkdir packdir)
(copy-recursively (ungexp package package-output) packdir
;; Ensure consistent file modification times.
#:keep-mtime? #t)
(system (string-append xvfb " :1 &"))
(setenv "DISPLAY" ":1")
(sleep 2) ;give Xorg some time to initialize...
(invoke chromium
"--user-data-dir=chromium-profile"
(string-append "--pack-extension=" packdir)
(string-append "--pack-extension-key=" #$signing-key))
(invoke crx3 "--keyPath" #$signing-key packdir)
(copy-file (string-append packdir ".crx") #$output))))
#:local-build? #t))

View File

@ -46,6 +46,7 @@
home-run-on-change-service-type
home-provenance-service-type
environment-variable-shell-definitions
home-files-directory
xdg-configuration-files-directory
xdg-data-files-directory
@ -169,6 +170,34 @@ packages, configuration files, activation script, and so on.")))
configuration files that the user has declared in their
@code{home-environment} record.")))
(define (environment-variable-shell-definitions variables)
"Return a gexp that evaluates to a list of POSIX shell statements defining
VARIABLES, a list of environment variable name/value pairs. The returned code
ensures variable values are properly quoted."
#~(let ((shell-quote
(lambda (value)
;; Double-quote VALUE, leaving dollar sign as is.
(let ((quoted (list->string
(string-fold-right
(lambda (chr lst)
(case chr
((#\" #\\)
(append (list chr #\\) lst))
(else (cons chr lst))))
'()
value))))
(string-append "\"" quoted "\"")))))
(string-append
#$@(map (match-lambda
((key . #f)
"")
((key . #t)
#~(string-append "export " #$key "\n"))
((key . value)
#~(string-append "export " #$key "="
(shell-quote #$value) "\n")))
variables))))
(define (environment-variables->setup-environment-script vars)
"Return a file that can be sourced by a POSIX compliant shell which
initializes the environment. The file will source the home
@ -181,7 +210,7 @@ If value is @code{#f} variable will be omitted.
If value is @code{#t} variable will be just exported.
For any other, value variable will be set to the @code{value} and
exported."
(define (warn-about-duplicate-defenitions)
(define (warn-about-duplicate-definitions)
(fold
(lambda (x acc)
(when (equal? (car x) (car acc))
@ -192,15 +221,18 @@ exported."
(sort vars (lambda (a b)
(string<? (car a) (car b))))))
(warn-about-duplicate-defenitions)
(warn-about-duplicate-definitions)
(with-monad
%store-monad
(return
`(("setup-environment"
;; TODO: It's necessary to source ~/.guix-profile too
;; on foreign distros
,(apply mixed-text-file "setup-environment"
"\
,(computed-file "setup-environment"
#~(call-with-output-file #$output
(lambda (port)
(set-port-encoding! port "UTF-8")
(display "\
HOME_ENVIRONMENT=$HOME/.guix-home
GUIX_PROFILE=\"$HOME_ENVIRONMENT/profile\"
PROFILE_FILE=\"$HOME_ENVIRONMENT/profile/etc/profile\"
@ -227,17 +259,10 @@ case $XCURSOR_PATH in
*) export XCURSOR_PATH=$HOME_ENVIRONMENT/profile/share/icons:$XCURSOR_PATH ;;
esac
"
(append-map
(match-lambda
((key . #f)
'())
((key . #t)
(list "export " key "\n"))
((key . value)
(list "export " key "=" value "\n")))
vars)))))))
" port)
(display
#$(environment-variable-shell-definitions vars)
port)))))))))
(define home-environment-variables-service-type
(service-type (name 'home-environment-variables)

View File

@ -111,16 +111,7 @@ service type can be extended with a list of file-like objects.")))
(define (serialize-boolean field-name val) "")
(define (serialize-posix-env-vars field-name val)
#~(string-append
#$@(map
(match-lambda
((key . #f)
"")
((key . #t)
#~(string-append "export " #$key "\n"))
((key . value)
#~(string-append "export " #$key "=" #$value "\n")))
val)))
(environment-variable-shell-definitions val))
;;;
@ -192,9 +183,9 @@ another process for example)."))
(mixed-text-file
"zprofile"
"\
# Setups system and user profiles and related variables
# Set up the system, user profile, and related variables.
source /etc/profile
# Setups home environment profile
# Set up the home environment profile.
source ~/.profile
# It's only necessary if zsh is a login shell, otherwise profiles will
@ -443,9 +434,9 @@ alias grep='grep --color=auto'\n")
,(mixed-text-file
"bash_profile"
"\
# Setups system and user profiles and related variables
# Set up the system, user profile, and related variables.
# /etc/profile will be sourced by bash automatically
# Setups home environment profile
# Set up the home environment profile.
if [ -f ~/.profile ]; then source ~/.profile; fi
# Honor per-interactive-shell startup file

View File

@ -17,7 +17,7 @@
# Copyright © 2017, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
# Copyright © 2017, 2018, 2019 Gábor Boskovits <boskovits@gmail.com>
# Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
# Copyright © 2018, 2019, 2020, 2021 Oleg Pykhalov <go.wigust@gmail.com>
# Copyright © 2018, 2019, 2020, 2021, 2022 Oleg Pykhalov <go.wigust@gmail.com>
# Copyright © 2018 Stefan Stefanović <stefanx2ovic@gmail.com>
# Copyright © 2018, 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
# Copyright © 2019, 2020, 2021, 2022 Guillaume Le Vaillant <glv@posteo.net>
@ -967,6 +967,7 @@ dist_patch_DATA = \
%D%/packages/patches/cmh-support-fplll.patch \
%D%/packages/patches/coda-use-system-libs.patch \
%D%/packages/patches/collectd-5.11.0-noinstallvar.patch \
%D%/packages/patches/containerd-create-pid-file.patch \
%D%/packages/patches/combinatorial-blas-awpm.patch \
%D%/packages/patches/combinatorial-blas-io-fix.patch \
%D%/packages/patches/cool-retro-term-wctype.patch \
@ -1390,7 +1391,6 @@ dist_patch_DATA = \
%D%/packages/patches/libcroco-CVE-2020-12825.patch \
%D%/packages/patches/libcyaml-libyaml-compat.patch \
%D%/packages/patches/libexpected-nofetch.patch \
%D%/packages/patches/libgeotiff-adapt-test-script-for-proj-6.2.patch \
%D%/packages/patches/libgit2-mtime-0.patch \
%D%/packages/patches/libgnome-encoding.patch \
%D%/packages/patches/libgnomeui-utf8.patch \

View File

@ -2278,24 +2278,23 @@ network, which causes enabled computers to power on.")
(define-public dmidecode
(package
(name "dmidecode")
(version "3.3")
(version "3.4")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://savannah/dmidecode/dmidecode-"
version ".tar.xz"))
(sha256
(base32 "0m8lzg9rf1qssasiix672bxk5qwms90561g8hfkkhk31h2kkgiw2"))))
(base32 "04i2ahvqinkrnzfsbswplv9wff36xf9b3snvriwrjz26v18sijs3"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no 'check' target
#: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
(list #:tests? #f ; no 'check' target
#:make-flags
#~(list (string-append "CC=" #$(cc-for-target))
(string-append "prefix=" #$output))
#:phases
#~(modify-phases %standard-phases
(delete 'configure)))) ; no configure script
(home-page "https://www.nongnu.org/dmidecode/")
(synopsis "Read hardware information from the BIOS")
(description
@ -2635,6 +2634,9 @@ various ways that may be running with too much privilege.")
(base32
"1mlc25sd5rgj5xmzcllci47inmfdw7cp185fday6hc9rwqkqmnaw"))))
(build-system gnu-build-system)
(arguments
(list #:make-flags
#~(list "BUILD_INFO=\"(Guix)\"")))
(inputs (list libcap-ng))
(home-page "https://www.smartmontools.org/")
(synopsis "S.M.A.R.T. harddisk control and monitoring tools")
@ -4194,7 +4196,7 @@ Python loading in HPC environments.")
(let ((real-name "inxi"))
(package
(name "inxi-minimal")
(version "3.3.15-1")
(version "3.3.19-1")
(source
(origin
(method git-fetch)
@ -4203,7 +4205,7 @@ Python loading in HPC environments.")
(commit version)))
(file-name (git-file-name real-name version))
(sha256
(base32 "02zy94bd6ayfl9y7ka6gk32q254k49cbq3a6wgi31r2fcvybyrf7"))))
(base32 "0g5m43cj4534gb181zy1hwjz5il88xibf8psxw8a4s6jnaq1zdlk"))))
(build-system trivial-build-system)
(inputs
`(("bash" ,bash-minimal)

View File

@ -2,7 +2,7 @@
;;; Copyright © 2014 John Darringon <jmd@gnu.org>
;;; Copyright © 2016, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019, 2022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2020 Leo Famulari <leo@famulari.name>
;;;
@ -23,6 +23,7 @@
(define-module (gnu packages aidc)
#:use-module (gnu packages)
#:use-module (guix gexp)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
@ -148,7 +149,7 @@ characters, and is highly robust.")
(define-public libdmtx
(package
(name "libdmtx")
(version "0.7.5")
(version "0.7.7")
(source
(origin
(method git-fetch)
@ -157,11 +158,11 @@ characters, and is highly robust.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0wk3fkxzf9ip75v8ia54v6ywx72ajp5s6777j4ay8barpbv869rj"))))
(base32 "0s95gplvb6x7gnl48yn7ywa9r15lfm8k2m60wm9i7w75ay4bq32i"))))
(build-system gnu-build-system)
(arguments
;; XXX Test suite is broken: https://github.com/dmtx/libdmtx/issues/22
`(#:tests? #f))
(list #:configure-flags
#~(list "--disable-static")))
(native-inputs
(list autoconf automake libtool pkg-config))
(home-page "https://github.com/dmtx")

View File

@ -325,7 +325,7 @@ precision.")
(define-public giac
(package
(name "giac")
(version "1.7.0-51")
(version "1.9.0-19")
(source
(origin
(method url-fetch)
@ -337,7 +337,7 @@ precision.")
"~parisse/debian/dists/stable/main/source/"
"giac_" version ".tar.gz"))
(sha256
(base32 "0wgqa2nxpv652348fxpchx5zvaj6ssc403jxwsdp5ky9pdpap2zs"))))
(base32 "1zl3wpw4mwsc2zm2mnxnajxql0df68mlfyivbkk4i300wjfqkdvb"))))
(build-system gnu-build-system)
(arguments
(list

View File

@ -5841,7 +5841,7 @@ and DSD streams.")
(define-public qpwgraph
(package
(name "qpwgraph")
(version "0.3.2")
(version "0.3.4")
(source (origin
(method git-fetch)
(uri (git-reference
@ -5850,7 +5850,7 @@ and DSD streams.")
(file-name (git-file-name name version))
(sha256
(base32
"1zja4klvzbfwi14ihiahl8zm869h0c1yrpfkzvixxjcps372hh07"))))
"1xqmlbqj6ny4cpclzr8xyy6d6i392h9f1vmlbasp6xfy5b0yya94"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ;; no tests

View File

@ -2940,6 +2940,25 @@ measures for Affymetrix Oligonucleotide Arrays.")
(properties
`((upstream-name . "AffyCompatible")))
(build-system r-build-system)
(arguments
(list
#:phases
`(modify-phases %standard-phases
(add-after 'unpack 'make-reproducible
(lambda _
;; Order DTD elements before generating R code from them.
(substitute* "R/methods-AffyCompatible.R"
(("dtd <- .*" m)
(string-append m "
elements <- dtd$elements
ordered <- elements[order(names(elements))]\n"))
(("elt in dtd\\$elements")
"elt in ordered"))
;; Use a predictable directory name for code generation.
(mkdir-p "/tmp/NetAffxResourcePrototype")
(substitute* "R/DataClasses.R"
(("directory=tempdir\\(\\)")
"directory=\"/tmp/NetAffxResourcePrototype\"")))))))
(propagated-inputs
(list r-biostrings r-rcurl r-xml))
(home-page "https://bioconductor.org/packages/AffyCompatible/")

View File

@ -15,6 +15,7 @@
;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
;;; Copyright © 2022 (unmatched parenthesis <paren@disroot.org>
;;; Copyright © 2022 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2022 Ekaitz Zarraga <ekaitz@elenq.tech>
;;;
;;; This file is part of GNU Guix.
;;;
@ -112,58 +113,64 @@
(license license:expat))))
(define-public tcc
(package
(name "tcc") ;aka. "tinycc"
(version "0.9.27")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/tinycc/tcc-"
version ".tar.bz2"))
(sha256
(base32
"177bdhwzrnqgyrdv1dwvpd04fcxj68s5pm1dzwny6359ziway8yy"))))
(build-system gnu-build-system)
(native-inputs (list perl texinfo))
(arguments
`(#:configure-flags (list (string-append "--elfinterp="
(assoc-ref %build-inputs "libc")
,(glibc-dynamic-linker))
(string-append "--crtprefix="
(assoc-ref %build-inputs "libc")
"/lib")
(string-append "--sysincludepaths="
(assoc-ref %build-inputs "libc")
"/include:"
(assoc-ref %build-inputs
"kernel-headers")
"/include:{B}/include")
(string-append "--libpaths="
(assoc-ref %build-inputs "libc")
"/lib")
,@(if (string-prefix? "armhf-linux"
(or (%current-target-system)
(%current-system)))
`("--triplet=arm-linux-gnueabihf")
'()))
#:test-target "test"))
(native-search-paths
(list (search-path-specification
(variable "CPATH")
(files '("include")))
(search-path-specification
(variable "LIBRARY_PATH")
(files '("lib" "lib64")))))
;; Fails to build on MIPS: "Unsupported CPU"
(supported-systems (delete "mips64el-linux" %supported-systems))
(synopsis "Tiny and fast C compiler")
(description
"TCC, also referred to as \"TinyCC\", is a small and fast C compiler
;; There's currently no release fixing <https://issues.guix.gnu.org/52140>.
(let ((revision "1")
(commit "a83b28568596afd8792fd58d1a5bd157fc6b6634"))
(package
(name "tcc") ;aka. "tinycc"
(version (git-version "0.9.27" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "git://repo.or.cz/tinycc.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"01znw86fg73x3k0clafica4b6glbhz69p588kvp766i0zgvs68dh"))))
(build-system gnu-build-system)
(native-inputs (list perl texinfo))
(arguments
`(#:configure-flags (list (string-append "--elfinterp="
(assoc-ref %build-inputs
"libc")
,(glibc-dynamic-linker))
(string-append "--crtprefix="
(assoc-ref %build-inputs
"libc") "/lib")
(string-append "--sysincludepaths="
(assoc-ref %build-inputs
"libc") "/include:"
(assoc-ref %build-inputs
"kernel-headers")
"/include:{B}/include")
(string-append "--libpaths="
(assoc-ref %build-inputs
"libc") "/lib")
,@(if (string-prefix? "armhf-linux"
(or (%current-target-system)
(%current-system)))
`("--triplet=arm-linux-gnueabihf")
'()))
#:test-target "test"))
(native-search-paths
(list (search-path-specification
(variable "CPATH")
(files '("include")))
(search-path-specification
(variable "LIBRARY_PATH")
(files '("lib" "lib64")))))
;; Fails to build on MIPS: "Unsupported CPU"
(supported-systems (delete "mips64el-linux" %supported-systems))
(synopsis "Tiny and fast C compiler")
(description
"TCC, also referred to as \"TinyCC\", is a small and fast C compiler
written in C. It supports ANSI C with GNU and extensions and most of the C99
standard.")
(home-page "http://www.tinycc.org/")
;; An attempt to re-licence tcc under the Expat licence is underway but not
;; (if ever) complete. See the RELICENSING file for more information.
(license license:lgpl2.1+)))
(home-page "http://www.tinycc.org/")
;; An attempt to re-licence tcc under the Expat licence is underway but not
;; (if ever) complete. See the RELICENSING file for more information.
(license license:lgpl2.1+))))
(define-public pcc
(package

View File

@ -2,7 +2,7 @@
;;; Copyright © 2015 David Thompson <davet@gnu.org>
;;; Copyright © 2015, 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2016, 2017, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017, 2020, 2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Troy Sankey <sankeytms@gmail.com>
;;; Copyright © 2016, 2021 Stefan Reichoer <stefan@xsteve.at>
;;; Copyright © 2018, 2019, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
@ -179,13 +179,13 @@ data units.")
(define-public khal
(package
(name "khal")
(version "0.10.4")
(version "0.10.5")
(source (origin
(method url-fetch)
(uri (pypi-uri "khal" version))
(sha256
(base32
"17qj1n2l39pnzk4vjrmql90z7908nivnzcc2g9nj1h31k859inrz"))))
"0xhcrx7lcjk126i2xgqmgb199vd4hxsq34mkdmhdh9ia62nbgvsf"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; The test suite is unreliable. See <https://bugs.gnu.org/44197>
@ -198,8 +198,7 @@ data units.")
(invoke "make" "--directory=doc/" "man")
(install-file
"doc/build/man/khal.1"
(string-append (assoc-ref outputs "out") "/share/man/man1"))
#t)))))
(string-append (assoc-ref outputs "out") "/share/man/man1")))))))
(native-inputs
(list python-setuptools-scm
;; Required to build manpage

View File

@ -109,6 +109,26 @@ useful list processing procedures for construction, examining, destructuring
and manipulating lists and pairs.")
(license license:bsd-3)))
(define-public chicken-srfi-13
(package
(name "chicken-srfi-13")
(version "0.3.2")
(source (origin
(method url-fetch)
(uri (egg-uri "srfi-13" version))
(sha256
(base32
"18clbmaampaxivwx9bya9fxnkzqbczhlz0kbs9bfapm77mxkwclc"))))
(build-system chicken-build-system)
(arguments '(#:egg-name "srfi-13"))
(native-inputs (list chicken-test))
(propagated-inputs (list chicken-srfi-14))
(home-page "https://wiki.call-cc.org/egg/srfi-13")
(synopsis "SRFI-13 string library for Chicken scheme")
(description "This package provides the SRFI-13 string library for Chicken
scheme.")
(license license:bsd-3)))
(define-public chicken-srfi-14
(package
(name "chicken-srfi-14")
@ -278,3 +298,34 @@ with integers.")
"This package provides a simple testing utility for CHICKEN Scheme.")
(license license:bsd-3)))
(define-public chicken-crypto-tools
(package
(name "chicken-crypto-tools")
(version "1.4")
(source (origin
(method url-fetch)
(uri (egg-uri "crypto-tools" version))
(sha256
(base32
"0ajf0qfnhp99f4x1dll2fhlxrsxamgrrwyksc7rrym77xmv8f1pd"))))
(build-system chicken-build-system)
(arguments '(#:egg-name "crypto-tools"))
(home-page "https://wiki.call-cc.org/egg/crypto-tools")
(synopsis "Useful cryptographic primitives")
(description "The crypto-tools egg implements useful cryptographic
primitives. More specifically, provided are:
@itemize
@item binary blobs
@itemize
@item marshallers to and from hex strings
@item blob xor
@item blob padding using either PKCS#5 or ISO7816-4
@end itemize
@item Block cipher modes of operation
@itemize
@item CBC with or without incorporated encrypted IV in the ciphertext
@item CTR with or without incorporated IV in the ciphertext
@end itemize
@end itemize")
(license license:bsd-3)))

View File

@ -316,7 +316,7 @@
;; run the Blink performance tests, just remove everything to save ~70MiB.
'("third_party/blink/perf_tests"))
(define %chromium-version "103.0.5060.114")
(define %chromium-version "103.0.5060.134")
(define %ungoogled-revision (string-append %chromium-version "-1"))
(define %debian-revision "debian/102.0.5005.61-1")
@ -328,7 +328,7 @@
(file-name (git-file-name "ungoogled-chromium" %ungoogled-revision))
(sha256
(base32
"11i7d480q21vcd9p14rc7rb408xwlg2nkj88dq0sfj2rz60lzy0a"))))
"00mpmyaa8bqxf1f4vhk1waxhjbhcwab8m1x1vf341al64f6bmr1r"))))
(define %debian-origin
(origin
@ -477,7 +477,7 @@
%chromium-version ".tar.xz"))
(sha256
(base32
"0rarcd2q1ggl10cw3vwjk7j9aka7i129a0qv8qr7751vy083as3p"))
"0wdmy15602qxrb403p8yyx69k7py85fbawdsgap1l6z4h4j2g2p4"))
(modules '((guix build utils)))
(snippet (force ungoogled-chromium-snippet))))
(build-system gnu-build-system)

View File

@ -170,6 +170,7 @@ designs.")
`(#:install-plan
'(("deps.edn" "lib/clojure/")
("example-deps.edn" "lib/clojure/")
("tools.edn" "lib/clojure/")
("exec.jar" "lib/clojure/libexec/")
("clojure" "bin/")
("clj" "bin/"))

View File

@ -13,6 +13,7 @@
;;; Copyright © 2021 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2021 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2022 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2022 Ekaitz Zarraga <ekaitz@elenq.tech>
;;;
;;; This file is part of GNU Guix.
;;;
@ -808,7 +809,13 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\"
(inherit tcc-boot0)
(name "tcc-boot")
(version "0.9.27")
(source (package-source tcc))
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/tinycc/tcc-"
version ".tar.bz2"))
(sha256
(base32
"177bdhwzrnqgyrdv1dwvpd04fcxj68s5pm1dzwny6359ziway8yy"))))
(build-system gnu-build-system)
(inputs '())
(propagated-inputs '())

View File

@ -2648,7 +2648,7 @@ to their original, binary CD format.")
(define-public libdeflate
(package
(name "libdeflate")
(version "1.10")
(version "1.12")
(source (origin
(method git-fetch)
(uri (git-reference
@ -2657,19 +2657,19 @@ to their original, binary CD format.")
(file-name (git-file-name name version))
(sha256
(base32
"0v5qh1cz787xj86l15x6brkkaw0jbxhqj5f85275q0l945qazvwm"))))
"16n9232zjavcp5wp17cx0gh2v7gipxpncsha05j3ybajfs7g88jv"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
(list (string-append "CC=" ,(cc-for-target))
(string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'skip-static-library-installation
(lambda _
(substitute* "Makefile"
(("install .*\\$\\(STATIC_LIB\\).*") ""))))
(delete 'configure))))
(list #:make-flags
#~(list (string-append "CC=" #$(cc-for-target))
(string-append "PREFIX=" #$output))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'skip-static-library-installation
(lambda _
(substitute* "Makefile"
(("install .*\\$\\(STATIC_LIB\\).*") ""))))
(delete 'configure)))) ; no configure script
(inputs
(list zlib))
(home-page "https://github.com/ebiggers/libdeflate")

View File

@ -5,6 +5,7 @@
;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2018, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2019 Vagrant Cascadian <vagrant@reproducible-builds.org>
;;; Copyright © 2022 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@ -74,7 +75,7 @@
(define-public diffoscope
(package
(name "diffoscope")
(version "217")
(version "219")
(source
(origin
(method git-fetch)
@ -83,7 +84,7 @@
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0vbyg8lm5ddrdkhahcs70rhdmz42blppzliryghxcyyxs7g3gzq5"))
(base32 "0n6dn53paxi1316fnv5abw5rlvpfd2kpfn3b08wfzrcb6chsx7br"))
(patches
(search-patches "diffoscope-fix-llvm-test.patch"))))
(build-system python-build-system)
@ -176,10 +177,15 @@
;; XXX: Must be the same version as python-magic uses;
;; remove when 'file' is updated.
file-next
file-next)
fpc
gettext-minimal
(match (%current-system)
;; fpc is only available on x86 currently.
((or "x86_64-linux" "i686-linux")
(list fpc))
(_ '()))
(list gettext-minimal
ghostscript
`(,giflib "bin")
gnumeric

View File

@ -6,7 +6,7 @@
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com>
;;; Copyright © 2020 Jesse Dowell <jessedowell@gmail.com>
;;; Copyright © 2021 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2021, 2022 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2022 Pierre Langlois <pierre.langlois@gmx.com>
;;;
;;; This file is part of GNU Guix.
@ -184,7 +184,9 @@ Python without keeping their credentials in a Docker configuration file.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1vsl747i3wyy68j4lp4nprwxadbyga8qxlrk892afcd2990zp5mr"))))
(base32 "1vsl747i3wyy68j4lp4nprwxadbyga8qxlrk892afcd2990zp5mr"))
(patches
(search-patches "containerd-create-pid-file.patch"))))
(build-system go-build-system)
(arguments
(let ((make-flags #~(list (string-append "VERSION=" #$version)

View File

@ -278,8 +278,6 @@
"-o" "geiser.info" "geiser.texi")))))))
(native-inputs
(list texinfo))
(propagated-inputs
(list emacs-project emacs-transient))
(home-page "https://www.nongnu.org/geiser/")
(synopsis "Collection of Emacs modes for Scheme hacking")
(description
@ -1010,7 +1008,7 @@ libgit2 bindings for Emacs, intended to boost the performance of Magit.")
(inputs
(list git perl))
(propagated-inputs
(list emacs-dash emacs-transient emacs-with-editor))
(list emacs-dash emacs-with-editor))
(home-page "https://magit.vc/")
(synopsis "Emacs interface for the Git version control system")
(description
@ -1035,8 +1033,7 @@ rebasing, and other common Git operations.")
(base32
"1v1y4fir1plz4kj0cvkcd29wibli4dw7vp4fmbxq4df76d8iy8yd"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-dash emacs-with-editor emacs-magit
emacs-transient))
(propagated-inputs (list emacs-dash emacs-with-editor emacs-magit))
(home-page "https://github.com/magit/magit-svn")
(synopsis "Git-SVN extension to Magit")
(description
@ -1091,8 +1088,7 @@ process, passing on the arguments as command line arguments.")
(sha256
(base32 "1amr2c08mq1nnn6k66mgz4rzyni4np7gxm96g4qyla2cbfbachgk"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-magit emacs-transient))
(propagated-inputs (list emacs-magit))
(home-page "https://github.com/magit/magit-annex/")
(synopsis "Git-annex support for Magit")
(description
@ -4650,8 +4646,6 @@ saving won't move point back to the beginning of the buffer.")
(base32
"1pz4l1xnq6s67w5yq9107vm8dg7rqf8n9dmbn90jys97c722g70n"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-transient))
(home-page "https://gitlab.com/pidu/git-timemachine")
(synopsis "Step through historic versions of Git-controlled files")
(description "This package enables you to step through historic versions
@ -5075,7 +5069,7 @@ result.")
(emacs-substitute-sexps file
("(defcustom rg-executable" "rg"))))))))
(propagated-inputs
(list emacs-s emacs-transient emacs-wgrep ripgrep))
(list emacs-s emacs-wgrep ripgrep))
(home-page "https://rgel.readthedocs.io/en/latest/")
(synopsis "Search tool based on @code{ripgrep}")
(description
@ -5598,16 +5592,16 @@ displays the priority part of a heading as your preferred string value.")
(define-public emacs-org-fragtog
(package
(name "emacs-org-fragtog")
(version "0.4.1")
(version "0.4.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/io12/org-fragtog.git")
(url "https://github.com/io12/org-fragtog")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1912nlnk5v20szlmxr6y7chvms294z0p0hzdfgi8i3c7yrz7lmsj"))))
(base32 "1xag0pdphigk0ilrj2hacai3p6xgl27jji08aa1zlhq7p3rbay7m"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-org))
@ -7527,6 +7521,32 @@ to a key in your preferred mode.")
SuperCollider is a platform for audio synthesis and algorithmic composition.")
(license license:gpl2+))))
(define-public emacs-soothe-theme
;; There is no named branch.
(let ((commit "0786fe70c6c1b4ddcfb932fdc6862b9611cfc09b")
(revision "0"))
(package
(name "emacs-soothe-theme")
(version (git-version "20141027.2233" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emacsfodder/emacs-soothe-theme")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "10gh1hvxq9gm29r6qzlnva7vjidd7n4kih4z2ihyvbvy9za20xqw"))))
(build-system emacs-build-system)
(home-page "https://github.com/emacsfodder/emacs-soothe-theme")
(synopsis "Colorful, but muted theme for Emacs, dark background with light text")
(description
"Soothe theme is an amalgam of muted color tones and highlighted
backgrounds. It has builtin support for Rainbow delimiters, Org mode,
Whitespace mode, ECB, Flyspell, Ido, Linum, highlight indentation, Show Paren
mode.")
(license license:gpl3))))
(define-public emacs-company-auctex
(let ((commit "48c42c58ce2f0e693301b0cb2d085055410c1b25")
(revision "1"))
@ -13250,7 +13270,7 @@ a DONE state.")
(base32
"00q7aym0kl03j9m66pivgy0snxcjjg402049b2wdy18kgyypfvx8"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-transient emacs-evil))
(propagated-inputs (list emacs-evil))
(home-page "https://github.com/ChanderG/toodoo.el")
(synopsis "Magit-like interface for a Todo workflow built on top of Org")
(description "This package provides a minor mode for fast and easy management of Todos
@ -15503,14 +15523,14 @@ one if it fails.")
(define-public emacs-eldoc
(package
(name "emacs-eldoc")
(version "1.12.0")
(version "1.13.0")
(source
(origin
(method url-fetch)
(uri (string-append
"https://elpa.gnu.org/packages/eldoc-" version ".tar"))
(sha256
(base32 "1npggpisqnfkc3gx7dr3pjnif7gf571z7s9g7n6vnb213353qskk"))))
(base32 "0c05dzrs7vrhibj46jpz625482ah6xywji7way6wcvwc711y74fz"))))
(build-system emacs-build-system)
(home-page "http://elpa.gnu.org/packages/eldoc.html")
(synopsis "Show function arglist or variable docstring in echo area")
@ -16129,7 +16149,7 @@ multiplexer.")
(define-public emacs-plz
(package
(name "emacs-plz")
(version "0.1")
(version "0.2")
(source
(origin
(method git-fetch)
@ -16138,7 +16158,7 @@ multiplexer.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0psdjmj1r4g57vhm6c4hajmma72jk893fk820fbjgjwqihr1bxx9"))))
(base32 "170pbqiywk1zyhd0ig4f25qnjf7r1gwy0c6h343bcnl6qxvkvlv2"))))
(build-system emacs-build-system)
(inputs (list curl))
(home-page "https://github.com/alphapapa/plz.el")
@ -18761,7 +18781,6 @@ interactive commands and functions, such as @code{completing-read}.")
emacs-org-super-agenda
emacs-ov
emacs-peg
emacs-transient
emacs-ts
emacs-s))
(native-inputs
@ -23352,7 +23371,7 @@ can be queued at any time.")
(inputs
(list youtube-dl))
(propagated-inputs
(list emacs-async emacs-transient))
(list emacs-async emacs-dash))
(home-page "https://gitlab.com/tuedachu/ytdl")
(synopsis "Emacs interface for youtube-dl")
(description
@ -25058,8 +25077,7 @@ constant expressions.")
emacs-docker-tramp
emacs-json-mode
emacs-s
emacs-tablist
emacs-transient))
emacs-tablist))
(arguments `(#:tests? #false)) ;no tests
(build-system emacs-build-system)
(home-page "https://github.com/Silex/docker.el")
@ -25439,7 +25457,7 @@ to Metals.")
(define-public emacs-lsp-ui
(package
(name "emacs-lsp-ui")
(version "8.0.0")
(version "8.0.1")
(source (origin
(method git-fetch)
(uri (git-reference
@ -25448,7 +25466,7 @@ to Metals.")
(file-name (git-file-name name version))
(sha256
(base32
"00yirx6qzlb8fv8rd53zaw93nw72z3br40rb16scdqj1v20qsp47"))))
"1pd5lvjlmd6zq64py21yi5zxhcza9g5q48ngfivv7fi7pf3vsv00"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-dash emacs-lsp-mode emacs-markdown-mode emacs-flycheck))
@ -25676,7 +25694,6 @@ commands (a prefix and a suffix) we prefer to call it just a \"transient\".")
emacs-let-alist
emacs-magit
emacs-markdown-mode
emacs-transient
emacs-yaml))
(home-page "https://github.com/magit/forge/")
(synopsis "Access Git forges from Magit")
@ -25698,8 +25715,7 @@ comfort of Magit and the rest of Emacs.")
(sha256
(base32
"1lfnh1glg6al677m7ci0x8g5wjdhjxlfl3nv1f1ppsw4dpnwsj9b"))))
(propagated-inputs
(list emacs-hydra emacs-transient))
(propagated-inputs (list emacs-hydra))
(build-system emacs-build-system)
(home-page "https://github.com/jojojames/matcha/")
(synopsis "Collection of hydras with a generic interface to launch them")
@ -26065,8 +26081,7 @@ output.")
(base32
"16cjmrzflf2i1w01973sl944xrfanakba8sb4dpwi79d92xp03xy"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-vdiff emacs-magit emacs-transient))
(propagated-inputs (list emacs-vdiff emacs-magit))
(home-page "https://github.com/justbur/emacs-vdiff-magit/")
(synopsis "Frontend for diffing based on vimdiff")
(description "This package permits comparisons of two or three buffers
@ -26655,7 +26670,7 @@ all of your projects, then override or add variables on a per-project basis.")
(inputs
(list calibre))
(propagated-inputs
(list emacs-dash emacs-esxml emacs-s emacs-transient))
(list emacs-dash emacs-esxml emacs-s))
(home-page "https://github.com/chenyanming/calibredb.el")
(synopsis "Yet another calibre client for Emacs")
(description "This package integrates calibre into Emacs.
@ -27409,7 +27424,7 @@ it forcibly
(define-public emacs-elpher
(package
(name "emacs-elpher")
(version "3.4.1")
(version "3.4.2")
(source
(origin
(method git-fetch)
@ -27418,7 +27433,7 @@ it forcibly
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0dv71zc95m5sa4824vk3d1xk726nh2v50i0yp6w3ydfzzsfph6j6"))))
(base32 "1c6pid2ip2c2lpww42wxgq4qflx1m8vxilyva03h8xzgr39kwq64"))))
(build-system emacs-build-system)
(arguments
(list
@ -27824,7 +27839,7 @@ contains a track position, playback will start at the specified position.")
(define-public emacs-org-jira
(package
(name "emacs-org-jira")
(version "4.3.2")
(version "4.3.3")
(source
(origin
(method git-fetch)
@ -27834,7 +27849,7 @@ contains a track position, playback will start at the specified position.")
(file-name (git-file-name name version))
(sha256
(base32
"1hsfkkm3ykdf7n8a6k0mpzilhjpy7vllwrl2s4rfb9mhnaq5yb8y"))))
"0awfz4c70pxfj401p4h4j1lxic4pqpgigkldy9wvdkcyhqbphswj"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-request emacs-s emacs-dash emacs-org))
@ -28567,8 +28582,7 @@ for the Telegram messaging platform.")))
(inputs '())
(native-inputs '())
(propagated-inputs
(list emacs-alert emacs-all-the-icons emacs-dashboard emacs-telega
emacs-transient))
(list emacs-alert emacs-all-the-icons emacs-dashboard emacs-telega))
(synopsis "Contributed packages to Telega")
(description "Telega-contrib is a collection of third-party
contributed packages to Telega.")))
@ -30445,8 +30459,6 @@ you use some other configuration.")
(sha256
(base32 "0yv38bqdp6b614lbj4v408vv5mlic3vs1v7266xrfxm1cm903apj"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-transient))
(home-page "https://github.com/TatriX/tshell")
(synopsis "Experimental buffer-oriented Emacs shell")
(description
@ -30774,8 +30786,8 @@ and allows for an arbitrary number of leader keys.")
(license license:gpl3+))))
(define-public emacs-spaceleader
(let ((commit "35368b03c094399c487cce93ab5b7ac725bd04f5")
(revision "0"))
(let ((commit "5d88d120494623d6777d464ec40ff4bb7d6b1d57")
(revision "1"))
(package
(name "emacs-spaceleader")
(version (git-version "0.0.3" revision commit))
@ -30787,7 +30799,7 @@ and allows for an arbitrary number of leader keys.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1lg51y59z6igqjw3vgyjc5zw32j11xhzw8y0svlx3ry415b0lnls"))))
(base32 "1prnjf7zs49z5a8qwhn8d0qnp60b3l0xhjkqg6v237acvk2axixr"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-dash
@ -31077,8 +31089,7 @@ rules about where space should be left to separate words and parentheses.")
(sha256
(base32 "0b9hf20iah3ym2d4kz67k0kb48dq0442zxw4zmc03zg3sxfdxh0x"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-dash emacs-transient))
(propagated-inputs (list emacs-dash))
(home-page "https://github.com/MaximeWack/seriesTracker")
(synopsis "Keep track of the TV shows you watch from Emacs")
(description
@ -31693,7 +31704,7 @@ Fennel code within Emacs.")
(define-public emacs-org-modern
(package
(name "emacs-org-modern")
(version "0.3")
(version "0.4")
(source
(origin
(method git-fetch)
@ -31701,7 +31712,7 @@ Fennel code within Emacs.")
(url "https://github.com/minad/org-modern")
(commit version)))
(sha256
(base32 "187fxw2rg0kw1d2binpa32ckp67r4v10j6ypr077g9qn6nkmyvvn"))
(base32 "0af9dzp9n3882kvsp3q4008hffq1mp9hjl964mlp5j8vay3x7qbz"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(home-page "https://github.com/minad/org-modern")

View File

@ -35,6 +35,7 @@
;;; Copyright © 2022 Greg Hogan <code@greghogan.com>
;;; Copyright © 2022 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 Felix Gruber <felgru@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -2857,20 +2858,23 @@ data structures and to operate on them.")
(license license:gpl3+)))
(define-public pcb2gcode
;; Take some additional commits after v2.4.0 to fix build against
;; geos 3.10.1.
(let ((commit "ae41f9fe41e57ee5d0cced6c3b3c8aea9c3f5392"))
(package
(name "pcb2gcode")
(version "2.1.0")
(version (git-version "2.4.0" "1" commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/pcb2gcode/pcb2gcode")
(commit (string-append "v" version))
(commit commit)
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
(base32
"0nzglcyh6ban27cc73j4l7w7r9k38qivq0jz8iwnci02pfalw4ry"))))
"1r1qmvpn5ffi2xpq2gigwsk8kn79s4s2ywfvicwf8i7rzwhkdf17"))))
(build-system gnu-build-system)
(inputs
(list boost
@ -2887,7 +2891,7 @@ data structures and to operate on them.")
and drilling of PCBs. It takes Gerber files as input and outputs G-code files
for the milling of PCBs. It also includes an autoleveller for the automatic
dynamic calibration of the milling depth.")
(license license:gpl3+)))
(license license:gpl3+))))
(define-public syscall-intercept
;; Upstream provides no tag. Also, last version update is 4 years old.

View File

@ -29,6 +29,7 @@
;;; Copyright © 2022 Kyle Meyer <kyle@kyleam.com>
;;; Copyright © 2022 Aleksandr Vityazev <avityazev@posteo.org>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 Philip McGrath <philip@philipmcgrath.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -62,6 +63,7 @@
#:use-module (guix deprecation)
#:use-module (guix gexp)
#:use-module (guix utils)
#:use-module (srfi srfi-26)
#:use-module (gnu packages)
#:use-module (gnu packages aidc)
#:use-module (gnu packages autotools)
@ -1350,6 +1352,126 @@ information.")
(home-page "https://grisbi.org")
(license license:gpl2+)))
(define-public gbonds
;; The last "upstream" commit is from about 2008, but the Debian maintainers
;; have effectively become the upstream with an extensive series of patches.
;; However, the patches are stored "unapplied", and some enhancements (like
;; a decade's worth of new data files) rely on the Debian packaging tools,
;; so building normally even from the patched sources would miss them.
;; Here, we do all of the patching in the origin, so that the result of
;; `guix build --source` is actually useable for building without Guix.
(let ((revision "1")
(commit "3054ee2f90cc7c03ed6b131177d09701c7a4fced"))
(package
(name "gbonds")
(version (git-version "2.0.3" revision commit))
(source
(let ((unapplied
(origin
(method git-fetch)
(uri (git-reference
(url "https://salsa.debian.org/debian/gbonds.git")
(commit commit)))
(sha256
(base32
"1sqzzfymzxbnq6cjs5wvjbnvcrkdlimlmj2h7mlcaa9qqdpsgfki"))
(file-name (git-file-name name version)))))
(origin
(inherit unapplied)
(patches
;; The order matters.
(map (cut file-append unapplied "/debian/patches/" <>)
'("desktop-file"
"POTFILES"
"POTFILES.missing"
"commands-compile"
"egg-recent-model-compile"
"gbonds-name-case"
"copyright-update"
"website-url"
"link-libm"
"xmldocs"
"configure-compiler-warnings"
"omf"
"desktop-file-keywords"
"replace-g_strcasecmp"
"gtk3-port"
"gsettings-port"
"no-rarian-compat"
"extern-gb_prefs"
"use-treasury-api.patch")))
(snippet
#~(begin
(use-modules (guix build utils)
(srfi srfi-26))
;; Remove generated files, which have not been patched.
(for-each (lambda (pth)
(when (file-exists? pth)
(delete-file pth)))
`(;; Things `make maintainer-clean` would do.
"gbonds.spec"
"src/marshal.c"
"src/marshal.h"
;; Things upstream's distclean missed.
"intltool-extract"
"intltool-merge"
"intltool-update"
;; Autotools generated files.
"aclocal.m4"
"config.guess"
"config.h.in"
"config.log"
"config.sub"
"configure"
"depcomp"
"intltool-extract.in"
"intltool-merge.in"
"intltool-update.in"
"ltmain.sh"
,@(find-files "." "^Makefile\\.in$")))
;; Arrange for `make install` to handle the additional
;; redemption data files added in the Debian packaging.
(let* ((new-redemption-data-files
(find-files "debian" "^sb[[:digit:]]+\\.asc$"))
(names
(map (cut substring <> (string-length "debian/"))
new-redemption-data-files)))
(for-each rename-file
new-redemption-data-files
(map (cut string-append "data/" <>)
names))
(substitute* "data/Makefile.am"
(("redemption_DATA = \\\\")
(apply string-append
"redemption_DATA = \\"
(map (cut string-append "\n\t" <> " \\")
names))))))))))
(outputs '("out" "debug"))
(inputs (list gtk+
glib
json-glib
libxml2
libsoup-minimal-2
cairo
pango))
(native-inputs (list autoconf
automake
intltool
libtool
patch
pkg-config))
(build-system glib-or-gtk-build-system)
(home-page "http://gbonds.sourceforge.net")
(synopsis "@acronym{U.S.} Savings Bond inventory program for GNOME")
(description
"GBonds is a @acronym{U.S.} Savings Bond inventory program for the
GNOME desktop environment. It allows you to track the current redemption
value and performance of your @acronym{U.S.} Savings Bonds and keep a valuable
record of the bonds you own.")
(license license:gpl2+))))
(define-public trezord-udev-rules
(let ((commit "bff7fdfe436c727982cc553bdfb29a9021b423b0")
(revision "0"))

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Marek Benc <merkur32@gmail.com>
;;; Copyright © 2016, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2019, 2020, 2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
@ -97,4 +97,6 @@ or right-to-left ordering as necessary.")
to visual-Hebrew output. This is useful for reading Hebrew mail messages,
viewing Hebrew texts, etc. It was written for Hebrew but Arabic (or other BiDi
languages) should work equally well.")
(properties
'((release-monitoring-url . "https://deb.debian.org/debian/pool/main/b/bidiv")))
(license gpl2+)))

View File

@ -1103,46 +1103,6 @@ cows can think too: all you have to do is run @command{cowthink}. If you're
tired of cows, a variety of other ASCII-art messengers are available.")
(license license:gpl3+)))
(define-public lolcat
(let ((commit "35dca3d0a381496d7195cd78f5b24aa7b62f2154")
(revision "0"))
(package
(name "lolcat")
(version (git-version "1.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jaseg/lolcat")
(commit commit)))
(sha256
(base32
"0jjbkqcc2ikjxd1xgdyv4rb0vsw218181h89f2ywg29ffs3ypd8g"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no check target
#:make-flags
(list ,(string-append "CC=" (cc-for-target)))
#:phases
(modify-phases %standard-phases
(delete 'bootstrap)
(delete 'configure)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(dest (string-append out "/bin")))
(mkdir-p dest)
(install-file "lolcat" dest)
(install-file "censor" dest)
#t))))))
(home-page "https://github.com/jaseg/lolcat")
(synopsis "Rainbow coloring effect for text console display")
(description "@command{lolcat} concatenates files and streams like
regular @command{cat}, but it also adds terminal escape codes between
characters and lines resulting in a rainbow effect.")
(license license:wtfpl2))))
(define-public falltergeist
(package
(name "falltergeist")

View File

@ -216,7 +216,7 @@ OpenStreetMap written in C using eXpat, Cairo and GLib.")
(define-public geos
(package
(name "geos")
(version "3.8.1")
(version "3.10.2")
(source (origin
(method url-fetch)
(uri (string-append "http://download.osgeo.org/geos/geos-"
@ -224,8 +224,8 @@ OpenStreetMap written in C using eXpat, Cairo and GLib.")
".tar.bz2"))
(sha256
(base32
"1xqpmr10xi0n9sj47fbwc89qb0yr9imh4ybk0jsxpffy111syn22"))))
(build-system gnu-build-system)
"05apyh6dvv15fax4xvxa0kr622h4y08w9p3274mlqsrqmjcwbfsh"))))
(build-system cmake-build-system)
(arguments `(#:phases
(modify-phases %standard-phases
(add-after
@ -233,11 +233,10 @@ OpenStreetMap written in C using eXpat, Cairo and GLib.")
(lambda _
(substitute* '("tests/xmltester/testrunner.sh"
"tests/geostest/testrunner.sh")
(("/bin/sh") (which "sh")))
#t)))))
(("/bin/sh") (which "sh"))))))))
(inputs
(list glib))
(home-page "https://geos.osgeo.org/")
(home-page "https://libgeos.org/")
(synopsis "Geometry Engine for Geographic Information Systems")
(description
"GEOS provides a spatial object model and fundamental geometric
@ -342,18 +341,14 @@ and driving.")
(define-public libgeotiff
(package
(name "libgeotiff")
(version "1.5.1")
(version "1.7.1")
(source
(origin
(method url-fetch)
(uri (string-append "http://download.osgeo.org/geotiff/libgeotiff/libgeotiff-"
version ".tar.gz"))
(patches (search-patches
;; See libgeotiff 1.5.1 issue
;; https://github.com/OSGeo/libgeotiff/issues/22
"libgeotiff-adapt-test-script-for-proj-6.2.patch"))
(sha256
(base32 "0b31mlzcv5b1y7jdvb7p0pa3xradrg3x5g32ym911lbhq4rrgsgr"))
(base32 "1mjmgv48x51ppax5dnb6lq7z600czxll53bx6jbzqwd4m93i7aq5"))
(modules '((guix build utils)))
(snippet
'(begin
@ -2213,7 +2208,7 @@ orienteering sport.")
(license license:gpl3+)))
(define-public grass
(let* ((version "7.8.6")
(let* ((version "7.8.7")
(majorminor (string-join (list-head (string-split version #\.) 2) ""))
(grassxx (string-append "grass" majorminor)))
(package
@ -2225,7 +2220,7 @@ orienteering sport.")
(uri (string-append "https://grass.osgeo.org/" grassxx
"/source/grass-" version ".tar.gz"))
(sha256
(base32 "1glk74ly3j0x8ymn4jp73s6y8qv7p3g5nv4gvb6l9qqplyq1fpnq"))))
(base32 "0sbz0ba9p963phvd0gmvfqq1fg4ixpipzcjbf20ys86qavjppzsg"))))
(build-system gnu-build-system)
(inputs
`(("bzip2" ,bzip2)
@ -2336,7 +2331,7 @@ visualization.")
(define-public saga
(package
(name "saga")
(version "7.9.0")
(version "8.2.1")
(source
(origin
(method url-fetch)
@ -2344,8 +2339,8 @@ visualization.")
(version-major version) "/SAGA%20-%20" version
"/saga-" version ".tar.gz"))
(sha256
(base32 "1n051yxxkylly0k9rlkx2ih3j2lf9d4csg00sm7161r7nhjvggd1"))))
(build-system gnu-build-system)
(base32 "008izjs6gvj09abxf16ssl1xy0ay3ljq4jswbggp6wiiq459minv"))))
(build-system cmake-build-system)
(native-inputs
(list pkg-config swig))
(inputs
@ -2365,7 +2360,12 @@ visualization.")
vigra
wxwidgets))
(arguments
'(#:configure-flags '("--enable-python")))
'(#:tests? #f
#:phases
(modify-phases %standard-phases
(add-before 'configure 'cd-to-source-dir
(lambda _
(chdir "saga-gis"))))))
(synopsis "System for Automated Geoscientific Analyses")
(description
"SAGA (System for Automated Geoscientific Analyses) is a Geographic
@ -2486,12 +2486,14 @@ growing set of geoscientific methods.")
"PyQgsLayoutHtml"
"PyQgsLayoutLegend"
"PyQgsLayoutMapGrid"
"PyQgsMapClippingUtils"
"PyQgsMapLayer"
"PyQgsMetadataBase"
"PyQgsOGRProvider"
"PyQgsOGRProviderGpkg"
"PyQgsOapifProvider"
"PyQgsPalLabelingLayout"
"PyQgsProcessingInPlace"
"PyQgsProject"
"PyQgsProviderConnectionGpkg"
"PyQgsProviderConnectionPostgres"
@ -2528,6 +2530,7 @@ growing set of geoscientific methods.")
"qgis_layoutlabeltest"
"qgis_layoutmanualtabletest"
"qgis_layoutmapgridtest"
"qgis_layoutmapoverviewtest"
"qgis_layoutmaptest"
"qgis_layoutmultiframetest"
"qgis_layoutpicturetest"
@ -2535,6 +2538,7 @@ growing set of geoscientific methods.")
"qgis_layouttest"
"qgis_mapdevicepixelratiotest"
"qgis_maprendererjobtest"
"qgis_meshcontourstest"
"qgis_ogrproviderguitest"
"qgis_painteffecttest"
"qgis_pallabelingtest"
@ -2548,7 +2552,8 @@ growing set of geoscientific methods.")
"qgis_svgmarkertest"
"qgis_taskmanagertest"
"qgis_wcsprovidertest"
"qgis_ziplayertest")
"qgis_ziplayertest"
"TestQgsRandomMarkerSymbolLayer")
"|")))))
(add-after 'install 'wrap-python
(assoc-ref python:%standard-phases 'wrap))

View File

@ -4373,6 +4373,44 @@ the GObject type system and has additional code generation routines that make
targeting the GNOME stack simple.")
(license license:lgpl2.1+)))
(define-public vala-next
(package
(inherit vala)
(version "0.56.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/vala/"
(version-major+minor version) "/"
"vala-" version ".tar.xz"))
(sha256
(base32
"0k0jj3xwjq222x0hbqqy5bykhgk1f1wsb85bqcdgsnbqn6dn3jb6"))))
(arguments
(list
#:configure-flags #~(list "CC=gcc" "--enable-coverage")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'use-gcc-by-default
(lambda _
(substitute* "codegen/valaccodecompiler.c"
(("cc_command = \"cc\"")
"cc_command = \"gcc\""))))
(add-after 'unpack 'patch-docbook-xml
(lambda* (#:key inputs #:allow-other-keys)
(with-directory-excursion "doc/manual"
(substitute* '("manual.xml" "version.xml.in")
(("http://www.oasis-open.org/docbook/xml/4.4/")
(search-input-directory inputs "xml/dtd/docbook"))))))
(add-before 'check 'pre-check
(lambda _
(substitute* "valadoc/tests/libvaladoc/tests-extra-environment.sh"
(("export PKG_CONFIG_PATH=" m)
(string-append m "$PKG_CONFIG_PATH:")))))
;; Wrapping the binaries breaks vala's behavior adaptations based on
;; the file name of the program executed (vala: compile and execute,
;; valac: compile into a binary).
(delete 'glib-or-gtk-wrap))))))
;;; An older variant kept to build libsoup-minimal-2.
(define-public vala-0.52
(package/inherit vala

View File

@ -138,7 +138,7 @@ between two other data points.")
(define-public gama
(package
(name "gama")
(version "2.19")
(version "2.21")
(source
(origin
(method url-fetch)
@ -146,7 +146,7 @@ between two other data points.")
version ".tar.gz"))
(sha256
(base32
"0lh3abvyq07igi44mmjif3nwy6iig0j1jq6rrxkrvkhhm5q98b1q"))
"0xncq4cgzn5mgwxw515xa0rhazf28y4cnpwg67kbibya7zx2iqw7"))
(modules '((guix build utils)))
(snippet
'(begin

View File

@ -841,7 +841,9 @@ model to base your own plug-in on, here it is.")
("libgme" ,libgme)
("libgudev" ,libgudev)
("libkate" ,libkate)
("libmfx" ,mediasdk)
,@(if (target-x86?)
`(("libmfx" ,mediasdk))
'())
("libmms" ,libmms)
("libmodplug" ,libmodplug)
("libmpcdec" ,libmpcdec)
@ -887,7 +889,9 @@ model to base your own plug-in on, here it is.")
("soundtouch" ,soundtouch)
("spandsp" ,spandsp)
("srt" ,srt)
("svthevcenc" ,svt-hevc)
,@(if (target-x86?)
`(("svthevcenc" ,svt-hevc))
'())
("tinyalsa" ,tinyalsa)
("transcode" ,transcode)
("usrsctp" ,usrsctp)

View File

@ -42,6 +42,7 @@
;;; Copyright © 2022 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
;;; Copyright © 2022 Antero Mejr <antero@mailbox.org>
;;; Copyright © 2022 Taiju HIGASHI <higashi@taiju.info>
;;;
;;; This file is part of GNU Guix.
;;;
@ -1614,7 +1615,7 @@ for MySQL.")
(define-public guile-config
(package
(name "guile-config")
(version "0.4.2")
(version "0.5.1")
(source
(origin
(method git-fetch)
@ -1623,7 +1624,7 @@ for MySQL.")
(commit version)))
(file-name (git-file-name name version))
(sha256 (base32
"09028ylbddjdp3d67zdjz3pnsjqz6zs2bfck5rr3dfaa0qjap40n"))))
"0s708k6qnk9155bjrcy1f1v7lqhlpaj4mjip46sr3iw85hca92wz"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf automake pkg-config texinfo))
@ -1652,16 +1653,16 @@ above command-line parameters.")
(define-public guile-hall
(package
(name "guile-hall")
(version "0.3.1")
(version "0.4.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/a-sassmannshausen/guile-hall")
(commit version)))
(file-name "guile-hall-0.3.1-checkout")
(file-name (git-file-name name version))
(sha256
(base32 "1s24nigdra6rvclvy15l2aw00c3aq9vv8qwxylzs60darbl36206"))))
(base32 "0yrrik1v1xbik5h5q7w2cxrx6gvkmcdm32dl36i7xqdq8pr8sh2d"))))
(build-system gnu-build-system)
(arguments
`(#:modules
@ -4041,8 +4042,8 @@ according to Bitorrent BEP003.")
(license license:gpl3+)))
(define-public guile-irc
(let ((commit "375d3bde9c6ae7ccc9d7cc65817966b6fda8f26a")
(revision "0"))
(let ((commit "7d08ce6fdcb87ac668c5d3bfd5584247805507bb")
(revision "1"))
(package
(name "guile-irc")
(version (git-version "0.3.0" revision commit))
@ -4054,12 +4055,12 @@ according to Bitorrent BEP003.")
(file-name (git-file-name name version))
(sha256
(base32
"113lcckcywrz9060w1c3fnvr8d7crdsjgsv4h47hgmr1slgadl4y"))))
"1jx8704200l29ndg9bfyamgxrzknya0f0vwb2sxhd0k3b8r94avw"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--enable-gnutls=yes")))
(native-inputs
(list autoconf automake texinfo))
(list autoconf automake texinfo pkg-config))
(inputs
(list gnutls guile-3.0))
(home-page "https://github.com/rekado/guile-irc")

View File

@ -319,7 +319,7 @@ operability and find drivers.")
(define-public hwinfo
(package
(name "hwinfo")
(version "21.81")
(version "21.82")
(home-page "https://github.com/openSUSE/hwinfo")
(source
(origin
@ -330,7 +330,7 @@ operability and find drivers.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0iyx1fb66s6b5ai4agw91nvl9wwk7z8g6y475vry3wv80dngzc43"))
(base32 "1ih6vrgh64408cijywy9by2snynkw91p3h0ry5pzk3lyqsl0wnlh"))
(modules
'((guix build utils)))
(snippet

View File

@ -162,7 +162,7 @@ YouTube videos without requiring API and opens/downloads them using mpv/ytdl.")
(define-public feh
(package
(name "feh")
(version "3.8")
(version "3.9")
(home-page "https://feh.finalrewind.org/")
(source (origin
(method url-fetch)
@ -170,16 +170,19 @@ YouTube videos without requiring API and opens/downloads them using mpv/ytdl.")
name "-" version ".tar.bz2"))
(sha256
(base32
"1a9bsq5j9sl2drzkab0hdhnamalpaszw9mz2prz6scrr5dak8g3z"))))
"185wwqd60r2rk6lzcvd6sl58589qfqrfnf7lqd6friyj84n9cjc6"))))
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases (delete 'configure))
#:test-target "test"
#:make-flags
(list ,(string-append "CC=" (cc-for-target))
(string-append "PREFIX=" (assoc-ref %outputs "out"))
"exif=1"
"inotify=1")))
(list #:phases
#~(modify-phases %standard-phases
(delete 'configure)) ; no configure script
#:test-target "test"
#:make-flags
#~(list (string-append "CC=" #$(cc-for-target))
(string-append "PREFIX=" #$output)
"exif=1"
"inotify=1"
"magic=1")))
(native-inputs
(list perl perl-test-command))
(inputs (list curl

View File

@ -1812,7 +1812,7 @@ parsing, viewing, modifying, and saving this metadata.")
(define-public flameshot
(package
(name "flameshot")
(version "0.10.2")
(version "12.1.0")
(source
(origin
(method git-fetch)
@ -1822,7 +1822,7 @@ parsing, viewing, modifying, and saving this metadata.")
(file-name (git-file-name name version))
(sha256
(base32
"07n98pp5i6i51g7a4vqwbd6xarihzl7r714r2knvw2zn5mlj55dd"))))
"1p7gqs5vqzbddlgl38lbanchwb14m6lx8f2cn2c5p0vyqwvqqv52"))))
(build-system qt-build-system)
(native-inputs
(list qttools))

View File

@ -194,21 +194,20 @@ Conferencing} and @acronym{ICB, Internet Citizen's Band}.")
(define-public weechat
(package
(name "weechat")
(version "3.5")
(version "3.6")
(source (origin
(method url-fetch)
(uri (string-append "https://weechat.org/files/src/weechat-"
version ".tar.xz"))
(sha256
(base32
"030p1264rrbr5sbyww85xq0cm5zzdmnpz89y9z90ppcfxi64x47a"))))
"1ppj676gwh67krq92xnfkmh3qnwbz8d51djsscxw013x7cdxg1cx"))))
(build-system cmake-build-system)
(outputs '("out" "doc"))
(native-inputs
`(("gettext-minimal" ,gettext-minimal)
("pkg-config" ,pkg-config)
,@(if (or (target-x86-64?)
(target-x86-32?))
,@(if (target-x86?)
`(("ruby-asciidoctor" ,ruby-asciidoctor))
'())
;; For tests.
@ -231,16 +230,14 @@ Conferencing} and @acronym{ICB, Internet Citizen's Band}.")
(arguments
`(#:configure-flags
(list "-DENABLE_PHP=OFF"
,@(if (or (target-x86-64?)
(target-x86-32?))
,@(if (target-x86?)
'("-DENABLE_MAN=ON"
"-DENABLE_DOC=ON")
'())
"-DENABLE_TESTS=ON") ; make test fails otherwise
#:phases
(modify-phases %standard-phases
,@(if (or (target-x86-64?)
(target-x86-32?))
,@(if (target-x86?)
'((add-after 'install 'move-doc
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))

View File

@ -181,7 +181,7 @@
"--enable-muxer=h263"
"--enable-muxer=h264"
"--enable-muxer=hevc"
; "--enable-muxer=matroska"
"--enable-muxer=matroska"
"--enable-muxer=webm"
"--enable-muxer=ogg"
"--enable-muxer=pcm_s16be"

View File

@ -29,6 +29,7 @@
#:use-module (guix gexp)
#:use-module (gnu packages)
#:use-module (gnu packages audio)
#:use-module (gnu packages bash)
#:use-module (gnu packages compression)
#:use-module (gnu packages cdrom)
#:use-module (gnu packages docbook)
@ -373,6 +374,16 @@ variety of formats.")
(("\"(dvdcss)\"" _ library)
(string-append "\"" libdvdcss "/lib/" library "\""))))
#t))
(add-before 'configure 'fix-cmake-taglib
(lambda _
;; Use the CMake variables provided by FindTaglib from
;; extra-cmake-modules, instead of bundled FindTaglib.cmake:
(substitute*
'("plugins/decoder/mp3/CMakeLists.txt"
"plugins/decoder/flac/CMakeLists.txt"
"plugins/project/audiometainforenamer/CMakeLists.txt")
(("TAGLIB_INCLUDES") "Taglib_INCLUDE_DIRS")
(("TAGLIB_LIBRARIES") "Taglib_LIBRARIES"))))
(add-after 'qt-wrap 'wrap-path
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Set paths to backend programs.
@ -380,12 +391,14 @@ variety of formats.")
`("PATH" ":" prefix
,(map (lambda (input)
(string-append (assoc-ref inputs input) "/bin"))
'("cdrdao" "dvd+rw-tools" "libburn" "sox"))))
'("cdrdao" "cdrtools" "dvd+rw-tools" "libburn" "sox"))))
#t)))))
(native-inputs
(list extra-cmake-modules pkg-config kdoctools))
(inputs
(list cdrdao
(list bash-minimal
cdrdao
cdrtools
dvd+rw-tools
ffmpeg
flac

View File

@ -496,14 +496,14 @@ remind you to take a break now and then.")
(define-public smb4k
(package
(name "smb4k")
(version "3.0.6")
(version "3.1.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://sourceforge.net/projects/smb4k/files/"
version "/smb4k-" version ".tar.xz/download"))
version "/smb4k-" version ".tar.xz"))
(sha256
(base32 "0hz6nfd845bykf78s4g2qs77szl96gy6g8rpg44pqd39a0k0xbh7"))))
(base32 "0prw0aq16nz9ns4d50mc6fbaw9pbcyh8p698izylhd4i0nr1dd9d"))))
(build-system qt-build-system)
(native-inputs
(list extra-cmake-modules kdoctools))
@ -515,6 +515,7 @@ remind you to take a break now and then.")
kcoreaddons
kcrash
kdbusaddons
kdnssd
ki18n
kiconthemes
kio

View File

@ -352,7 +352,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The current "stable" kernels. That is, the most recently released major
;; versions that are still supported upstream.
(define-public linux-libre-5.18-version "5.18.10")
(define-public linux-libre-5.18-version "5.18.12")
(define-public linux-libre-5.18-gnu-revision "gnu")
(define deblob-scripts-5.18
(linux-libre-deblob-scripts
@ -362,7 +362,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0vjpn8iw9yg39sr6jfhzyvivf159h9zfgnjamwa283zfll0h0a53")))
(define-public linux-libre-5.18-pristine-source
(let ((version linux-libre-5.18-version)
(hash (base32 "1qyyfdfp8qn8a6brgly0h72jvz9s0wp2pjyrcpknzvmqvc0kv7pr")))
(hash (base32 "09wmgfrnv1df6jg9v3svwhvnxl0j6h4f240p903xlmgj884lvds0")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
@ -371,7 +371,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The "longterm" kernels — the older releases with long-term upstream support.
;; Here are the support timelines:
;; <https://www.kernel.org/category/releases.html>
(define-public linux-libre-5.15-version "5.15.53")
(define-public linux-libre-5.15-version "5.15.55")
(define-public linux-libre-5.15-gnu-revision "gnu")
(define deblob-scripts-5.15
(linux-libre-deblob-scripts
@ -381,12 +381,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "129qlhwdv2mfb85gbvq03kkbdfp73b444rryr4rrbvi0jmq4cp24")))
(define-public linux-libre-5.15-pristine-source
(let ((version linux-libre-5.15-version)
(hash (base32 "01vvyw6sjkkjs7l4cy04yv19d9f3wmpy5gqfm763y7q58dr73apk")))
(hash (base32 "1k7x7fp675wglfd357n7hjidnm3j8zj3gcymyazg6fkcid8bvxhy")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.15)))
(define-public linux-libre-5.10-version "5.10.129")
(define-public linux-libre-5.10-version "5.10.131")
(define-public linux-libre-5.10-gnu-revision "gnu1")
(define deblob-scripts-5.10
(linux-libre-deblob-scripts
@ -396,12 +396,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1981axxswghza3iadp94q54y8w30h9w9vyq4cbjiiv9alvbv0pb8")))
(define-public linux-libre-5.10-pristine-source
(let ((version linux-libre-5.10-version)
(hash (base32 "1zlw89m7wpy02rnk8mizng43i77hrkwzl280sivqz1c05c2jzrxa")))
(hash (base32 "1ki11mvl3dky7iih90znr47vr66dxnlwrqwg2jkk1hqn5i243i4b")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.10)))
(define-public linux-libre-5.4-version "5.4.204")
(define-public linux-libre-5.4-version "5.4.206")
(define-public linux-libre-5.4-gnu-revision "gnu1")
(define deblob-scripts-5.4
(linux-libre-deblob-scripts
@ -411,12 +411,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1vnjbdyssa7dwyjl9kg35alwvf7yh597cl74yr1wy2gk5bc9paw6")))
(define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version)
(hash (base32 "0ivsfdw55mysihylk5n46r7limf1rqddipap17mkfnyq345b3hgx")))
(hash (base32 "1asvc7y1f938icspxx39n6y6r0w9mp0k9vik84rsx1hzzv0db41c")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.4)))
(define-public linux-libre-4.19-version "4.19.251")
(define-public linux-libre-4.19-version "4.19.252")
(define-public linux-libre-4.19-gnu-revision "gnu1")
(define deblob-scripts-4.19
(linux-libre-deblob-scripts
@ -426,12 +426,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "00i91lx938nqlgy63hiricqd0fnbbf26vgya9c5lb7m1f4x324im")))
(define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version)
(hash (base32 "1x6ag81wzcynfa4l819mamk9k11fxgq5m1gain93avparjnwi1rp")))
(hash (base32 "0ac7k6x9h8gqi37n8d4fyi52h4cmzyy8f5vfv1aiihww4kvzca7v")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.19)))
(define-public linux-libre-4.14-version "4.14.287")
(define-public linux-libre-4.14-version "4.14.288")
(define-public linux-libre-4.14-gnu-revision "gnu1")
(define deblob-scripts-4.14
(linux-libre-deblob-scripts
@ -441,12 +441,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "00i91lx938nqlgy63hiricqd0fnbbf26vgya9c5lb7m1f4x324im")))
(define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version)
(hash (base32 "05pnz2wch5b430j82sjqhxyfbpln4p1569avj2qkk62x4164kdbq")))
(hash (base32 "0yyzxyz66mfngx3ll3pl43413xb67iyxddzh3lpzqcfg7d0rxfwz")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.14)))
(define-public linux-libre-4.9-version "4.9.322")
(define-public linux-libre-4.9-version "4.9.323")
(define-public linux-libre-4.9-gnu-revision "gnu1")
(define deblob-scripts-4.9
(linux-libre-deblob-scripts
@ -456,7 +456,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0bib3641dbcqdkx3anna3caxnsg3nw9cnmhcklq0s93g3m57041h")))
(define-public linux-libre-4.9-pristine-source
(let ((version linux-libre-4.9-version)
(hash (base32 "02g4lkiq6y5i6vrrk2i9h6dxka6mfjpk9dz3517adw5qf79ph6b2")))
(hash (base32 "1h96ai9w5q2axhliw85aymdsg8py9y6gl8big5r2gwkbls6h7pa3")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.9)))
@ -4756,14 +4756,14 @@ isolation or root privileges.")
(define-public hdparm
(package
(name "hdparm")
(version "9.63")
(version "9.64")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/hdparm/hdparm/"
"hdparm-" version ".tar.gz"))
(sha256
(base32
"14cni5r116k07zqj0565byjhv6gf3ns6hd8jkjl7fn5sxgm5sy3h"))))
"16l5mc6dpqkzhwsljyzks05pq89l2lw09qkx50ks1zn3a5lranri"))))
(build-system gnu-build-system)
(arguments
(list #:make-flags
@ -7803,26 +7803,27 @@ available in the kernel Linux.")
(define-public cpuid
(package
(name "cpuid")
(version "20220224")
(version "20220620")
(source (origin
(method url-fetch)
(uri (string-append "http://www.etallen.com/cpuid/cpuid-"
version ".src.tar.gz"))
(sha256
(base32
"178zv8jclzg3hqm3g5bpjnsp898rbbxfq6ydavw49vla24mdw6aa"))))
"06nb69vlv1szdzq1dp784pgbr9z2py050v1hlrn4rr56jp0a2nci"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
(list (string-append "CC=" ,(cc-for-target)))
#:tests? #f ; no tests
#:phases (modify-phases %standard-phases
(delete 'configure) ; no configure script
(add-before 'install 'fix-makefile
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "Makefile"
(("\\$\\(BUILDROOT\\)/usr")
(assoc-ref outputs "out"))))))))
(list #:make-flags
#~(list (string-append "CC=" #$(cc-for-target)))
#:tests? #f ; no tests
#:phases
#~(modify-phases %standard-phases
(delete 'configure) ; no configure script
(add-before 'install 'fix-makefile
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "Makefile"
(("\\$\\(BUILDROOT\\)/usr")
(assoc-ref outputs "out"))))))))
(inputs (list perl))
(supported-systems '("i686-linux" "x86_64-linux"))
(home-page "http://www.etallen.com/cpuid.html")

View File

@ -17839,6 +17839,74 @@ to setup.")
(define-public cl-posix-mqueue
(sbcl-package->cl-source-package sbcl-cl-posix-mqueue))
(define-public sbcl-glop
(let ((commit "45e722ab4a0cd2944d550bf790206b3326041e38")
(revision "1"))
(package
(name "sbcl-glop")
(version (git-version "0.1.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/lispgames/glop")
(commit commit)))
(file-name (git-file-name "glop" version))
(sha256
(base32 "1nm35kvigflfjlmsa8zwdajc61f02fh4sq08jv0wnqylhx8yg2bv"))))
(build-system asdf-build-system/sbcl)
(arguments
(list #:test-asd-file "glop-test.asd"
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-lib-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/x11/xcomposite.lisp"
(("libXcomposite.so")
(search-input-file inputs "/lib/libXcomposite.so")))
(substitute* "src/x11/xlib.lisp"
(("libX11")
(string-drop-right
(search-input-file inputs "/lib/libX11.so") 3)))
(substitute* "src/utils.lisp"
(("libX11")
(string-drop-right
(search-input-file inputs "/lib/libX11.so") 3)))
(substitute* "src/utils.lisp"
(("libGL.so")
(search-input-file inputs "/lib/libGL.so.1")))
(substitute* "src/x11/glx.lisp"
(("libGL.so")
(search-input-file inputs "/lib/libGL.so")))
(substitute* "src/x11/display-ctrl.lisp"
(("libXrandr")
(string-drop-right
(search-input-file inputs "/lib/libXrandr.so") 3))))))))
(native-inputs
(list sbcl-cl-opengl))
(inputs
(list libx11
libxcomposite
libxrandr
mesa
sbcl-cffi
sbcl-split-sequence
sbcl-trivial-garbage))
(home-page "https://github.com/lispgames/glop")
(synopsis "Direct FFI bindings for OpenGL window and context management")
(description
"This package provides Common Lisp bindings to create OpenGL window and
context manipulation code as well as system input handling. Direct FFI
bindings to system functions are used so no third party C lib is required
except system libraries.")
(license license:expat))))
(define-public ecl-glop
(sbcl-package->ecl-package sbcl-glop))
(define-public cl-glop
(sbcl-package->cl-source-package sbcl-glop))
(define-public sbcl-sdl2
(let ((commit "bb2aa2a41cf799e3bb1ddf50de41fe389c6db668")
(revision "1"))
@ -22675,3 +22743,39 @@ between Lisp objects and some binary (i.e. octet-based) representation.")
(define-public ecl-binary-types
(sbcl-package->ecl-package sbcl-binary-types))
(define-public sbcl-trivial-custom-debugger
(let ((commit "a560594a673bbcd88136af82086107ee5ff9ca81"))
(package
(name "sbcl-trivial-custom-debugger")
(version (git-version "1.0.0" "1" commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/phoe/trivial-custom-debugger")
(commit commit)))
(file-name (git-file-name "trivial-custom-debugger" version))
(sha256
(base32 "1iri5wsp9sc1f5q934cj87zd79r5dc8fda0gl7x1pz95v0wx28yk"))))
(build-system asdf-build-system/sbcl)
(native-inputs
(list sbcl-parachute))
(home-page "https://github.com/phoe/trivial-custom-debugger/")
(synopsis "Allow arbitrary functions as the standard Lisp debugger")
(description
"This is a portability library that allows one to fully override the
standard debugger provided by their Common Lisp system for situations where
binding @code{*debugger-hook*} is not enough -- most notably, for
@code{break}.")
(license license:expat))))
(define-public cl-trivial-custom-debugger
(sbcl-package->cl-source-package sbcl-trivial-custom-debugger))
(define-public ecl-trivial-custom-debugger
(package
(inherit (sbcl-package->ecl-package sbcl-trivial-custom-debugger))
(arguments
;; Tests fail on ECL: https://github.com/phoe/trivial-custom-debugger/issues/3
'(#:tests? #f))))

View File

@ -2953,23 +2953,21 @@ This is the certified version of the Open Cascade Technology (OCCT) library.")
(define-public gmsh
(package
(name "gmsh")
(version "4.9.5")
(version "4.10.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.onelab.info/gmsh/gmsh.git")
(commit
(string-append "gmsh_"
(string-replace-substring version "." "_")))))
(file-name (git-file-name name version))
(sha256
(base32 "0asd9p64ng5l2zk5glc33x3ynnvdpndlflg3q9mr0jxr7y9x0lrm"))
(modules '((guix build utils)))
(snippet
'(begin
(delete-file-recursively "contrib/metis")
#t))))
(method git-fetch)
(uri (git-reference
(url "https://gitlab.onelab.info/gmsh/gmsh.git")
(commit
(string-append "gmsh_"
(string-replace-substring version "." "_")))))
(file-name (git-file-name name version))
(sha256
(base32 "08p39yjgf3lbnjg90skpmsq9n1a9pmwppdmy5s94dc6sq2nfr7xl"))
(modules '((guix build utils)))
(snippet
'(delete-file-recursively "contrib/metis"))))
(build-system cmake-build-system)
(propagated-inputs
(list fltk
@ -2984,9 +2982,9 @@ This is the certified version of the Open Cascade Technology (OCCT) library.")
metis
opencascade-occt))
(inputs
`(("fontconfig" ,fontconfig)
("libxft" ,libxft)
("python" ,python)))
(list fontconfig
libxft
python))
(arguments
`(#:configure-flags `("-DENABLE_SYSTEM_CONTRIB:BOOL=ON"
"-DENABLE_BUILD_SHARED:BOOL=ON"
@ -3014,8 +3012,7 @@ This is the certified version of the Open Cascade Technology (OCCT) library.")
"/lib/libgmsh.so")))
(substitute* "api/gmsh.py"
(("find_library\\(\"gmsh\"\\)")
(simple-format #f "\"~a\"" libgmsh))))
#t)))))
(simple-format #f "\"~a\"" libgmsh)))))))))
(home-page "http://gmsh.info/")
(synopsis "3D finite element grid generator")
(description "Gmsh is a 3D finite element grid generator with a built-in

View File

@ -10,6 +10,7 @@
;;; Copyright © 2021, 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2021 Raphaël Mélotte <raphael.melotte@mind.be>
;;; Copyright © 2022 Paul A. Patience <paul@apatience.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -682,3 +683,63 @@ processes which keep waking up the disk unnecessarily and thus prevent some
power saving.")
(home-page "https://github.com/martinpitt/fatrace")
(license license:gpl3+)))
(define-public pw
(package
(name "pw")
(version "2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://www.kylheku.com/git/pw")
(commit (string-append "pw-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1xn3qnzz48xan78cp83hfrcifrxx9lgnm14134qhyr5wvj7dk246"))))
(build-system gnu-build-system)
(arguments
(list #:tests? #f ; There are no tests
#:make-flags
#~(list (string-append "CC=" #$(cc-for-target))
(string-append "DESTDIR=" #$output))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-makefile
(lambda _
(substitute* "Makefile"
(("/share/man/man1 \\\\") "/share/man/man1; \\"))))
(delete 'configure)
(add-before 'install 'make-install-dirs
(lambda _
(mkdir-p (string-append #$output "/bin"))
(mkdir-p (string-append #$output "/share/man/man1"))
(mkdir-p (string-append #$output "/share/man/man5")))))))
(home-page "https://www.kylheku.com/cgit/pw/")
(synopsis "Monitor recent lines of output from pipe")
(description
"@command{pw} is Pipe Watch, a utility that continuously reads lines of
text from a pipe or pipe-like source, passes them through a FIFO buffer, and
maintains a display based on the occasional sampling of the contents of the
FIFO buffer, with useful features such as triggering and filtering.
With @command{pw} you can:
@itemize
@item Interactively apply and remove filters on-the-fly, without interrupting
the source.
@item Make recurring patterns in the stream appear to ``freeze'' on the
screen, using triggers.
@item Prevent the overwhelming amount of output from a program from flooding
the terminal, while consuming all of that output so that the program isn't
blocked. @command{pw} can pause its display updates entirely.
@item Juggle multiple shell background jobs that produce output, yet execute
indefinitely without blocking. When @command{pw} runs as part of a shell
background job, it continues to consume input, process filters and take
snapshots, without displaying anything. When put into the foreground again,
display resumes.
@end itemize")
(license license:bsd-2)))

View File

@ -5374,7 +5374,7 @@ at @code{musicbrainz.org}.")
(define-public clyrics
(package
(name "clyrics")
(version "0.12")
(version "0.13")
(source
(origin
(method git-fetch)
@ -5383,7 +5383,7 @@ at @code{musicbrainz.org}.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1l9iqz6vxrrxapv7s110g360bqxksir4dcqd8w0l4lhmnfmz3vnk"))))
(base32 "0py31linlbphl18wxj5v00gggvxp9djg466mjncf5wpa147hs8r3"))))
(build-system trivial-build-system)
(inputs
(list bash ; for the wrapped program

View File

@ -3106,14 +3106,14 @@ eight bytes) tools
(define-public asio
(package
(name "asio")
(version "1.20.0")
(version "1.22.2")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/asio/asio/"
version " (Stable)/asio-" version ".tar.bz2"))
(sha256
(base32 "0335kyxdnwnp96sh9p3jq1s87qnfmp5l7hzlcdxbbwfzrb9p8hr0"))))
(base32 "0v5w9j4a02j2rkc7mrdj3ms0kfpqbgq2ipkixlz2l0p8xs0vfsvp"))))
(build-system gnu-build-system)
(inputs
(list boost openssl))
@ -3472,16 +3472,16 @@ and targeted primarily for asynchronous processing of HTTP-requests.")
(define-public opendht
(package
(name "opendht")
(version "2.3.4")
(version "2.4.9")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/savoirfairelinux/opendht")
(commit version)))
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0gp1wdpk50y0pcvlhqfw9vpms8lsrjvv63x4dh40axsvf2ix9lkj"))))
"150yxlhn8ykhck7gr1i2bppbqpfyhk0cscn5z7vyn94y5fnqkxsb"))))
(outputs '("out" "tools" "debug"))
(build-system gnu-build-system)
(arguments
@ -3491,7 +3491,6 @@ and targeted primarily for asynchronous processing of HTTP-requests.")
#:modules '(((guix build python-build-system) #:prefix python:)
(guix build gnu-build-system)
(guix build utils))
#:tests? #f ;tests require networking
#:configure-flags
#~(list "--enable-tests"
"--enable-proxy-server"
@ -3500,6 +3499,15 @@ and targeted primarily for asynchronous processing of HTTP-requests.")
"--enable-proxy-client")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'disable-problematic-tests
(lambda _
;; The dhtrunnertester test suite includes 'testListen', which
;; is sensitive to the performance/load of the machine it runs
;; on, introducing nondeterminism (see:
;; https://github.com/savoirfairelinux/opendht/issues/626).
(substitute* "tests/Makefile.am"
(("tests/dhtrunnertester.(h|cpp)$" all)
(string-append "# " all)))))
(add-after 'unpack 'fix-python-installation-prefix
;; Specify the installation prefix for the compiled Python module
;; that would otherwise attempt to installs itself to Python's own
@ -3515,6 +3523,10 @@ and targeted primarily for asynchronous processing of HTTP-requests.")
(("extra_link_args=\\[(.*)\\]" _ args)
(string-append "extra_link_args=[" args
", '-Wl,-rpath=" #$output "/lib']")))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "tests/opendht_unit_tests"))))
(add-after 'install 'move-and-wrap-tools
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((tools (assoc-ref outputs "tools"))
@ -3531,15 +3543,15 @@ and targeted primarily for asynchronous processing of HTTP-requests.")
`("GUIX_PYTHONPATH" prefix (,site-packages)))))))))
(inputs (list bash-minimal fmt readline))
(propagated-inputs
(list msgpack ;included in several installed headers
restinio ;included in opendht/http.h
(list msgpack ;included in several installed headers
restinio ;included in opendht/http.h
;; The following are listed in the 'Requires.private' field of
;; opendht.pc:
argon2
gnutls
jsoncpp
nettle
openssl)) ;required for the DHT proxy
openssl)) ;required for the DHT proxy
(native-inputs
(list autoconf
automake

View File

@ -4,6 +4,7 @@
;;; Copyright © 2021 Noisytoot <noisytoot@disroot.org>
;;; Copyright © 2021 Charles <charles.b.jackson@protonmail.com>
;;; Copyright © 2021 Philip McGrath <philip@philipmcgrath.com>
;;; Copyright © 2022 Nicolas Graves <ngraves@ngraves.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -56,6 +57,34 @@
architecture supporting plugins.")
(license license:expat)))
(define-public node-buffer-crc32
(package
(name "node-buffer-crc32")
(version "0.2.13")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/brianloveswords/buffer-crc32")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"09qx2mnd898190m50mc0rhyvbm7d677sxz9bn09qmqkz6fnsddgf"))))
(build-system node-build-system)
(arguments
'(#:tests? #f
#:phases (modify-phases %standard-phases
(replace 'configure
(lambda _
(invoke "npm" "--offline" "--ignore-scripts" "install"
"--production"))))))
(home-page "https://github.com/brianloveswords/buffer-crc32")
(synopsis "CRC32 implementation in Javascript")
(description
"This package provides a CRC32 algorithm that works with binary data
and fancy character sets, signed or unsigned data and has tests, for Node.")
(license license:expat)))
(define-public node-color-name
(package
(name "node-color-name")
@ -77,6 +106,43 @@ architecture supporting plugins.")
"This package provides a JSON list with color names and their values.")
(license license:expat)))
(define-public node-crx3
(package
(name "node-crx3")
(version "1.1.3")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ahwayakchih/crx3")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1snqyw8c3s9p2clhqh1172z0rs1was36sfxkk6acgpar32c2rwzw"))))
(build-system node-build-system)
(arguments
'(#:tests? #f
#:phases (modify-phases %standard-phases
(add-after 'unpack 'replace-mri-by-minimist
(lambda _
(substitute* "package.json"
(("\"mri\": \"\\^1\\.1\\.6\",")
"\"minimist\": \"^1.2.6\","))
(substitute* "lib/configuration.js"
(("mri")
"minimist"))))
(replace 'configure
(lambda _
(invoke "npm" "--offline" "--ignore-scripts" "install"
"--production"))))))
(inputs (list node-minimist node-pbf node-yazl))
(home-page "https://github.com/ahwayakchih/crx3")
(synopsis "Create CRXv3 browser extensions with Javascript")
(description
"This package creates web extension files (CRXv3) for Chromium versions
64.0.3242 and above and all other browsers supporting the file format and API.")
(license license:bsd-3)))
(define-public node-env-variable
(package
(name "node-env-variable")
@ -176,6 +242,33 @@ user-land JavaScript.")
random number generator.")
(license license:bsd-3)))
(define-public node-minimist
(package
(name "node-minimist")
(version "1.2.6")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/substack/minimist")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0mxj40mygbiy530wskc8l28wxb6fv3f8vrhpwjgprymhpgbaac7d"))))
(build-system node-build-system)
(arguments
'(#:tests? #f
#:phases (modify-phases %standard-phases
(replace 'configure
(lambda _
(invoke "npm" "--offline" "--ignore-scripts" "install"
"--production"))))))
(home-page "https://github.com/substack/minimist")
(synopsis "Parse CLI arguments in Javascript")
(description "This package can scan for CLI flags and arguments in
Javascript.")
(license license:expat)))
(define-public node-oop
;; No releases, last commit was February 2013.
(let ((commit "f9d87cda0958886955c14a0a716e57021ed295dc")
@ -201,6 +294,94 @@ random number generator.")
while being as light-weight and simple as possible.")
(license license:expat))))
(define-public node-pbf
(package
(name "node-pbf")
(version "3.2.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mapbox/pbf")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1r8xs787ix79yr0vrwrizdml9h7cmxjrzhvnhkj784ac5f8nv5j7"))))
(build-system node-build-system)
(arguments
'(#:tests? #f
#:phases (modify-phases %standard-phases
(replace 'configure
(lambda _
(invoke "npm" "--offline" "--ignore-scripts" "install"
"--production"))))))
(inputs (list node-ieee754 node-resolve-protobuf-schema))
(home-page "https://github.com/mapbox/pbf")
(synopsis "Decode and encode protocol buffers in Javascript")
(description
"This package is a low-level, fast and lightweight JavaScript library
for decoding and encoding protocol buffers, a compact binary format for
structured data serialization. Works both in Node and the browser.
It supports lazy decoding and detailed customization of the reading/writing
code.")
(license license:bsd-3)))
(define-public node-protocol-buffers-schema
(package
(name "node-protocol-buffers-schema")
(version "3.6.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mafintosh/protocol-buffers-schema")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0lnckxj14jzsnfxdd5kmlwrac43c214bv8i2g5rdldymlpxzrz1v"))))
(build-system node-build-system)
(arguments
'(#:tests? #f
#:phases (modify-phases %standard-phases
(replace 'configure
(lambda _
(invoke "npm" "--offline" "--ignore-scripts" "install"
"--production"))))))
(home-page "https://github.com/mafintosh/protocol-buffers-schema")
(synopsis "Protocol buffers schema parser written in Javascript")
(description "This package provides a protocol buffers schema parser
written in Javascript.")
(license license:expat)))
(define-public node-resolve-protobuf-schema
(package
(name "node-resolve-protobuf-schema")
(version "2.1.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mafintosh/resolve-protobuf-schema")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0zxavr0b2yz9xzp6zlsg5g09i0a6zqb24j12rdvfgph6wd4mzk40"))))
(build-system node-build-system)
(arguments
'(#:tests? #f
#:phases (modify-phases %standard-phases
(replace 'configure
(lambda _
(invoke "npm" "--offline" "--ignore-scripts" "install"
"--production"))))))
(inputs (list node-protocol-buffers-schema))
(home-page "https://github.com/mafintosh/resolve-protobuf-schema")
(synopsis "Resolve protobuf imports")
(description
"This package can read a protobuf schema from the disk, parse it and
resolve all imports.")
(license license:expat)))
(define-public node-stack-trace
;; There have been improvements since the last release.
(let ((commit "4fd379ee78965ce7ce8820b436f1b1b590d5dbcf")
@ -365,6 +546,33 @@ Subsequent calls will either return the cached previous value or throw an error
if desired.")
(license license:isc)))
(define-public node-ieee754
(package
(name "node-ieee754")
(version "1.2.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/feross/ieee754")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"19rlg59lavnwsvbblhvrqwinz2wzqlxhddqpwrc3cyqkscjgza7i"))))
(build-system node-build-system)
(arguments
'(#:tests? #f
#:phases (modify-phases %standard-phases
(replace 'configure
(lambda _
(invoke "npm" "--offline" "--ignore-scripts" "install"
"--production"))))))
(home-page "https://github.com/feross/ieee754")
(synopsis "Read/write IEEE754 floating point numbers in Javascript")
(description "This package can read and write IEEE754 floating point
numbers from/to a Buffer or array-like object in Javascript.")
(license license:bsd-3)))
(define-public node-inherits
(package
(name "node-inherits")
@ -1303,3 +1511,38 @@ connection.")))
accessing serial ports. This package is the recommended entry point for most
projects. It combines a high-level Node.js stream interface with a useful
default set of parsers and bindings.")))
(define-public node-yazl
(package
(name "node-yazl")
(version "2.5.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/thejoshwolfe/yazl")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1lhwqqnvazpi4xw81ldpx0ky0h1j5rcx3br480q2bnzj21cm109n"))))
(build-system node-build-system)
(arguments
'(#:tests? #f
#:phases (modify-phases %standard-phases
(replace 'configure
(lambda _
(invoke "npm" "--offline" "--ignore-scripts" "install"
"--production"))))))
(inputs (list node-buffer-crc32))
(home-page "https://github.com/thejoshwolfe/yazl")
(synopsis "Yet another zip library for node")
(description
"This package provides a zip library for Node. It follows the
following principles:
@enumerate
@item Don't block the JavaScript thread. Use and provide async APIs.
@item Keep memory usage under control. Don't attempt to buffer entire
files in RAM at once.
@item Prefer to open input files one at a time than all at once.
@end enumerate")
(license license:expat)))

View File

@ -1302,18 +1302,18 @@ allow for great power and flexibility.
(define-public gwl
(package
(name "gwl")
(version "0.4.0")
(version "0.5.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gwl/gwl-" version ".tar.gz"))
(sha256
(base32
"0sgaaq430l3dqmqqiikfb0ilxnd2cq28626y18kxx5c781qwpys9"))))
"09r22gqgaj2mxvlwvfach5j1n66y3yggmzc6d2gxq7lyywbcvjvs"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-build? #false ; for reproducibility
#:make-flags
'("GUILE_AUTO_COMPILE=0")))
'("GUILE_AUTO_COMPILE=0" "GWL_SKIP_INTEGRATION_TESTS=1")))
(native-inputs
(list autoconf automake pkg-config texinfo graphviz))
(inputs
@ -1342,8 +1342,8 @@ environments.")
(license (list license:gpl3+ license:agpl3+ license:silofl1.1))))
(define-public guix-build-coordinator
(let ((commit "a7bbf9da27120839c22cc40abc6fad651df0a762")
(revision "58"))
(let ((commit "cc884efa7ee8a481cd3dae1b93d27454ac8dfcd2")
(revision "59"))
(package
(name "guix-build-coordinator")
(version (git-version "0" revision commit))
@ -1354,7 +1354,7 @@ environments.")
(commit commit)))
(sha256
(base32
"1ryw2hpasq24zzaiz8dwn2krkb0vj3391plzfarjpvsk4058jhd5"))
"03yz8if282mvkgqn0pxlqj0h3nyjfag7a835v9s98nkqfbj1ixcl"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(arguments

View File

@ -0,0 +1,31 @@
Copyright © 2022 Oleg Pykhalov <go.wigust@gmail.com>
Create a PID file after containerd is ready to serve requests.
Fixes <https://issues.guix.gnu.org/38432>.
--- a/cmd/containerd/command/notify_linux.go 1970-01-01 03:00:01.000000000 +0300
+++ b/cmd/containerd/command/notify_linux.go 2022-07-02 04:42:35.553753495 +0300
@@ -22,15 +22,22 @@
sd "github.com/coreos/go-systemd/v22/daemon"
"github.com/containerd/containerd/log"
+
+ "os"
+ "strconv"
)
// notifyReady notifies systemd that the daemon is ready to serve requests
func notifyReady(ctx context.Context) error {
+ pidFile, _ := os.Create("/run/containerd/containerd.pid")
+ defer pidFile.Close()
+ pidFile.WriteString(strconv.FormatInt(int64(os.Getpid()), 10))
return sdNotify(ctx, sd.SdNotifyReady)
}
// notifyStopping notifies systemd that the daemon is about to be stopped
func notifyStopping(ctx context.Context) error {
+ os.Remove("/run/containerd/containerd.pid")
return sdNotify(ctx, sd.SdNotifyStopping)
}

View File

@ -1,63 +0,0 @@
From 678ffd97db2d63cf6856428bea65a93e069f812f Mon Sep 17 00:00:00 2001
From: Even Rouault <even.rouault@spatialys.com>
Date: Wed, 4 Sep 2019 16:11:37 +0200
Subject: [PATCH 1/2] Adapt test script for PROJ 6.2 EPSG database (fixes #22)
---
libgeotiff/test/testlistgeo | 8 +++++++-
libgeotiff/test/testlistgeo_out.dist | 4 ++--
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/libgeotiff/test/testlistgeo b/libgeotiff/test/testlistgeo
index 7fb4a2f..571f5d0 100755
--- a/test/testlistgeo
+++ b/test/testlistgeo
@@ -210,10 +210,15 @@ echo "Testing listgeo equidistant_cylindrical.tif" >> ${OUT}
$EXE ${DATA_DIR}/equidistant_cylindrical.tif >>${OUT}
echo "" >>${OUT}
+# Normalize for results depending on the exact version of PROJ / EPSG database
+sed "s/ETRS89-extended/ETRS89/g" < ${OUT} > ${OUT}.tmp
+mv ${OUT}.tmp ${OUT}
+
+sed "s/ETRS89-extended/ETRS89/g" < ${TEST_CLI_DIR}/testlistgeo_out.dist > testlistgeo_out.dist.tmp
# do 'diff' with distribution results
echo "diff ${OUT} with testlistgeo_out.dist"
-diff -u ${OUT} ${TEST_CLI_DIR}/testlistgeo_out.dist
+diff -u ${OUT} testlistgeo_out.dist.tmp
if [ $? -ne 0 ] ; then
echo ""
echo "PROBLEMS HAVE OCCURRED"
@@ -224,6 +229,7 @@ else
echo "TEST OK"
echo "test file ${OUT} removed"
echo
+ rm testlistgeo_out.dist.tmp
/bin/rm -f ${OUT}
exit 0
fi
diff --git a/libgeotiff/test/testlistgeo_out.dist b/libgeotiff/test/testlistgeo_out.dist
index 68a948c..c157f00 100644
--- a/test/testlistgeo_out.dist
+++ b/test/testlistgeo_out.dist
@@ -1738,11 +1738,11 @@ Geotiff_Information:
Keyed_Information:
GTModelTypeGeoKey (Short,1): ModelTypeProjected
GTRasterTypeGeoKey (Short,1): RasterPixelIsArea
- ProjectedCSTypeGeoKey (Short,1): Code-3035 (ETRS89 / LAEA Europe)
+ ProjectedCSTypeGeoKey (Short,1): Code-3035 (ETRS89-extended / LAEA Europe)
End_Of_Keys.
End_Of_Geotiff.
-PCS = 3035 (ETRS89 / LAEA Europe)
+PCS = 3035 (ETRS89-extended / LAEA Europe)
Projection = 19986 (Europe Equal Area 2001)
Projection Method: CT_LambertAzimEqualArea
ProjCenterLatGeoKey: 52.000000 ( 52d 0' 0.00"N)
From 15af10648c4cb7b4c55cbe08caaf9884c1d156d9 Mon Sep 17 00:00:00 2001
From: Even Rouault <even.rouault@spatialys.com>
Date: Wed, 4 Sep 2019 19:13:11 +0200
Subject: [PATCH 2/2] appveyor.yml: build vcpkg from source to fix issue with
VS2015

View File

@ -269,14 +269,14 @@ colors, styles, options and details.")
(define-public asymptote
(package
(name "asymptote")
(version "2.80")
(version "2.81")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/asymptote/"
version "/asymptote-" version ".src.tgz"))
(sha256
(base32 "0mhpvsjgw8av5rgkqlb0m8njc4fsfw5ddlx5121iyn29vjbx0rk2"))
(base32 "0wq0xnkxb8rsphmgls5f38ll61j8i0plh7cr1n0kldvpr14bm3kn"))
(modules '((guix build utils)))
(snippet
;; Remove bundled RapidJSON.

View File

@ -1183,7 +1183,7 @@ aggregated sum and more.")
(define-public python-pyvista
(package
(name "python-pyvista")
(version "0.34.0")
(version "0.35.1")
(source
;; The PyPI tarball does not contain the tests.
;; (However, we don't yet actually run the tests.)
@ -1194,7 +1194,7 @@ aggregated sum and more.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0f2x2wvi5pkpv5h3jrnx8zxnaj51navfqp2fdna1l9rpjgjjf94g"))))
(base32 "1rwwn8a4j3i22il6dxr2qzrnnz3n1gjbpa2p8gfzrjmzp5lzzk81"))))
(build-system python-build-system)
(propagated-inputs
(list python-appdirs

View File

@ -73,16 +73,20 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system copy)
#:use-module (guix build-system python)
#:use-module (guix gexp)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages django)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages groff)
#:use-module (gnu packages libevent)
@ -2955,6 +2959,76 @@ with python-requests.")
adapter for use with the Requests library.")
(license license:asl2.0)))
(define-public python-msal
(package
(name "python-msal")
(version "1.18.0")
(home-page
"https://github.com/AzureAD/microsoft-authentication-library-for-python")
(source (origin
(method git-fetch)
;; Pypi does not have tests.
(uri (git-reference (url home-page) (commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"02d9vlvp08q1yffgn7a0y19451py1jly67q5ld6m2d9xidbrvac1"))))
(build-system python-build-system)
(arguments
;; Tests (all?) rely on network access and only some can be disabled by
;; setting the environment variable TRAVIS_TAG.
(list #:tests? #f))
(native-inputs (list python-mock))
(propagated-inputs (list python-cryptography python-pyjwt python-requests))
(synopsis "Microsoft Authentication Library (MSAL) for Python")
(description
"The Microsoft Authentication Library for Python enables applications to
integrate with the Microsoft identity platform. It allows you to sign in
users or apps with Microsoft identities (Azure AD, Microsoft Accounts and
Azure AD B2C accounts) and obtain tokens to call Microsoft APIs such as
Microsoft Graph or your own APIs registered with the Microsoft identity
platform. It is built using industry standard OAuth2 and OpenID Connect
protocols.")
(license license:expat)))
(define-public oauth2ms
(let ((commit "a1ef0cabfdea57e9309095954b90134604e21c08")
(revision "0"))
(package
(name "oauth2ms")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/harishkrupo/oauth2ms")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0dqi6n4npdrvb42r672n4sl1jl8z5lsk554fwiiihpj0faa9dx64"))))
(build-system copy-build-system)
(arguments
(list #:install-plan #~`(("oauth2ms" "bin/oauth2ms")
("." #$(string-append "share/doc/" name "-"
version "/")
#:include-regexp ("\\.org$")))
#:phases #~(modify-phases %standard-phases
(add-after 'install 'wrap-pythonpath
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((path (getenv "GUIX_PYTHONPATH")))
(wrap-program (string-append #$output
"/bin/oauth2ms")
`("GUIX_PYTHONPATH" ":" prefix
(,path)))))))))
(inputs (list bash-minimal python python-gnupg python-msal python-pyxdg))
(home-page "https://github.com/harishkrupo/oauth2ms")
(synopsis "XOAUTH2 compatible Microsoft Office 365 token fetcher")
(description
"Oauth2ms can be used to fetch OAuth 2.0 tokens from the Microsoft Identity
endpoint. Additionally, it can encode the token in the XOAUTH2 format to be
used as authentication in IMAP mail servers.")
(license license:asl2.0))))
(define-public python-oauthlib
(package
(name "python-oauthlib")

View File

@ -5562,7 +5562,10 @@ include_dirs = ~:*~a/include~%" #$(this-package-input "openblas"))))))
;; instead of /bin/sh.
(substitute* "numpy/distutils/exec_command.py"
(("'/bin/sh'")
(format #f "~s" (search-input-file inputs "bin/bash"))))))
(format #f "~s" (search-input-file inputs "bin/bash"))))
;; Don't try to call '/bin/true' specifically.
(substitute* "numpy/core/tests/test_cpu_features.py"
(("/bin/true") (search-input-file inputs "bin/true")))))
(replace 'check
(lambda* (#:key tests? outputs inputs #:allow-other-keys)
(when tests?
@ -16223,7 +16226,11 @@ graphviz.")
"test__doctests.py"
"test__all__.py"
"test___config.py"
"test__execmodules.py")))
"test__execmodules.py"
;; This test contains 'test_unlink', which
;; fails on i686 (see:
;; https://github.com/gevent/gevent/issues/1558).
"test__core_stat.py")))
(call-with-output-file "skipped_tests.txt"
(lambda (port)
(format port "~a~%"
@ -30086,6 +30093,26 @@ profile. It supports:
Currently, Linux is the only platform supported by this library.")
(license license:expat)))
(define-public python-clrprint
(package
(name "python-clrprint")
(version "2.0.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "clrprint" version))
(sha256
(base32
"0xfn8d1by2w7pjiji887qljk1avn4fylbnz1mj28gysm5g0zvy43"))))
(build-system python-build-system)
(arguments '(#:tests? #f)) ;there are no tests
(propagated-inputs (list python-colorama python-termcolor))
(home-page "https://github.com/AbhijithAJ/clrprint")
(synopsis "Print colorful output in the terminal")
(description "@code{clrprint} is developed to print colorful output in the
terminal. It has red, blue, green, yellow, purple and black/white (default)
colors.")
(license license:expat)))
(define-public python-musical-scales
(package
(name "python-musical-scales")
@ -30155,3 +30182,24 @@ GeoPackage Binary")
GeoJSON to WKT/WKB (Well-Known Text/Binary) or GeoPackage Binary, and vice
versa. Extended WKB/WKT are also supported.")
(license license:asl2.0)))
(define-public python-bsdiff4
(package
(name "python-bsdiff4")
(version "1.2.2")
(home-page "https://github.com/ilanschnell/bsdiff4")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1fa0vkmbr0a9xifq7i5gfcf7ifn739i1fdij8awynm299fsqvvhx"))))
(build-system python-build-system)
(synopsis "Binary diff and patch using the BSDIFF4 format")
(description "This package provides a Python library for the @code{bsdiff}
binary diff utility. It also provides two command-line tools, @code{bsdiff4}
and @code{bspatch4}.")
(license license:bsd-2)))

View File

@ -19,7 +19,7 @@
;;; Copyright © 2020 TomZ <tomz@freedommail.ch>
;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2021, 2022 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
@ -55,6 +55,7 @@
#:use-module (guix deprecation)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages bash)
#:use-module (gnu packages base)
#:use-module (gnu packages bison)
#:use-module (gnu packages cmake)
@ -84,6 +85,7 @@
#:use-module (gnu packages linux)
#:use-module (gnu packages llvm)
#:use-module (gnu packages maths)
#:use-module (gnu packages markup)
#:use-module (gnu packages networking)
#:use-module (gnu packages ninja)
#:use-module (gnu packages node)
@ -552,13 +554,13 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(define-public qtbase
(package/inherit qtbase-5
(name "qtbase")
(version "6.1.1")
(version "6.3.1")
(source (origin
(inherit (package-source qtbase-5))
(uri (qt5-urls name version))
(sha256
(base32
"1wizrfiw6h8bk99brbdpdli40vsk6yqchs66f1r083hp0ygsma11"))
"00sfya41ihqb0zwg6wf1kiy02iymj6mk584hhk2c4s94khfl4r0a"))
(modules '((guix build utils)))
(snippet
;; corelib uses bundled harfbuzz, md4, md5, sha3
@ -577,8 +579,6 @@ developers using C++ or QML, a CSS & JavaScript like language.")
;; enough) or a functional network. It's also quite expensive to
;; build and run.
((#:tests? _ #f) #f)
;; ((#:cmake _)
;; cmake) ;requires a CMake >= 3.18.4
((#:configure-flags _ ''())
`(let ((out (assoc-ref %outputs "out")))
(list "-GNinja" ;the build fails otherwise
@ -604,6 +604,7 @@ developers using C++ or QML, a CSS & JavaScript like language.")
;; cases such as for those below.
"-DFEATURE_system_pcre2=ON"
"-DFEATURE_system_sqlite=ON"
"-DFEATURE_system_xcb_xinput=ON"
;; Don't use the precompiled headers.
"-DBUILD_WITH_PCH=OFF"
;; Drop special machine instructions that do not have runtime
@ -620,67 +621,79 @@ developers using C++ or QML, a CSS & JavaScript like language.")
"-DFEATURE_mips_dsp=OFF"
"-DFEATURE_mips_dspr2=OFF")))
((#:phases phases)
`(modify-phases ,phases
(delete 'patch-bin-sh)
(delete 'patch-xdg-open)
(add-after 'patch-paths 'patch-more-paths
(lambda _
(substitute* "src/gui/platform/unix/qgenericunixservices.cpp"
(("\"xdg-open\"")
(format #f "~s" (which "xdg-open"))))
(substitute* '("mkspecs/features/qt_functions.prf"
"qmake/library/qmakebuiltins.cpp")
(("/bin/sh")
(which "sh")))))
(replace 'configure
(assoc-ref %standard-phases 'configure))
(replace 'build
(lambda* (#:key parallel-build? #:allow-other-keys)
(apply invoke "cmake" "--build" "."
(if parallel-build?
`("--parallel" ,(number->string (parallel-job-count)))
'()))))
(replace 'install
(lambda _
(invoke "cmake" "--install" ".")))
(replace 'patch-mkspecs
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(archdata (string-append out "/lib/qt6"))
(mkspecs (string-append archdata "/mkspecs"))
(qt_config.prf (string-append
mkspecs "/features/qt_config.prf")))
;; For each Qt module, let `qmake' uses search paths in the
;; module directory instead of all in QT_INSTALL_PREFIX.
(substitute* qt_config.prf
(("\\$\\$\\[QT_INSTALL_HEADERS\\]")
"$$clean_path($$replace(dir, mkspecs/modules, ../../include/qt6))")
(("\\$\\$\\[QT_INSTALL_LIBS\\]")
"$$clean_path($$replace(dir, mkspecs/modules, ../../lib))")
(("\\$\\$\\[QT_HOST_LIBS\\]")
"$$clean_path($$replace(dir, mkspecs/modules, ../../lib))")
(("\\$\\$\\[QT_INSTALL_BINS\\]")
"$$clean_path($$replace(dir, mkspecs/modules, ../../bin))"))
#~(modify-phases #$phases
(delete 'patch-bin-sh)
(delete 'patch-xdg-open)
(add-after 'patch-paths 'patch-more-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/gui/platform/unix/qgenericunixservices.cpp"
(("\"xdg-open\"")
(format #f "~s" (search-input-file inputs "bin/xdg-open"))))
(substitute* '("mkspecs/features/qt_functions.prf"
"qmake/library/qmakebuiltins.cpp")
(("/bin/sh")
(search-input-file inputs "bin/bash")))
(substitute* "src/corelib/CMakeLists.txt"
(("/bin/ls")
(search-input-file inputs "bin/ls")))))
(replace 'configure
(assoc-ref %standard-phases 'configure))
(replace 'build
(lambda* (#:key parallel-build? #:allow-other-keys)
(apply invoke "cmake" "--build" "."
(if parallel-build?
`("--parallel" ,(number->string (parallel-job-count)))
'()))))
(replace 'install
(lambda _
(invoke "cmake" "--install" ".")))
(replace 'patch-mkspecs
(lambda* (#:key outputs #:allow-other-keys)
(let* ((archdata (search-input-directory outputs "lib/qt6"))
(mkspecs (search-input-directory outputs
"lib/qt6/mkspecs"))
(qt_config.prf
(search-input-file
outputs "lib/qt6/mkspecs/features/qt_config.prf"))
(qt_functions.prf
(search-input-file
outputs "lib/qt6/mkspecs/features/qt_functions.prf")))
;; For each Qt module, let `qmake' uses search paths in the
;; module directory instead of all in QT_INSTALL_PREFIX.
(substitute* qt_config.prf
(("\\$\\$\\[QT_INSTALL_HEADERS\\]")
"$$clean_path($$replace(dir, mkspecs/modules, ../../include/qt6))")
(("\\$\\$\\[QT_INSTALL_LIBS\\]")
"$$clean_path($$replace(dir, mkspecs/modules, ../../lib))")
(("\\$\\$\\[QT_HOST_LIBS\\]")
"$$clean_path($$replace(dir, mkspecs/modules, ../../lib))")
(("\\$\\$\\[QT_INSTALL_BINS\\]")
"$$clean_path($$replace(dir, mkspecs/modules, ../../bin))"))
;; Searches Qt tools in the current PATH instead of QT_HOST_BINS.
(substitute* (string-append mkspecs "/features/qt_functions.prf")
(("cmd = \\$\\$\\[QT_HOST_BINS\\]/\\$\\$2")
"cmd = $$system(which $${2}.pl 2>/dev/null || which $${2})"))
;; Searches Qt tools in the current PATH instead of QT_HOST_BINS.
(substitute* qt_functions.prf
(("cmd = \\$\\$\\[QT_HOST_BINS\\]/\\$\\$2")
"cmd = $$system(which $${2}.pl 2>/dev/null || which $${2})"))
;; Resolve qmake spec files within qtbase by absolute paths.
(substitute*
(map (lambda (file)
(string-append mkspecs "/features/" file))
'("device_config.prf" "moc.prf" "qt_build_config.prf"
"qt_config.prf"))
(("\\$\\$\\[QT_HOST_DATA/get\\]") archdata)
(("\\$\\$\\[QT_HOST_DATA/src\\]") archdata)))))))))
;; Resolve qmake spec files within qtbase by absolute paths.
(substitute*
(map (lambda (file)
(search-input-file
outputs
(string-append "lib/qt6/mkspecs/features/" file)))
'("device_config.prf" "moc.prf" "qt_build_config.prf"
"qt_config.prf"))
(("\\$\\$\\[QT_HOST_DATA/get\\]") archdata)
(("\\$\\$\\[QT_HOST_DATA/src\\]") archdata)))))))))
(native-inputs
`(("gtk+" ,gtk+) ;for GTK theme support
("ninja" ,ninja)
("wayland-protocols" ,wayland-protocols)
("xorg-server" ,xorg-server-for-tests)
,@(package-native-inputs qtbase-5)))
(modify-inputs (package-native-inputs qtbase-5)
(prepend gtk ;for GTK theme support
ninja wayland-protocols)))
(inputs
(modify-inputs (package-inputs qtbase-5)
(prepend bash-minimal libxcb md4c)
(replace "gtk+" gtk) ;use latest gtk
(replace "postgresql" postgresql))) ;use latest postgresql
(native-search-paths
(list (search-path-specification
(variable "QMAKEPATH")

View File

@ -2,7 +2,7 @@
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019, 2022 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -22,6 +22,7 @@
(define-module (gnu packages slang)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module ((guix licenses) #:prefix license:)
@ -47,31 +48,29 @@
"06p379fqn6w38rdpqi98irxi2bf4llb0rja3dlgkqz7nqh7kp7pw"))
(modules '((guix build utils)))
(snippet
'(begin
(substitute* "src/Makefile.in"
(("/bin/ln") "ln"))
#t))))
#~(begin
(substitute* "src/Makefile.in"
(("/bin/ln") "ln"))))))
(build-system gnu-build-system)
(arguments
'(#:parallel-tests? #f
#:parallel-build? #f ; there's at least one race
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'reduce-array-test-size
;; Reduce the size of the array, otherwise the array.sl/array.slc
;; tests fails with "Unable to create a multi-dimensional array of
;; the desired size" on 32 bit systems.
(lambda _
(substitute* "src/test/array.sl"
(("10000,10000,10000,10000,10000,10000")
"10,10,10,10,10,10"))))
(add-before 'configure 'substitute-before-config
(lambda* (#:key inputs #:allow-other-keys)
(let ((ncurses (assoc-ref inputs "ncurses")))
(substitute* "configure"
(("MISC_TERMINFO_DIRS=\"\"")
(string-append "MISC_TERMINFO_DIRS="
"\"" ncurses "/share/terminfo" "\"")))))))))
(list #:parallel-tests? #f
#:parallel-build? #f ; race to build/use elfobj
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'reduce-array-test-size
;; Fix array.sl/array.slc failure on 32-bit systems ("Unable to
;; to create a multi-dimensional array of the desired size").
(lambda _
(substitute* "src/test/array.sl"
(("10000,10000,10000,10000,10000,10000")
"10,10,10,10,10,10"))))
(add-before 'configure 'fix-configure-script
;; Don't try to link to the long-obsolete (and gone) -ltermcap.
(lambda _
(substitute* "configure"
(("(MISC_TERMINFO_DIRS)=.*" _ variable)
(format #f "~a=\"~a/share/terminfo\"\n" variable
#$(this-package-input "ncurses")))))))))
(inputs
(list readline zlib libpng pcre ncurses))
(home-page "https://www.jedsoft.org/slang/")
@ -87,6 +86,51 @@ interpreter, it may also be used in a stand-alone fashion through the use of
slsh, which is part of the S-Lang distribution.")
(license license:gpl2+)))
(define-public most
(package
(name "most")
(version "5.1.0")
(source
(origin
(method url-fetch)
(uri (string-append "http://www.jedsoft.org/releases/most/most-"
version ".tar.gz"))
(sha256
(base32 "008537ns659pw2aag15imwjrxj73j26aqq90h285is6kz8gmv06v"))
(modules '((guix build utils)))
(snippet
#~(begin
(substitute* "src/Makefile.in"
(("/bin/cp") "cp"))))))
(build-system gnu-build-system)
(arguments
(list #:configure-flags
#~(list (string-append "--with-slang="
#$(this-package-input "slang")))
#:tests? #f ; no test suite
#:phases
#~(modify-phases %standard-phases
(add-before 'configure 'fix-configure-script
;; Don't try to link to the long-obsolete (and gone) -ltermcap.
(lambda _
(substitute* "configure"
(("(MISC_TERMINFO_DIRS)=.*" _ variable)
(format #f "~a=\"~a/share/terminfo\"\n" variable
#$(this-package-input "ncurses")))))))))
(inputs
(list ncurses slang))
(home-page "https://www.jedsoft.org/most/")
(synopsis
"@dfn{Pager} (terminal text viewer) with multiple windows and filters")
(description
"Most is a paging text viewer. It displays the contents of a file or the
output of a command on the terminal, one screenful at a time, and lets you
scroll up and down to (re)view the entire text.
You can open multiple windows within @command{most} to view different files, or
to inspect different parts of the same file, at the same time.")
(license license:gpl2+)))
(define-public newt
(package
(name "newt")

View File

@ -113,10 +113,10 @@ is in the public domain.")
(define-public sqlite-next
(package
(inherit sqlite)
(version "3.37.0")
(version "3.39.1")
(source (origin
(method url-fetch)
(uri (sqlite-uri version 2021))
(uri (sqlite-uri version 2022))
(sha256
(base32
"1xvrfh2r5x5pljlvakym3zrhml2dvsr8dd8xsb3nzcylsi8lc6kk"))))))
"1i0wjd1mig720q1gk9jkpw6h0mialbrlkfh8w8lans0czakygj47"))))))

View File

@ -11034,3 +11034,51 @@ settings to typeset Dutch documents.")
Finnish in @code{babel}. It provides all the necessary macros, definitions and
settings to typeset Finnish documents.")
(license license:lppl1.3c+))))
(define-public texlive-generic-babel-norsk
(package
(name "texlive-generic-babel-norsk")
(version (number->string %texlive-revision))
(source (origin
(method svn-fetch)
(uri (texlive-ref "generic" "babel-norsk"))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1yf538l2isxgmab8jslxxx5fbdk4njf147n4raf5vyw3l4slxm6m"))))
(build-system texlive-build-system)
(arguments '(#:tex-directory "generic/babel-norsk"))
(home-page "https://www.ctan.org/pkg/babel-norsk")
(synopsis "Babel support for Norwegian")
(description
"The package provides the language definition file for support of
Norwegian in @code{babel}. Some shortcuts are defined, as well as translations
to Norsk of standard LaTeX names.")
(license license:lppl1.3+)))
(define-public texlive-babel-danish
(let ((template (simple-texlive-package
"texlive-babel-danish"
(list "/source/generic/babel-danish/")
(base32
"00dryb078fqckqjnxa2riq478j6d5i28j5cclv4bw7dn5naa3lz7"))))
(package
(inherit template)
(arguments
(substitute-keyword-arguments (package-arguments template)
((#:tex-directory _ '())
"generic/babel-danish")
((#:build-targets _ '())
''("danish.ins")) ; TODO: use dtx and build documentation
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'chdir
(lambda _
(chdir "source/generic/babel-danish")))))))
(home-page "https://www.ctan.org/pkg/babel-danish")
(synopsis "Babel support for Danish")
(description
"This package provides the language definition file for support of
Danish in @code{babel}. It provides all the necessary macros, definitions and
settings to typeset Danish documents.")
(license license:lppl1.3c+))))

View File

@ -167,7 +167,7 @@ based command language.")
(define-public kakoune
(package
(name "kakoune")
(version "2021.08.28")
(version "2021.11.08")
(source
(origin
(method url-fetch)
@ -175,7 +175,7 @@ based command language.")
"releases/download/v" version "/"
"kakoune-" version ".tar.bz2"))
(sha256
(base32 "1jvn4b9rma5jjvg3xz8nf224pbq3ry570j6qvc834wn5v3gxfvkg"))))
(base32 "1x5mvmpf0rgmr2xdw5wjn4hr6qd8yvj0zx588fi324x1knfqhc5a"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
@ -191,14 +191,9 @@ based command language.")
(substitute* "src/shell_manager.cc"
(("if \\(m_shell.empty\\(\\)\\)" line)
(string-append "m_shell = \"" (which "sh")
"\";\n " line)))
#t))
(delete 'configure) ; no configure script
;; kakoune requires us to be in the src/ directory to build.
(add-before 'build 'chdir
(lambda _ (chdir "src") #t)))))
(native-inputs
(list asciidoc pkg-config ruby))
"\";\n " line)))))
(delete 'configure)))) ; no configure script
(native-inputs (list pkg-config))
(synopsis "Vim-inspired code editor")
(description
"Kakoune is a code editor heavily inspired by Vim, as such most of its

View File

@ -2,6 +2,7 @@
;;; Copyright © 2017, 2018, 20202022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Jesse Gibbons <jgibbons2357+guix@gmail.com>
;;; Copyright © 2019, 2020, 2021 Timotej Lazar <timotej.lazar@araneo.si>
;;; Copyright © 2019 Liliana Marie Prikler <liliana.prikler@gmail.com>
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021 Leo Famulari <leo@famulari.name>
;;;
@ -38,6 +39,46 @@
#:use-module (guix packages)
#:use-module (guix utils))
(define-public lolcat
(let ((commit "35dca3d0a381496d7195cd78f5b24aa7b62f2154")
(revision "0"))
(package
(name "lolcat")
(version (git-version "1.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jaseg/lolcat")
(commit commit)))
(sha256
(base32
"0jjbkqcc2ikjxd1xgdyv4rb0vsw218181h89f2ywg29ffs3ypd8g"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no check target
#:make-flags
(list ,(string-append "CC=" (cc-for-target)))
#:phases
(modify-phases %standard-phases
(delete 'bootstrap)
(delete 'configure)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(dest (string-append out "/bin")))
(mkdir-p dest)
(install-file "lolcat" dest)
(install-file "censor" dest)
#t))))))
(home-page "https://github.com/jaseg/lolcat")
(synopsis "Rainbow coloring effect for text console display")
(description "@command{lolcat} concatenates files and streams like
regular @command{cat}, but it also adds terminal escape codes between
characters and lines resulting in a rainbow effect.")
(license license:wtfpl2))))
(define-public oneko
(package
(name "oneko")

View File

@ -2439,7 +2439,7 @@ from Subversion to any supported Distributed Version Control System (DVCS).")
(define-public tig
(package
(name "tig")
(version "2.5.5")
(version "2.5.6")
(source (origin
(method url-fetch)
(uri (string-append
@ -2447,7 +2447,12 @@ from Subversion to any supported Distributed Version Control System (DVCS).")
version "/tig-" version ".tar.gz"))
(sha256
(base32
"04skfsw5wkf6p47lis7x4xyfbpjik3id1km75q0fd2g8xa5jrfi4"))))
"0pwn7mlfnd5ngcbagjs9vsr7jgmia8676p0i91vvfl4v6qrmzfsh"))
(modules '((guix build utils)))
(snippet
'(begin
;; TODO: Delete and rebuild doc/*.(1|5|7).
(for-each delete-file (find-files "doc" "\\.html$"))))))
(build-system gnu-build-system)
(native-inputs
(list asciidoc xmlto))
@ -2458,7 +2463,17 @@ from Subversion to any supported Distributed Version Control System (DVCS).")
(modify-phases %standard-phases
(add-after 'install 'install-doc
(lambda _
(invoke "make" "install-doc"))))
(invoke "make" "install-doc")))
(add-after 'install 'install-completions
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(share (string-append out "/share")))
(mkdir-p (string-append share "/bash-completion/completions"))
(mkdir-p (string-append share "/zsh/site-functions"))
(copy-file "contrib/tig-completion.bash"
(string-append share "/bash-completion/completions/tig"))
(copy-file "contrib/tig-completion.zsh"
(string-append share "/zsh/site-functions/_tig"))))))
#:test-target "test"
#:tests? #f)) ; tests require access to /dev/tty
(home-page "https://jonas.github.io/tig/")
@ -2678,20 +2693,25 @@ by rclone usable with git-annex.")
(define-public fossil
(package
(name "fossil")
(version "2.17")
(version "2.18")
(source
(origin
(method url-fetch)
(uri (string-append
"https://www.fossil-scm.org/home/tarball/"
"f48180f2ff3169651a725396d4f7d667c99a92873b9c3df7eee2f144be7a0721"
"84f25d7eb10c0714109d69bb2809abfa8b4b5c3d73b151a5b10df724dacd46d8"
"/fossil-src-" version ".tar.gz"))
;; XXX: Currently the above hash must be manually updated.
(sha256
(base32 "1gvx6xzrw1a8snlq9qmr6099r44ifghg0h0fw4jazqmmyxriqzsw"))
(base32 "0cq7677p84nnbfvk2dsh3c3y900gslw3zaw8iipfq932vmf1s31h"))
(modules '((guix build utils)))
(snippet
'(begin
(delete-file-recursively "compat") #t))))
(delete-file-recursively "compat")
;; Disable obsolete SQLite feature check; remove for 2.19.
(substitute* "tools/sqlcompattest.c"
((".*\"ENABLE_JSON1\".*")
""))))))
(build-system gnu-build-system)
(native-inputs
(list tcl ;for configuration only
@ -2728,6 +2748,9 @@ by rclone usable with git-annex.")
"Fossil is a distributed source control management system which supports
access and administration over HTTP CGI or via a built-in HTTP server. It has
a built-in wiki, built-in file browsing, built-in tickets system, etc.")
(properties
'((release-monitoring-url
. "https://fossil-scm.org/home/uv/latest-release.md")))
(license (list license:public-domain ;src/miniz.c, src/shell.c
license:bsd-2))))

View File

@ -333,6 +333,7 @@ the SVT-HEVC encoder, it is possible to spread video encoding processing across
multiple Intel's Xeon processors to achieve a real advantage of processing
efficiency.")
(home-page "https://01.org/svt")
(supported-systems '("x86_64-linux" "i686-linux"))
(license (license:non-copyleft "file:///LICENSE.md"))))
(define-public mediasdk
@ -375,6 +376,7 @@ efficiency.")
(description "MediaSDK provides a plain C API to access hardware-accelerated
video decode, encode and filtering on Intel's Gen graphics hardware platforms.")
(home-page "http://mediasdk.intel.com/")
(supported-systems '("x86_64-linux" "i686-linux"))
(license (license:non-copyleft "file:///LICENSE"))))
(define-public schroedinger
@ -691,13 +693,17 @@ touchscreen devices and the ability to apply filters to their input events.")
(("\\(A52DIR\\)/include")
"(A52DIR)/include/a52dec")
(("LIBS = " match)
(string-append match "-la52 ")))
#t))
(string-append match "-la52 ")))))
(add-after 'unpack 'preseed-cflags
(lambda _
(setenv "CFLAGS"
(string-append "-D_FILE_OFFSET_BITS=64 "
"-D_LARGEFILE_SOURCE "
"-D_LARGEFILE64_SOURCE"))))
(add-before 'install 'create-destination-directory
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (string-append (assoc-ref outputs "out"))))
(mkdir-p (string-append out "/bin"))
#t))))))
(mkdir-p (string-append out "/bin"))))))))
(native-inputs
(list nasm))
(inputs
@ -4915,7 +4921,7 @@ video from a Wayland session.")
(define-public gaupol
(package
(name "gaupol")
(version "1.9")
(version "1.11")
(source (origin
(method git-fetch)
(uri (git-reference
@ -4924,7 +4930,7 @@ video from a Wayland session.")
(file-name (git-file-name name version))
(sha256
(base32
"1mmjg8nwhif2hmmp8i11643izwzdf839brqdai3ksfg0qkh8rnxk"))))
"01qbhhycmy26b2mw2jlri321k478jhp7y0jzlcv87iaq05qr4pc8"))))
(build-system python-build-system)
(native-inputs
`(("gettext" ,gettext-minimal)

View File

@ -1163,7 +1163,7 @@ public keys and can roam across IP addresses.")
(define-public xl2tpd
(package
(name "xl2tpd")
(version "1.3.16")
(version "1.3.17")
(source (origin
(method git-fetch)
(uri (git-reference
@ -1172,7 +1172,7 @@ public keys and can roam across IP addresses.")
(file-name (git-file-name name version))
(sha256
(base32
"0is5ccrvijz0pfm45pfrlbb9y8231yz3c4zqs8mkgakl9rxajy6l"))))
"06aiidwygywaa1jn8m2pw8l3vnsc2bjnacbjmlsdy1cqgr1f5cc9"))))
(build-system gnu-build-system)
(arguments
(list

View File

@ -381,14 +381,14 @@ the same, being completely separated from the Internet.")
;; Track the mainline branch. Upstream considers it more reliable than
;; stable and recommends that “in general you deploy the NGINX mainline
;; branch at all times” (https://www.nginx.com/blog/nginx-1-6-1-7-released/)
(version "1.21.6")
(version "1.23.0")
(source (origin
(method url-fetch)
(uri (string-append "https://nginx.org/download/nginx-"
version ".tar.gz"))
(sha256
(base32
"1bh52jqqcaj5wlh2kvhxr00jhk2hnk8k97ki4pwyj4c8920p1p36"))))
"1lacv4gb72n7f93smy098y122aaz9bxdxxkjksgbwwljbfiwl2l2"))))
(build-system gnu-build-system)
(inputs (list libxml2 libxslt openssl pcre zlib))
(arguments
@ -476,9 +476,9 @@ and as a proxy to reduce the load on back-end HTTP or mail servers.")
(define-public nginx-documentation
;; This documentation should be relevant for the current nginx package.
(let ((version "1.21.6")
(revision 2829)
(changeset "1ecf0e0526da"))
(let ((version "1.23.0")
(revision 2862)
(changeset "cf7551842617"))
(package
(name "nginx-documentation")
(version (simple-format #f "~A-~A-~A" version revision changeset))
@ -490,7 +490,7 @@ and as a proxy to reduce the load on back-end HTTP or mail servers.")
(file-name (string-append name "-" version))
(sha256
(base32
"1r3y9wv4bhji5b16ljb557llf6ih3z2mzgwbia79h7223468w3fg"))))
"1qfrcakj6dzdypn01dngjqvsi4b4fsbpxziy5m2x1rs1z6gv7ia3"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no test suite
@ -4652,8 +4652,8 @@ CDF, Atom 0.3, and Atom 1.0 feeds.")
license:freebsd-doc)))) ; documentation
(define-public guix-data-service
(let ((commit "39487cd7e6df7f50f21af15b26f9ec616709f21d")
(revision "32"))
(let ((commit "ee73d2cc9857533020535eb8e1ad856e04fb5152")
(revision "33"))
(package
(name "guix-data-service")
(version (string-append "0.0.1-" revision "." (string-take commit 7)))
@ -4665,7 +4665,7 @@ CDF, Atom 0.3, and Atom 1.0 feeds.")
(file-name (git-file-name name version))
(sha256
(base32
"0xynndlx711spak3s5lzzip8x9bccrzrs5vlrm6jj2ppgrrjsc8h"))))
"0rmx728md50nlka61f4gma58avplyaf32k71hazprijdqii2vkgf"))))
(build-system gnu-build-system)
(arguments
'(#:modules ((guix build utils)

View File

@ -2715,6 +2715,63 @@ which do not support it.")
(description "wlogout is a logout menu for Wayland environments.")
(license license:expat)))
(define-public berry
(package
(name "berry")
(version "0.1.11")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jlervin/berry")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1qyq3g0m7rb9gpk1i5kfy9nr8sqivjiilbi4g0nw4d400rblvkbj"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; There are no tests.
#:make-flags
,#~(list (string-append "CC=" #$(cc-for-target))
(string-append "prefix=" #$output)
(string-append "CFLAGS="
"-I" (assoc-ref %build-inputs "freetype")
"/include/freetype2"))
#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-after 'build 'install-xsession
(lambda* (#:key outputs #:allow-other-keys)
(let* ((output (assoc-ref outputs "out"))
(xsessions (string-append output "/share/xsessions")))
(mkdir-p xsessions)
(with-output-to-file (string-append xsessions "/berry.desktop")
(lambda _
(format #t
"\
[Desktop Entry]~@
Name=berry~@
Comment=Berry Window Manager~@
Exec=~a/bin/berry~@
TryExec=~@*~a/bin/berry~@
Icon=~@
Type=Application~%"
output)))))))))
(native-inputs
(list pkg-config))
(inputs
(list freetype
fontconfig
libxext
libx11
libxft
libxinerama))
(home-page "https://berrywm.org/")
(synopsis "Healthy, byte-sized window manager")
(description
"@code{berry} is a healthy, bite-sized window manager written in C using XLib.")
(license license:expat)))
(define-public avizo
(package
(name "avizo")

View File

@ -302,7 +302,7 @@ upstream occasionally.")
(define-public exo
(package
(name "exo")
(version "4.16.3")
(version "4.16.4")
(source (origin
(method url-fetch)
(uri (string-append "https://archive.xfce.org/src/xfce/"
@ -310,7 +310,7 @@ upstream occasionally.")
"exo-" version ".tar.bz2"))
(sha256
(base32
"1rpsp37n5l3qxinv37rz5l4rvja7yaf8hqsy81jhlgz27wygybbj"))))
"1jifknw0chyaismj94mrx9pbhnd7ridm25bn1d15q7lgwxkhr9c2"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config intltool))
@ -579,7 +579,7 @@ applications, and includes a search bar to search for applications.")
(define-public xfce4-xkb-plugin
(package
(name "xfce4-xkb-plugin")
(version "0.8.2")
(version "0.8.3")
(source (origin
(method url-fetch)
(uri (string-append "https://archive.xfce.org/src/panel-plugins/"
@ -587,7 +587,7 @@ applications, and includes a search bar to search for applications.")
name "-" version ".tar.bz2"))
(sha256
(base32
"0rvrz464y7ji989zvi2v85kg47444nqsdq9rv6k8dkbkdwzy2jxv"))))
"11s9s0634g9rf5hcj6nga6hsv71wcq9c7ym6nsis077gfmwfkgzh"))))
(build-system gnu-build-system)
(native-inputs
(list intltool pkg-config))
@ -693,7 +693,7 @@ allows you to shut down the computer from Xfce.")
(define-public xfce4-settings
(package
(name "xfce4-settings")
(version "4.16.2")
(version "4.16.3")
(source (origin
(method url-fetch)
(uri (string-append "https://archive.xfce.org/src/xfce/"
@ -701,7 +701,7 @@ allows you to shut down the computer from Xfce.")
name "-" version ".tar.bz2"))
(sha256
(base32
"0zixl1yiksavp3a824hqczxx5q3l09f0ng37gxl5wlv0111cpmsd"))
"0r4fmcmqzik9a1cflm3jck40pmbbgn8viffygq5jq54fdp9fd6gj"))
(patches (search-patches "xfce4-settings-defaults.patch"))))
(build-system gnu-build-system)
(arguments
@ -1155,7 +1155,7 @@ inhibit interface which allows applications to prevent automatic sleep.")
(define-public ristretto
(package
(name "ristretto")
(version "0.12.2")
(version "0.12.3")
(source (origin
(method url-fetch)
(uri (string-append "https://archive.xfce.org/src/apps/ristretto/"
@ -1163,7 +1163,7 @@ inhibit interface which allows applications to prevent automatic sleep.")
"ristretto-" version ".tar.bz2"))
(sha256
(base32
"0sfrvb19xkiphcp2ddqxgvh9hbramlm6qi7sv99s407c4acqdvhf"))))
"0gizrn49ayamb1sqfxi3mdxas9dz4dw1sv3iyji718az48hp13w6"))))
(build-system gnu-build-system)
(native-inputs
(list intltool desktop-file-utils
@ -1305,7 +1305,7 @@ of data to either CD/DVD/BD.")
(define-public mousepad
(package
(name "mousepad")
(version "0.5.9")
(version "0.5.10")
(source (origin
(method url-fetch)
(uri (string-append "https://archive.xfce.org/src/apps/mousepad/"
@ -1313,7 +1313,7 @@ of data to either CD/DVD/BD.")
version ".tar.bz2"))
(sha256
(base32
"0wzlcwhvpnig6123k83fsmrfjq5x1pqncxmnd8k2fmzccz0sh27i"))))
"1b9bal9wxmgpff6r7k48gnkd0vla7xljmiahjq6mdrdyaa6z7fkf"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '(;; Use the GSettings keyfile backend rather than
@ -2070,7 +2070,7 @@ for the Xfce panel. It supports several features, such as:
(define-public xfce4-wavelan-plugin
(package
(name "xfce4-wavelan-plugin")
(version "0.6.2")
(version "0.6.3")
(source (origin
(method url-fetch)
(uri (string-append "https://archive.xfce.org/src/panel-plugins/"
@ -2079,7 +2079,7 @@ for the Xfce panel. It supports several features, such as:
"/xfce4-wavelan-plugin-" version ".tar.bz2"))
(sha256
(base32
"07a8nmc60in48licjj0gmwm77vb8divh1lb7jnib35n5a1ka6ypa"))))
"0azpv0s3r4ag3gp0bsfvq0jgzycx6ivdsw5p0ga7425pdksw5h31"))))
(build-system gnu-build-system)
(native-inputs
(list intltool pkg-config))

View File

@ -5132,7 +5132,7 @@ by the Xorg server.")
(define-public xorg-server
(package
(name "xorg-server")
(version "21.1.2")
(version "21.1.4")
(source
(origin
(method url-fetch)
@ -5140,7 +5140,7 @@ by the Xorg server.")
"/xserver/xorg-server-" version ".tar.xz"))
(sha256
(base32
"1c4dgvpv3kib8rhw37b00vc056nlb1z66c2lwzs4prz8kxmg82y2"))
"11y5w6z3rz3i4jyv0wc3scd2jh3bsmcklq0fm7a5invywj7bxi2w"))
(patches
(list
;; See:

View File

@ -98,6 +98,8 @@ loop-back communications.")
;; For finding containerd-shim binary.
#:environment-variables
(list (string-append "PATH=" #$containerd "/bin"))
#:pid-file "/run/containerd/containerd.pid"
#:pid-file-timeout 300
#:log-file "/var/log/containerd.log"))
(stop #~(make-kill-destructor)))))
@ -135,7 +137,8 @@ loop-back communications.")
'("--userland-proxy=false"))
(if #$enable-iptables?
"--iptables"
"--iptables=false"))
"--iptables=false")
"--containerd" "/run/containerd/containerd.sock")
#:environment-variables
(list #$@environment-variables)
#:pid-file "/var/run/docker.pid"

View File

@ -652,8 +652,6 @@ ca-certificates.crt file in the system profile."
#:user #$user
#:group #$group
#:pid-file "/var/run/guix-data-service/pid"
;; Allow time for migrations to run
#:pid-file-timeout 120
#:environment-variables
`(,(string-append
"GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale")

View File

@ -918,9 +918,7 @@ applications in communication. It is used by Jami, for example.")))
(lambda (port)
(display "\
### These lines were generated from your system configuration:
User tor
DataDirectory /var/lib/tor
PidFile /var/run/tor/tor.pid
Log notice syslog\n" port)
(when (eq? 'unix '#$socks-socket-type)
(display "\
@ -960,7 +958,25 @@ HiddenServicePort ~a ~a~%"
"Return a <shepherd-service> running Tor."
(match config
(($ <tor-configuration> tor)
(let ((torrc (tor-configuration->torrc config)))
(let* ((torrc (tor-configuration->torrc config))
(tor (least-authority-wrapper
(file-append tor "/bin/tor")
#:name "tor"
#:mappings (list (file-system-mapping
(source "/var/lib/tor")
(target source)
(writable? #t))
(file-system-mapping
(source "/dev/log") ;for syslog
(target source))
(file-system-mapping
(source "/var/run/tor")
(target source)
(writable? #t))
(file-system-mapping
(source torrc)
(target source)))
#:namespaces (delq 'net %namespaces))))
(with-imported-modules (source-module-closure
'((gnu build shepherd)
(gnu system file-systems)))
@ -974,22 +990,15 @@ HiddenServicePort ~a ~a~%"
(modules '((gnu build shepherd)
(gnu system file-systems)))
(start #~(make-forkexec-constructor/container
(list #$(file-append tor "/bin/tor") "-f" #$torrc)
#:log-file "/var/log/tor.log"
#:mappings (list (file-system-mapping
(source "/var/lib/tor")
(target source)
(writable? #t))
(file-system-mapping
(source "/dev/log") ;for syslog
(target source))
(file-system-mapping
(source "/var/run/tor")
(target source)
(writable? #t)))
#:pid-file "/var/run/tor/tor.pid"))
;; XXX: #:pid-file won't work because the wrapped 'tor'
;; program would print its PID within the user namespace
;; instead of its actual PID outside. There's no inetd or
;; systemd socket activation support either (there's
;; 'sd_notify' though), so we're stuck with that.
(start #~(make-forkexec-constructor
(list #$tor "-f" #$torrc)
#:user "tor" #:group "tor"
#:log-file "/var/log/tor.log"))
(stop #~(make-kill-destructor))
(documentation "Run the Tor anonymous network overlay."))))))))

View File

@ -1222,6 +1222,7 @@ deprecated; use 'setuid-program' instead~%"))
(file-append sudo "/bin/sudo")
(file-append sudo "/bin/sudoedit")
(file-append fuse "/bin/fusermount")
(file-append fuse-3 "/bin/fusermount3")
;; To allow mounts with the "user" option, "mount" and "umount" must
;; be setuid-root.

View File

@ -222,14 +222,23 @@ host all all ::1/128 trust"))))))
((pid) (number? pid))))))
marionette))
;; The service starts immediately but replies with status 500 until
;; initialization is complete, so keep trying for a while.
(define (try-http-get attempts)
(let ((status
(let-values (((response text)
(http-get #$(simple-format
#f "http://localhost:~A/healthcheck"
forwarded-port))))
(response-code response))))
(if (or (= status 200) (<= attempts 1))
status
(begin (sleep 5)
(try-http-get (- attempts 1))))))
(test-equal "http-get"
200
(let-values
(((response text)
(http-get #$(simple-format
#f "http://localhost:~A/healthcheck" forwarded-port)
#:decode-body? #t)))
(response-code response)))
(try-http-get 12))
(test-end))))

View File

@ -85,11 +85,6 @@
(define %eggs-home-page
(make-parameter "https://wiki.call-cc.org/egg"))
(define (egg-source-url name version)
"Return the URL to the source tarball for version VERSION of the CHICKEN egg
NAME."
`(egg-uri ,name version))
(define (egg-name->guix-name name)
"Return the package name for CHICKEN egg NAME."
(string-append package-name-prefix name))
@ -196,7 +191,7 @@ not work."
(let* ((version* (or (assoc-ref egg-content 'version)
(find-latest-version name)))
(version (if (list? version*) (first version*) version*))
(source-url (if source #f (egg-source-url name version)))
(source-url (if source #f `(egg-uri ,name version)))
(tarball (if source
#f
(with-store store
@ -342,7 +337,7 @@ not work."
"Return an @code{<upstream-source>} for the latest release of PACKAGE."
(let* ((egg-name (guix-package->egg-name package))
(version (find-latest-version egg-name))
(source-url (egg-source-url egg-name version)))
(source-url (egg-uri egg-name version)))
(upstream-source
(package (package-name package))
(version version)

View File

@ -161,9 +161,11 @@ or #f if there isn't any."
(define (python->package-name name)
"Given the NAME of a package on PyPI, return a Guix-compliant name for the
package."
(if (string-prefix? "python-" name)
(snake-case name)
(string-append "python-" (snake-case name))))
(cond
((string-prefix? "python-" name) (snake-case name))
((or (string=? "trytond" name)
(string-prefix? "trytond-" name)) (snake-case name))
(else (string-append "python-" (snake-case name)))))
(define (guix-package->pypi-name package)
"Given a Python PACKAGE built from pypi.org, return the name of the

View File

@ -246,7 +246,7 @@ of those files are returned that are unexpectedly installed."
;; entries with the same prefix.
(lambda (x y) (every equal? x y)))))
(define (tlpdb->package name package-database)
(define (tlpdb->package name version package-database)
(and-let* ((data (assoc-ref package-database name))
(dirs (files->directories
(map (lambda (dir)
@ -255,7 +255,9 @@ of those files are returned that are unexpectedly installed."
(or (assoc-ref data 'runfiles) (list))
(or (assoc-ref data 'srcfiles) (list))))))
(name (guix-name name))
(version (number->string %texlive-revision))
;; TODO: we're ignoring the VERSION argument because that
;; information is distributed across %texlive-tag and
;; %texlive-revision.
(ref (svn-multi-reference
(url (string-append "svn://www.tug.org/texlive/tags/"
%texlive-tag "/Master/texmf-dist"))
@ -276,6 +278,9 @@ of those files are returned that are unexpectedly installed."
(force-output port)
(get-hash))))
,@(if (assoc-ref data 'srcfiles) '() '(#:trivial? #true))))
;; package->definition in (guix import utils) expects to see a
;; version field.
(version ,version)
,@(or (and=> (assoc-ref data 'depend)
(lambda (inputs)
`((propagated-inputs
@ -297,13 +302,18 @@ of those files are returned that are unexpectedly installed."
(define texlive->guix-package
(memoize
(lambda* (name #:key repo version (package-database tlpdb))
(lambda* (name #:key
repo
(version (number->string %texlive-revision))
(package-database tlpdb))
"Find the metadata for NAME in the tlpdb and return the `package'
s-expression corresponding to that package, or #f on failure."
(tlpdb->package name (package-database)))))
(tlpdb->package name version (package-database)))))
(define (texlive-recursive-import name)
(define* (texlive-recursive-import name #:key repo version)
(recursive-import name
#:repo repo
#:version version
#:repo->guix-package texlive->guix-package
#:guix-name guix-name))

View File

@ -341,6 +341,8 @@ APPEND-VERSION?/string is a string, append this string."
(match guix-package
((or
('package ('name name) ('version version) . rest)
('package ('inherit ('simple-texlive-package name . _))
('version version) . rest)
('let _ ('package ('name name) ('version version) . rest)))
`(define-public ,(string->symbol

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2016, 2022 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -21,6 +21,12 @@
#:use-module (guix monads)
#:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix status)
#:autoload (guix gexp) (lower-object)
#:use-module ((guix derivations)
#:select (derivation?
derivation->output-paths built-derivations))
#:use-module (ice-9 match)
#:use-module (ice-9 pretty-print)
#:use-module (system repl repl)
#:use-module (system repl common)
@ -69,16 +75,58 @@
#:guile-for-build guile)
'store-monad)))
(define %build-verbosity
;; Current build verbosity level.
1)
(define* (evaluate/print-with-store mvalue #:key build?)
"Run monadic value MVALUE in the store monad and print its value."
(with-store store
(set-build-options store
#:print-build-trace #t
#:print-extended-build-trace? #t
#:multiplexed-build-output? #t)
(with-status-verbosity %build-verbosity
(let* ((guile (or (%guile-for-build)
(default-guile-derivation store)))
(values (run-with-store store
(if build?
(mlet %store-monad ((obj mvalue))
(if (derivation? obj)
(mbegin %store-monad
(built-derivations (list obj))
(return
(match (derivation->output-paths obj)
(((_ . files) ...) files))))
(return (list obj))))
(mlet %store-monad ((obj mvalue))
(return (list obj))))
#:guile-for-build guile)))
(for-each (lambda (value)
(run-hook before-print-hook value)
(pretty-print value))
values)))))
(define-meta-command ((run-in-store guix) repl (form))
"run-in-store EXP
Run EXP through the store monad."
(with-store store
(let* ((guile (or (%guile-for-build)
(default-guile-derivation store)))
(value (run-with-store store (repl-eval repl form)
#:guile-for-build guile)))
(run-hook before-print-hook value)
(pretty-print value))))
(evaluate/print-with-store (repl-eval repl form)))
(define-meta-command ((verbosity guix) repl (level))
"verbosity LEVEL
Change build verbosity to LEVEL."
(set! %build-verbosity (repl-eval repl level)))
(define-meta-command ((lower guix) repl (form))
"lower OBJECT
Lower OBJECT into a derivation or store file and return it."
(evaluate/print-with-store (lower-object (repl-eval repl form))))
(define-meta-command ((build guix) repl (form))
"build OBJECT
Lower OBJECT and build it, returning its output file name(s)."
(evaluate/print-with-store (lower-object (repl-eval repl form))
#:build? #t))
(define-meta-command ((enter-store-monad guix) repl)
"enter-store-monad

View File

@ -4,6 +4,7 @@
;;; Copyright © 2021 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2021 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2022 Antero Mejr <antero@mailbox.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -143,6 +144,11 @@ Some ACTIONS support additional ARGS.\n"))
use BACKEND for 'extension-graph' and 'shepherd-graph'"))
(newline)
(display (G_ "
-I, --list-installed[=REGEXP]
for 'describe' or 'list-generations', list installed
packages matching REGEXP"))
(newline)
(display (G_ "
-h, --help display this help and exit"))
(display (G_ "
-V, --version display version information and exit"))
@ -183,6 +189,9 @@ Some ACTIONS support additional ARGS.\n"))
(option '("graph-backend") #t #f
(lambda (opt name arg result)
(alist-cons 'graph-backend arg result)))
(option '(#\I "list-installed") #f #t
(lambda (opt name arg result)
(alist-cons 'list-installed (or arg "") result)))
;; Container options.
(option '(#\N "network") #f #f
@ -569,17 +578,20 @@ Run @command{guix home reconfigure ~a/home-configuration.scm} to effectively
deploy the home environment described by these files.\n")
destination))))
((describe)
(match (generation-number %guix-home)
(0
(leave (G_ "no home environment generation, nothing to describe~%")))
(generation
(display-home-environment-generation generation))))
(let ((list-installed-regex (assoc-ref opts 'list-installed)))
(match (generation-number %guix-home)
(0
(leave (G_ "no home environment generation, nothing to describe~%")))
(generation
(display-home-environment-generation
generation #:list-installed-regex list-installed-regex)))))
((list-generations)
(let ((pattern (match args
(let ((list-installed-regex (assoc-ref opts 'list-installed))
(pattern (match args
(() #f)
((pattern) pattern)
(x (leave (G_ "wrong number of arguments~%"))))))
(list-generations pattern)))
(list-generations pattern #:list-installed-regex list-installed-regex)))
((switch-generation)
(let ((pattern (match args
((pattern) pattern)
@ -748,9 +760,11 @@ description matches REGEXPS sorted by relevance, and their score."
(define* (display-home-environment-generation
number
#:optional (profile %guix-home))
"Display a summary of home-environment generation NUMBER in a
human-readable format."
#:optional (profile %guix-home)
#:key (list-installed-regex #f))
"Display a summary of home-environment generation NUMBER in a human-readable
format. List packages in that home environment that match
LIST-INSTALLED-REGEX."
(define (display-channel channel)
(format #t " ~a:~%" (channel-name channel))
(format #t (G_ " repository URL: ~a~%") (channel-url channel))
@ -782,24 +796,36 @@ human-readable format."
(format #t (G_ " configuration file: ~a~%")
(if (supports-hyperlinks?)
(file-hyperlink config-file)
config-file))))))
config-file)))
(when list-installed-regex
(format #t (G_ " packages:\n"))
(pretty-print-table (list-installed
list-installed-regex
(list (string-append generation "/profile")))
#:left-pad 4)))))
(define* (list-generations pattern #:optional (profile %guix-home))
"Display in a human-readable format all the home environment
generations matching PATTERN, a string. When PATTERN is #f, display
all the home environment generations."
(define* (list-generations pattern #:optional (profile %guix-home)
#:key (list-installed-regex #f))
"Display in a human-readable format all the home environment generations
matching PATTERN, a string. When PATTERN is #f, display all the home
environment generations. List installed packages that match
LIST-INSTALLED-REGEX."
(cond ((not (file-exists? profile)) ; XXX: race condition
(raise (condition (&profile-not-found-error
(profile profile)))))
((not pattern)
(for-each display-home-environment-generation (profile-generations profile)))
(for-each (cut display-home-environment-generation <>
#:list-installed-regex list-installed-regex)
(profile-generations profile)))
((matching-generations pattern profile)
=>
(lambda (numbers)
(if (null-list? numbers)
(exit 1)
(leave-on-EPIPE
(for-each display-home-environment-generation numbers)))))))
(leave-on-EPIPE (for-each
(cut display-home-environment-generation <>
#:list-installed-regex list-installed-regex)
numbers)))))))
;;;

View File

@ -22,11 +22,13 @@
#:use-module (guix utils)
#:use-module (guix scripts)
#:use-module (guix import texlive)
#:use-module (guix import utils)
#:use-module (guix scripts import)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-11)
#:use-module (srfi srfi-37)
#:use-module (srfi srfi-41)
#:use-module (srfi srfi-71)
#:use-module (ice-9 match)
#:use-module (ice-9 format)
#:export (guix-import-texlive))
@ -58,6 +60,9 @@ Import and convert the Texlive package for PACKAGE-NAME.\n"))
(option '(#\V "version") #f #f
(lambda args
(show-version-and-exit "guix import texlive")))
(option '(#\r "recursive") #f #f
(lambda (opt name arg result)
(alist-cons 'recursive #t result)))
%standard-import-options))
@ -78,12 +83,20 @@ Import and convert the Texlive package for PACKAGE-NAME.\n"))
(_ #f))
(reverse opts))))
(match args
((name)
(let ((sexp (texlive->guix-package name)))
(unless sexp
(leave (G_ "failed to import package '~a'~%")
name))
sexp))
((spec)
(let ((name version (package-name->name+version spec)))
(if (assoc-ref opts 'recursive)
;; Recursive import
(with-error-handling
(map package->definition
(filter identity (texlive-recursive-import name
#:version version))))
;; Single import
(let ((sexp (texlive->guix-package name #:version version)))
(unless sexp
(leave (G_ "failed to download description for package '~a'~%")
name))
sexp))))
(()
(leave (G_ "too few arguments~%")))
((many ...)

View File

@ -11,6 +11,7 @@
;;; Copyright © 2020 Simon Tournier <zimon.toutoune@gmail.com>
;;; Copyright © 2018 Steve Sprang <scs@stevesprang.com>
;;; Copyright © 2022 Josselin Poiret <dev@jpoiret.xyz>
;;; Copyright © 2022 Antero Mejr <antero@mailbox.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -67,6 +68,7 @@
delete-generations
delete-matching-generations
guix-package
list-installed
search-path-environment-variables
manifest-entry-version-prefix
@ -773,6 +775,22 @@ doesn't need it."
(add-indirect-root store absolute))
(define (list-installed regexp profiles)
"Write to the current output port the list of packages matching REGEXP in
PROFILES."
(let* ((regexp (and regexp (make-regexp* regexp regexp/icase)))
(manifest (concatenate-manifests
(map profile-manifest profiles)))
(installed (manifest-entries manifest)))
(leave-on-EPIPE
(let ((rows (filter-map
(match-lambda
(($ <manifest-entry> name version output path _)
(and (regexp-exec regexp name)
(list name (or version "?") output path))))
installed)))
rows))))
;;;
;;; Queries and actions.
@ -824,19 +842,8 @@ processed, #f otherwise."
#t)
(('list-installed regexp)
(let* ((regexp (and regexp (make-regexp* regexp regexp/icase)))
(manifest (concatenate-manifests
(map profile-manifest profiles)))
(installed (manifest-entries manifest)))
(leave-on-EPIPE
(let ((rows (filter-map
(match-lambda
(($ <manifest-entry> name version output path _)
(and (regexp-exec regexp name)
(list name (or version "?") output path))))
installed)))
;; Show most recently installed packages last.
(pretty-print-table (reverse rows)))))
;; Show most recently installed packages last.
(pretty-print-table (reverse (list-installed regexp profiles)))
#t)
(('list-available regexp)

View File

@ -390,6 +390,11 @@ return #f and #f."
;; If the user already specified a profile, there's nothing more to
;; cache.
(values #f #f))
((('export-manifest? . #t) . _)
;; When exporting a manifest, compute it anew so that '-D' packages
;; lead to 'package-development-manifest' expressions rather than an
;; expanded list of inputs.
(values #f #f))
((('system . system) . rest)
(loop rest system file specs))
((_ . rest) (loop rest system file specs)))))

View File

@ -50,7 +50,8 @@
#:use-module (guix channels)
#:use-module (guix scripts build)
#:autoload (guix scripts package) (delete-generations
delete-matching-generations)
delete-matching-generations
list-installed)
#:autoload (guix scripts pull) (channel-commit-hyperlink)
#:autoload (guix graph) (export-graph node-type
graph-backend-name lookup-backend)
@ -480,8 +481,10 @@ list of services."
;;;
(define* (display-system-generation number
#:optional (profile %system-profile))
"Display a summary of system generation NUMBER in a human-readable format."
#:optional (profile %system-profile)
#:key (list-installed-regex #f))
"Display a summary of system generation NUMBER in a human-readable format.
List packages in that system that match LIST-INSTALLED-REGEX."
(define (display-channel channel)
(format #t " ~a:~%" (channel-name channel))
(format #t (G_ " repository URL: ~a~%") (channel-url channel))
@ -544,23 +547,35 @@ list of services."
(format #t (G_ " configuration file: ~a~%")
(if (supports-hyperlinks?)
(file-hyperlink config-file)
config-file))))))
config-file)))
(when list-installed-regex
(format #t (G_ " packages:\n"))
(pretty-print-table (list-installed
list-installed-regex
(list (string-append generation "/profile")))
#:left-pad 4)))))
(define* (list-generations pattern #:optional (profile %system-profile))
(define* (list-generations pattern #:optional (profile %system-profile)
#:key (list-installed-regex #f))
"Display in a human-readable format all the system generations matching
PATTERN, a string. When PATTERN is #f, display all the system generations."
PATTERN, a string. When PATTERN is #f, display all the system generations.
List installed packages that match LIST-INSTALLED-REGEX."
(cond ((not (file-exists? profile)) ; XXX: race condition
(raise (condition (&profile-not-found-error
(profile profile)))))
((not pattern)
(for-each display-system-generation (profile-generations profile)))
(for-each (cut display-system-generation <>
#:list-installed-regex list-installed-regex)
(profile-generations profile)))
((matching-generations pattern profile)
=>
(lambda (numbers)
(if (null-list? numbers)
(exit 1)
(leave-on-EPIPE
(for-each display-system-generation numbers)))))))
(for-each (cut display-system-generation <>
#:list-installed-regex list-installed-regex)
numbers)))))))
;;;
@ -1032,6 +1047,11 @@ Some ACTIONS support additional ARGS.\n"))
use BACKEND for 'extension-graphs' and 'shepherd-graph'"))
(newline)
(display (G_ "
-I, --list-installed[=REGEXP]
for 'describe' and 'list-generations', list installed
packages matching REGEXP"))
(newline)
(display (G_ "
-h, --help display this help and exit"))
(display (G_ "
-V, --version display version information and exit"))
@ -1135,6 +1155,9 @@ Some ACTIONS support additional ARGS.\n"))
(option '("graph-backend") #t #f
(lambda (opt name arg result)
(alist-cons 'graph-backend arg result)))
(option '(#\I "list-installed") #f #t
(lambda (opt name arg result)
(alist-cons 'list-installed (or arg "") result)))
%standard-build-options))
(define %default-options
@ -1322,25 +1345,29 @@ argument list and OPTS is the option alist."
;; The following commands do not need to use the store, and they do not need
;; an operating system configuration file.
((list-generations)
(let ((pattern (match args
(let ((list-installed-regex (assoc-ref opts 'list-installed))
(pattern (match args
(() #f)
((pattern) pattern)
(x (leave (G_ "wrong number of arguments~%"))))))
(list-generations pattern)))
(list-generations pattern #:list-installed-regex list-installed-regex)))
((describe)
;; Describe the running system, which is not necessarily the current
;; generation. /run/current-system might point to
;; /var/guix/profiles/system-N-link, or it might point directly to
;; /gnu/store/…-system. Try both.
(match (generation-number "/run/current-system" %system-profile)
(0
(match (generation-number %system-profile)
(0
(leave (G_ "no system generation, nothing to describe~%")))
(generation
(display-system-generation generation))))
(generation
(display-system-generation generation))))
(let ((list-installed-regex (assoc-ref opts 'list-installed)))
(match (generation-number "/run/current-system" %system-profile)
(0
(match (generation-number %system-profile)
(0
(leave (G_ "no system generation, nothing to describe~%")))
(generation
(display-system-generation
generation #:list-installed-regex list-installed-regex))))
(generation
(display-system-generation
generation #:list-installed-regex list-installed-regex)))))
((search)
(apply (resolve-subcommand "search") args))
((edit)

View File

@ -251,13 +251,17 @@ correspond to the same version."
#:warn warn-about-load-error)))
(define %updaters
;; The list of publically-known updaters.
(delay (fold-module-public-variables (lambda (obj result)
(if (upstream-updater? obj)
(cons obj result)
result))
'()
(importer-modules))))
;; The list of publically-known updaters, alphabetically sorted.
(delay
(sort (fold-module-public-variables (lambda (obj result)
(if (upstream-updater? obj)
(cons obj result)
result))
'()
(importer-modules))
(lambda (updater1 updater2)
(string<? (symbol->string (upstream-updater-name updater1))
(symbol->string (upstream-updater-name updater2)))))))
;; Tests need to mock this variable so mark it as "non-declarative".
(set! %updaters %updaters)

View File

@ -1124,11 +1124,11 @@ according to THRESHOLD, then #f is returned."
;;; Prettified output.
;;;
(define* (pretty-print-table rows #:key (max-column-width 20))
(define* (pretty-print-table rows #:key (max-column-width 20) (left-pad 0))
"Print ROWS in neat columns. All rows should be lists of strings and each
row should have the same length. The columns are separated by a tab
character, and aligned using spaces. The maximum width of each column is
bound by MAX-COLUMN-WIDTH."
bound by MAX-COLUMN-WIDTH. Each row is prefixed with LEFT-PAD spaces."
(let* ((number-of-columns-to-pad (if (null? rows)
0
(1- (length (first rows)))))
@ -1143,7 +1143,7 @@ bound by MAX-COLUMN-WIDTH."
(map (cut min <> max-column-width)
column-widths)))
(fmt (string-append (string-join column-formats "\t") "\t~a")))
(for-each (cut format #t "~?~%" fmt <>) rows)))
(for-each (cut format #t "~v_~?~%" left-pad fmt <>) rows)))
;;; Local Variables:
;;; eval: (put 'call-with-progress-reporter 'scheme-indent-function 1)

View File

@ -79,9 +79,15 @@ trap 'chmod -Rf +w "$test_directory"; rm -rf "$test_directory"' EXIT
(guix-defaults? #t)
(bashrc (list (local-file "dot-bashrc")))))
(simple-service 'add-environment-variable
home-environment-variables-service-type
'(("TODAY" . "26 messidor")))
(simple-service 'home-bash-service-extension-test
home-bash-service-type
(home-bash-extension
(environment-variables
'(("PS1" . "$GUIX_ENVIRONMENT λ ")))
(bashrc
(list
(plain-file
@ -138,6 +144,8 @@ EOF
# dot-bashrc test file for guix home
# the content of bashrc-test-config.sh"
grep -q "the content of ~/.config/test.conf" "${HOME}/.config/test.conf"
grep '^export PS1="\$GUIX_ENVIRONMENT λ "$' "${HOME}/.bash_profile"
( . "${HOME}/.guix-home/setup-environment"; test "$TODAY" = "26 messidor" )
# This one should still be here.
grep "stay around" "$HOME/.config/random-file"