Merge remote-tracking branch 'origin/master' into staging
This commit is contained in:
commit
de3c03a471
424 changed files with 70881 additions and 9809 deletions
|
@ -40,6 +40,7 @@
|
|||
(eval . (put 'with-writable-file 'scheme-indent-function 1))
|
||||
|
||||
(eval . (put 'package 'scheme-indent-function 0))
|
||||
(eval . (put 'package/inherit 'scheme-indent-function 1))
|
||||
(eval . (put 'origin 'scheme-indent-function 0))
|
||||
(eval . (put 'build-system 'scheme-indent-function 0))
|
||||
(eval . (put 'bag 'scheme-indent-function 0))
|
||||
|
|
|
@ -101,6 +101,9 @@
|
|||
(name "ngz"))
|
||||
("CEF4 CB91 4856 BA38 0A20 A7E2 3008 88CB 39C6 3817"
|
||||
(name "pelzflorian"))
|
||||
(;; primary: "41CA 12EA DE0C F33F 6885 A58F 5719 6E37 E00B 77FD"
|
||||
"72D5 3D81 8CB6 F4A1 7258 374C A8FC 9E44 7F4F 7D54"
|
||||
(name "planglois"))
|
||||
(;; primary: "B68B DF22 73F9 DA0E 63C1 8A32 515B F416 9242 D600"
|
||||
"C699 ED09 E51B CE89 FD1D A078 AAC7 E891 896B 568A"
|
||||
(name "pgarlick"))
|
||||
|
|
21
Makefile.am
21
Makefile.am
|
@ -80,6 +80,7 @@ MODULES = \
|
|||
guix/modules.scm \
|
||||
guix/download.scm \
|
||||
guix/discovery.scm \
|
||||
guix/android-repo-download.scm \
|
||||
guix/bzr-download.scm \
|
||||
guix/git-download.scm \
|
||||
guix/hg-download.scm \
|
||||
|
@ -109,8 +110,6 @@ MODULES = \
|
|||
guix/cache.scm \
|
||||
guix/cve.scm \
|
||||
guix/workers.scm \
|
||||
guix/zlib.scm \
|
||||
guix/lzlib.scm \
|
||||
guix/build-system.scm \
|
||||
guix/build-system/android-ndk.scm \
|
||||
guix/build-system/ant.scm \
|
||||
|
@ -172,6 +171,7 @@ MODULES = \
|
|||
guix/build/minify-build-system.scm \
|
||||
guix/build/font-build-system.scm \
|
||||
guix/build/go-build-system.scm \
|
||||
guix/build/android-repo.scm \
|
||||
guix/build/asdf-build-system.scm \
|
||||
guix/build/bzr.scm \
|
||||
guix/build/copy-build-system.scm \
|
||||
|
@ -333,6 +333,10 @@ dist_noinst_DATA = \
|
|||
AUX_FILES = \
|
||||
gnu/packages/aux-files/chromium/master-preferences.json \
|
||||
gnu/packages/aux-files/emacs/guix-emacs.el \
|
||||
gnu/packages/aux-files/linux-libre/5.8-arm.conf \
|
||||
gnu/packages/aux-files/linux-libre/5.8-arm64.conf \
|
||||
gnu/packages/aux-files/linux-libre/5.8-i686.conf \
|
||||
gnu/packages/aux-files/linux-libre/5.8-x86_64.conf \
|
||||
gnu/packages/aux-files/linux-libre/5.4-arm.conf \
|
||||
gnu/packages/aux-files/linux-libre/5.4-arm64.conf \
|
||||
gnu/packages/aux-files/linux-libre/5.4-i686.conf \
|
||||
|
@ -423,11 +427,11 @@ SCM_TESTS = \
|
|||
tests/import-utils.scm \
|
||||
tests/inferior.scm \
|
||||
tests/lint.scm \
|
||||
tests/lzlib.scm \
|
||||
tests/modules.scm \
|
||||
tests/monads.scm \
|
||||
tests/nar.scm \
|
||||
tests/networking.scm \
|
||||
tests/offload.scm \
|
||||
tests/opam.scm \
|
||||
tests/openpgp.scm \
|
||||
tests/packages.scm \
|
||||
|
@ -462,8 +466,7 @@ SCM_TESTS = \
|
|||
tests/upstream.scm \
|
||||
tests/utils.scm \
|
||||
tests/uuid.scm \
|
||||
tests/workers.scm \
|
||||
tests/zlib.scm
|
||||
tests/workers.scm
|
||||
|
||||
SH_TESTS = \
|
||||
tests/guix-build.sh \
|
||||
|
@ -649,11 +652,10 @@ commit_v1_0_0 = 6298c3ffd9654d3231a6f25390b056483e8f407c
|
|||
channel_intro_commit = 9edb3f66fd807b096b48283debdcddccfea34bad
|
||||
channel_intro_signer = BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA
|
||||
|
||||
# Authenticate the current Git checkout by checking signatures on every commit
|
||||
# starting from $(commit_v1_0_0).
|
||||
authenticate: guix/openpgp.go guix/git-authenticate.go guix/git.go
|
||||
# Authenticate the current Git checkout by checking signatures on every commit.
|
||||
authenticate:
|
||||
$(AM_V_at)echo "Authenticating Git checkout..." ; \
|
||||
"$(top_builddir)/pre-inst-env" guix git authenticate \
|
||||
guix git authenticate \
|
||||
--cache-key=channels/guix --stats \
|
||||
"$(channel_intro_commit)" "$(channel_intro_signer)"
|
||||
|
||||
|
@ -834,6 +836,7 @@ release: dist-with-updated-version
|
|||
image=`$(top_builddir)/pre-inst-env \
|
||||
guix system disk-image \
|
||||
--file-system-type=iso9660 \
|
||||
--label="GUIX_$${system}_$(VERSION)" \
|
||||
--system=$$system --fallback \
|
||||
gnu/system/install.scm` ; \
|
||||
if [ ! -f "$$image" ] ; then \
|
||||
|
|
|
@ -71,7 +71,7 @@
|
|||
(variables rest ...))))))
|
||||
(variables %localstatedir %storedir %sysconfdir %system)))
|
||||
|
||||
(define* (make-config.scm #:key zlib gzip xz bzip2
|
||||
(define* (make-config.scm #:key gzip xz bzip2
|
||||
(package-name "GNU Guix")
|
||||
(package-version "0")
|
||||
(bug-report-address "bug-guix@gnu.org")
|
||||
|
@ -133,11 +133,7 @@
|
|||
(define %bzip2
|
||||
#+(and bzip2 (file-append bzip2 "/bin/bzip2")))
|
||||
(define %xz
|
||||
#+(and xz (file-append xz "/bin/xz")))
|
||||
|
||||
(define %libz
|
||||
#+(and zlib
|
||||
(file-append zlib "/lib/libz")))))))
|
||||
#+(and xz (file-append xz "/bin/xz")))))))
|
||||
|
||||
|
||||
;;;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#!/bin/sh
|
||||
|
||||
# GNU Guix --- Functional package management for GNU
|
||||
# Copyright © 2012, 2013, 2014, 2015, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
# Copyright © 2012, 2013, 2014, 2015, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
|
||||
# Copyright © 2017 Eric Bavier <bavier@cray.com>
|
||||
#
|
||||
# This file is part of GNU Guix.
|
||||
|
@ -46,13 +46,6 @@ export PATH
|
|||
GUIX="$abs_top_builddir/scripts/guix"
|
||||
export GUIX
|
||||
|
||||
# The following variables need only be defined when compiling Guix
|
||||
# modules, but we define them to be on the safe side in case of
|
||||
# auto-compilation.
|
||||
|
||||
NIX_HASH="@NIX_HASH@"
|
||||
export NIX_HASH
|
||||
|
||||
# Define $GUIX_UNINSTALLED to prevent `guix' from
|
||||
# prepending @guilemoduledir@ to the Guile load paths.
|
||||
|
||||
|
|
42
configure.ac
42
configure.ac
|
@ -141,6 +141,18 @@ if test "x$guix_cv_have_recent_guile_gcrypt" != "xyes"; then
|
|||
AC_MSG_ERROR([A recent Guile-Gcrypt could not be found; please install it.])
|
||||
fi
|
||||
|
||||
dnl Check for Guile-zlib.
|
||||
GUILE_MODULE_AVAILABLE([have_guile_zlib], [(zlib)])
|
||||
if test "x$have_guile_zlib" != "xyes"; then
|
||||
AC_MSG_ERROR([Guile-zlib is missing; please install it.])
|
||||
fi
|
||||
|
||||
dnl Check for Guile-lzlib.
|
||||
GUILE_MODULE_AVAILABLE([have_guile_lzlib], [(lzlib)])
|
||||
if test "x$have_guile_lzlib" != "xyes"; then
|
||||
AC_MSG_ERROR([Guile-lzlib is missing; please install it.])
|
||||
fi
|
||||
|
||||
dnl Guile-newt is used by the graphical installer.
|
||||
GUILE_MODULE_AVAILABLE([have_guile_newt], [(newt)])
|
||||
|
||||
|
@ -159,10 +171,6 @@ AM_CONDITIONAL([ENABLE_INSTALLER],
|
|||
dnl Make sure we have a full-fledged Guile.
|
||||
GUIX_ASSERT_GUILE_FEATURES([regex posix socket net-db threads])
|
||||
|
||||
dnl Make sure we don't suffer from the bug in 'equal?' wrt. syntax objects
|
||||
dnl found in 2.2.1. See <https://bugs.gnu.org/29903>.
|
||||
GUIX_ASSERT_SYNTAX_OBJECT_EQUAL
|
||||
|
||||
AC_PROG_SED
|
||||
|
||||
dnl Decompressors, for use by the substituter and other modules.
|
||||
|
@ -186,11 +194,6 @@ AC_ARG_WITH([nix-prefix],
|
|||
esac],
|
||||
[])
|
||||
|
||||
AC_PATH_PROG([NIX_HASH], [nix-hash])
|
||||
if test "x$guix_build_daemon$NIX_HASH" = "xno"; then
|
||||
AC_MSG_ERROR([Nix programs not found; please install Nix or use `--with-nix-prefix'.])
|
||||
fi
|
||||
|
||||
AC_ARG_WITH([nixpkgs],
|
||||
[AS_HELP_STRING([--with-nixpkgs=DIR],
|
||||
[search for Nixpkgs in DIR (for testing purposes only)])],
|
||||
|
@ -245,27 +248,6 @@ esac
|
|||
AC_SUBST([LIBGCRYPT_PREFIX])
|
||||
AC_SUBST([LIBGCRYPT_LIBDIR])
|
||||
|
||||
dnl Library name of zlib suitable for 'dynamic-link'.
|
||||
GUIX_LIBZ_LIBDIR([libz_libdir])
|
||||
if test "x$libz_libdir" = "x"; then
|
||||
LIBZ="libz"
|
||||
else
|
||||
LIBZ="$libz_libdir/libz"
|
||||
fi
|
||||
AC_MSG_CHECKING([for zlib's shared library name])
|
||||
AC_MSG_RESULT([$LIBZ])
|
||||
AC_SUBST([LIBZ])
|
||||
|
||||
dnl Library name of lzlib suitable for 'dynamic-link'.
|
||||
GUIX_LIBLZ_FILE_NAME([LIBLZ])
|
||||
if test "x$LIBLZ" = "x"; then
|
||||
LIBLZ="liblz"
|
||||
else
|
||||
# Strip the .so or .so.1 extension since that's what 'dynamic-link' expects.
|
||||
LIBLZ="`echo $LIBLZ | sed -es'/\.so\(\.[[0-9.]]\+\)\?//g'`"
|
||||
fi
|
||||
AC_SUBST([LIBLZ])
|
||||
|
||||
dnl Check for Guile-SSH, for the (guix ssh) module.
|
||||
GUIX_CHECK_GUILE_SSH
|
||||
AM_CONDITIONAL([HAVE_GUILE_SSH],
|
||||
|
|
|
@ -310,6 +310,8 @@ its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')."
|
|||
(loop rest (cons (entity->string entity) strings)))
|
||||
((('span _ lst ...) . rest) ;for <span class="roman">
|
||||
(loop (append lst rest) strings))
|
||||
((('var name) . rest) ;for @var{name} within @lisp
|
||||
(loop rest (cons name strings))) ;XXX: losing formatting
|
||||
(something
|
||||
(pk 'unsupported-code-snippet something)
|
||||
(primitive-exit 1)))))
|
||||
|
|
|
@ -42,13 +42,14 @@ git clone https://git.savannah.gnu.org/git/guix.git
|
|||
|
||||
@cindex authentication, of a Guix checkout
|
||||
How do you ensure that you obtained a genuine copy of the repository?
|
||||
To do that, run @command{guix git authenticate}, passing if the commit
|
||||
To do that, run @command{guix git authenticate}, passing it the commit
|
||||
and OpenPGP fingerprint of the @dfn{channel introduction}
|
||||
(@pxref{Invoking guix git authenticate}):
|
||||
|
||||
@c The commit and fingerprint below must match those of the channel
|
||||
@c introduction in '%default-channels'.
|
||||
@example
|
||||
git fetch origin keyring:keyring
|
||||
guix git authenticate 9edb3f66fd807b096b48283debdcddccfea34bad \
|
||||
"BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA"
|
||||
@end example
|
||||
|
|
|
@ -64,6 +64,7 @@ Translation Project}.
|
|||
* Packaging:: Packaging tutorials
|
||||
* System Configuration:: Customizing the GNU System
|
||||
* Advanced package management:: Power to the users!
|
||||
* Environment management:: Control environment
|
||||
|
||||
* Acknowledgments:: Thanks!
|
||||
* GNU Free Documentation License:: The license of this document.
|
||||
|
@ -2268,6 +2269,130 @@ mkdir -p "$GUIX_EXTRA_PROFILES/my-project"
|
|||
It's safe to delete the Guix channel profile you've just installed with the
|
||||
channel specification, the project profile does not depend on it.
|
||||
|
||||
@c *********************************************************************
|
||||
@node Environment management
|
||||
@chapter Environment management
|
||||
|
||||
Guix provides multiple tools to manage environment. This chapter
|
||||
demonstrate such utilities.
|
||||
|
||||
@menu
|
||||
* Guix environment via direnv:: Setup Guix environment with direnv
|
||||
@end menu
|
||||
|
||||
@node Guix environment via direnv
|
||||
@section Guix environment via direnv
|
||||
|
||||
Guix provides a @samp{direnv} package, which could extend shell after
|
||||
directory change. This tool could be used to prepare a pure Guix
|
||||
environment.
|
||||
|
||||
The following example provides a shell function for @file{~/.direnvrc}
|
||||
file, which could be used from Guix Git repository in
|
||||
@file{~/src/guix/.envrc} file to setup a build environment similar to
|
||||
described in @pxref{Building from Git,,, guix, GNU Guix Reference
|
||||
Manual}.
|
||||
|
||||
Create a @file{~/.direnvrc} with a Bash code:
|
||||
|
||||
@example
|
||||
# Thanks <https://github.com/direnv/direnv/issues/73#issuecomment-152284914>
|
||||
export_function()
|
||||
@{
|
||||
local name=$1
|
||||
local alias_dir=$PWD/.direnv/aliases
|
||||
mkdir -p "$alias_dir"
|
||||
PATH_add "$alias_dir"
|
||||
local target="$alias_dir/$name"
|
||||
if declare -f "$name" >/dev/null; then
|
||||
echo "#!$SHELL" > "$target"
|
||||
declare -f "$name" >> "$target" 2>/dev/null
|
||||
# Notice that we add shell variables to the function trigger.
|
||||
echo "$name \$*" >> "$target"
|
||||
chmod +x "$target"
|
||||
fi
|
||||
@}
|
||||
|
||||
use_guix()
|
||||
@{
|
||||
# Set GitHub token.
|
||||
export GUIX_GITHUB_TOKEN="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||
|
||||
# Unset 'GUIX_PACKAGE_PATH'.
|
||||
export GUIX_PACKAGE_PATH=""
|
||||
|
||||
# Recreate a garbage collector root.
|
||||
gcroots="$HOME/.config/guix/gcroots"
|
||||
mkdir -p "$gcroots"
|
||||
gcroot="$gcroots/guix"
|
||||
if [ -L "$gcroot" ]
|
||||
then
|
||||
rm -v "$gcroot"
|
||||
fi
|
||||
|
||||
# Miscellaneous packages.
|
||||
PACKAGES_MAINTENANCE=(
|
||||
direnv
|
||||
git
|
||||
git:send-email
|
||||
git-cal
|
||||
gnupg
|
||||
guile-colorized
|
||||
guile-readline
|
||||
less
|
||||
ncurses
|
||||
openssh
|
||||
xdot
|
||||
)
|
||||
|
||||
# Environment packages.
|
||||
PACKAGES=(help2man guile-sqlite3 guile-gcrypt)
|
||||
|
||||
# Thanks <https://lists.gnu.org/archive/html/guix-devel/2016-09/msg00859.html>
|
||||
eval "$(guix environment --search-paths --root="$gcroot" --pure guix --ad-hoc $@{PACKAGES[@@]@} $@{PACKAGES_MAINTENANCE[@@]@} "$@@")"
|
||||
|
||||
# Predefine configure flags.
|
||||
configure()
|
||||
@{
|
||||
./configure --localstatedir=/var --prefix=
|
||||
@}
|
||||
export_function configure
|
||||
|
||||
# Run make and optionally build something.
|
||||
build()
|
||||
@{
|
||||
make -j 2
|
||||
if [ $# -gt 0 ]
|
||||
then
|
||||
./pre-inst-env guix build "$@@"
|
||||
fi
|
||||
@}
|
||||
export_function build
|
||||
|
||||
# Predefine push Git command.
|
||||
push()
|
||||
@{
|
||||
git push --set-upstream origin
|
||||
@}
|
||||
export_function push
|
||||
|
||||
clear # Clean up the screen.
|
||||
git-cal --author='Your Name' # Show contributions calendar.
|
||||
|
||||
# Show commands help.
|
||||
echo "
|
||||
build build a package or just a project if no argument provided
|
||||
configure run ./configure with predefined parameters
|
||||
push push to upstream Git repository
|
||||
"
|
||||
@}
|
||||
@end example
|
||||
|
||||
Every project containing @file{.envrc} with a string @code{use guix}
|
||||
will have predefined environment variables and procedures.
|
||||
|
||||
Run @command{direnv allow} to setup the environment for the first time.
|
||||
|
||||
@c *********************************************************************
|
||||
@node Acknowledgments
|
||||
@chapter Acknowledgments
|
||||
|
|
623
doc/guix.texi
623
doc/guix.texi
|
@ -144,6 +144,7 @@ Project}.
|
|||
* Introduction:: What is Guix about?
|
||||
* Installation:: Installing Guix.
|
||||
* System Installation:: Installing the whole operating system.
|
||||
* Getting Started:: Your first steps.
|
||||
* Package Management:: Package installation, upgrade, etc.
|
||||
* Development:: Guix-aided software development.
|
||||
* Programming Interface:: Using Guix in Scheme.
|
||||
|
@ -196,6 +197,8 @@ System Installation
|
|||
* Installing Guix in a VM:: Guix System playground.
|
||||
* Building the Installation Image:: How this comes to be.
|
||||
|
||||
Getting Started
|
||||
|
||||
Manual Installation
|
||||
|
||||
* Keyboard Layout and Networking and Partitioning:: Initial setup.
|
||||
|
@ -562,6 +565,9 @@ wget https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh
|
|||
chmod +x guix-install.sh
|
||||
./guix-install.sh
|
||||
@end example
|
||||
|
||||
When you're done, @pxref{Application Setup} for extra configuration you
|
||||
might need, and @ref{Getting Started} for your first steps!
|
||||
@end quotation
|
||||
|
||||
Installing goes along these lines:
|
||||
|
@ -778,12 +784,13 @@ Guile,, gnutls-guile, GnuTLS-Guile});
|
|||
@item
|
||||
@uref{https://notabug.org/guile-sqlite3/guile-sqlite3, Guile-SQLite3}, version 0.1.0
|
||||
or later;
|
||||
@item @uref{https://notabug.org/guile-zlib/guile-zlib, Guile-zlib};
|
||||
@item @uref{https://notabug.org/guile-lzlib/guile-lzlib, Guile-lzlib};
|
||||
@item
|
||||
@c FIXME: Specify a version number once a release has been made.
|
||||
@uref{https://gitlab.com/guile-git/guile-git, Guile-Git}, from August
|
||||
2017 or later;
|
||||
@item @uref{https://savannah.nongnu.org/projects/guile-json/, Guile-JSON} 3.x;
|
||||
@item @url{https://zlib.net, zlib};
|
||||
@item @url{https://www.gnu.org/software/make/, GNU Make}.
|
||||
@end itemize
|
||||
|
||||
|
@ -1042,29 +1049,31 @@ When desired, the build daemon can @dfn{offload} derivation builds to
|
|||
other machines running Guix, using the @code{offload} @dfn{build
|
||||
hook}@footnote{This feature is available only when
|
||||
@uref{https://github.com/artyom-poptsov/guile-ssh, Guile-SSH} is
|
||||
present.}. When that
|
||||
feature is enabled, a list of user-specified build machines is read from
|
||||
@file{/etc/guix/machines.scm}; every time a build is requested, for
|
||||
instance via @code{guix build}, the daemon attempts to offload it to one
|
||||
of the machines that satisfy the constraints of the derivation, in
|
||||
particular its system type---e.g., @file{x86_64-linux}. Missing
|
||||
prerequisites for the build are copied over SSH to the target machine,
|
||||
which then proceeds with the build; upon success the output(s) of the
|
||||
build are copied back to the initial machine.
|
||||
present.}. When that feature is enabled, a list of user-specified build
|
||||
machines is read from @file{/etc/guix/machines.scm}; every time a build
|
||||
is requested, for instance via @code{guix build}, the daemon attempts to
|
||||
offload it to one of the machines that satisfy the constraints of the
|
||||
derivation, in particular its system types---e.g., @code{x86_64-linux}.
|
||||
A single machine can have multiple system types, either because its
|
||||
architecture natively supports it, via emulation (@pxref{Transparent
|
||||
Emulation with QEMU}), or both. Missing prerequisites for the build are
|
||||
copied over SSH to the target machine, which then proceeds with the
|
||||
build; upon success the output(s) of the build are copied back to the
|
||||
initial machine.
|
||||
|
||||
The @file{/etc/guix/machines.scm} file typically looks like this:
|
||||
|
||||
@lisp
|
||||
(list (build-machine
|
||||
(name "eightysix.example.org")
|
||||
(system "x86_64-linux")
|
||||
(systems (list "x86_64-linux" "i686-linux"))
|
||||
(host-key "ssh-ed25519 AAAAC3Nza@dots{}")
|
||||
(user "bob")
|
||||
(speed 2.)) ;incredibly fast!
|
||||
|
||||
(build-machine
|
||||
(name "armeight.example.org")
|
||||
(system "aarch64-linux")
|
||||
(systems (list "aarch64-linux"))
|
||||
(host-key "ssh-rsa AAAAB3Nza@dots{}")
|
||||
(user "alice")
|
||||
(private-key
|
||||
|
@ -1074,8 +1083,8 @@ The @file{/etc/guix/machines.scm} file typically looks like this:
|
|||
|
||||
@noindent
|
||||
In the example above we specify a list of two build machines, one for
|
||||
the @code{x86_64} architecture and one for the @code{aarch64}
|
||||
architecture.
|
||||
the @code{x86_64} and @code{i686} architectures and one for the
|
||||
@code{aarch64} architecture.
|
||||
|
||||
In fact, this file is---not surprisingly!---a Scheme file that is
|
||||
evaluated when the @code{offload} hook is started. Its return value
|
||||
|
@ -1095,8 +1104,9 @@ builds. The important fields are:
|
|||
@item name
|
||||
The host name of the remote machine.
|
||||
|
||||
@item system
|
||||
The system type of the remote machine---e.g., @code{"x86_64-linux"}.
|
||||
@item systems
|
||||
The system types the remote machine supports---e.g., @code{(list
|
||||
"x86_64-linux" "i686-linux")}.
|
||||
|
||||
@item user
|
||||
The user account to use when connecting to the remote machine over SSH.
|
||||
|
@ -2472,7 +2482,8 @@ as. This means that if you choose to use @command{guix system reconfigure} in
|
|||
root's login shell, you'll need to @command{guix pull} separately.
|
||||
@end quotation
|
||||
|
||||
Join us on @code{#guix} on the Freenode IRC network or on
|
||||
Now, @pxref{Getting Started}, and
|
||||
join us on @code{#guix} on the Freenode IRC network or on
|
||||
@email{guix-devel@@gnu.org} to share your experience!
|
||||
|
||||
|
||||
|
@ -2559,6 +2570,210 @@ guix system disk-image --system=armhf-linux -e '((@@ (gnu system install) os-wit
|
|||
@code{A20-OLinuXino-Lime2} is the name of the board. If you specify an invalid
|
||||
board, a list of possible boards will be printed.
|
||||
|
||||
@c *********************************************************************
|
||||
@node Getting Started
|
||||
@chapter Getting Started
|
||||
|
||||
Presumably, you've reached this section because either you have
|
||||
installed Guix on top of another distribution (@pxref{Installation}), or
|
||||
you've installed the standalone Guix System (@pxref{System
|
||||
Installation}). It's time for you to get started using Guix and this
|
||||
section aims to help you do that and give you a feel of what it's like.
|
||||
|
||||
Guix is about installing software, so probably the first thing you'll
|
||||
want to do is to actually look for software. Let's say you're looking
|
||||
for a text editor, you can run:
|
||||
|
||||
@example
|
||||
guix search text editor
|
||||
@end example
|
||||
|
||||
This command shows you a number of matching @dfn{packages}, each time
|
||||
showing the package's name, version, a description, and additional info.
|
||||
Once you've found out the one you want to use, let's say Emacs (ah ha!),
|
||||
you can go ahead and install it (run this command as a regular user,
|
||||
@emph{no need for root privileges}!):
|
||||
|
||||
@example
|
||||
guix install emacs
|
||||
@end example
|
||||
|
||||
You've installed your first package, congrats! In the process, you've
|
||||
probably noticed that Guix downloaded pre-built binaries; or, if you
|
||||
explicitly chose to @emph{not} use pre-built binaries, then probably
|
||||
Guix is still building software (@pxref{Substitutes}, for more info).
|
||||
|
||||
Unless you're using Guix System, the @command{guix install} command must
|
||||
have printed this hint:
|
||||
|
||||
@example
|
||||
hint: Consider setting the necessary environment variables by running:
|
||||
|
||||
GUIX_PROFILE="$HOME/.guix-profile"
|
||||
. "$GUIX_PROFILE/etc/profile"
|
||||
|
||||
Alternately, see `guix package --search-paths -p "$HOME/.guix-profile"'.
|
||||
@end example
|
||||
|
||||
Indeed, you must now tell your shell where @command{emacs} and other
|
||||
programs installed with Guix are to be found. Pasting the two lines
|
||||
above will do just that: it will add
|
||||
@code{$HOME/.guix-profile/bin}---which is where the installed package
|
||||
is---to the @code{PATH} environment variable. You can paste these two
|
||||
lines in your shell so they take effect right away, but more importantly
|
||||
you should add them to @file{~/.bash_profile} (or equivalent file if you
|
||||
do not use Bash) so that environment variables are set next time you
|
||||
spawn a shell. You only need to do this once and other search paths
|
||||
environment variables will be taken care of similarly---e.g., if you
|
||||
eventually install @code{python} and Python libraries, @code{PYTHONPATH}
|
||||
will be defined.
|
||||
|
||||
You can go on installing packages at your will. To list installed
|
||||
packages, run:
|
||||
|
||||
@example
|
||||
guix package --list-installed
|
||||
@end example
|
||||
|
||||
To remove a package, you would unsurprisingly run @command{guix remove}.
|
||||
A distinguishing feature is the ability to @dfn{roll back} any operation
|
||||
you made---installation, removal, upgrade---by simply typing:
|
||||
|
||||
@example
|
||||
guix package --roll-back
|
||||
@end example
|
||||
|
||||
This is because each operation is in fact a @dfn{transaction} that
|
||||
creates a new @dfn{generation}. These generations and the difference
|
||||
between them can be displayed by running:
|
||||
|
||||
@example
|
||||
guix package --list-generations
|
||||
@end example
|
||||
|
||||
Now you know the basics of package management!
|
||||
|
||||
@quotation Going further
|
||||
@xref{Package Management}, for more about package management. You may
|
||||
like @dfn{declarative} package management with @command{guix package
|
||||
--manifest}, managing separate @dfn{profiles} with @option{--profile},
|
||||
deleting old generations, collecting garbage, and other nifty features
|
||||
that will come in handy as you become more familiar with Guix. If you
|
||||
are a developer, @pxref{Development} for additional tools. And if
|
||||
you're curious, @pxref{Features}, to peek under the hood.
|
||||
@end quotation
|
||||
|
||||
Once you've installed a set of packages, you will want to periodically
|
||||
@emph{upgrade} them to the latest and greatest version. To do that, you
|
||||
will first pull the latest revision of Guix and its package collection:
|
||||
|
||||
@example
|
||||
guix pull
|
||||
@end example
|
||||
|
||||
The end result is a new @command{guix} command, under
|
||||
@file{~/.config/guix/current/bin}. Unless you're on Guix System, the
|
||||
first time you run @command{guix pull}, be sure to follow the hint that
|
||||
the command prints and, similar to what we saw above, paste these two
|
||||
lines in your terminal and @file{.bash_profile}:
|
||||
|
||||
@example
|
||||
GUIX_PROFILE="$HOME/.config/guix/current/etc/profile"
|
||||
. "$GUIX_PROFILE/etc/profile"
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
You must also instruct your shell to point to this new @command{guix}:
|
||||
|
||||
@example
|
||||
hash guix
|
||||
@end example
|
||||
|
||||
At this point, you're running a brand new Guix. You can thus go ahead
|
||||
and actually upgrade all the packages you previously installed:
|
||||
|
||||
@example
|
||||
guix upgrade
|
||||
@end example
|
||||
|
||||
As you run this command, you will see that binaries are downloaded (or
|
||||
perhaps some packages are built), and eventually you end up with the
|
||||
upgraded packages. Should one of these upgraded packages not be to your
|
||||
liking, remember you can always roll back!
|
||||
|
||||
You can display the exact revision of Guix you're currently using by
|
||||
running:
|
||||
|
||||
@example
|
||||
guix describe
|
||||
@end example
|
||||
|
||||
The information it displays is @emph{all it takes to reproduce the exact
|
||||
same Guix}, be it at a different point in time or on a different
|
||||
machine.
|
||||
|
||||
@quotation Going further
|
||||
@xref{Invoking guix pull}, for more information. @xref{Channels}, on
|
||||
how to specify additional @dfn{channels} to pull packages from, how to
|
||||
replicate Guix, and more. You may also find @command{time-machine}
|
||||
handy (@pxref{Invoking guix time-machine}).
|
||||
@end quotation
|
||||
|
||||
If you installed Guix System, one of the first things you'll want to do
|
||||
is to upgrade your system. Once you've run @command{guix pull} to get
|
||||
the latest Guix, you can upgrade the system like this:
|
||||
|
||||
@example
|
||||
sudo guix system reconfigure /etc/config.scm
|
||||
@end example
|
||||
|
||||
Upon completion, the system runs the latest versions of its software
|
||||
packages. When you eventually reboot, you'll notice a sub-menu in the
|
||||
bootloader that reads ``Old system generations'': it's what allows you
|
||||
to boot @emph{an older generation of your system}, should the latest
|
||||
generation be ``broken'' or otherwise unsatisfying. Just like for
|
||||
packages, you can always @emph{roll back} to a previous generation
|
||||
@emph{of the whole system}:
|
||||
|
||||
@example
|
||||
sudo guix system roll-back
|
||||
@end example
|
||||
|
||||
There are many things you'll probably want to tweak on your system:
|
||||
adding new user accounts, adding new system services, fiddling with the
|
||||
configuration of those services, etc. The system configuration is
|
||||
@emph{entirely} described in the @file{/etc/config.scm} file.
|
||||
@xref{Using the Configuration System}, to learn how to change it.
|
||||
|
||||
Now you know enough to get started!
|
||||
|
||||
@quotation Resources
|
||||
The rest of this manual provides a reference for all things Guix. Here
|
||||
are some additional resources you may find useful:
|
||||
|
||||
@itemize
|
||||
@item
|
||||
@xref{Top,,, guix-cookbook, The GNU Guix Cookbook}, for a list of
|
||||
``how-to'' style of recipes for a variety of applications.
|
||||
|
||||
@item
|
||||
The @uref{https://guix.gnu.org/guix-refcard.pdf, GNU Guix Reference
|
||||
Card} lists in two pages most of the commands and options you'll ever
|
||||
need.
|
||||
|
||||
@item
|
||||
The web site contains @uref{https://guix.gnu.org/en/videos/,
|
||||
instructional videos} covering topics such as everyday use of Guix, how
|
||||
to get help, and how to become a contributor.
|
||||
|
||||
@item
|
||||
@xref{Documentation}, to learn how to access documentation on your
|
||||
computer.
|
||||
@end itemize
|
||||
|
||||
We hope you will enjoy Guix as much as the community enjoys building it!
|
||||
@end quotation
|
||||
|
||||
@c *********************************************************************
|
||||
@node Package Management
|
||||
@chapter Package Management
|
||||
|
@ -2598,6 +2813,10 @@ guix install emacs-guix
|
|||
@node Features
|
||||
@section Features
|
||||
|
||||
Here we assume you've already made your first steps with Guix
|
||||
(@pxref{Getting Started}) and would like to get an overview about what's
|
||||
going on under the hood.
|
||||
|
||||
When using Guix, each package ends up in the @dfn{package store}, in its
|
||||
own directory---something that resembles
|
||||
@file{/gnu/store/xxx-package-1.2}, where @code{xxx} is a base32 string.
|
||||
|
@ -4358,6 +4577,12 @@ something like this:
|
|||
(body (en "Don't miss the @@code@{hello@} package!"))))
|
||||
@end lisp
|
||||
|
||||
While the news file is using the Scheme syntax, avoid naming it with a
|
||||
@file{.scm} extension or else it will get picked up when building the
|
||||
channel and yield an error since it is not a valid module.
|
||||
Alternatively, you can move the channel module to a subdirectory and
|
||||
store the news file in another directory.
|
||||
|
||||
The file consists of a list of @dfn{news entries}. Each entry is
|
||||
associated with a commit or tag: it describes changes made in this
|
||||
commit, possibly in preceding commits as well. Users see entries only
|
||||
|
@ -4376,7 +4601,7 @@ you write news entries in English first, the command below creates a PO
|
|||
file containing the strings to translate:
|
||||
|
||||
@example
|
||||
xgettext -o news.po -l scheme -ken etc/news.scm
|
||||
xgettext -o news.po -l scheme -ken etc/news.txt
|
||||
@end example
|
||||
|
||||
To sum up, yes, you could use your channel as a blog. But beware, this
|
||||
|
@ -8317,10 +8542,12 @@ This is the declarative counterpart of @code{text-file}.
|
|||
@end deffn
|
||||
|
||||
@deffn {Scheme Procedure} computed-file @var{name} @var{gexp} @
|
||||
[#:options '(#:local-build? #t)]
|
||||
[#:local-build? #t]
|
||||
[#:options '()]
|
||||
Return an object representing the store item @var{name}, a file or
|
||||
directory computed by @var{gexp}. @var{options}
|
||||
is a list of additional arguments to pass to @code{gexp->derivation}.
|
||||
directory computed by @var{gexp}. When @var{local-build?} is true (the
|
||||
default), the derivation is built locally. @var{options} is a list of
|
||||
additional arguments to pass to @code{gexp->derivation}.
|
||||
|
||||
This is the declarative counterpart of @code{gexp->derivation}.
|
||||
@end deffn
|
||||
|
@ -11938,7 +12165,7 @@ If the @code{users} list lacks a user account with UID@tie{}0, a
|
|||
``root'' account with UID@tie{}0 is automatically added.
|
||||
|
||||
@item @code{skeletons} (default: @code{(default-skeletons)})
|
||||
A list target file name/file-like object tuples (@pxref{G-Expressions,
|
||||
A list of target file name/file-like object tuples (@pxref{G-Expressions,
|
||||
file-like objects}). These are the skeleton files that will be added to
|
||||
the home directory of newly-created user accounts.
|
||||
|
||||
|
@ -11956,8 +12183,15 @@ A string denoting the contents of the @file{/etc/issue} file, which is
|
|||
displayed when users log in on a text console.
|
||||
|
||||
@item @code{packages} (default: @code{%base-packages})
|
||||
The set of packages installed in the global profile, which is accessible
|
||||
at @file{/run/current-system/profile}.
|
||||
A list of packages to be installed in the global profile, which is accessible
|
||||
at @file{/run/current-system/profile}. Each element is either a package
|
||||
variable or a package/output tuple. Here's a simple example of both:
|
||||
|
||||
@lisp
|
||||
(cons* git ; the default "out" output
|
||||
(list git "send-email") ; another output of git
|
||||
%base-packages) ; the default set
|
||||
@end lisp
|
||||
|
||||
The default set includes core utilities and it is good practice to
|
||||
install non-core utilities in user profiles (@pxref{Invoking guix
|
||||
|
@ -12159,6 +12393,12 @@ errors before being mounted.
|
|||
@item @code{create-mount-point?} (default: @code{#f})
|
||||
When true, the mount point is created if it does not exist yet.
|
||||
|
||||
@item @code{mount-may-fail?} (default: @code{#f})
|
||||
When true, this indicates that mounting this file system can fail but
|
||||
that should not be considered an error. This is useful in unusual
|
||||
cases; an example of this is @code{efivarfs}, a file system that can
|
||||
only be mounted on EFI/UEFI systems.
|
||||
|
||||
@item @code{dependencies} (default: @code{'()})
|
||||
This is a list of @code{<file-system>} or @code{<mapped-device>} objects
|
||||
representing file systems that must be mounted or mapped devices that
|
||||
|
@ -12173,6 +12413,19 @@ example for an encrypted partition (@pxref{Mapped Devices}).
|
|||
@end table
|
||||
@end deftp
|
||||
|
||||
@deffn {Scheme Procedure} file-system-label @var{str}
|
||||
This procedure returns an opaque file system label from @var{str}, a
|
||||
string:
|
||||
|
||||
@lisp
|
||||
(file-system-label "home")
|
||||
@result{} #<file-system-label "home">
|
||||
@end lisp
|
||||
|
||||
File system labels are used to refer to file systems by label rather
|
||||
than by device name. See above for examples.
|
||||
@end deffn
|
||||
|
||||
The @code{(gnu system file-systems)} exports the following useful
|
||||
variables.
|
||||
|
||||
|
@ -12219,6 +12472,29 @@ and unmount user-space FUSE file systems. This requires the
|
|||
@code{fuse.ko} kernel module to be loaded.
|
||||
@end defvr
|
||||
|
||||
The @code{(gnu system uuid)} module provides tools to deal with file
|
||||
system ``unique identifiers'' (UUIDs).
|
||||
|
||||
@deffn {Scheme Procedure} uuid @var{str} [@var{type}]
|
||||
Return an opaque UUID (unique identifier) object of the given @var{type}
|
||||
(a symbol) by parsing @var{str} (a string):
|
||||
|
||||
@lisp
|
||||
(uuid "4dab5feb-d176-45de-b287-9b0a6e4c01cb")
|
||||
@result{} #<<uuid> type: dce bv: @dots{}>
|
||||
|
||||
(uuid "1234-ABCD" 'fat)
|
||||
@result{} #<<uuid> type: fat bv: @dots{}>
|
||||
@end lisp
|
||||
|
||||
@var{type} may be one of @code{dce}, @code{iso9660}, @code{fat},
|
||||
@code{ntfs}, or one of the commonly found synonyms for these.
|
||||
|
||||
UUIDs are another way to unambiguously refer to file systems in
|
||||
operating system configuration. See the examples above.
|
||||
@end deffn
|
||||
|
||||
|
||||
@node Btrfs file system
|
||||
@subsection Btrfs file system
|
||||
|
||||
|
@ -12926,6 +13202,7 @@ declaration.
|
|||
* Scheduled Job Execution:: The mcron service.
|
||||
* Log Rotation:: The rottlog service.
|
||||
* Networking Services:: Network setup, SSH daemon, etc.
|
||||
* Unattended Upgrades:: Automated system upgrades.
|
||||
* X Window:: Graphical display.
|
||||
* Printing Services:: Local and remote printer support.
|
||||
* Desktop Services:: D-Bus and desktop services.
|
||||
|
@ -15142,7 +15419,7 @@ a positive integer, ports @var{n} and @var{n}+1 are used for
|
|||
monitoring the connection, such that port @var{n} is the base
|
||||
monitoring port and @code{n+1} is the echo port. When set to
|
||||
@code{"@var{n}:@var{m}"} where @var{n} and @var{m} are positive
|
||||
integers, the ports @var{n} and @var{n}+1 are used for monitoring the
|
||||
integers, the ports @var{n} and @var{m} are used for monitoring the
|
||||
connection, such that port @var{n} is the base monitoring port and
|
||||
@var{m} is the echo port.
|
||||
|
||||
|
@ -15298,6 +15575,140 @@ Use this to add additional options and manage shared secrets out-of-band.
|
|||
@end table
|
||||
@end deftp
|
||||
|
||||
@node Unattended Upgrades
|
||||
@subsection Unattended Upgrades
|
||||
|
||||
@cindex unattended upgrades
|
||||
@cindex upgrades, unattended
|
||||
Guix provides a service to perform @emph{unattended upgrades}:
|
||||
periodically, the system automatically reconfigures itself from the
|
||||
latest Guix. Guix System has several properties that make unattended
|
||||
upgrades safe:
|
||||
|
||||
@itemize
|
||||
@item
|
||||
upgrades are transactional (either the upgrade succeeds or it fails, but
|
||||
you cannot end up with an ``in-between'' system state);
|
||||
@item
|
||||
the upgrade log is kept---you can view it with @command{guix system
|
||||
list-generations}---and you can roll back to any previous generation,
|
||||
should the upgraded system fail to behave as intended;
|
||||
@item
|
||||
channel code is authenticated so you know you can only run genuine code
|
||||
(@pxref{Channels});
|
||||
@item
|
||||
@command{guix system reconfigure} prevents downgrades, which makes it
|
||||
immune to @dfn{downgrade attacks}.
|
||||
@end itemize
|
||||
|
||||
To set up unattended upgrades, add an instance of
|
||||
@code{unattended-upgrade-service-type} like the one below to the list of
|
||||
your operating system services:
|
||||
|
||||
@lisp
|
||||
(service unattended-upgrade-service-type)
|
||||
@end lisp
|
||||
|
||||
The defaults above set up weekly upgrades: every Sunday at midnight.
|
||||
You do not need to provide the operating system configuration file: it
|
||||
uses @file{/run/current-system/configuration.scm}, which ensures it
|
||||
always uses your latest configuration---@pxref{provenance-service-type},
|
||||
for more information about this file.
|
||||
|
||||
There are several things that can be configured, in particular the
|
||||
periodicity and services (daemons) to be restarted upon completion.
|
||||
When the upgrade is successful, the service takes care of deleting
|
||||
system generations older that some threshold, as per @command{guix
|
||||
system delete-generations}. See the reference below for details.
|
||||
|
||||
To ensure that upgrades are actually happening, you can run
|
||||
@command{guix system describe}. To investigate upgrade failures, visit
|
||||
the unattended upgrade log file (see below).
|
||||
|
||||
@defvr {Scheme Variable} unattended-upgrade-service-type
|
||||
This is the service type for unattended upgrades. It sets up an mcron
|
||||
job (@pxref{Scheduled Job Execution}) that runs @command{guix system
|
||||
reconfigure} from the latest version of the specified channels.
|
||||
|
||||
Its value must be a @code{unattended-upgrade-configuration} record (see
|
||||
below).
|
||||
@end defvr
|
||||
|
||||
@deftp {Data Type} unattended-upgrade-configuration
|
||||
This data type represents the configuration of the unattended upgrade
|
||||
service. The following fields are available:
|
||||
|
||||
@table @asis
|
||||
@item @code{schedule} (default: @code{"30 01 * * 0"})
|
||||
This is the schedule of upgrades, expressed as a gexp containing an
|
||||
mcron job schedule (@pxref{Guile Syntax, mcron job specifications,,
|
||||
mcron, GNU@tie{}mcron}).
|
||||
|
||||
@item @code{channels} (default: @code{#~%default-channels})
|
||||
This gexp specifies the channels to use for the upgrade
|
||||
(@pxref{Channels}). By default, the tip of the official @code{guix}
|
||||
channel is used.
|
||||
|
||||
@item @code{operating-system-file} (default: @code{"/run/current-system/configuration.scm"})
|
||||
This field specifies the operating system configuration file to use.
|
||||
The default is to reuse the config file of the current configuration.
|
||||
|
||||
There are cases, though, where referring to
|
||||
@file{/run/current-system/configuration.scm} is not enough, for instance
|
||||
because that file refers to extra files (SSH public keys, extra
|
||||
configuration files, etc.) @i{via} @code{local-file} and similar
|
||||
constructs. For those cases, we recommend something along these lines:
|
||||
|
||||
@lisp
|
||||
(unattended-upgrade-configuration
|
||||
(operating-system-file
|
||||
(file-append (local-file "." "config-dir" #:recursive? #t)
|
||||
"/config.scm")))
|
||||
@end lisp
|
||||
|
||||
The effect here is to import all of the current directory into the
|
||||
store, and to refer to @file{config.scm} within that directory.
|
||||
Therefore, uses of @code{local-file} within @file{config.scm} will work
|
||||
as expected. @xref{G-Expressions}, for information about
|
||||
@code{local-file} and @code{file-append}.
|
||||
|
||||
@item @code{services-to-restart} (default: @code{'(mcron)})
|
||||
This field specifies the Shepherd services to restart when the upgrade
|
||||
completes.
|
||||
|
||||
Those services are restarted right away upon completion, as with
|
||||
@command{herd restart}, which ensures that the latest version is
|
||||
running---remember that by default @command{guix system reconfigure}
|
||||
only restarts services that are not currently running, which is
|
||||
conservative: it minimizes disruption but leaves outdated services
|
||||
running.
|
||||
|
||||
By default, the @code{mcron} service is restarted. This ensures that
|
||||
the latest version of the unattended upgrade job will be used next time.
|
||||
|
||||
@item @code{system-expiration} (default: @code{(* 3 30 24 3600)})
|
||||
This is the expiration time in seconds for system generations. System
|
||||
generations older that this amount of time are deleted with
|
||||
@command{guix system delete-generations} when an upgrade completes.
|
||||
|
||||
@quotation Note
|
||||
The unattended upgrade service does not run the garbage collector. You
|
||||
will probably want to set up your own mcron job to run @command{guix gc}
|
||||
periodically.
|
||||
@end quotation
|
||||
|
||||
@item @code{maximum-duration} (default: @code{3600})
|
||||
Maximum duration in seconds for the upgrade; past that time, the upgrade
|
||||
aborts.
|
||||
|
||||
This is primarily useful to ensure the upgrade does not end up
|
||||
rebuilding or re-downloading ``the world''.
|
||||
|
||||
@item @code{log-file} (default: @code{"/var/log/unattended-upgrade.log"})
|
||||
File where unattended upgrades are logged.
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
@node X Window
|
||||
@subsection X Window
|
||||
|
||||
|
@ -17142,6 +17553,24 @@ The PostgreSQL daemon loads its runtime configuration from @var{config-file},
|
|||
creates a database cluster with @var{locale} as the default
|
||||
locale, stored in @var{data-directory}. It then listens on @var{port}.
|
||||
|
||||
If the services fails to start, it may be due to an incompatible
|
||||
cluster already present in @var{data-directory}. Adjust it (or, if you
|
||||
don't need the cluster anymore, delete @var{data-directory}), then
|
||||
restart the service.
|
||||
|
||||
Peer authentication is used by default and the @code{postgres} user
|
||||
account has no shell, which prevents the direct execution of @code{psql}
|
||||
commands as this user. To use @code{psql}, you can temporarily log in
|
||||
as @code{postgres} using a shell, create a PostgreSQL superuser with the
|
||||
same name as one of the system users and then create the associated
|
||||
database.
|
||||
|
||||
@example
|
||||
sudo -u postgres -s /bin/sh
|
||||
createuser --interactive
|
||||
createdb $MY_USER_LOGIN # Replace appropriately.
|
||||
@end example
|
||||
|
||||
@cindex postgresql extension-packages
|
||||
Additional extensions are loaded from packages listed in
|
||||
@var{extension-packages}. Extensions are available at runtime. For instance,
|
||||
|
@ -23508,17 +23937,17 @@ source is detected. More information can be found at
|
|||
@uref{https://linrunner.de/en/tlp/tlp.html, TLP home page}.
|
||||
|
||||
@deffn {Scheme Variable} tlp-service-type
|
||||
The service type for the TLP tool. Its value should be a valid
|
||||
TLP configuration (see below). To use the default settings, simply
|
||||
write:
|
||||
The service type for the TLP tool. The default settings are optimised
|
||||
for battery life on most systems, but you can tweak them to your heart's
|
||||
content by adding a valid @code{tlp-configuration}:
|
||||
@lisp
|
||||
(service tlp-service-type)
|
||||
(service tlp-service-type
|
||||
(tlp-configuration
|
||||
(cpu-scaling-governor-on-ac (list "performance"))
|
||||
(sched-powersave-on-bat? #t)))
|
||||
@end lisp
|
||||
@end deffn
|
||||
|
||||
By default TLP does not need much configuration but most TLP parameters
|
||||
can be tweaked using @code{tlp-configuration}.
|
||||
|
||||
Each parameter definition is preceded by its type; for example,
|
||||
@samp{boolean foo} indicates that the @code{foo} parameter
|
||||
should be specified as a boolean. Types starting with
|
||||
|
@ -24852,7 +25281,7 @@ Maximum number of backup files to keep.
|
|||
Defaults to @samp{3}
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@node Transparent Emulation with QEMU
|
||||
@subsubheading Transparent Emulation with QEMU
|
||||
|
||||
@cindex emulation
|
||||
|
@ -24943,6 +25372,7 @@ Return the name of @var{platform}---a string such as @code{"arm"}.
|
|||
|
||||
@cindex @code{hurd}
|
||||
@cindex the Hurd
|
||||
@cindex childhurd
|
||||
|
||||
Service @code{hurd-vm} provides support for running GNU/Hurd in a
|
||||
virtual machine (VM), a so-called ``Childhurd''. The virtual machine is
|
||||
|
@ -25015,15 +25445,41 @@ By default, it produces
|
|||
@lisp
|
||||
'("--device" "rtl8139,netdev=net0"
|
||||
"--netdev" "user,id=net0\
|
||||
,hostfwd=tcp:127.0.0.1:<secrets-port>-:1004\
|
||||
,hostfwd=tcp:127.0.0.1:<ssh-port>-:2222\
|
||||
,hostfwd=tcp:127.0.0.1:<vnc-port>-:5900")
|
||||
@end lisp
|
||||
with forwarded ports
|
||||
@example
|
||||
<ssh-port>: @code{(+ 11004 (* 1000 @var{ID}))}
|
||||
<ssh-port>: @code{(+ 10022 (* 1000 @var{ID}))}
|
||||
<vnc-port>: @code{(+ 15900 (* 1000 @var{ID}))}
|
||||
@end example
|
||||
|
||||
@item @code{secret-root} (default: @file{/etc/childhurd})
|
||||
The root directory with out-of-band secrets to be installed into the
|
||||
childhurd once it runs. Childhurds are volatile which means that on
|
||||
every startup, secrets such as the SSH host keys and Guix signing key
|
||||
are recreated.
|
||||
|
||||
If the @file{/etc/childhurd} directory does not exist, the
|
||||
@code{secret-service} running in the Childhurd will be sent an empty
|
||||
list of secrets.
|
||||
|
||||
Typical use to populate @file{"/etc/childhurd"} with a tree of
|
||||
non-volatile secrets, like so
|
||||
|
||||
@example
|
||||
/etc/childhurd/etc/guix/signing-key.pub
|
||||
/etc/childhurd/etc/guix/signing-key.sec
|
||||
/etc/childhurd/etc/ssh/ssh_host_ed25519_key
|
||||
/etc/childhurd/etc/ssh/ssh_host_ecdsa_key
|
||||
/etc/childhurd/etc/ssh/ssh_host_ed25519_key.pub
|
||||
/etc/childhurd/etc/ssh/ssh_host_ecdsa_key.pub
|
||||
@end example
|
||||
|
||||
to be sent to the Childhurd, including permissions.
|
||||
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
|
@ -25455,7 +25911,7 @@ When true, the daemon performs additional logging for debugging purposes.
|
|||
@defvr {Scheme Variable} ganeti-luxid-service-type
|
||||
@command{ganeti-luxid} is a daemon used to answer queries related to the
|
||||
configuration and the current live state of a Ganeti cluster. Additionally,
|
||||
it is the authorative daemon for the Ganeti job queue. Jobs can be
|
||||
it is the authoritative daemon for the Ganeti job queue. Jobs can be
|
||||
submitted via this daemon and it schedules and starts them.
|
||||
|
||||
It takes a @code{ganeti-luxid-configuration} object.
|
||||
|
@ -27147,6 +27603,51 @@ parameters, can be done as follow:
|
|||
@end lisp
|
||||
@end deffn
|
||||
|
||||
@cindex zram
|
||||
@cindex compressed swap
|
||||
@cindex Compressed RAM-based block devices
|
||||
@subsubheading Zram Device Service
|
||||
|
||||
The Zram device service provides a compressed swap device in system
|
||||
memory. The Linux Kernel documentation has more information about
|
||||
@uref{https://www.kernel.org/doc/html/latest/admin-guide/blockdev/zram.html,zram}
|
||||
devices.
|
||||
|
||||
@deffn {Scheme Variable} zram-device-service-type
|
||||
This service creates the zram block device, formats it as swap and
|
||||
enables it as a swap device. The service's value is a
|
||||
@code{zram-device-configuration} record.
|
||||
|
||||
@deftp {Data Type} zram-device-configuration
|
||||
This is the data type representing the configuration for the zram-device
|
||||
service.
|
||||
|
||||
@table @asis
|
||||
@item @code{size} (default @var{"1G"})
|
||||
This is the amount of space you wish to provide for the zram device. It
|
||||
accepts a string and can be a number of bytes or use a suffix, eg.:
|
||||
@var{"512M"} or @var{1024000}.
|
||||
@item @code{compression-algorithm} (default @var{'lzo})
|
||||
This is the compression algorithm you wish to use. It is difficult to
|
||||
list all the possible compression options, but common ones supported by
|
||||
Guix's Linux Libre Kernel include @var{'lzo}, @var{'lz4} and @var{'zstd}.
|
||||
@item @code{memory-limit} (default @var{0})
|
||||
This is the maximum amount of memory which the zram device can use.
|
||||
Setting it to '0' disables the limit. While it is generally expected
|
||||
that compression will be 2:1, it is possible that uncompressable data
|
||||
can be written to swap and this is a method to limit how much memory can
|
||||
be used. It accepts a string and can be a number of bytes or use a
|
||||
suffix, eg.: @var{"2G"}.
|
||||
@item @code{priority} (default @var{-1})
|
||||
This is the priority of the swap device created from the zram device.
|
||||
@code{swapon} accepts values between -1 and 32767, with higher values
|
||||
indicating higher priority. Higher priority swap will generally be used
|
||||
first.
|
||||
@end table
|
||||
|
||||
@end deftp
|
||||
@end deffn
|
||||
|
||||
@node Hurd Services
|
||||
@subsection Hurd Services
|
||||
|
||||
|
@ -27466,6 +27967,9 @@ Enable or disable the use of the Docker user-land networking proxy.
|
|||
@item @code{debug?} (default @code{#f})
|
||||
Enable or disable debug output.
|
||||
|
||||
@item @code{enable-iptables?} (default @code{#t})
|
||||
Enable or disable the addition of iptables rules.
|
||||
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
|
@ -27500,10 +28004,12 @@ Network access
|
|||
@command{auditctl} from the @code{audit} package can be used in order
|
||||
to add or remove events to be tracked (until the next reboot).
|
||||
In order to permanently track events, put the command line arguments
|
||||
of auditctl into @file{/etc/audit/audit.rules}.
|
||||
of auditctl into a file called @code{audit.rules} in the configuration
|
||||
directory (see below).
|
||||
@command{aureport} from the @code{audit} package can be used in order
|
||||
to view a report of all recorded events.
|
||||
The audit daemon usually logs into the directory @file{/var/log/audit}.
|
||||
The audit daemon by default logs into the file
|
||||
@file{/var/log/audit.log}.
|
||||
|
||||
@end defvr
|
||||
|
||||
|
@ -27515,6 +28021,11 @@ This is the data type representing the configuration of auditd.
|
|||
@item @code{audit} (default: @code{audit})
|
||||
The audit package to use.
|
||||
|
||||
@item @code{configuration-directory} (default: @code{%default-auditd-configuration-directory})
|
||||
The directory containing the configuration file for the audit package, which
|
||||
must be named @code{auditd.conf}, and optionally some audit rules to
|
||||
instantiate on startup.
|
||||
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
|
@ -27561,7 +28072,7 @@ The common way to create this file is as follows:
|
|||
(app (string-append out "/bin/" ,name))
|
||||
(Rbin (string-append (assoc-ref %build-inputs "r-min")
|
||||
"/bin/Rscript")))
|
||||
@dots{}
|
||||
;; @dots{}
|
||||
(mkdir-p (string-append out "/bin"))
|
||||
(call-with-output-file app
|
||||
(lambda (port)
|
||||
|
@ -27570,8 +28081,7 @@ The common way to create this file is as follows:
|
|||
library(shiny)
|
||||
setwd(\"~a\")
|
||||
runApp(launch.browser=0, port=4202)~%\n"
|
||||
Rbin targetdir)))
|
||||
@dots{}
|
||||
Rbin targetdir))))
|
||||
@end lisp
|
||||
|
||||
@end table
|
||||
|
@ -27637,6 +28147,9 @@ This is a list of strings or objects appended to the
|
|||
This is a list of strings or objects appended to the configuration file.
|
||||
It is used to pass extra text to be added verbatim to the configuration
|
||||
file.
|
||||
|
||||
@item @code{extra-options} (default: @code{'()})
|
||||
Extra command line options for @code{nix-service-type}.
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
|
@ -28602,7 +29115,9 @@ the @option{--image-size} option is ignored in the case of
|
|||
@code{docker-image}.
|
||||
|
||||
You can specify the root file system type by using the
|
||||
@option{--file-system-type} option. It defaults to @code{ext4}.
|
||||
@option{--file-system-type} option. It defaults to @code{ext4}. When its
|
||||
value is @code{iso9660}, the @option{--label} option can be used to specify
|
||||
a volume ID with @code{disk-image}.
|
||||
|
||||
When using @code{vm-image}, the returned image is in qcow2 format, which
|
||||
the QEMU emulator can efficiently use. @xref{Running Guix in a VM},
|
||||
|
@ -29030,6 +29545,16 @@ When @code{host-key} is @code{#f}, the server is authenticated against
|
|||
the @file{~/.ssh/known_hosts} file, just like the OpenSSH @command{ssh}
|
||||
client does.
|
||||
|
||||
@item @code{allow-downgrades?} (default: @code{#f})
|
||||
Whether to allow potential downgrades.
|
||||
|
||||
Like @command{guix system reconfigure}, @command{guix deploy} compares
|
||||
the channel commits currently deployed on the remote host (as returned
|
||||
by @command{guix system describe}) to those currently in use (as
|
||||
returned by @command{guix describe}) to determine whether commits
|
||||
currently in use are descendants of those deployed. When this is not
|
||||
the case and @code{allow-downgrades?} is false, it raises an error.
|
||||
This ensures you do not accidentally downgrade remote machines.
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
|
@ -29526,6 +30051,23 @@ calls it, passing it the initial value of the service as the first
|
|||
argument and the result of applying @code{compose} to the extension
|
||||
values as the second argument. It must return a value that is a valid
|
||||
parameter value for the service instance.
|
||||
|
||||
@item @code{description}
|
||||
This is a string, possibly using Texinfo markup, describing in a couple
|
||||
of sentences what the service is about. This string allows users to
|
||||
find about the service through @command{guix system search}
|
||||
(@pxref{Invoking guix system}).
|
||||
|
||||
@item @code{default-value} (default: @code{&no-default-value})
|
||||
The default value associated for instances of this service type. This
|
||||
allows users to use the @code{service} form without its second argument:
|
||||
|
||||
@lisp
|
||||
(service @var{type})
|
||||
@end lisp
|
||||
|
||||
The returned service in this case has the default value specified by
|
||||
@var{type}.
|
||||
@end table
|
||||
|
||||
@xref{Service Types and Services}, for examples.
|
||||
|
@ -29615,6 +30157,7 @@ extend it by passing it lists of packages to add to the system profile.
|
|||
@end defvr
|
||||
|
||||
@cindex provenance tracking, of the operating system
|
||||
@anchor{provenance-service-type}
|
||||
@defvr {Scheme Variable} provenance-service-type
|
||||
This is the type of the service that records @dfn{provenance meta-data}
|
||||
in the system itself. It creates several files under
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
;; Copyright © 2017 Alex Kost <alezost@gmail.com>
|
||||
;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
|
||||
;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
|
||||
;; This file is part of GNU Guix.
|
||||
|
||||
|
@ -93,7 +94,7 @@
|
|||
;; Indent the definition of PACKAGE-NAME in FILE-NAME.
|
||||
(find-file file-name)
|
||||
(goto-char (point-min))
|
||||
(if (re-search-forward (concat "^(define\\(-public\\) +"
|
||||
(if (re-search-forward (concat "^(define\\(\\|-public\\) +"
|
||||
package-name)
|
||||
nil t)
|
||||
(let ((indent-tabs-mode nil))
|
||||
|
|
10
gnu.scm
10
gnu.scm
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014, 2015, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014, 2015, 2016, 2017, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015 Joshua S. Grant <jgrant@parenthetical.io>
|
||||
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;;
|
||||
|
@ -20,7 +20,7 @@
|
|||
|
||||
(define-module (gnu)
|
||||
#:use-module (guix i18n)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix diagnostics)
|
||||
#:use-module (srfi srfi-34)
|
||||
#:use-module (srfi srfi-35)
|
||||
#:use-module (ice-9 match)
|
||||
|
@ -78,10 +78,8 @@
|
|||
(raise
|
||||
(apply
|
||||
make-compound-condition
|
||||
(condition
|
||||
(&message
|
||||
(message (format #f (G_ "module ~a not found")
|
||||
module))))
|
||||
(formatted-message (G_ "module ~a not found")
|
||||
module)
|
||||
(condition
|
||||
(&error-location (location location)))
|
||||
(or (and=> (make-hint module) list)
|
||||
|
|
|
@ -476,6 +476,42 @@ not valid header was found."
|
|||
(let ((uuid (sub-bytevector header 168 36)))
|
||||
(string->uuid (utf8->string uuid))))
|
||||
|
||||
|
||||
;;;
|
||||
;;; NTFS file systems.
|
||||
;;;
|
||||
|
||||
;; Taken from <linux-libre>/fs/ntfs/layout.h
|
||||
|
||||
(define-syntax %ntfs-endianness
|
||||
;; Endianness of NTFS file systems.
|
||||
(identifier-syntax (endianness little)))
|
||||
|
||||
(define (ntfs-superblock? sblock)
|
||||
"Return #t when SBLOCK is a NTFS superblock."
|
||||
(bytevector=? (sub-bytevector sblock 3 8)
|
||||
(string->utf8 "NTFS ")))
|
||||
|
||||
(define (read-ntfs-superblock device)
|
||||
"Return the raw contents of DEVICE's NTFS superblock as a bytevector, or #f
|
||||
if DEVICE does not contain a NTFS file system."
|
||||
(read-superblock device 0 511 ntfs-superblock?))
|
||||
|
||||
(define (ntfs-superblock-uuid sblock)
|
||||
"Return the UUID of NTFS superblock SBLOCK as a 8-byte bytevector."
|
||||
(sub-bytevector sblock 72 8))
|
||||
|
||||
;; TODO: Add ntfs-superblock-volume-name. The partition label is not stored
|
||||
;; in the BOOT SECTOR like the UUID, but in the MASTER FILE TABLE, which seems
|
||||
;; way harder to access.
|
||||
|
||||
(define (check-ntfs-file-system device)
|
||||
"Return the health of a NTFS file system on DEVICE."
|
||||
(match (status:exit-val
|
||||
(system* "ntfsfix" device))
|
||||
(0 'pass)
|
||||
(_ 'fatal-error)))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Partition lookup.
|
||||
|
@ -585,7 +621,9 @@ partition field reader that returned a value."
|
|||
(partition-field-reader read-jfs-superblock
|
||||
jfs-superblock-uuid)
|
||||
(partition-field-reader read-f2fs-superblock
|
||||
f2fs-superblock-uuid)))
|
||||
f2fs-superblock-uuid)
|
||||
(partition-field-reader read-ntfs-superblock
|
||||
ntfs-superblock-uuid)))
|
||||
|
||||
(define read-partition-label
|
||||
(cut read-partition-field <> %partition-label-readers))
|
||||
|
@ -684,6 +722,7 @@ were found."
|
|||
((string-suffix? "fat" type) check-fat-file-system)
|
||||
((string-prefix? "jfs" type) check-jfs-file-system)
|
||||
((string-prefix? "f2fs" type) check-f2fs-file-system)
|
||||
((string-prefix? "ntfs" type) check-ntfs-file-system)
|
||||
((string-prefix? "nfs" type) (const 'pass))
|
||||
(else #f)))
|
||||
|
||||
|
@ -775,26 +814,33 @@ corresponds to the symbols listed in FLAGS."
|
|||
(when (file-system-check? fs)
|
||||
(check-file-system source type))
|
||||
|
||||
;; Create the mount point. Most of the time this is a directory, but
|
||||
;; in the case of a bind mount, a regular file or socket may be needed.
|
||||
(if (and (= MS_BIND (logand flags MS_BIND))
|
||||
(not (file-is-directory? source)))
|
||||
(unless (file-exists? mount-point)
|
||||
(mkdir-p (dirname mount-point))
|
||||
(call-with-output-file mount-point (const #t)))
|
||||
(mkdir-p mount-point))
|
||||
(catch 'system-error
|
||||
(lambda ()
|
||||
;; Create the mount point. Most of the time this is a directory, but
|
||||
;; in the case of a bind mount, a regular file or socket may be
|
||||
;; needed.
|
||||
(if (and (= MS_BIND (logand flags MS_BIND))
|
||||
(not (file-is-directory? source)))
|
||||
(unless (file-exists? mount-point)
|
||||
(mkdir-p (dirname mount-point))
|
||||
(call-with-output-file mount-point (const #t)))
|
||||
(mkdir-p mount-point))
|
||||
|
||||
(cond
|
||||
((string-prefix? "nfs" type)
|
||||
(mount-nfs source mount-point type flags options))
|
||||
(else
|
||||
(mount source mount-point type flags options)))
|
||||
(cond
|
||||
((string-prefix? "nfs" type)
|
||||
(mount-nfs source mount-point type flags options))
|
||||
(else
|
||||
(mount source mount-point type flags options)))
|
||||
|
||||
;; For read-only bind mounts, an extra remount is needed, as per
|
||||
;; <http://lwn.net/Articles/281157/>, which still applies to Linux 4.0.
|
||||
(when (and (= MS_BIND (logand flags MS_BIND))
|
||||
(= MS_RDONLY (logand flags MS_RDONLY)))
|
||||
(let ((flags (logior MS_BIND MS_REMOUNT MS_RDONLY)))
|
||||
(mount source mount-point type flags #f)))))
|
||||
;; For read-only bind mounts, an extra remount is needed, as per
|
||||
;; <http://lwn.net/Articles/281157/>, which still applies to Linux
|
||||
;; 4.0.
|
||||
(when (and (= MS_BIND (logand flags MS_BIND))
|
||||
(= MS_RDONLY (logand flags MS_RDONLY)))
|
||||
(let ((flags (logior MS_BIND MS_REMOUNT MS_RDONLY)))
|
||||
(mount source mount-point type flags #f))))
|
||||
(lambda args
|
||||
(or (file-system-mount-may-fail? fs)
|
||||
(apply throw args))))))
|
||||
|
||||
;;; file-systems.scm ends here
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu build install)
|
||||
#:use-module (guix build syscalls)
|
||||
#:use-module (guix build utils)
|
||||
#:use-module (guix build store-copy)
|
||||
#:use-module (srfi srfi-26)
|
||||
|
@ -26,7 +27,9 @@
|
|||
evaluate-populate-directive
|
||||
populate-root-file-system
|
||||
install-database-and-gc-roots
|
||||
populate-single-profile-directory))
|
||||
populate-single-profile-directory
|
||||
mount-cow-store
|
||||
unmount-cow-store))
|
||||
|
||||
;;; Commentary:
|
||||
;;;
|
||||
|
@ -229,4 +232,43 @@ This is used to create the self-contained tarballs with 'guix pack'."
|
|||
(_
|
||||
#t)))
|
||||
|
||||
(define (mount-cow-store target backing-directory)
|
||||
"Make the store copy-on-write, using TARGET as the backing store. This is
|
||||
useful when TARGET is on a hard disk, whereas the current store is on a RAM
|
||||
disk."
|
||||
(define (set-store-permissions directory)
|
||||
"Set the right perms on DIRECTORY to use it as the store."
|
||||
(chown directory 0 30000) ;use the fixed 'guixbuild' GID
|
||||
(chmod directory #o1775))
|
||||
|
||||
(let ((tmpdir (string-append target "/tmp")))
|
||||
(mkdir-p tmpdir)
|
||||
(mount tmpdir "/tmp" "none" MS_BIND))
|
||||
|
||||
(let* ((rw-dir (string-append target backing-directory))
|
||||
(work-dir (string-append rw-dir "/../.overlayfs-workdir")))
|
||||
(mkdir-p rw-dir)
|
||||
(mkdir-p work-dir)
|
||||
(mkdir-p "/.rw-store")
|
||||
(set-store-permissions rw-dir)
|
||||
(set-store-permissions "/.rw-store")
|
||||
|
||||
;; Mount the overlay, then atomically make it the store.
|
||||
(mount "none" "/.rw-store" "overlay" 0
|
||||
(string-append "lowerdir=" (%store-directory) ","
|
||||
"upperdir=" rw-dir ","
|
||||
"workdir=" work-dir))
|
||||
(mount "/.rw-store" (%store-directory) "" MS_MOVE)
|
||||
(rmdir "/.rw-store")))
|
||||
|
||||
(define (unmount-cow-store target backing-directory)
|
||||
"Unmount copy-on-write store."
|
||||
(let ((tmp-dir "/remove"))
|
||||
(mkdir-p tmp-dir)
|
||||
(mount (%store-directory) tmp-dir "" MS_MOVE)
|
||||
(umount tmp-dir)
|
||||
(rmdir tmp-dir)
|
||||
(delete-file-recursively
|
||||
(string-append target backing-directory))))
|
||||
|
||||
;;; install.scm ends here
|
||||
|
|
|
@ -243,7 +243,8 @@ that host UIDs (respectively GIDs) map to in the namespace."
|
|||
(match (read child)
|
||||
('ready
|
||||
(purify-environment)
|
||||
(when (memq 'mnt namespaces)
|
||||
(when (and (not (null? mounts))
|
||||
(memq 'mnt namespaces))
|
||||
(catch #t
|
||||
(lambda ()
|
||||
(mount-file-systems root mounts
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
#:use-module (guix build syscalls)
|
||||
#:use-module ((guix build utils) #:select (find-files invoke))
|
||||
#:use-module (guix build union)
|
||||
#:autoload (zlib) (call-with-gzip-input-port)
|
||||
#:use-module (rnrs io ports)
|
||||
#:use-module (rnrs bytevectors)
|
||||
#:use-module (srfi srfi-1)
|
||||
|
@ -94,10 +95,28 @@ string list."
|
|||
(cons (string->symbol (string-take str =))
|
||||
(string-drop str (+ 1 =)))))
|
||||
|
||||
;; Matches kernel modules, without compression, with GZIP compression or with
|
||||
;; XZ compression.
|
||||
(define module-regex "\\.ko(\\.gz|\\.xz)?$")
|
||||
|
||||
(define (modinfo-section-contents file)
|
||||
"Return the contents of the '.modinfo' section of FILE as a list of
|
||||
key/value pairs.."
|
||||
(let* ((bv (call-with-input-file file get-bytevector-all))
|
||||
(define (get-bytevector file)
|
||||
(cond
|
||||
((string-suffix? ".ko.gz" file)
|
||||
(let ((port (open-file file "r0")))
|
||||
(dynamic-wind
|
||||
(lambda ()
|
||||
#t)
|
||||
(lambda ()
|
||||
(call-with-gzip-input-port port get-bytevector-all))
|
||||
(lambda ()
|
||||
(close-port port)))))
|
||||
(else
|
||||
(call-with-input-file file get-bytevector-all))))
|
||||
|
||||
(let* ((bv (get-bytevector file))
|
||||
(elf (parse-elf bv))
|
||||
(section (elf-section-by-name elf ".modinfo"))
|
||||
(modinfo (section-contents elf section)))
|
||||
|
@ -110,7 +129,7 @@ key/value pairs.."
|
|||
(define (module-formal-name file)
|
||||
"Return the module name of FILE as it appears in its info section. Usually
|
||||
the module name is the same as the base name of FILE, modulo hyphens and minus
|
||||
the \".ko\" extension."
|
||||
the \".ko[.gz|.xz]\" extension."
|
||||
(match (assq 'name (modinfo-section-contents file))
|
||||
(('name . name) name)
|
||||
(#f #f)))
|
||||
|
@ -171,14 +190,25 @@ modules that can be postloaded, of the soft dependencies of module FILE."
|
|||
(_ #f))
|
||||
(modinfo-section-contents file))))
|
||||
|
||||
(define dot-ko
|
||||
(cut string-append <> ".ko"))
|
||||
(define (strip-extension filename)
|
||||
(let ((extension (string-index filename #\.)))
|
||||
(if extension
|
||||
(string-take filename extension)
|
||||
filename)))
|
||||
|
||||
(define (ensure-dot-ko name)
|
||||
"Return NAME with a '.ko' prefix appended, unless it already has it."
|
||||
(if (string-suffix? ".ko" name)
|
||||
(define (dot-ko name compression)
|
||||
(let ((suffix (match compression
|
||||
('xz ".ko.xz")
|
||||
('gzip ".ko.gz")
|
||||
(else ".ko"))))
|
||||
(string-append name suffix)))
|
||||
|
||||
(define (ensure-dot-ko name compression)
|
||||
"Return NAME with a '.ko[.gz|.xz]' suffix appended, unless it already has
|
||||
it."
|
||||
(if (string-contains name ".ko")
|
||||
name
|
||||
(dot-ko name)))
|
||||
(dot-ko name compression)))
|
||||
|
||||
(define (normalize-module-name module)
|
||||
"Return the \"canonical\" name for MODULE, replacing hyphens with
|
||||
|
@ -191,9 +221,9 @@ underscores."
|
|||
module))
|
||||
|
||||
(define (file-name->module-name file)
|
||||
"Return the module name corresponding to FILE, stripping the trailing '.ko'
|
||||
and normalizing it."
|
||||
(normalize-module-name (basename file ".ko")))
|
||||
"Return the module name corresponding to FILE, stripping the trailing
|
||||
'.ko[.gz|.xz]' and normalizing it."
|
||||
(normalize-module-name (strip-extension (basename file))))
|
||||
|
||||
(define (find-module-file directory module)
|
||||
"Lookup module NAME under DIRECTORY, and return its absolute file name.
|
||||
|
@ -208,19 +238,19 @@ whereas file names often, but not always, use hyphens. Examples:
|
|||
;; List of possible file names. XXX: It would of course be cleaner to
|
||||
;; have a database that maps module names to file names and vice versa,
|
||||
;; but everyone seems to be doing hacks like this one. Oh well!
|
||||
(map ensure-dot-ko
|
||||
(delete-duplicates
|
||||
(list module
|
||||
(normalize-module-name module)
|
||||
(string-map (lambda (chr) ;converse of 'normalize-module-name'
|
||||
(case chr
|
||||
((#\_) #\-)
|
||||
(else chr)))
|
||||
module)))))
|
||||
(delete-duplicates
|
||||
(list module
|
||||
(normalize-module-name module)
|
||||
(string-map (lambda (chr) ;converse of 'normalize-module-name'
|
||||
(case chr
|
||||
((#\_) #\-)
|
||||
(else chr)))
|
||||
module))))
|
||||
|
||||
(match (find-files directory
|
||||
(lambda (file stat)
|
||||
(member (basename file) names)))
|
||||
(member (strip-extension
|
||||
(basename file)) names)))
|
||||
((file)
|
||||
file)
|
||||
(()
|
||||
|
@ -290,8 +320,8 @@ not a file name."
|
|||
(recursive? #t)
|
||||
(lookup-module dot-ko)
|
||||
(black-list (module-black-list)))
|
||||
"Load Linux module from FILE, the name of a '.ko' file; return true on
|
||||
success, false otherwise. When RECURSIVE? is true, load its dependencies
|
||||
"Load Linux module from FILE, the name of a '.ko[.gz|.xz]' file; return true
|
||||
on success, false otherwise. When RECURSIVE? is true, load its dependencies
|
||||
first (à la 'modprobe'.) The actual files containing modules depended on are
|
||||
obtained by calling LOOKUP-MODULE with the module name. Modules whose name
|
||||
appears in BLACK-LIST are not loaded."
|
||||
|
@ -523,16 +553,29 @@ are required to access DEVICE."
|
|||
;;; Module databases.
|
||||
;;;
|
||||
|
||||
(define (module-name->file-name/guess directory name)
|
||||
(define* (module-name->file-name/guess directory name
|
||||
#:key compression)
|
||||
"Guess the file name corresponding to NAME, a module name. That doesn't
|
||||
always work because sometimes underscores in NAME map to hyphens (e.g.,
|
||||
\"input-leds.ko\"), sometimes not (e.g., \"mac_hid.ko\")."
|
||||
(string-append directory "/" (ensure-dot-ko name)))
|
||||
\"input-leds.ko\"), sometimes not (e.g., \"mac_hid.ko\"). If the module is
|
||||
compressed then COMPRESSED can be set to 'xz or 'gzip, depending on the
|
||||
compression type."
|
||||
(string-append directory "/" (ensure-dot-ko name compression)))
|
||||
|
||||
(define (module-name-lookup directory)
|
||||
"Return a one argument procedure that takes a module name (e.g.,
|
||||
\"input_leds\") and returns its absolute file name (e.g.,
|
||||
\"/.../input-leds.ko\")."
|
||||
(define (guess-file-name name)
|
||||
(let ((names (list
|
||||
(module-name->file-name/guess directory name)
|
||||
(module-name->file-name/guess directory name
|
||||
#:compression 'xz)
|
||||
(module-name->file-name/guess directory name
|
||||
#:compression 'gzip))))
|
||||
(or (find file-exists? names)
|
||||
(first names))))
|
||||
|
||||
(catch 'system-error
|
||||
(lambda ()
|
||||
(define mapping
|
||||
|
@ -541,23 +584,23 @@ always work because sometimes underscores in NAME map to hyphens (e.g.,
|
|||
|
||||
(lambda (name)
|
||||
(or (assoc-ref mapping name)
|
||||
(module-name->file-name/guess directory name))))
|
||||
(guess-file-name name))))
|
||||
(lambda args
|
||||
(if (= ENOENT (system-error-errno args))
|
||||
(cut module-name->file-name/guess directory <>)
|
||||
(cut guess-file-name <>)
|
||||
(apply throw args)))))
|
||||
|
||||
(define (write-module-name-database directory)
|
||||
"Write a database that maps \"module names\" as they appear in the relevant
|
||||
ELF section of '.ko' files, to actual file names. This format is
|
||||
ELF section of '.ko[.gz|.xz]' files, to actual file names. This format is
|
||||
Guix-specific. It aims to deal with inconsistent naming, in particular
|
||||
hyphens vs. underscores."
|
||||
(define mapping
|
||||
(map (lambda (file)
|
||||
(match (module-formal-name file)
|
||||
(#f (cons (basename file ".ko") file))
|
||||
(#f (cons (strip-extension (basename file)) file))
|
||||
(name (cons name file))))
|
||||
(find-files directory "\\.ko$")))
|
||||
(find-files directory module-regex)))
|
||||
|
||||
(call-with-output-file (string-append directory "/modules.name")
|
||||
(lambda (port)
|
||||
|
@ -569,12 +612,12 @@ hyphens vs. underscores."
|
|||
(pretty-print mapping port))))
|
||||
|
||||
(define (write-module-alias-database directory)
|
||||
"Traverse the '.ko' files in DIRECTORY and create the corresponding
|
||||
"Traverse the '.ko[.gz|.xz]' files in DIRECTORY and create the corresponding
|
||||
'modules.alias' file."
|
||||
(define aliases
|
||||
(map (lambda (file)
|
||||
(cons (file-name->module-name file) (module-aliases file)))
|
||||
(find-files directory "\\.ko$")))
|
||||
(find-files directory module-regex)))
|
||||
|
||||
(call-with-output-file (string-append directory "/modules.alias")
|
||||
(lambda (port)
|
||||
|
@ -616,7 +659,7 @@ are found, return a tuple (DEVNAME TYPE MAJOR MINOR), otherwise return #f."
|
|||
(char-set-complement (char-set #\-)))
|
||||
|
||||
(define (write-module-device-database directory)
|
||||
"Traverse the '.ko' files in DIRECTORY and create the corresponding
|
||||
"Traverse the '.ko[.gz|.xz]' files in DIRECTORY and create the corresponding
|
||||
'modules.devname' file. This file contains information about modules that can
|
||||
be loaded on-demand, such as file system modules."
|
||||
(define aliases
|
||||
|
@ -624,7 +667,7 @@ be loaded on-demand, such as file system modules."
|
|||
(match (aliases->device-tuple (module-aliases file))
|
||||
(#f #f)
|
||||
(tuple (cons (file-name->module-name file) tuple))))
|
||||
(find-files directory "\\.ko$")))
|
||||
(find-files directory module-regex)))
|
||||
|
||||
(call-with-output-file (string-append directory "/modules.devname")
|
||||
(lambda (port)
|
||||
|
|
137
gnu/build/secret-service.scm
Normal file
137
gnu/build/secret-service.scm
Normal file
|
@ -0,0 +1,137 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2020 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
||||
;;; under the terms of the GNU General Public License as published by
|
||||
;;; the Free Software Foundation; either version 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix is distributed in the hope that it will be useful, but
|
||||
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;;; GNU General Public License for more details.
|
||||
;;;
|
||||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu build secret-service)
|
||||
#:use-module (guix build utils)
|
||||
|
||||
#:use-module (srfi srfi-26)
|
||||
#:use-module (rnrs bytevectors)
|
||||
#:use-module (ice-9 binary-ports)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (ice-9 rdelim)
|
||||
|
||||
#:export (secret-service-receive-secrets
|
||||
secret-service-send-secrets))
|
||||
|
||||
;;; Commentary:
|
||||
;;;
|
||||
;;; Utility procedures for copying secrets into a VM.
|
||||
;;;
|
||||
;;; Code:
|
||||
|
||||
(define* (secret-service-send-secrets port secret-root #:key (retry 60))
|
||||
"Copy all files under SECRET-ROOT using TCP to secret-service listening at
|
||||
local PORT. If connect fails, sleep 1s and retry RETRY times."
|
||||
|
||||
(define (file->file+size+mode file-name)
|
||||
(let ((stat (stat file-name))
|
||||
(target (substring file-name (string-length secret-root))))
|
||||
(list target (stat:size stat) (stat:mode stat))))
|
||||
|
||||
(format (current-error-port) "sending secrets to ~a~%" port)
|
||||
(let ((sock (socket AF_INET SOCK_STREAM 0))
|
||||
(addr (make-socket-address AF_INET INADDR_LOOPBACK port)))
|
||||
;; connect to wait for port
|
||||
(let loop ((retry retry))
|
||||
(catch 'system-error
|
||||
(cute connect sock addr)
|
||||
(lambda (key . args)
|
||||
(when (zero? retry)
|
||||
(apply throw key args))
|
||||
(format (current-error-port) "retrying connection~%")
|
||||
(sleep 1)
|
||||
(loop (1- retry)))))
|
||||
|
||||
(format (current-error-port) "connected! sending files in ~s %~"
|
||||
secret-root)
|
||||
(let* ((files (if secret-root (find-files secret-root) '()))
|
||||
(files-sizes-modes (map file->file+size+mode files))
|
||||
(secrets `(secrets
|
||||
(version 0)
|
||||
(files ,files-sizes-modes))))
|
||||
(write secrets sock)
|
||||
(for-each (compose (cute dump-port <> sock)
|
||||
(cute open-input-file <>))
|
||||
files))))
|
||||
|
||||
(define (secret-service-receive-secrets port)
|
||||
"Listen to local PORT and wait for a secret service client to send secrets.
|
||||
Write them to the file system."
|
||||
|
||||
(define (wait-for-client port)
|
||||
;; Wait for a TCP connection on PORT. Note: We cannot use the
|
||||
;; virtio-serial ports, which would be safer, because they are
|
||||
;; (presumably) unsupported on GNU/Hurd.
|
||||
(let ((sock (socket AF_INET SOCK_STREAM 0)))
|
||||
(bind sock AF_INET INADDR_ANY port)
|
||||
(listen sock 1)
|
||||
(format (current-error-port)
|
||||
"waiting for secrets on port ~a...~%"
|
||||
port)
|
||||
(match (accept sock)
|
||||
((client . address)
|
||||
(format (current-error-port) "client connection from ~a~%"
|
||||
(inet-ntop (sockaddr:fam address)
|
||||
(sockaddr:addr address)))
|
||||
(close-port sock)
|
||||
client))))
|
||||
|
||||
;; TODO: Remove when (@ (guix build utils) dump-port) has a 'size'
|
||||
;; parameter.
|
||||
(define (dump in out size)
|
||||
;; Copy SIZE bytes from IN to OUT.
|
||||
(define buf-size 65536)
|
||||
(define buf (make-bytevector buf-size))
|
||||
|
||||
(let loop ((left size))
|
||||
(if (<= left 0)
|
||||
0
|
||||
(let ((read (get-bytevector-n! in buf 0 (min left buf-size))))
|
||||
(if (eof-object? read)
|
||||
left
|
||||
(begin
|
||||
(put-bytevector out buf 0 read)
|
||||
(loop (- left read))))))))
|
||||
|
||||
(define (read-secrets port)
|
||||
;; Read secret files from PORT and install them.
|
||||
(match (false-if-exception (read port))
|
||||
(('secrets ('version 0)
|
||||
('files ((files sizes modes) ...)))
|
||||
(for-each (lambda (file size mode)
|
||||
(format (current-error-port)
|
||||
"installing file '~a' (~a bytes)...~%"
|
||||
file size)
|
||||
(mkdir-p (dirname file))
|
||||
(call-with-output-file file
|
||||
(lambda (output)
|
||||
(dump port output size)
|
||||
(chmod file mode))))
|
||||
files sizes modes))
|
||||
(_
|
||||
(format (current-error-port)
|
||||
"invalid secrets received~%")
|
||||
#f)))
|
||||
|
||||
(let* ((port (wait-for-client port))
|
||||
(result (read-secrets port)))
|
||||
(close-port port)
|
||||
result))
|
||||
|
||||
;;; secret-service.scm ends here
|
|
@ -20,10 +20,12 @@
|
|||
#:use-module (gnu system file-systems)
|
||||
#:use-module (gnu build linux-container)
|
||||
#:use-module (guix build utils)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-26)
|
||||
#:use-module (ice-9 match)
|
||||
#:export (make-forkexec-constructor/container))
|
||||
#:export (make-forkexec-constructor/container
|
||||
fork+exec-command/container))
|
||||
|
||||
;;; Commentary:
|
||||
;;;
|
||||
|
@ -93,7 +95,8 @@
|
|||
;; XXX: Lazy-bind the Shepherd to avoid a compile-time dependency.
|
||||
(module-autoload! (current-module)
|
||||
'(shepherd service)
|
||||
'(read-pid-file exec-command %precious-signals))
|
||||
'(fork+exec-command read-pid-file exec-command
|
||||
%precious-signals))
|
||||
(module-autoload! (current-module)
|
||||
'(shepherd system) '(unblock-signals))
|
||||
|
||||
|
@ -188,6 +191,17 @@ namespace, in addition to essential bind-mounts such /proc."
|
|||
(read-pid-file pid-file #:max-delay pid-file-timeout))
|
||||
pid))))
|
||||
|
||||
(define* (fork+exec-command/container command
|
||||
#:key pid
|
||||
#:allow-other-keys
|
||||
#:rest args)
|
||||
"This is a variant of 'fork+exec-command' procedure, that joins the
|
||||
namespaces of process PID beforehand."
|
||||
(container-excursion* pid
|
||||
(lambda ()
|
||||
(apply fork+exec-command command
|
||||
(strip-keyword-arguments '(#:pid) args)))))
|
||||
|
||||
;; Local Variables:
|
||||
;; eval: (put 'container-excursion* 'scheme-indent-function 1)
|
||||
;; End:
|
||||
|
|
11
gnu/ci.scm
11
gnu/ci.scm
|
@ -2,6 +2,7 @@
|
|||
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2018, 2019 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -25,6 +26,7 @@
|
|||
#:use-module (guix profiles)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix channels)
|
||||
#:use-module (guix config)
|
||||
#:use-module (guix derivations)
|
||||
#:use-module (guix build-system)
|
||||
#:use-module (guix monads)
|
||||
|
@ -116,7 +118,7 @@ SYSTEM."
|
|||
;; Note: Don't put the '-final' package variants because (1) that's
|
||||
;; implicit, and (2) they cannot be cross-built (due to the explicit input
|
||||
;; chain.)
|
||||
(list gcc-4.8 gcc-4.9 gcc-5 glibc binutils
|
||||
(list gcc-7 gcc-8 gcc-9 gcc-10 glibc binutils
|
||||
gmp mpfr mpc coreutils findutils diffutils patch sed grep
|
||||
gawk gnu-gettext hello guile-2.0 guile-2.2 zlib gzip xz
|
||||
%bootstrap-binaries-tarball
|
||||
|
@ -233,7 +235,12 @@ system.")
|
|||
,(->job 'iso9660-image
|
||||
(build-image
|
||||
(image
|
||||
(inherit iso9660-image)
|
||||
(inherit (image-with-label
|
||||
iso9660-image
|
||||
(string-append "GUIX_" system "_"
|
||||
(if (> (string-length %guix-version) 7)
|
||||
(substring %guix-version 0 7)
|
||||
%guix-version))))
|
||||
(operating-system installation-os))))
|
||||
;; Only cross-compile Guix System images from x86_64-linux for now.
|
||||
,@(if (string=? system "x86_64-linux")
|
||||
|
|
|
@ -318,8 +318,10 @@ selected keymap."
|
|||
cryptsetup
|
||||
dosfstools ;mkfs.fat
|
||||
e2fsprogs ;mkfs.ext4
|
||||
lvm2-static ;dmsetup
|
||||
btrfs-progs
|
||||
jfsutils ;jfs_mkfs
|
||||
ntfs-3g ;mkfs.ntfs
|
||||
kbd ;chvt
|
||||
guix ;guix system init call
|
||||
util-linux ;mkwap
|
||||
|
|
|
@ -26,6 +26,8 @@
|
|||
#:use-module (guix build syscalls)
|
||||
#:use-module (guix build utils)
|
||||
#:use-module (gnu build accounts)
|
||||
#:use-module (gnu build install)
|
||||
#:use-module (gnu build linux-container)
|
||||
#:use-module ((gnu system shadow) #:prefix sys:)
|
||||
#:use-module (rnrs io ports)
|
||||
#:use-module (srfi srfi-1)
|
||||
|
@ -133,49 +135,18 @@ USERS."
|
|||
(_ #f))))))
|
||||
pids)))
|
||||
|
||||
(define (umount-cow-store)
|
||||
"Remove the store overlay and the bind-mount on /tmp created by the
|
||||
cow-store service. This procedure is very fragile and a better approach would
|
||||
be much appreciated."
|
||||
(catch #t
|
||||
(lambda ()
|
||||
(let ((tmp-dir "/remove"))
|
||||
(syslog "Unmounting cow-store.~%")
|
||||
|
||||
(mkdir-p tmp-dir)
|
||||
(mount (%store-directory) tmp-dir "" MS_MOVE)
|
||||
|
||||
;; The guix-daemon has possibly opened files from the cow-store,
|
||||
;; restart it.
|
||||
(restart-service 'guix-daemon)
|
||||
|
||||
(syslog "Killing cow users.")
|
||||
|
||||
;; Kill all processes started while the cow-store was active (logins
|
||||
;; on other TTYs for instance).
|
||||
(kill-cow-users tmp-dir)
|
||||
|
||||
;; Try to umount the store overlay. Some process such as udevd
|
||||
;; workers might still be active, so do some retries.
|
||||
(let loop ((try 5))
|
||||
(syslog "Umount try ~a~%" (- 5 try))
|
||||
(sleep 1)
|
||||
(let ((umounted? (false-if-exception (umount tmp-dir))))
|
||||
(if (and (not umounted?) (> try 0))
|
||||
(loop (- try 1))
|
||||
(if umounted?
|
||||
(syslog "Umounted ~a successfully.~%" tmp-dir)
|
||||
(syslog "Failed to umount ~a.~%" tmp-dir)))))
|
||||
|
||||
(umount "/tmp")))
|
||||
(lambda args
|
||||
(syslog "~a~%" args))))
|
||||
|
||||
(define* (install-system locale #:key (users '()))
|
||||
"Create /etc/shadow and /etc/passwd on the installation target for USERS.
|
||||
Start COW-STORE service on target directory and launch guix install command in
|
||||
a subshell. LOCALE must be the locale name under which that command will run,
|
||||
or #f. Return #t on success and #f on failure."
|
||||
(define backing-directory
|
||||
;; Sub-directory used as the backing store for copy-on-write.
|
||||
"/tmp/guix-inst")
|
||||
|
||||
(define (assert-exit x)
|
||||
(primitive-exit (if x 0 1)))
|
||||
|
||||
(let* ((options (catch 'system-error
|
||||
(lambda ()
|
||||
;; If this file exists, it can provide
|
||||
|
@ -188,7 +159,11 @@ or #f. Return #t on success and #f on failure."
|
|||
"--fallback")
|
||||
options
|
||||
(list (%installer-configuration-file)
|
||||
(%installer-target-dir)))))
|
||||
(%installer-target-dir))))
|
||||
(database-dir "/var/guix/db")
|
||||
(database-file (string-append database-dir "/db.sqlite"))
|
||||
(saved-database (string-append database-dir "/db.save"))
|
||||
(ret #f))
|
||||
(mkdir-p (%installer-target-dir))
|
||||
|
||||
;; We want to initialize user passwords but we don't want to store them in
|
||||
|
@ -198,27 +173,50 @@ or #f. Return #t on success and #f on failure."
|
|||
;; passwords that we've put in there.
|
||||
(create-user-database users (%installer-target-dir))
|
||||
|
||||
(dynamic-wind
|
||||
(lambda ()
|
||||
(start-service 'cow-store (list (%installer-target-dir))))
|
||||
(lambda ()
|
||||
;; If there are any connected clients, assume that we are running
|
||||
;; installation tests. In that case, dump the standard and error
|
||||
;; outputs to syslog.
|
||||
(if (not (null? (current-clients)))
|
||||
(with-output-to-file "/dev/console"
|
||||
(lambda ()
|
||||
(with-error-to-file "/dev/console"
|
||||
(lambda ()
|
||||
(setvbuf (current-output-port) 'none)
|
||||
(setvbuf (current-error-port) 'none)
|
||||
(run-command install-command #:locale locale)))))
|
||||
(run-command install-command #:locale locale)))
|
||||
(lambda ()
|
||||
(stop-service 'cow-store)
|
||||
;; Remove the store overlay created at cow-store service start.
|
||||
;; Failing to do that will result in further umount calls to fail
|
||||
;; because the target device is seen as busy. See:
|
||||
;; https://lists.gnu.org/archive/html/guix-devel/2018-12/msg00161.html.
|
||||
(umount-cow-store)
|
||||
#f))))
|
||||
;; When the store overlay is mounted, other processes such as kmscon, udev
|
||||
;; and guix-daemon may open files from the store, preventing the
|
||||
;; underlying install support from being umounted. See:
|
||||
;; https://lists.gnu.org/archive/html/guix-devel/2018-12/msg00161.html.
|
||||
;;
|
||||
;; To avoid this situation, mount the store overlay inside a container,
|
||||
;; and run the installation from within that container.
|
||||
(zero?
|
||||
(call-with-container '()
|
||||
(lambda ()
|
||||
(dynamic-wind
|
||||
(lambda ()
|
||||
;; Save the database, so that it can be restored once the
|
||||
;; cow-store is umounted.
|
||||
(copy-file database-file saved-database)
|
||||
(mount-cow-store (%installer-target-dir) backing-directory))
|
||||
(lambda ()
|
||||
;; We need to drag the guix-daemon to the container MNT
|
||||
;; namespace, so that it can operate on the cow-store.
|
||||
(stop-service 'guix-daemon)
|
||||
(start-service 'guix-daemon (list (number->string (getpid))))
|
||||
|
||||
(setvbuf (current-output-port) 'none)
|
||||
(setvbuf (current-error-port) 'none)
|
||||
|
||||
;; If there are any connected clients, assume that we are running
|
||||
;; installation tests. In that case, dump the standard and error
|
||||
;; outputs to syslog.
|
||||
(set! ret
|
||||
(if (not (null? (current-clients)))
|
||||
(with-output-to-file "/dev/console"
|
||||
(lambda ()
|
||||
(with-error-to-file "/dev/console"
|
||||
(lambda ()
|
||||
(run-command install-command
|
||||
#:locale locale)))))
|
||||
(run-command install-command #:locale locale))))
|
||||
(lambda ()
|
||||
;; Restart guix-daemon so that it does no keep the MNT namespace
|
||||
;; alive.
|
||||
(restart-service 'guix-daemon)
|
||||
(copy-file saved-database database-file)
|
||||
|
||||
;; Finally umount the cow-store and exit the container.
|
||||
(unmount-cow-store (%installer-target-dir) backing-directory)
|
||||
(assert-exit ret))))
|
||||
#:namespaces '(mnt)))))
|
||||
|
|
|
@ -102,13 +102,6 @@ a specific step, or restart the installer."))
|
|||
#:key (users '()))
|
||||
(clear-screen)
|
||||
(newt-suspend)
|
||||
;; XXX: Force loading 'bold' font files before mouting the
|
||||
;; cow-store. Otherwise, if the file is loaded by kmscon after the cow-store
|
||||
;; in mounted, it will be necessary to kill kmscon to umount to cow-store.
|
||||
(display
|
||||
(colorize-string
|
||||
(format #f (G_ "Installing Guix System ...~%"))
|
||||
(color BOLD)))
|
||||
(let ((install-ok? (install-system locale #:users users)))
|
||||
(newt-resume)
|
||||
install-ok?))
|
||||
|
|
|
@ -121,7 +121,7 @@ Be careful, all data on the disk will be lost.")
|
|||
(run-listbox-selection-page
|
||||
#:info-text (G_ "Please select the file-system type for this partition.")
|
||||
#:title (G_ "File-system type")
|
||||
#:listbox-items '(ext4 btrfs fat16 fat32 jfs swap)
|
||||
#:listbox-items '(ext4 btrfs fat16 fat32 jfs ntfs swap)
|
||||
#:listbox-item->text user-fs-type-name
|
||||
#:sort-listbox-items? #f
|
||||
#:button-text (G_ "Exit")
|
||||
|
|
|
@ -222,7 +222,8 @@ inferior to MAX-SIZE, #f otherwise."
|
|||
((btrfs) "btrfs")
|
||||
((fat16) "fat16")
|
||||
((fat32) "fat32")
|
||||
((jfs) "jfs")
|
||||
((jfs) "jfs")
|
||||
((ntfs) "ntfs")
|
||||
((swap) "linux-swap")))
|
||||
|
||||
(define (user-fs-type->mount-type fs-type)
|
||||
|
@ -232,7 +233,8 @@ inferior to MAX-SIZE, #f otherwise."
|
|||
((btrfs) "btrfs")
|
||||
((fat16) "fat")
|
||||
((fat32) "vfat")
|
||||
((jfs) "jfs")))
|
||||
((jfs) "jfs")
|
||||
((ntfs) "ntfs")))
|
||||
|
||||
(define (partition-filesystem-user-type partition)
|
||||
"Return the filesystem type of PARTITION, to be stored in the FS-TYPE field
|
||||
|
@ -246,6 +248,7 @@ of <user-partition> record."
|
|||
((string=? name "fat16") 'fat16)
|
||||
((string=? name "fat32") 'fat32)
|
||||
((string=? name "jfs") 'jfs)
|
||||
((string=? name "ntfs") 'ntfs)
|
||||
((or (string=? name "swsusp")
|
||||
(string=? name "linux-swap(v0)")
|
||||
(string=? name "linux-swap(v1)"))
|
||||
|
@ -327,6 +330,11 @@ fail. See rereadpt function in wipefs.c of util-linux for an explanation."
|
|||
(device-sync device)
|
||||
(device-close device))
|
||||
|
||||
(define (remove-logical-devices)
|
||||
"Remove all active logical devices."
|
||||
(with-null-output-ports
|
||||
(invoke "dmsetup" "remove_all")))
|
||||
|
||||
(define (non-install-devices)
|
||||
"Return all the available devices, except the busy one, allegedly the
|
||||
install device. DEVICE-IS-BUSY? is a parted call, checking if the device is
|
||||
|
@ -1040,6 +1048,11 @@ bit bucket."
|
|||
(with-null-output-ports
|
||||
(invoke "jfs_mkfs" "-f" partition)))
|
||||
|
||||
(define (create-ntfs-file-system partition)
|
||||
"Create a JFS file-system for PARTITION file-name."
|
||||
(with-null-output-ports
|
||||
(invoke "mkfs.ntfs" "-F" "-f" partition)))
|
||||
|
||||
(define (create-swap-partition partition)
|
||||
"Set up swap area on PARTITION file-name."
|
||||
(with-null-output-ports
|
||||
|
@ -1117,6 +1130,10 @@ NEED-FORMATING? field set to #t."
|
|||
(and need-formatting?
|
||||
(not (eq? type 'extended))
|
||||
(create-jfs-file-system file-name)))
|
||||
((ntfs)
|
||||
(and need-formatting?
|
||||
(not (eq? type 'extended))
|
||||
(create-ntfs-file-system file-name)))
|
||||
((swap)
|
||||
(create-swap-partition file-name))
|
||||
(else
|
||||
|
@ -1328,6 +1345,9 @@ USER-PARTITIONS, or return nothing."
|
|||
(define (init-parted)
|
||||
"Initialize libparted support."
|
||||
(probe-all-devices!)
|
||||
;; Remove all logical devices, otherwise "device-is-busy?" will report true
|
||||
;; on all devices containaing active logical volumes.
|
||||
(remove-logical-devices)
|
||||
(exception-set-handler (lambda (exception)
|
||||
EXCEPTION-OPTION-UNHANDLED)))
|
||||
|
||||
|
|
71
gnu/local.mk
71
gnu/local.mk
|
@ -132,6 +132,7 @@ GNU_SYSTEM_MODULES = \
|
|||
%D%/packages/commencement.scm \
|
||||
%D%/packages/compression.scm \
|
||||
%D%/packages/compton.scm \
|
||||
%D%/packages/configuration-management.scm \
|
||||
%D%/packages/conky.scm \
|
||||
%D%/packages/connman.scm \
|
||||
%D%/packages/convmv.scm \
|
||||
|
@ -388,6 +389,7 @@ GNU_SYSTEM_MODULES = \
|
|||
%D%/packages/networking.scm \
|
||||
%D%/packages/nfs.scm \
|
||||
%D%/packages/nickle.scm \
|
||||
%D%/packages/nicotine.scm \
|
||||
%D%/packages/nim.scm \
|
||||
%D%/packages/ninja.scm \
|
||||
%D%/packages/node.scm \
|
||||
|
@ -412,6 +414,7 @@ GNU_SYSTEM_MODULES = \
|
|||
%D%/packages/package-management.scm \
|
||||
%D%/packages/pantheon.scm \
|
||||
%D%/packages/parallel.scm \
|
||||
%D%/packages/pascal.scm \
|
||||
%D%/packages/password-utils.scm \
|
||||
%D%/packages/patchutils.scm \
|
||||
%D%/packages/pciutils.scm \
|
||||
|
@ -656,6 +659,7 @@ GNU_SYSTEM_MODULES = \
|
|||
%D%/build/linux-initrd.scm \
|
||||
%D%/build/linux-modules.scm \
|
||||
%D%/build/marionette.scm \
|
||||
%D%/build/secret-service.scm \
|
||||
%D%/build/vm.scm \
|
||||
\
|
||||
%D%/tests.scm \
|
||||
|
@ -823,8 +827,13 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/binutils-mingw-w64-timestamp.patch \
|
||||
%D%/packages/patches/binutils-mingw-w64-deterministic.patch \
|
||||
%D%/packages/patches/bitcoin-core-python-compat.patch \
|
||||
%D%/packages/patches/blender-2.79-gcc8.patch \
|
||||
%D%/packages/patches/blender-2.79-gcc9.patch \
|
||||
%D%/packages/patches/blender-2.79-newer-ffmpeg.patch \
|
||||
%D%/packages/patches/blender-2.79-oiio2.patch \
|
||||
%D%/packages/patches/blender-2.79-python-3.7-fix.patch \
|
||||
%D%/packages/patches/blender-2.79-python-3.8-fix.patch \
|
||||
%D%/packages/patches/bpftrace-disable-bfd-disasm.patch \
|
||||
%D%/packages/patches/busybox-1.31.1-fix-build-with-glibc-2.31.patch \
|
||||
%D%/packages/patches/byobu-writable-status.patch \
|
||||
%D%/packages/patches/calibre-no-updates-dialog.patch \
|
||||
|
@ -849,6 +858,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/clang-runtime-asan-build-fixes.patch \
|
||||
%D%/packages/patches/clang-runtime-esan-build-fixes.patch \
|
||||
%D%/packages/patches/clang-runtime-9-libsanitizer-mode-field.patch \
|
||||
%D%/packages/patches/clang-runtime-3.5-libsanitizer-mode-field.patch \
|
||||
%D%/packages/patches/clang-runtime-3.9-libsanitizer-mode-field.patch \
|
||||
%D%/packages/patches/clang-runtime-3.8-libsanitizer-mode-field.patch \
|
||||
%D%/packages/patches/classpath-aarch64-support.patch \
|
||||
|
@ -880,8 +890,10 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/dbus-CVE-2020-12049.patch \
|
||||
%D%/packages/patches/dbus-c++-gcc-compat.patch \
|
||||
%D%/packages/patches/dbus-c++-threading-mutex.patch \
|
||||
%D%/packages/patches/dbxfs-remove-sentry-sdk.patch \
|
||||
%D%/packages/patches/debops-constants-for-external-program-names.patch \
|
||||
%D%/packages/patches/debops-debops-defaults-fall-back-to-less.patch \
|
||||
%D%/packages/patches/dee-vapi.patch \
|
||||
%D%/packages/patches/desmume-gcc6-fixes.patch \
|
||||
%D%/packages/patches/desmume-gcc7-fixes.patch \
|
||||
%D%/packages/patches/dfu-programmer-fix-libusb.patch \
|
||||
|
@ -907,10 +919,10 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/elixir-path-length.patch \
|
||||
%D%/packages/patches/elm-compiler-disable-reactor.patch \
|
||||
%D%/packages/patches/elm-compiler-fix-map-key.patch \
|
||||
%D%/packages/patches/emacs27-exec-path.patch \
|
||||
%D%/packages/patches/emacs-exec-path.patch \
|
||||
%D%/packages/patches/emacs-exwm-fix-fullscreen-states.patch \
|
||||
%D%/packages/patches/emacs-fix-scheme-indent-function.patch \
|
||||
%D%/packages/patches/emacs-ignore-empty-xim-styles.patch \
|
||||
%D%/packages/patches/emacs-json-reformat-fix-tests.patch \
|
||||
%D%/packages/patches/emacs-highlight-stages-add-gexp.patch \
|
||||
%D%/packages/patches/emacs-hyperbole-toggle-messaging.patch \
|
||||
|
@ -951,6 +963,8 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/foomatic-filters-CVE-2015-8327.patch \
|
||||
%D%/packages/patches/foomatic-filters-CVE-2015-8560.patch \
|
||||
%D%/packages/patches/fontconfig-hurd-path-max.patch \
|
||||
%D%/packages/patches/fpc-reproducibility.patch \
|
||||
%D%/packages/patches/freedink-engine-fix-sdl-hints.patch \
|
||||
%D%/packages/patches/freeimage-unbundle.patch \
|
||||
%D%/packages/patches/fuse-overlapping-headers.patch \
|
||||
%D%/packages/patches/ganeti-deterministic-manual.patch \
|
||||
|
@ -1015,14 +1029,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/ghostscript-no-header-uuid.patch \
|
||||
%D%/packages/patches/ghostscript-no-header-creationdate.patch \
|
||||
%D%/packages/patches/glib-tests-timer.patch \
|
||||
%D%/packages/patches/glibc-CVE-2015-5180.patch \
|
||||
%D%/packages/patches/glibc-CVE-2015-7547.patch \
|
||||
%D%/packages/patches/glibc-CVE-2016-3075.patch \
|
||||
%D%/packages/patches/glibc-CVE-2016-3706.patch \
|
||||
%D%/packages/patches/glibc-CVE-2016-4429.patch \
|
||||
%D%/packages/patches/glibc-CVE-2017-1000366-pt1.patch \
|
||||
%D%/packages/patches/glibc-CVE-2017-1000366-pt2.patch \
|
||||
%D%/packages/patches/glibc-CVE-2017-1000366-pt3.patch \
|
||||
%D%/packages/patches/glibc-CVE-2018-11236.patch \
|
||||
%D%/packages/patches/glibc-CVE-2018-11237.patch \
|
||||
%D%/packages/patches/glibc-CVE-2019-7309.patch \
|
||||
|
@ -1044,9 +1050,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/glibc-ldd-x86_64.patch \
|
||||
%D%/packages/patches/glibc-locales.patch \
|
||||
%D%/packages/patches/glibc-locales-2.28.patch \
|
||||
%D%/packages/patches/glibc-o-largefile.patch \
|
||||
%D%/packages/patches/glibc-reinstate-prlimit64-fallback.patch \
|
||||
%D%/packages/patches/glibc-vectorized-strcspn-guards.patch \
|
||||
%D%/packages/patches/glibc-versioned-locpath.patch \
|
||||
%D%/packages/patches/glibc-2.27-git-fixes.patch \
|
||||
%D%/packages/patches/glibc-2.28-git-fixes.patch \
|
||||
|
@ -1069,6 +1073,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/gobject-introspection-girepository.patch \
|
||||
%D%/packages/patches/go-skip-gc-test.patch \
|
||||
%D%/packages/patches/gpm-glibc-2.26.patch \
|
||||
%D%/packages/patches/gpodder-disable-updater.patch \
|
||||
%D%/packages/patches/gpsbabel-minizip.patch \
|
||||
%D%/packages/patches/gpsbabel-qstring.patch \
|
||||
%D%/packages/patches/grantlee-merge-theme-dirs.patch \
|
||||
|
@ -1101,6 +1106,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch \
|
||||
%D%/packages/patches/gtkglext-disable-disable-deprecated.patch \
|
||||
%D%/packages/patches/gtksourceview-2-add-default-directory.patch \
|
||||
%D%/packages/patches/gvfs-add-support-for-libplist-2.2.patch \
|
||||
%D%/packages/patches/gzdoom-search-in-installed-share.patch \
|
||||
%D%/packages/patches/gzdoom-find-system-libgme.patch \
|
||||
%D%/packages/patches/hdf4-architectures.patch \
|
||||
|
@ -1140,9 +1146,12 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/iputils-libcap-compat.patch \
|
||||
%D%/packages/patches/irrlicht-use-system-libs.patch \
|
||||
%D%/packages/patches/isl-0.11.1-aarch64-support.patch \
|
||||
%D%/packages/patches/json-c-CVE-2020-12762.patch \
|
||||
%D%/packages/patches/json-c-0.13-CVE-2020-12762.patch \
|
||||
%D%/packages/patches/json-c-0.12-CVE-2020-12762.patch \
|
||||
%D%/packages/patches/jacal-fix-texinfo.patch \
|
||||
%D%/packages/patches/jamvm-1.5.1-aarch64-support.patch \
|
||||
%D%/packages/patches/jamvm-1.5.1-armv7-support.patch \
|
||||
%D%/packages/patches/jamvm-1.5.1-armv7-support.patch \
|
||||
%D%/packages/patches/jamvm-2.0.0-aarch64-support.patch \
|
||||
%D%/packages/patches/jamvm-2.0.0-disable-branch-patching.patch \
|
||||
%D%/packages/patches/jamvm-2.0.0-opcode-guard.patch \
|
||||
|
@ -1196,9 +1205,9 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/lcms-CVE-2018-16435.patch \
|
||||
%D%/packages/patches/ldc-bootstrap-disable-tests.patch \
|
||||
%D%/packages/patches/ldc-disable-phobos-tests.patch \
|
||||
%D%/packages/patches/ldns-drill-examples.patch \
|
||||
%D%/packages/patches/leela-zero-gtest.patch \
|
||||
%D%/packages/patches/less-hurd-path-max.patch \
|
||||
%D%/packages/patches/lib2geom-enable-assertions.patch \
|
||||
%D%/packages/patches/lib2geom-fix-tests.patch \
|
||||
%D%/packages/patches/liba52-enable-pic.patch \
|
||||
%D%/packages/patches/liba52-link-with-libm.patch \
|
||||
|
@ -1208,13 +1217,16 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/libbase-use-own-logging.patch \
|
||||
%D%/packages/patches/libbonobo-activation-test-race.patch \
|
||||
%D%/packages/patches/libcanberra-sound-theme-freedesktop.patch \
|
||||
%D%/packages/patches/libextractor-exiv2.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 \
|
||||
%D%/packages/patches/libjxr-fix-function-signature.patch \
|
||||
%D%/packages/patches/libjxr-fix-typos.patch \
|
||||
%D%/packages/patches/liblouisutdml-fix-tests.patch \
|
||||
%D%/packages/patches/libofa-ftbfs-1.diff \
|
||||
%D%/packages/patches/libofa-curl.diff \
|
||||
%D%/packages/patches/libofa-ftbfs-2.diff \
|
||||
%D%/packages/patches/libotr-test-auth-fix.patch \
|
||||
%D%/packages/patches/libksieve-Fix-missing-link-libraries.patch \
|
||||
%D%/packages/patches/libmad-armv7-thumb-pt1.patch \
|
||||
|
@ -1228,6 +1240,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/libmygpo-qt-fix-qt-5.11.patch \
|
||||
%D%/packages/patches/libmygpo-qt-missing-qt5-modules.patch \
|
||||
%D%/packages/patches/libqalculate-3.8.0-libcurl-ssl-fix.patch \
|
||||
%D%/packages/patches/libquicktime-ffmpeg.patch \
|
||||
%D%/packages/patches/libsndfile-armhf-type-checks.patch \
|
||||
%D%/packages/patches/libsndfile-CVE-2017-8361-8363-8365.patch \
|
||||
%D%/packages/patches/libsndfile-CVE-2017-8362.patch \
|
||||
|
@ -1287,6 +1300,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/mcrypt-CVE-2012-4426.patch \
|
||||
%D%/packages/patches/mcrypt-CVE-2012-4527.patch \
|
||||
%D%/packages/patches/libmemcached-build-with-gcc7.patch \
|
||||
%D%/packages/patches/libmhash-hmac-fix-uaf.patch \
|
||||
%D%/packages/patches/mediastreamer2-srtp2.patch \
|
||||
%D%/packages/patches/mesa-skip-disk-cache-test.patch \
|
||||
%D%/packages/patches/mescc-tools-boot.patch \
|
||||
|
@ -1332,6 +1346,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/netsurf-system-utf8proc.patch \
|
||||
%D%/packages/patches/netsurf-y2038-tests.patch \
|
||||
%D%/packages/patches/netsurf-longer-test-timeout.patch \
|
||||
%D%/packages/patches/nfs4-acl-tools-0.3.7-fixpaths.patch \
|
||||
%D%/packages/patches/ngircd-handle-zombies.patch \
|
||||
%D%/packages/patches/network-manager-plugin-path.patch \
|
||||
%D%/packages/patches/nsis-env-passthru.patch \
|
||||
|
@ -1353,9 +1368,9 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/ocaml-dose3-dont-make-printconf.patch \
|
||||
%D%/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch \
|
||||
%D%/packages/patches/omake-fix-non-determinism.patch \
|
||||
%D%/packages/patches/ola-readdir-r.patch \
|
||||
%D%/packages/patches/openbabel-fix-crash-on-nwchem-output.patch \
|
||||
%D%/packages/patches/opencascade-oce-glibc-2.26.patch \
|
||||
%D%/packages/patches/opencv-fix-build-of-grfmt_jpeg2000.cpp.patch \
|
||||
%D%/packages/patches/opencv-rgbd-aarch64-test-fix.patch \
|
||||
%D%/packages/patches/opendht-fix-jami.patch \
|
||||
%D%/packages/patches/openfoam-4.1-cleanup.patch \
|
||||
|
@ -1365,6 +1380,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/openssh-hurd.patch \
|
||||
%D%/packages/patches/openresolv-restartcmd-guix.patch \
|
||||
%D%/packages/patches/openscad-parser-boost-1.72.patch \
|
||||
%D%/packages/patches/opensles-add-license-file.patch \
|
||||
%D%/packages/patches/openssl-runpath.patch \
|
||||
%D%/packages/patches/openssl-1.1-c-rehash-in.patch \
|
||||
%D%/packages/patches/openssl-c-rehash-in.patch \
|
||||
|
@ -1415,10 +1431,13 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/pingus-boost-headers.patch \
|
||||
%D%/packages/patches/pingus-sdl-libs-config.patch \
|
||||
%D%/packages/patches/pixman-CVE-2016-5296.patch \
|
||||
%D%/packages/patches/pjproject-correct-the-cflags-field.patch \
|
||||
%D%/packages/patches/pjproject-fix-pkg-config-ldflags.patch \
|
||||
%D%/packages/patches/plink-1.07-unclobber-i.patch \
|
||||
%D%/packages/patches/plink-endian-detection.patch \
|
||||
%D%/packages/patches/plib-CVE-2011-4620.patch \
|
||||
%D%/packages/patches/plib-CVE-2012-4552.patch \
|
||||
%D%/packages/patches/plotutils-spline-test.patch \
|
||||
%D%/packages/patches/podofo-cmake-3.12.patch \
|
||||
%D%/packages/patches/portaudio-audacity-compat.patch \
|
||||
%D%/packages/patches/portmidi-modular-build.patch \
|
||||
|
@ -1452,7 +1471,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/python-CVE-2018-14647.patch \
|
||||
%D%/packages/patches/python-aiohttp-3.6.2-no-warning-fail.patch \
|
||||
%D%/packages/patches/python-aionotify-0.2.0-py3.8.patch \
|
||||
%D%/packages/patches/python-alembic-exceptions-cause.patch \
|
||||
%D%/packages/patches/python-argcomplete-1.11.1-fish31.patch \
|
||||
%D%/packages/patches/python-axolotl-AES-fix.patch \
|
||||
%D%/packages/patches/python-cairocffi-dlopen-path.patch \
|
||||
|
@ -1465,11 +1483,11 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/python-pep8-stdlib-tokenize-compat.patch \
|
||||
%D%/packages/patches/python-pyfakefs-remove-bad-test.patch \
|
||||
%D%/packages/patches/python-flint-includes.patch \
|
||||
%D%/packages/patches/python-jedi-sort-project-test.patch \
|
||||
%D%/packages/patches/python-libxml2-utf8.patch \
|
||||
%D%/packages/patches/python-memcached-syntax-warnings.patch \
|
||||
%D%/packages/patches/python-mox3-python3.6-compat.patch \
|
||||
%D%/packages/patches/python-testtools.patch \
|
||||
%D%/packages/patches/python-onnx-use-system-googletest.patch \
|
||||
%D%/packages/patches/python-packaging-test-arch.patch \
|
||||
%D%/packages/patches/python2-parameterized-docstring-test.patch \
|
||||
%D%/packages/patches/python-paste-remove-timing-test.patch \
|
||||
|
@ -1479,7 +1497,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/python-pygpgme-fix-pinentry-tests.patch \
|
||||
%D%/packages/patches/python-robotframework-honor-source-date-epoch.patch \
|
||||
%D%/packages/patches/python-shouldbe-0.1.2-cpy3.8.patch \
|
||||
%D%/packages/patches/python-slugify-depend-on-unidecode.patch \
|
||||
%D%/packages/patches/python2-subprocess32-disable-input-test.patch \
|
||||
%D%/packages/patches/python-tinycss2-flake8-compat.patch \
|
||||
%D%/packages/patches/python-unittest2-python3-compat.patch \
|
||||
|
@ -1509,12 +1526,17 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/readline-link-ncurses.patch \
|
||||
%D%/packages/patches/readline-6.2-CVE-2014-2524.patch \
|
||||
%D%/packages/patches/reposurgeon-add-missing-docbook-files.patch \
|
||||
%D%/packages/patches/r-httpuv-1.5.4-unvendor-libuv.patch \
|
||||
%D%/packages/patches/ri-li-modernize_cpp.patch \
|
||||
%D%/packages/patches/ripperx-missing-file.patch \
|
||||
%D%/packages/patches/rpcbind-CVE-2017-8779.patch \
|
||||
%D%/packages/patches/rtags-separate-rct.patch \
|
||||
%D%/packages/patches/racket-store-checksum-override.patch \
|
||||
%D%/packages/patches/remake-impure-dirs.patch \
|
||||
%D%/packages/patches/retroarch-disable-online-updater.patch \
|
||||
%D%/packages/patches/rnp-add-version.cmake.patch \
|
||||
%D%/packages/patches/rnp-disable-ruby-rnp-tests.patch \
|
||||
%D%/packages/patches/rnp-unbundle-googletest.patch \
|
||||
%D%/packages/patches/ruby-rack-ignore-failing-test.patch \
|
||||
%D%/packages/patches/ruby-rubocop-break-dependency-cycle.patch\
|
||||
%D%/packages/patches/ruby-sanitize-system-libxml.patch \
|
||||
|
@ -1538,6 +1560,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/screen-hurd-path-max.patch \
|
||||
%D%/packages/patches/scribus-1.5.5-poppler-0.86-build-fix.patch \
|
||||
%D%/packages/patches/sdl-libx11-1.6.patch \
|
||||
%D%/packages/patches/seed-webkit.patch \
|
||||
%D%/packages/patches/seq24-rename-mutex.patch \
|
||||
%D%/packages/patches/sharutils-CVE-2018-1000097.patch \
|
||||
%D%/packages/patches/shadow-hurd-pctrl.patch \
|
||||
|
@ -1549,8 +1572,9 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/slim-login.patch \
|
||||
%D%/packages/patches/slim-display.patch \
|
||||
%D%/packages/patches/snappy-add-O2-flag-in-CmakeLists.txt.patch \
|
||||
%D%/packages/patches/sooperlooper-build-with-wx-30.patch \
|
||||
%D%/packages/patches/sphinxbase-fix-doxygen.patch \
|
||||
%D%/packages/patches/sssd-fix-samba.patch \
|
||||
%D%/packages/patches/sssd-system-directories.patch \
|
||||
%D%/packages/patches/steghide-fixes.patch \
|
||||
%D%/packages/patches/suitesparse-mongoose-cmake.patch \
|
||||
%D%/packages/patches/superlu-dist-awpm-grid.patch \
|
||||
|
@ -1588,8 +1612,8 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/tipp10-fix-compiling.patch \
|
||||
%D%/packages/patches/tipp10-remove-license-code.patch \
|
||||
%D%/packages/patches/tk-find-library.patch \
|
||||
%D%/packages/patches/transcode-ffmpeg.patch \
|
||||
%D%/packages/patches/ttf2eot-cstddef.patch \
|
||||
%D%/packages/patches/ttfautohint-source-date-epoch.patch \
|
||||
%D%/packages/patches/tomb-fix-errors-on-open.patch \
|
||||
%D%/packages/patches/tup-unbundle-dependencies.patch \
|
||||
%D%/packages/patches/tuxpaint-stamps-path.patch \
|
||||
|
@ -1598,6 +1622,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/ucx-tcp-iface-ioctl.patch \
|
||||
%D%/packages/patches/udiskie-no-appindicator.patch \
|
||||
%D%/packages/patches/ungoogled-chromium-system-nspr.patch \
|
||||
%D%/packages/patches/unknown-horizons-python-3.8-distro.patch \
|
||||
%D%/packages/patches/unzip-CVE-2014-8139.patch \
|
||||
%D%/packages/patches/unzip-CVE-2014-8140.patch \
|
||||
%D%/packages/patches/unzip-CVE-2014-8141.patch \
|
||||
|
@ -1618,6 +1643,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/vboot-utils-fix-format-load-address.patch \
|
||||
%D%/packages/patches/vboot-utils-fix-tests-show-contents.patch \
|
||||
%D%/packages/patches/vboot-utils-skip-test-workbuf.patch \
|
||||
%D%/packages/patches/vcflib-use-shared-libraries.patch \
|
||||
%D%/packages/patches/vigra-python-compat.patch \
|
||||
%D%/packages/patches/vinagre-newer-freerdp.patch \
|
||||
%D%/packages/patches/vinagre-newer-rdp-parameters.patch \
|
||||
|
@ -1631,7 +1657,9 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/warsow-qfusion-fix-bool-return-type.patch \
|
||||
%D%/packages/patches/weasyprint-library-paths.patch \
|
||||
%D%/packages/patches/webkitgtk-share-store.patch \
|
||||
%D%/packages/patches/webkitgtk-bind-all-fonts.patch \
|
||||
%D%/packages/patches/websocketpp-fix-for-cmake-3.15.patch \
|
||||
%D%/packages/patches/wgetpaste-update-bpaste.patch \
|
||||
%D%/packages/patches/wicd-bitrate-none-fix.patch \
|
||||
%D%/packages/patches/wicd-get-selected-profile-fix.patch \
|
||||
%D%/packages/patches/wicd-urwid-1.3.patch \
|
||||
|
@ -1644,15 +1672,14 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/wordnet-CVE-2008-3908-pt2.patch \
|
||||
%D%/packages/patches/x265-arm-flags.patch \
|
||||
%D%/packages/patches/xf86-video-ark-remove-mibstore.patch \
|
||||
%D%/packages/patches/xf86-video-geode-glibc-2.20.patch \
|
||||
%D%/packages/patches/xf86-video-mach64-glibc-2.20.patch \
|
||||
%D%/packages/patches/xf86-video-savage-xorg-compat.patch \
|
||||
%D%/packages/patches/xf86-video-siliconmotion-fix-ftbfs.patch \
|
||||
%D%/packages/patches/xf86-video-sis-xorg-compat.patch \
|
||||
%D%/packages/patches/xf86-video-tga-remove-mibstore.patch \
|
||||
%D%/packages/patches/xf86-video-voodoo-pcitag.patch \
|
||||
%D%/packages/patches/xfce4-panel-plugins.patch \
|
||||
%D%/packages/patches/xfce4-settings-defaults.patch \
|
||||
%D%/packages/patches/xmonad-dynamic-linking.patch \
|
||||
%D%/packages/patches/xplanet-1.3.1-cxx11-eof.patch \
|
||||
%D%/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch \
|
||||
%D%/packages/patches/xplanet-1.3.1-libimage_gif.c.patch \
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
#:use-module (guix monads)
|
||||
#:use-module (guix records)
|
||||
#:use-module (guix store)
|
||||
#:use-module ((guix utils) #:select (source-properties->location))
|
||||
#:use-module ((guix diagnostics) #:select (source-properties->location))
|
||||
#:use-module (srfi srfi-35)
|
||||
#:export (environment-type
|
||||
environment-type?
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
#:use-module (guix base32)
|
||||
#:use-module (guix derivations)
|
||||
#:use-module (guix i18n)
|
||||
#:use-module ((guix diagnostics) #:select (formatted-message))
|
||||
#:use-module (guix import json)
|
||||
#:use-module (guix monads)
|
||||
#:use-module (guix records)
|
||||
|
@ -414,9 +415,7 @@ one procured from https://cloud.digitalocean.com/account/api/tokens.")))))))
|
|||
(let ((config (machine-configuration machine))
|
||||
(environment (environment-type-name (machine-environment machine))))
|
||||
(unless (and config (digital-ocean-configuration? config))
|
||||
(raise (condition
|
||||
(&message
|
||||
(message (format #f (G_ "unsupported machine configuration '~a'
|
||||
(raise (formatted-message (G_ "unsupported machine configuration '~a' \
|
||||
for environment of type '~a'")
|
||||
config
|
||||
environment))))))))
|
||||
environment)))))
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
#:use-module (gnu system)
|
||||
#:use-module (gnu system file-systems)
|
||||
#:use-module (gnu system uuid)
|
||||
#:use-module ((gnu services) #:select (sexp->system-provenance))
|
||||
#:use-module (guix diagnostics)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix i18n)
|
||||
|
@ -55,6 +56,7 @@
|
|||
machine-ssh-configuration-host-name
|
||||
machine-ssh-configuration-build-locally?
|
||||
machine-ssh-configuration-authorize?
|
||||
machine-ssh-configuration-allow-downgrades?
|
||||
machine-ssh-configuration-port
|
||||
machine-ssh-configuration-user
|
||||
machine-ssh-configuration-host-key
|
||||
|
@ -83,6 +85,8 @@
|
|||
(default #t))
|
||||
(authorize? machine-ssh-configuration-authorize? ; boolean
|
||||
(default #t))
|
||||
(allow-downgrades? machine-ssh-configuration-allow-downgrades? ; boolean
|
||||
(default #f))
|
||||
(port machine-ssh-configuration-port ; integer
|
||||
(default 22))
|
||||
(user machine-ssh-configuration-user ; string
|
||||
|
@ -179,11 +183,9 @@ exist on the machine."
|
|||
(lambda args
|
||||
(system-error-errno args)))))
|
||||
(when (number? errno)
|
||||
(raise (condition
|
||||
(&message
|
||||
(message (format #f (G_ "device '~a' not found: ~a")
|
||||
(raise (formatted-message (G_ "device '~a' not found: ~a")
|
||||
(file-system-device fs)
|
||||
(strerror errno)))))))))
|
||||
(strerror errno))))))
|
||||
|
||||
(define (check-labeled-file-system fs)
|
||||
(define remote-exp
|
||||
|
@ -196,11 +198,9 @@ exist on the machine."
|
|||
|
||||
(remote-let ((result remote-exp))
|
||||
(unless result
|
||||
(raise (condition
|
||||
(&message
|
||||
(message (format #f (G_ "no file system with label '~a'")
|
||||
(raise (formatted-message (G_ "no file system with label '~a'")
|
||||
(file-system-label->string
|
||||
(file-system-device fs))))))))))
|
||||
(file-system-device fs)))))))
|
||||
|
||||
(define (check-uuid-file-system fs)
|
||||
(define remote-exp
|
||||
|
@ -217,10 +217,8 @@ exist on the machine."
|
|||
|
||||
(remote-let ((result remote-exp))
|
||||
(unless result
|
||||
(raise (condition
|
||||
(&message
|
||||
(message (format #f (G_ "no file system with UUID '~a'")
|
||||
(uuid->string (file-system-device fs))))))))))
|
||||
(raise (formatted-message (G_ "no file system with UUID '~a'")
|
||||
(uuid->string (file-system-device fs)))))))
|
||||
|
||||
(append (map check-literal-file-system
|
||||
(filter (lambda (fs)
|
||||
|
@ -277,6 +275,27 @@ not available in the initrd."
|
|||
|
||||
(map missing-modules file-systems))
|
||||
|
||||
(define* (machine-check-forward-update machine)
|
||||
"Check whether we are making a forward update for MACHINE. Depending on its
|
||||
'allow-upgrades?' field, raise an error or display a warning if we are
|
||||
potentially downgrading it."
|
||||
(define config
|
||||
(machine-configuration machine))
|
||||
|
||||
(define validate-reconfigure
|
||||
(if (machine-ssh-configuration-allow-downgrades? config)
|
||||
warn-about-backward-reconfigure
|
||||
ensure-forward-reconfigure))
|
||||
|
||||
(remote-let ((provenance #~(call-with-input-file
|
||||
"/run/current-system/provenance"
|
||||
read)))
|
||||
(define channels
|
||||
(sexp->system-provenance provenance))
|
||||
|
||||
(check-forward-update validate-reconfigure
|
||||
#:current-channels channels)))
|
||||
|
||||
(define (machine-check-building-for-appropriate-system machine)
|
||||
"Raise a '&message' error condition if MACHINE is configured to be built
|
||||
locally and the 'system' field does not match the '%current-system' reported
|
||||
|
@ -285,19 +304,18 @@ by MACHINE."
|
|||
(system (remote-system (machine-ssh-session machine))))
|
||||
(when (and (machine-ssh-configuration-build-locally? config)
|
||||
(not (string= system (machine-ssh-configuration-system config))))
|
||||
(raise (condition
|
||||
(&message
|
||||
(message (format #f (G_ "incorrect target system\
|
||||
(raise (formatted-message (G_ "incorrect target system\
|
||||
('~a' was given, while the system reports that it is '~a')~%")
|
||||
(machine-ssh-configuration-system config)
|
||||
system))))))))
|
||||
system)))))
|
||||
|
||||
(define (check-deployment-sanity machine)
|
||||
"Raise a '&message' error condition if it is clear that deploying MACHINE's
|
||||
'system' declaration would fail."
|
||||
(define assertions
|
||||
(append (machine-check-file-system-availability machine)
|
||||
(machine-check-initrd-modules machine)))
|
||||
(machine-check-initrd-modules machine)
|
||||
(list (machine-check-forward-update machine))))
|
||||
|
||||
(define aggregate-exp
|
||||
;; Gather all the expressions so that a single round-trip is enough to
|
||||
|
@ -402,11 +420,9 @@ environment type of 'managed-host."
|
|||
(when (machine-ssh-configuration-authorize?
|
||||
(machine-configuration machine))
|
||||
(unless (file-exists? %public-key-file)
|
||||
(raise (condition
|
||||
(&message
|
||||
(message (format #f (G_ "no signing key '~a'. \
|
||||
(raise (formatted-message (G_ "no signing key '~a'. \
|
||||
have you run 'guix archive --generate-key?'")
|
||||
%public-key-file))))))
|
||||
%public-key-file)))
|
||||
(remote-authorize-signing-key (call-with-input-file %public-key-file
|
||||
(lambda (port)
|
||||
(string->canonical-sexp
|
||||
|
@ -497,9 +513,11 @@ connection to the host.")))
|
|||
(let ((config (machine-configuration machine))
|
||||
(environment (environment-type-name (machine-environment machine))))
|
||||
(unless (and config (machine-ssh-configuration? config))
|
||||
(raise (condition
|
||||
(&message
|
||||
(message (format #f (G_ "unsupported machine configuration '~a'
|
||||
(raise (formatted-message (G_ "unsupported machine configuration '~a'
|
||||
for environment of type '~a'")
|
||||
config
|
||||
environment))))))))
|
||||
environment)))))
|
||||
|
||||
;; Local Variables:
|
||||
;; eval: (put 'remote-let 'scheme-indent-function 1)
|
||||
;; End:
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
#:use-module (guix packages)
|
||||
#:use-module (guix ui)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix diagnostics)
|
||||
#:use-module (guix discovery)
|
||||
#:use-module (guix memoization)
|
||||
#:use-module ((guix build utils)
|
||||
|
@ -92,9 +93,8 @@
|
|||
(define (search-patch file-name)
|
||||
"Search the patch FILE-NAME. Raise an error if not found."
|
||||
(or (search-path (%patch-path) file-name)
|
||||
(raise (condition
|
||||
(&message (message (format #f (G_ "~a: patch not found")
|
||||
file-name)))))))
|
||||
(raise (formatted-message (G_ "~a: patch not found")
|
||||
file-name))))
|
||||
|
||||
(define-syntax-rule (search-patches file-name ...)
|
||||
"Return the list of absolute file names corresponding to each
|
||||
|
@ -381,39 +381,59 @@ reducing the memory footprint."
|
|||
(define cache-file
|
||||
(string-append directory %package-cache-file))
|
||||
|
||||
(define (expand-cache module symbol variable result+seen)
|
||||
(match (false-if-exception (variable-ref variable))
|
||||
((? package? package)
|
||||
(match result+seen
|
||||
((result . seen)
|
||||
(if (or (vhash-assq package seen)
|
||||
(hidden-package? package))
|
||||
(cons result seen)
|
||||
(cons (cons `#(,(package-name package)
|
||||
,(package-version package)
|
||||
,(module-name module)
|
||||
,symbol
|
||||
,(package-outputs package)
|
||||
,(->bool (supported-package? package))
|
||||
,(->bool (package-superseded package))
|
||||
,@(let ((loc (package-location package)))
|
||||
(if loc
|
||||
`(,(location-file loc)
|
||||
,(location-line loc)
|
||||
,(location-column loc))
|
||||
'(#f #f #f))))
|
||||
result)
|
||||
(vhash-consq package #t seen))))))
|
||||
(_
|
||||
result+seen)))
|
||||
(define expand-cache
|
||||
(match-lambda*
|
||||
(((module symbol variable) (result . seen))
|
||||
(let ((package (variable-ref variable)))
|
||||
(if (or (vhash-assq package seen)
|
||||
(hidden-package? package))
|
||||
(cons result seen)
|
||||
(cons (cons `#(,(package-name package)
|
||||
,(package-version package)
|
||||
,(module-name module)
|
||||
,symbol
|
||||
,(package-outputs package)
|
||||
,(->bool (supported-package? package))
|
||||
,(->bool (package-superseded package))
|
||||
,@(let ((loc (package-location package)))
|
||||
(if loc
|
||||
`(,(location-file loc)
|
||||
,(location-line loc)
|
||||
,(location-column loc))
|
||||
'(#f #f #f))))
|
||||
result)
|
||||
(vhash-consq package #t seen)))))))
|
||||
|
||||
(define exp
|
||||
(first
|
||||
(fold-module-public-variables* expand-cache
|
||||
(cons '() vlist-null)
|
||||
(define entry-key
|
||||
(match-lambda
|
||||
((module symbol variable)
|
||||
(let ((value (variable-ref variable)))
|
||||
(string-append (package-name value) (package-version value)
|
||||
(object->string module)
|
||||
(symbol->string symbol))))))
|
||||
|
||||
(define (entry<? a b)
|
||||
(string<? (entry-key a) (entry-key b)))
|
||||
|
||||
(define variables
|
||||
;; First sort variables so that 'expand-cache' later dismisses
|
||||
;; already-seen package objects in a deterministic fashion.
|
||||
(sort
|
||||
(fold-module-public-variables* (lambda (module symbol variable lst)
|
||||
(let ((value (false-if-exception
|
||||
(variable-ref variable))))
|
||||
(if (package? value)
|
||||
(cons (list module symbol variable)
|
||||
lst)
|
||||
lst)))
|
||||
'()
|
||||
(all-modules (%package-module-path)
|
||||
#:warn
|
||||
warn-about-load-error))))
|
||||
warn-about-load-error))
|
||||
entry<?))
|
||||
|
||||
(define exp
|
||||
(first (fold expand-cache (cons '() vlist-null) variables)))
|
||||
|
||||
(mkdir-p (dirname cache-file))
|
||||
(call-with-output-file cache-file
|
||||
|
|
|
@ -21,12 +21,31 @@
|
|||
|
||||
(define-module (gnu packages accessibility)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system glib-or-gtk)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages lisp)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages ocaml)
|
||||
#:use-module (gnu packages pcre)
|
||||
#:use-module (gnu packages polkit)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages music)
|
||||
#:use-module (gnu packages language)
|
||||
#:use-module (gnu packages icu4c)
|
||||
#:use-module (gnu packages speech)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages swig)
|
||||
#:use-module (gnu packages libusb)
|
||||
#:use-module (gnu packages java)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages tcl)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages gstreamer)
|
||||
|
@ -37,6 +56,154 @@
|
|||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages libusb))
|
||||
|
||||
(define-public libbraille
|
||||
(package
|
||||
(name "libbraille")
|
||||
(version "0.19.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append "https://sourceforge.net/projects/" name "/files/" name "/"
|
||||
name "-" version "/" name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "05g8r0ypazqn10i7k48iibs8bzc3scdfcnhcykab8j16lhzd27d0"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(outputs '("out" "bin"))
|
||||
(arguments
|
||||
`(#:tests? #f ; Tests require drivers
|
||||
#:configure-flags
|
||||
(list
|
||||
"--disable-static"
|
||||
"--enable-fake")))
|
||||
(native-inputs
|
||||
`(("latex2html" ,latex2html)
|
||||
("pkg-config" ,pkg-config)
|
||||
("python" ,python-wrapper)
|
||||
("swig" ,swig)))
|
||||
(inputs
|
||||
`(("glib" ,glib)
|
||||
("gtk+" ,gtk+-2)
|
||||
("libusb" ,libusb-compat)))
|
||||
(synopsis "Portable Braille Library")
|
||||
(description "Libbraille is a library to easily access Braille displays and
|
||||
terminals.")
|
||||
(home-page "https://libbraille.org")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public brltty
|
||||
(package
|
||||
(name "brltty")
|
||||
(version "6.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append "https://brltty.app/archive/"
|
||||
name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0nk54chr7z2w579vyiak9xk2avhnvrx7x2l5sk8nyw2zplchkx9q"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; No target
|
||||
#:configure-flags
|
||||
(list
|
||||
(string-append "--with-tcl-config="
|
||||
(assoc-ref %build-inputs "tcl")
|
||||
"/lib/tclConfig.sh")
|
||||
(string-append "--with-libbraille="
|
||||
(assoc-ref %build-inputs "libbraille"))
|
||||
(string-append "--with-espeak_ng="
|
||||
(assoc-ref %build-inputs "espeak-ng"))
|
||||
(string-append "--with-espeak="
|
||||
(assoc-ref %build-inputs "espeak"))
|
||||
(string-append "--with-flite="
|
||||
(assoc-ref %build-inputs "flite"))
|
||||
;; Required for RUNPATH validation.
|
||||
(string-append "LDFLAGS=-Wl,-rpath="
|
||||
(assoc-ref %outputs "out")
|
||||
"/lib"))
|
||||
#:make-flags
|
||||
(list
|
||||
(string-append "JAVA_JAR_DIR="
|
||||
(assoc-ref %outputs "out"))
|
||||
(string-append "JAVA_JNI_DIR="
|
||||
(assoc-ref %outputs "out"))
|
||||
(string-append "OCAML_DESTDIR="
|
||||
(assoc-ref %outputs "out")
|
||||
"/lib")
|
||||
(string-append "PYTHON_PREFIX="
|
||||
(assoc-ref %outputs "out"))
|
||||
"PYTHON_ROOT=/"
|
||||
(string-append "TCL_DIR="
|
||||
(assoc-ref %outputs "out")
|
||||
"/lib"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-errors
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(substitute* "configure"
|
||||
(("/sbin/ldconfig")
|
||||
(which "true")))
|
||||
;; Make Python bindings use rpath.
|
||||
(substitute* "Bindings/Python/setup.py.in"
|
||||
(("extra_compile_args =")
|
||||
(string-append "extra_link_args = ['-Wl,-rpath="
|
||||
(assoc-ref outputs "out")
|
||||
"/lib'], "
|
||||
"extra_compile_args = ")))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("clisp" ,clisp)
|
||||
("cython" ,python-cython)
|
||||
("doxygen" ,doxygen)
|
||||
("gettext" ,gettext-minimal)
|
||||
("java" ,icedtea "jdk")
|
||||
;; ("linuxdoc" ,linuxdoc-tools)
|
||||
("ocaml" ,ocaml)
|
||||
("ocamlfind" ,ocaml-findlib)
|
||||
("pkg-config" ,pkg-config)
|
||||
("python" ,python-wrapper)
|
||||
("tcl" ,tcl)))
|
||||
(inputs
|
||||
`(("alsa" ,alsa-lib)
|
||||
("atspi2" ,at-spi2-core)
|
||||
("bluez" ,bluez)
|
||||
("dbus" ,dbus)
|
||||
("espeak" ,espeak)
|
||||
("espeak-ng" ,espeak-ng)
|
||||
("expat" ,expat)
|
||||
("festival" ,festival)
|
||||
("flite" ,flite)
|
||||
("glib" ,glib)
|
||||
("gpm" ,gpm)
|
||||
("iconv" ,libiconv)
|
||||
("icu" ,icu4c)
|
||||
("libbraille" ,libbraille)
|
||||
("libpcre2" ,pcre2)
|
||||
("linux-headers" ,linux-libre-headers)
|
||||
("louis" ,liblouis)
|
||||
("ncurses" ,ncurses)
|
||||
("polkit" ,polkit)
|
||||
("speech-dispatcher" ,speech-dispatcher)
|
||||
("util-linux" ,util-linux)
|
||||
("util-linux:lib" ,util-linux "lib")
|
||||
("x11" ,libx11)
|
||||
("xaw" ,libxaw)
|
||||
("xaw3d" ,libxaw3d)
|
||||
("xext" ,libxext)
|
||||
("xfixes" ,libxfixes)
|
||||
("xt" ,libxt)
|
||||
("xtst" ,libxtst)))
|
||||
(synopsis "Braille TTY")
|
||||
(description "BRLTTY is a background process (daemon) which provides access
|
||||
to the Linux/Unix console (when in text mode) for a blind person using a
|
||||
refreshable braille display. It drives the braille display, and provides
|
||||
complete screen review functionality. Some speech capability has also been
|
||||
incorporated.")
|
||||
(home-page "https://brltty.app/")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public florence
|
||||
(package
|
||||
(name "florence")
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
|
||||
;;; Copyright © 2014, 2015, 2016, 2018, 2019 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2014, 2015, 2016, 2018, 2019, 2020 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2020 Eric Bavier <bavier@posteo.net>
|
||||
;;; Copyright © 2015, 2016 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
|
||||
;;; Copyright © 2015 Alex Sassmannshausen <alex.sassmannshausen@gmail.com>
|
||||
|
@ -443,59 +443,65 @@ graphs and can export its output to different formats.")
|
|||
(define-public facter
|
||||
(package
|
||||
(name "facter")
|
||||
(version "4.0.26")
|
||||
(version "4.0.35")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/puppetlabs/facter-ng")
|
||||
(url "https://github.com/puppetlabs/facter")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0bab3by926gavbhkvp0in82vim575ybj8z6av3b12jdvla1s9rmz"))))
|
||||
"1f203g2hp96cp8w4x1myhqdj5j09z9s23kylwkrxr69fjhn0vhnb"))))
|
||||
(build-system ruby-build-system)
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
(add-after 'unpack 'delete-facter-ng-gemspec
|
||||
(lambda _
|
||||
;; XXX: ruby-build-system incorrectly finds
|
||||
;; facter-ng.gemspec from this directory and tries to
|
||||
;; build that instead of the proper facter.gemspec.
|
||||
;; Just delete it as a workaround, as it appears to
|
||||
;; only exist for backwards-compatibility after the
|
||||
;; facter-ng->facter rename.
|
||||
(delete-file "agent/facter-ng.gemspec")
|
||||
#t))
|
||||
(add-after 'unpack 'embed-iproute-reference
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((iproute (assoc-ref inputs "iproute")))
|
||||
;; Provide an absolute reference to the 'ip' executable
|
||||
;; to avoid propagating it.
|
||||
(substitute* "lib/resolvers/networking_linux_resolver.rb"
|
||||
(("execute\\('ip")
|
||||
(string-append "execute('" iproute "/sbin/ip")))
|
||||
#t)))
|
||||
(delete 'check)
|
||||
(add-after 'wrap 'check
|
||||
(lambda* (#:key tests? outputs #:allow-other-keys)
|
||||
;; XXX: The test suite wants to run Bundler and
|
||||
;; complains that the gemspec is invalid. For now
|
||||
;; just make sure that we can run the wrapped
|
||||
;; executable directly.
|
||||
(if tests?
|
||||
(invoke (string-append (assoc-ref outputs "out")
|
||||
"/bin/facter")
|
||||
;; Many facts depend on /sys, /etc/os-release,
|
||||
;; etc, so we only run a small sample.
|
||||
"facterversion" "architecture"
|
||||
"kernel" "kernelversion")
|
||||
(format #t "tests disabled~%"))
|
||||
#t)))))
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'delete-facter-ng-gemspec
|
||||
(lambda _
|
||||
;; XXX: ruby-build-system incorrectly finds
|
||||
;; facter-ng.gemspec from this directory and tries to
|
||||
;; build that instead of the proper facter.gemspec.
|
||||
;; Just delete it as a workaround, as it appears to
|
||||
;; only exist for backwards-compatibility after the
|
||||
;; facter-ng->facter rename.
|
||||
(delete-file "agent/facter-ng.gemspec")
|
||||
#t))
|
||||
(add-after 'unpack 'embed-absolute-references
|
||||
;; Refer to absolute executable file names to avoid propagation.
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* (find-files "lib/facter/resolvers" "\\.rb$")
|
||||
(("execute\\('(which |)([^ ']+)" _ _ name)
|
||||
(string-append "execute('" (or (which name)
|
||||
name))))
|
||||
#t))
|
||||
(delete 'check)
|
||||
(add-after 'wrap 'check
|
||||
(lambda* (#:key tests? outputs #:allow-other-keys)
|
||||
;; XXX: The test suite wants to run Bundler and
|
||||
;; complains that the gemspec is invalid. For now
|
||||
;; just make sure that we can run the wrapped
|
||||
;; executable directly.
|
||||
(if tests?
|
||||
(invoke (string-append (assoc-ref outputs "out")
|
||||
"/bin/facter")
|
||||
;; Many facts depend on /sys, /etc/os-release,
|
||||
;; etc, so we only run a small sample.
|
||||
"facterversion" "architecture"
|
||||
"kernel" "kernelversion")
|
||||
(format #t "tests disabled~%"))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("iproute" ,iproute)
|
||||
("ruby-hocon" ,ruby-hocon)
|
||||
`(("ruby-hocon" ,ruby-hocon)
|
||||
("ruby-sys-filesystem" ,ruby-sys-filesystem)
|
||||
("ruby-thor" ,ruby-thor)))
|
||||
("ruby-thor" ,ruby-thor)
|
||||
|
||||
;; For ‘embed-absolute-references’.
|
||||
("dmidecode" ,dmidecode)
|
||||
("inetutils" ,inetutils) ; for ‘hostname’
|
||||
("iproute" ,iproute)
|
||||
("pciutils" ,pciutils)
|
||||
("util-linux" ,util-linux)))
|
||||
(synopsis "Collect and display system facts")
|
||||
(description
|
||||
"Facter is a tool that gathers basic facts about nodes (systems) such
|
||||
|
@ -508,26 +514,54 @@ or via the @code{facter} Ruby library.")
|
|||
(define-public htop
|
||||
(package
|
||||
(name "htop")
|
||||
(version "2.2.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://hisham.hm/htop/releases/"
|
||||
version "/htop-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0mrwpb3cpn3ai7ar33m31yklj64c3pp576vh1naqff6f21pq5mnr"))))
|
||||
(version "3.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/htop-dev/htop")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32 "096gdnpaszs5rfp7qj8npi2jkvdqpp8mznn89f97ykrg6pgagwq4"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("ncurses" ,ncurses)))
|
||||
(native-inputs
|
||||
`(("python" ,python-wrapper))) ;for scripts/MakeHeader.py
|
||||
(home-page "https://hisham.hm/htop/")
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("python" ,python-wrapper))) ; for scripts/MakeHeader.py
|
||||
(home-page "https://htop.dev")
|
||||
(synopsis "Interactive process viewer")
|
||||
(description
|
||||
"This is htop, an interactive process viewer. It is a text-mode
|
||||
application (for console or X terminals) and requires ncurses.")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public bashtop
|
||||
(package
|
||||
(name "bashtop")
|
||||
(version "0.9.25")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/aristocratos/bashtop")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"07nlr6vmyb7yihaxj1fp424lmhwkdjl6mls92v90f6gsvikpa13v"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:make-flags (list (string-append "PREFIX=" %output))
|
||||
#:tests? #f ; bats test fails with loading load.bash
|
||||
#:phases (modify-phases %standard-phases (delete 'configure))))
|
||||
(home-page "https://github.com/aristocratos/bashtop")
|
||||
(synopsis "Linux/OSX/FreeBSD resource monitor")
|
||||
(description "Resource monitor that shows usage and stats for processor,
|
||||
memory, disks, network and processes.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public pies
|
||||
(package
|
||||
(name "pies")
|
||||
|
@ -916,7 +950,7 @@ connection alive.")
|
|||
(define-public isc-dhcp
|
||||
(let* ((bind-major-version "9")
|
||||
(bind-minor-version "11")
|
||||
(bind-patch-version "18")
|
||||
(bind-patch-version "22")
|
||||
(bind-release-type "") ; for patch release, use "-P"
|
||||
(bind-release-version "") ; for patch release, e.g. "6"
|
||||
(bind-version (string-append bind-major-version
|
||||
|
@ -1012,10 +1046,10 @@ connection alive.")
|
|||
;; if finds all the programs it needs.
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(libexec (string-append out "/libexec"))
|
||||
(coreutils (assoc-ref inputs "coreutils"))
|
||||
(coreutils (assoc-ref inputs "coreutils*"))
|
||||
(inetutils (assoc-ref inputs "inetutils"))
|
||||
(net-tools (assoc-ref inputs "net-tools"))
|
||||
(sed (assoc-ref inputs "sed")))
|
||||
(sed (assoc-ref inputs "sed*")))
|
||||
(substitute* "client/scripts/linux"
|
||||
(("/sbin/ip")
|
||||
(string-append (assoc-ref inputs "iproute")
|
||||
|
@ -1053,14 +1087,10 @@ connection alive.")
|
|||
"/bind-" bind-version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0vws0zzb39mkphj4hhjrgfj9dzw951lc4pfa6pqg5ll5ma51mbsr"))))
|
||||
"1j9a4r83a77mp8k1y8z524c9rzdqgd8rzwczd6zwmw86a00xiimg"))))
|
||||
|
||||
;; When cross-compiling, we need the cross Coreutils and sed.
|
||||
;; Otherwise just use those from %FINAL-INPUTS.
|
||||
,@(if (%current-target-system)
|
||||
`(("coreutils" ,coreutils)
|
||||
("sed" ,sed))
|
||||
'())))
|
||||
("coreutils*" ,coreutils)
|
||||
("sed*" ,sed)))
|
||||
|
||||
(home-page "https://www.isc.org/products/DHCP/")
|
||||
(synopsis "Dynamic Host Configuration Protocol (DHCP) tools")
|
||||
|
@ -1339,10 +1369,11 @@ at once based on a Perl regular expression.")
|
|||
"packdir=\"/var/log\""))
|
||||
#t))
|
||||
(add-before 'install 'tweak-rc-weekly
|
||||
(lambda _
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "rc/weekly"
|
||||
(("/bin/kill")
|
||||
(which "kill"))
|
||||
(string-append (assoc-ref inputs "coreutils*")
|
||||
"/bin/kill"))
|
||||
(("syslogd\\.pid")
|
||||
;; The file is called 'syslog.pid' (no 'd').
|
||||
"syslog.pid"))
|
||||
|
@ -1353,6 +1384,7 @@ at once based on a Perl regular expression.")
|
|||
(native-inputs `(("texinfo" ,texinfo)
|
||||
("automake" ,automake)
|
||||
("util-linux" ,util-linux))) ; for 'cal'
|
||||
(inputs `(("coreutils*" ,coreutils)))
|
||||
(home-page "https://www.gnu.org/software/rottlog/")
|
||||
(synopsis "Log rotation and management")
|
||||
(description
|
||||
|
@ -1829,7 +1861,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
|
|||
(define-public acpica
|
||||
(package
|
||||
(name "acpica")
|
||||
(version "20200528")
|
||||
(version "20200717")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -1837,7 +1869,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"01ajxnz9dpnvdbib7yv20dw21a1yyfgwiw3whg0xi57cf4app2md"))))
|
||||
"0jyy71szjr40c8v40qqw6yh3gfk8d6sl3nay69zrn5d88i3r0jca"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("flex" ,flex)
|
||||
("bison" ,bison)))
|
||||
|
@ -2049,7 +2081,7 @@ track changes in important system configuration files.")
|
|||
(define-public libcap-ng
|
||||
(package
|
||||
(name "libcap-ng")
|
||||
(version "0.7.10")
|
||||
(version "0.7.11")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -2057,7 +2089,7 @@ track changes in important system configuration files.")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1gzzy12agfa9ddipdf72h9y68zqqnvsjjylv4vnq6hj4w2safk58"))))
|
||||
"1s8akhnnazk0b5c6z5i3x54rjb26p8pz2wdl1m21ml3231qmr0c5"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
@ -2101,24 +2133,19 @@ degradation and failure.")
|
|||
(define-public fdupes
|
||||
(package
|
||||
(name "fdupes")
|
||||
(version "1.6.1")
|
||||
(version "2.1.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/adrianlopezroche/fdupes")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/adrianlopezroche/fdupes/"
|
||||
"releases/download/v" version "/"
|
||||
"fdupes-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "19b6vqblddaw8ccw4sn0qsqzbswlhrz8ia6n4m3hymvcxn8skpz9"))))
|
||||
(base32 "1g9p50xhi2sp0hqxml4w2k0kq9jv988q2yxm347z5349dlxvap6d"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases (modify-phases %standard-phases
|
||||
(delete 'configure))
|
||||
#:tests? #f ; no 'check' target
|
||||
#:make-flags (list "CC=gcc"
|
||||
(string-append "PREFIX="
|
||||
(assoc-ref %outputs "out")))))
|
||||
(inputs
|
||||
`(("ncurses" ,ncurses)
|
||||
("pcre2" ,pcre2)))
|
||||
(home-page "https://github.com/adrianlopezroche/fdupes")
|
||||
(synopsis "Identify duplicate files")
|
||||
(description
|
||||
|
@ -3170,7 +3197,7 @@ tool for remote execution and deployment.")
|
|||
(define-public neofetch
|
||||
(package
|
||||
(name "neofetch")
|
||||
(version "7.0.0")
|
||||
(version "7.1.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -3179,7 +3206,7 @@ tool for remote execution and deployment.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0xc0fdc7n5bhqirh83agqiy8r14l14zwca07czvj8vgnsnfybslr"))))
|
||||
"0i7wpisipwzk0j62pzaigbiq42y1mn4sbraz4my2jlz6ahwf00kv"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; there are no tests
|
||||
|
@ -3344,14 +3371,14 @@ information tool.")
|
|||
(define-public nnn
|
||||
(package
|
||||
(name "nnn")
|
||||
(version "3.3")
|
||||
(version "3.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/jarun/nnn/releases/download/v"
|
||||
version "/nnn-v" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1jiaygylwrlz6rlls1q69xw10j6ypr96yshsbzisg0adk37lbchn"))))
|
||||
(base32 "189h950m1jjrnhvgcvzk6nj89l58rkxim7bxa0441ssajxpaw0vq"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("ncurses" ,ncurses)
|
||||
|
@ -3562,7 +3589,7 @@ Python loading in HPC environments.")
|
|||
(let ((real-name "inxi"))
|
||||
(package
|
||||
(name "inxi-minimal")
|
||||
(version "3.1.04-1")
|
||||
(version "3.1.06-1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -3571,7 +3598,7 @@ Python loading in HPC environments.")
|
|||
(commit version)))
|
||||
(file-name (git-file-name real-name version))
|
||||
(sha256
|
||||
(base32 "1mirnrrqfjyl2r7fwnpjlk37i5hf8f7lxv2yxcbdfjf2b3dfbpvl"))))
|
||||
(base32 "0h65n03q9kdsv0i1q5f88i11iv79ca7fqq97rdkzkmiqb4whhnm2"))))
|
||||
(build-system trivial-build-system)
|
||||
(inputs
|
||||
`(("bash" ,bash-minimal)
|
||||
|
@ -3954,21 +3981,22 @@ supplied by the user when logging in.")
|
|||
(define-public jc
|
||||
(package
|
||||
(name "jc")
|
||||
(version "1.11.8")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/kellyjonbrazil/jc")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0rkckbgm04ql4r48wjgljfiqvsz36n99yqcpcyna8lvlm8h4nmwa"))))
|
||||
(version "1.13.4")
|
||||
(source
|
||||
(origin
|
||||
;; The PyPI tarball lacks the test suite.
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/kellyjonbrazil/jc")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0rwvyyrdnw43pixp8h51rncq2inc9pbbj1j2191y5si00pjw34zr"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
`(("python-ruamel.yaml" ,python-ruamel.yaml)
|
||||
("python-xmltodict" ,python-xmltodict)
|
||||
("python-pygments" ,python-pygments)))
|
||||
`(("python-pygments" ,python-pygments)
|
||||
("python-ruamel.yaml" ,python-ruamel.yaml)
|
||||
("python-xmltodict" ,python-xmltodict)))
|
||||
(home-page "https://github.com/kellyjonbrazil/jc")
|
||||
(synopsis "Convert the output of command-line tools to JSON")
|
||||
(description "@code{jc} JSONifies the output of many CLI tools and
|
||||
|
|
|
@ -79,6 +79,11 @@
|
|||
(ice-9 match))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; This allows us to call the 'agda' binary before installing.
|
||||
(add-after 'unpack 'set-ld-library-path
|
||||
(lambda _
|
||||
(setenv "LD_LIBRARY_PATH" (string-append (getcwd) "/dist/build"))
|
||||
#t))
|
||||
;; FIXME: This is a copy of the standard configure phase with a tiny
|
||||
;; difference: this package needs the -package-db flag to be passed
|
||||
;; to "runhaskell" in addition to the "configure" action, because
|
||||
|
@ -90,30 +95,25 @@
|
|||
#:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(name-version (strip-store-file-name out))
|
||||
(input-dirs (match inputs
|
||||
(((_ . dir) ...)
|
||||
dir)
|
||||
(_ '())))
|
||||
(ghc-path (getenv "GHC_PACKAGE_PATH"))
|
||||
(params (append `(,(string-append "--prefix=" out))
|
||||
`(,(string-append "--libdir=" out "/lib"))
|
||||
`(,(string-append "--bindir=" out "/bin"))
|
||||
`(,(string-append
|
||||
"--docdir=" out
|
||||
"/share/doc/" name-version))
|
||||
'("--libsubdir=$compiler/$pkg-$version")
|
||||
'("--package-db=../package.conf.d")
|
||||
'("--global")
|
||||
`(,@(map
|
||||
(cut string-append "--extra-include-dirs=" <>)
|
||||
(search-path-as-list '("include") input-dirs)))
|
||||
`(,@(map
|
||||
(cut string-append "--extra-lib-dirs=" <>)
|
||||
(search-path-as-list '("lib") input-dirs)))
|
||||
(if tests?
|
||||
'("--enable-tests")
|
||||
'())
|
||||
configure-flags)))
|
||||
(params
|
||||
`(,(string-append "--prefix=" out)
|
||||
,(string-append "--libdir=" out "/lib")
|
||||
,(string-append "--docdir=" out
|
||||
"/share/doc/" name-version)
|
||||
"--libsubdir=$compiler/$pkg-$version"
|
||||
"--package-db=../package.conf.d"
|
||||
"--global"
|
||||
,@(if tests?
|
||||
'("--enable-tests")
|
||||
'())
|
||||
;; Build and link with shared libraries
|
||||
"--enable-shared"
|
||||
"--enable-executable-dynamic"
|
||||
"--ghc-option=-fPIC"
|
||||
,(string-append "--ghc-option=-optl=-Wl,-rpath=" out
|
||||
"/lib/$compiler/$pkg-$version")
|
||||
,@configure-flags)))
|
||||
(unsetenv "GHC_PACKAGE_PATH")
|
||||
(apply invoke "runhaskell" "-package-db=../package.conf.d"
|
||||
"Setup.hs" "configure" params)
|
||||
|
|
|
@ -28,6 +28,7 @@
|
|||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages imagemagick)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gtk)
|
||||
|
@ -37,8 +38,52 @@
|
|||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages video)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu))
|
||||
|
||||
(define-public zxing-cpp
|
||||
(package
|
||||
(name "zxing-cpp")
|
||||
(version "1.0.8")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri
|
||||
(git-reference
|
||||
(url "https://github.com/nu-book/zxing-cpp.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "011sq8wcjfxbnd8sj6bf2fgkamlp8gj6q835g61c952npvwsnl71"))))
|
||||
(native-inputs
|
||||
`(("googletest-source" ,(package-source googletest))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:out-of-source? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'unpack-googletest
|
||||
;; Copy the googletest sources to where the CMake build expects them.
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((source (assoc-ref inputs "googletest-source"))
|
||||
(target "test/unit/googletest-src"))
|
||||
(mkdir-p target)
|
||||
(copy-recursively source target)
|
||||
;; Disable downloading via ExternalProject.
|
||||
(substitute* "test/unit/CMakeLists.txt.in"
|
||||
(("ExternalProject_Add\\(") "message("))
|
||||
#t)))
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(with-directory-excursion "test/unit"
|
||||
(invoke "cmake" ".")
|
||||
(invoke "make")
|
||||
(invoke "./ZXingUnitTest"))
|
||||
#t)))))
|
||||
(synopsis "C++ port of ZXing")
|
||||
(description "ZXing-CPP is a barcode scanning library.")
|
||||
(home-page "https://github.com/nu-book/zxing-cpp")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public barcode
|
||||
(package
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2014, 2018 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2016, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2017, 2019 Eric Bavier <bavier@member.fsf.org>
|
||||
|
@ -74,7 +74,7 @@
|
|||
(define-public mpfrcx
|
||||
(package
|
||||
(name "mpfrcx")
|
||||
(version "0.5")
|
||||
(version "0.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -82,7 +82,7 @@
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1s968480ymv6w0rnvfp9mxvx98hvi29fkvw8nk4ggzc6azxgwybs"))))
|
||||
"0gz5rma9al2jrifpknqkcnd9dkf8l05jcxy3s4ghwhd4y3h5dwia"))))
|
||||
(build-system gnu-build-system)
|
||||
(propagated-inputs
|
||||
`(("gmp" ,gmp)
|
||||
|
@ -151,7 +151,12 @@ line applications.")
|
|||
(define-public fplll
|
||||
(package
|
||||
(name "fplll")
|
||||
(version "5.2.1")
|
||||
;; The most recent version 5.3.3 fails in the configure phase:
|
||||
;; ./configure: line 12956: syntax error near unexpected token `LIBQD,'
|
||||
;; ./configure: line 12956: ` PKG_CHECK_MODULES(LIBQD, qd, have_libqd="yes",'
|
||||
;; The error disappears when adding qd as an input; but this is
|
||||
;; supposed to be an optional input.
|
||||
(version "5.3.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -160,7 +165,7 @@ line applications.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"015qmrd7nfaysbv1hbwiprz9g6hnww1y1z1xw8f43ysb7k1b5nbg"))))
|
||||
"00iyz218ywspizjiimrjdcqvdqmrsb2367zyy3vkmypnf9i9l680"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
|
@ -198,7 +203,7 @@ the real span of the lattice.")
|
|||
(define-public python-fpylll
|
||||
(package
|
||||
(name "python-fpylll")
|
||||
(version "0.4.1")
|
||||
(version "0.5.2")
|
||||
(source
|
||||
(origin
|
||||
;; Pypi contains and older release, so we use a tagged release from
|
||||
|
@ -210,7 +215,7 @@ the real span of the lattice.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"01x2sqdv0sbjj4g4waj0hj4rcn4bq7h17442xaqwbznym9azmn9w"))))
|
||||
"1a25iibihph626jl4wbs4b77xc4a2c4nfc2ypscf9wpani3dnhjf"))))
|
||||
(build-system python-build-system)
|
||||
(inputs
|
||||
`(("fplll" ,fplll)
|
||||
|
@ -346,7 +351,8 @@ varieties, i.e. Jacobians of hyperelliptic curves.
|
|||
It can also be used to compute theta constants at arbitrary
|
||||
precision.")
|
||||
(license license:gpl3+)
|
||||
(home-page "http://cmh.gforge.inria.fr/")))
|
||||
(home-page
|
||||
"https://gitlab.inria.fr/cmh/cmh#cmh-computation-of-genus-2-class-polynomials")))
|
||||
|
||||
(define-public giac
|
||||
(package
|
||||
|
@ -440,14 +446,13 @@ or text interfaces) or as a C++ library.")
|
|||
(define-public flint
|
||||
(package
|
||||
(name "flint")
|
||||
(version "2.6.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://flintlib.org/flint-"
|
||||
version ".tar.gz"))
|
||||
(sha256 (base32
|
||||
"0h08a71kn8347zsqjamqnmrxjpsnnzpmhvxb6d2xmfrcs6nyv2ch"))))
|
||||
(version "2.6.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://flintlib.org/flint-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1qrf6hzbbmg7mhkhbb0bab8z2xpdnba5cj4kmmf72lzs0457a6nf"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("ntl" ,ntl)))
|
||||
|
@ -455,7 +460,7 @@ or text interfaces) or as a C++ library.")
|
|||
`(("gmp" ,gmp)
|
||||
("mpfr" ,mpfr))) ; header files from both are included by flint/arith.h
|
||||
(arguments
|
||||
`(#:parallel-tests? #f ; seems to be necessary on arm
|
||||
`(#:parallel-tests? #f ; seems to be necessary on arm
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'newer-c++
|
||||
|
@ -469,8 +474,8 @@ or text interfaces) or as a C++ library.")
|
|||
(gmp (assoc-ref inputs "gmp"))
|
||||
(mpfr (assoc-ref inputs "mpfr"))
|
||||
(ntl (assoc-ref inputs "ntl")))
|
||||
;; do not pass "--enable-fast-install", which makes the
|
||||
;; homebrew configure process fail
|
||||
;; Do not pass "--enable-fast-install", which makes the
|
||||
;; homebrew configure process fail.
|
||||
(invoke "./configure"
|
||||
(string-append "--prefix=" out)
|
||||
(string-append "--with-gmp=" gmp)
|
||||
|
@ -489,7 +494,7 @@ Operations that can be performed include conversions, arithmetic,
|
|||
GCDs, factoring, solving linear systems, and evaluating special
|
||||
functions. In addition, FLINT provides various low-level routines for
|
||||
fast arithmetic.")
|
||||
(license license:gpl2+)
|
||||
(license license:lgpl2.1+)
|
||||
(home-page "http://flintlib.org/")))
|
||||
|
||||
(define-public arb
|
||||
|
@ -1113,17 +1118,17 @@ xtensor provides:
|
|||
(define-public gap
|
||||
(package
|
||||
(name "gap")
|
||||
(version "4.10.2")
|
||||
(version "4.11.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.gap-system.org/pub/gap/gap-"
|
||||
(uri (string-append "https://files.gap-system.org/gap-"
|
||||
(version-major+minor version)
|
||||
"/tar.bz2/gap-"
|
||||
version
|
||||
".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "0cp6ddk0469zzv1m1vair6gm27ic6c5m77ri8rn0znq3gaps6x94"))
|
||||
(base32 "00l6hvy4iggnlrib4vp805sxdm3j7n3hzpv5zs9hbiiavh80l1xz"))
|
||||
(modules '((guix build utils) (ice-9 ftw) (srfi srfi-1)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
@ -1135,41 +1140,46 @@ xtensor provides:
|
|||
;; FIXME: This might be fixed in the next release, see
|
||||
;; https://github.com/gap-system/gap/issues/3292
|
||||
(delete-file "tst/testinstall/dir.tst")
|
||||
;; Delete all packages except for a fixed list.
|
||||
;; Delete all packages except for a fixed list,
|
||||
;; given by their names up to version numbers.
|
||||
(with-directory-excursion "pkg"
|
||||
(for-each delete-file-recursively
|
||||
(lset-difference string=? (scandir ".")
|
||||
(lset-difference
|
||||
(lambda (all keep) (string-prefix? keep all))
|
||||
(scandir ".")
|
||||
'("." ".."
|
||||
;; Necessary packages.
|
||||
"GAPDoc-1.6.2"
|
||||
"primgrp-3.3.2"
|
||||
"SmallGrp-1.3" ; artistic2.0
|
||||
"transgrp" ; artistic2.0 for data,
|
||||
; gpl2 or gpl3 for code
|
||||
;; Recommanded package.
|
||||
"io-4.5.4" ; gpl3+
|
||||
"GAPDoc-"
|
||||
"primgrp-"
|
||||
"SmallGrp-" ; artistic2.0
|
||||
"transgrp" ; artistic2.0 for data,
|
||||
; gpl2 or gpl3 for code
|
||||
;; Recommended package.
|
||||
"io-" ; gpl3+
|
||||
;; Optional packages, searched for at start,
|
||||
;; and their depedencies.
|
||||
"alnuth-3.1.0"
|
||||
"autpgrp-1.10"
|
||||
"crisp-1.4.4" ; bsd-2
|
||||
"ctbllib" ; gpl3+ according to doc/chap0.txt
|
||||
"FactInt-1.6.2"
|
||||
"alnuth-"
|
||||
"autpgrp-"
|
||||
"crisp-" ; bsd-2
|
||||
"ctbllib" ; gpl3+, clarified in the next release;
|
||||
; see
|
||||
; http://www.math.rwth-aachen.de/~Thomas.Breuer/ctbllib/README.md
|
||||
"FactInt-"
|
||||
"fga"
|
||||
"irredsol-1.4" ; bsd-2
|
||||
"laguna-3.9.2"
|
||||
"polenta-1.3.8"
|
||||
"polycyclic-2.14"
|
||||
"radiroot-2.8"
|
||||
"resclasses-4.7.1"
|
||||
"sophus-1.24"
|
||||
"tomlib-1.2.7" ; gpl2+, clarified in the git repository
|
||||
; and the next release
|
||||
"utils-0.59"))))
|
||||
"irredsol-" ; bsd-2
|
||||
"laguna-"
|
||||
"polenta-"
|
||||
"polycyclic-"
|
||||
"radiroot-"
|
||||
"resclasses-"
|
||||
"sophus-"
|
||||
"tomlib-"
|
||||
"utils-"))))
|
||||
#t))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("gmp" ,gmp)
|
||||
("readline" ,readline)
|
||||
("zlib" ,zlib)))
|
||||
(arguments
|
||||
`(#:modules ((ice-9 ftw)
|
||||
|
@ -1196,15 +1206,14 @@ xtensor provides:
|
|||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(lib (string-append out "/lib"))
|
||||
(prog (string-append bin "/gap"))
|
||||
(prog-real (string-append bin "/.gap-real"))
|
||||
(share (string-append out "/share/gap"))
|
||||
(include (string-append out "/include/gap"))
|
||||
(include-hpc (string-append include "/hpc")))
|
||||
(share (string-append out "/share/gap")))
|
||||
;; Install only the gap binary; the gac compiler is left
|
||||
;; for maybe later. "Wrap" it in a shell script that calls
|
||||
;; the binary with the correct parameter.
|
||||
;; The make target install-bin is supposed to do that, but
|
||||
;; is not currently working.
|
||||
(mkdir-p bin)
|
||||
(copy-file "gap" prog-real)
|
||||
(call-with-output-file prog
|
||||
|
@ -1215,52 +1224,18 @@ xtensor provides:
|
|||
prog-real
|
||||
share)))
|
||||
(chmod prog #o755)
|
||||
;; Install the headers, which are needed by Sage. The
|
||||
;; Makefile target "install-headers" was available in
|
||||
;; gap-4.10.0, but has been commented out in gap-4.10.1.
|
||||
(mkdir-p include-hpc)
|
||||
(install-file "gen/config.h" include)
|
||||
(let ((file-name-predicate-without-stat
|
||||
(lambda (regex)
|
||||
(cut (file-name-predicate regex) <> #f))))
|
||||
(with-directory-excursion "src"
|
||||
(for-each
|
||||
(cut install-file <> include)
|
||||
(scandir "."
|
||||
(file-name-predicate-without-stat ".*\\.h$"))))
|
||||
(with-directory-excursion "src/hpc"
|
||||
(for-each
|
||||
(cut install-file <> include-hpc)
|
||||
(scandir "."
|
||||
(file-name-predicate-without-stat ".*\\.h$")))))
|
||||
;; Install the library, which is needed by Sage. The
|
||||
;; Makefile target "install-libgap" was available in
|
||||
;; gap-4.10.0, but has been commented out in gap-4.10.1.
|
||||
;; Compared to the Makefile, which used libtool, the
|
||||
;; following approach of copying files and making symlinks
|
||||
;; is rather pedestrian. There is hope that some later
|
||||
;; version of gap reinstates and completes the install
|
||||
;; targets.
|
||||
(invoke "make" "libgap.la")
|
||||
(install-file "libgap.la" lib)
|
||||
(install-file ".libs/libgap.so.0.0.0" lib)
|
||||
(symlink "libgap.so.0.0.0" (string-append lib "/libgap.so"))
|
||||
(symlink "libgap.so.0.0.0" (string-append lib "/libgap.so.0"))
|
||||
;; Install a certain number of files and directories to
|
||||
;; SHARE, where the wrapped shell script expects them.
|
||||
;; Install the headers and library, which are needed by Sage.
|
||||
(invoke "make" "install-headers")
|
||||
(invoke "make" "install-libgap")
|
||||
;; Remove information on the build directory from sysinfo.gap.
|
||||
(substitute* "sysinfo.gap"
|
||||
(("GAP_BIN_DIR=\".*\"") "GAP_BIN_DIR=\"\"")
|
||||
(("GAP_LIB_DIR=\".*\"") "GAP_LIB_DIR=\"\"")
|
||||
(("GAP_CPPFLAGS=\".*\"") "GAP_CPPFLAGS=\"\""))
|
||||
(install-file "sysinfo.gap" share)
|
||||
(copy-recursively "grp" (string-append share "/grp"))
|
||||
(copy-recursively "pkg" (string-append share "/pkg"))
|
||||
;; The following is not the C library libgap.so, but a
|
||||
;; library of GAP code.
|
||||
(copy-recursively "lib" (string-append share "/lib"))
|
||||
;; The gap binary looks for documentation inside SHARE.
|
||||
(copy-recursively "doc" (string-append share "/doc")))
|
||||
(invoke "make" "install-gaproot")
|
||||
;; Copy the directory of compiled packages; the make target
|
||||
;; install-pkg is currently empty.
|
||||
(copy-recursively "pkg" (string-append share "/pkg")))
|
||||
#t)))))
|
||||
(home-page "https://www.gap-system.org/")
|
||||
(synopsis
|
||||
|
|
|
@ -5,9 +5,9 @@
|
|||
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
|
||||
;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
||||
;;; Copyright © 2017 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2019 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2019, 2020 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;;
|
||||
|
@ -126,9 +126,9 @@ use their packages mostly unmodified in our Android NDK build system.")
|
|||
;; Big thanks to them for laying the groundwork.
|
||||
|
||||
;; The version tag is consistent between all repositories.
|
||||
(define (android-platform-version) "7.1.2_r36")
|
||||
(define-public (android-platform-version) "7.1.2_r36")
|
||||
|
||||
(define (android-platform-system-core version)
|
||||
(define-public (android-platform-system-core version)
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -185,7 +185,7 @@ use their packages mostly unmodified in our Android NDK build system.")
|
|||
(base32
|
||||
checksum))))
|
||||
|
||||
(define android-liblog
|
||||
(define-public android-liblog
|
||||
(package
|
||||
(name "android-liblog")
|
||||
(version (android-platform-version))
|
||||
|
@ -201,7 +201,16 @@ use their packages mostly unmodified in our Android NDK build system.")
|
|||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(symlink "liblog.so.0" (string-append out "/lib/liblog.so"))
|
||||
#t))))))
|
||||
#t)))
|
||||
(add-after 'install 'install-headers
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(copy-recursively
|
||||
"../include/log" (string-append out "/include/log"))
|
||||
;; For android/log.h, the only header in the android directory.
|
||||
(copy-recursively
|
||||
"../include/android" (string-append out "/include/android")))
|
||||
#t)))))
|
||||
(home-page "https://developer.android.com/")
|
||||
(synopsis "Logging library from the Android platform.")
|
||||
(description "@code{liblog} represents an interface to the volatile Android
|
||||
|
@ -229,7 +238,7 @@ in Main, System, Radio and Events sub-logs.")
|
|||
various Android core host applications.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define android-libcutils
|
||||
(define-public android-libcutils
|
||||
(package
|
||||
(name "android-libcutils")
|
||||
(version (android-platform-version))
|
||||
|
@ -691,7 +700,7 @@ file system.")
|
|||
(define-public android-udev-rules
|
||||
(package
|
||||
(name "android-udev-rules")
|
||||
(version "20191103")
|
||||
(version "20200613")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -700,7 +709,7 @@ file system.")
|
|||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0x2f2sv0x0ry7kccp47s0hlxps3hbpg37dj3xjjgpdm5hmn2cjq3"))))
|
||||
(base32 "0cf5br8x6iwxc1cifv0i1klw7skgs8hghdx6qlqby68kyqg81bb2"))))
|
||||
(build-system trivial-build-system)
|
||||
(native-inputs `(("source" ,source)))
|
||||
(arguments
|
||||
|
@ -907,14 +916,14 @@ useful for reverse engineering, analysis of Android applications and more.")
|
|||
(define-public fdroidserver
|
||||
(package
|
||||
(name "fdroidserver")
|
||||
(version "1.1.1")
|
||||
(version "1.1.9")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "fdroidserver" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0fp7q8faicx6i6wxm717qqaham3jpilb23mvynpz6v73z7hm6wcg"))))
|
||||
"0m07f791z45w7r2dzx4yb6s54b3c3wykm3w9hn25p2jcyax082a2"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
@ -922,14 +931,20 @@ useful for reverse engineering, analysis of Android applications and more.")
|
|||
(add-after 'unpack 'fix-versioning
|
||||
(lambda _
|
||||
(substitute* "setup.py"
|
||||
(("0.2.1") ,(package-version python-pyasn1-modules)))
|
||||
(("0.2.1") ,(package-version python-pyasn1-modules))
|
||||
;; The dependency on docker has been removed upstream by
|
||||
;; a fairly large patch:
|
||||
;; https://gitlab.com/fdroid/fdroidserver/-/commit/89614851250c79a05db84070feca6dea033af334
|
||||
;; that is not in a release yet. It appears we can compile with
|
||||
;; a newer version.
|
||||
(("docker-py >= 1.9, < 2.0") "docker >= 1.9"))
|
||||
#t)))))
|
||||
(propagated-inputs
|
||||
`(("python-androguard" ,python-androguard)
|
||||
("python-apache-libcloud" ,python-apache-libcloud)
|
||||
("python-clint" ,python-clint)
|
||||
("python-defusedxml" ,python-defusedxml)
|
||||
("python-docker-py" ,python-docker-py)
|
||||
("python-docker" ,python-docker)
|
||||
("python-gitpython" ,python-gitpython)
|
||||
("python-mwclient" ,python-mwclient)
|
||||
("python-paramiko" ,python-paramiko)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019 Pkill -9 <pkill9@runbox.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
|
@ -264,7 +264,7 @@ waveform until they line up with the proper sounds.")
|
|||
(define-public pencil2d
|
||||
(package
|
||||
(name "pencil2d")
|
||||
(version "0.6.4")
|
||||
(version "0.6.5")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -273,7 +273,7 @@ waveform until they line up with the proper sounds.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0zi8x0w8n817zds2lyw9l8j33c03kiybkrcyy3s5fg66mchmrwnr"))))
|
||||
"06l60wawkhb3wrsj79p5f7ka5cgcyly36pbvm95fvwbkmlvmjzf1"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("qtbase" ,qtbase)
|
||||
|
|
|
@ -404,8 +404,12 @@ dictionaries, including personal ones.")
|
|||
(find-files "speller"
|
||||
,(string-append language ".*\\.dic$"))))
|
||||
|
||||
(install-file ,(string-append "speller/" language ".aff")
|
||||
hunspell)
|
||||
;; Install affix files corresponding to installed dictionaries
|
||||
(for-each (lambda (dic)
|
||||
(install-file (string-append
|
||||
"speller/" (basename dic ".dic") ".aff")
|
||||
hunspell))
|
||||
(find-files hunspell ".*\\.dic$"))
|
||||
(symlink hunspell (string-append myspell "/dicts"))
|
||||
(for-each (lambda (file)
|
||||
(install-file file doc))
|
||||
|
|
|
@ -56,20 +56,20 @@
|
|||
(define-public cfitsio
|
||||
(package
|
||||
(name "cfitsio")
|
||||
(version "3.47")
|
||||
(version "3.49")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/"
|
||||
name "-" version ".tar.gz"))
|
||||
"cfitsio-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1vzlxnrjckz78p2wf148v2z3krkwnykfqvlj42sz3q711vqid1a1"))))
|
||||
(base32 "1cyl1qksnkl3cq1fzl4dmjvkd6329b57y9iqyv44wjakbh6s4rav"))))
|
||||
(build-system gnu-build-system)
|
||||
;; XXX Building with curl currently breaks wcslib. It doesn't use
|
||||
;; pkg-config and hence won't link with -lcurl.
|
||||
(arguments
|
||||
`(#:tests? #f ; no tests
|
||||
`(#:tests? #f ; no tests
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-paths
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net>
|
||||
;;; Copyright © 2020 Jonathan Frederickson <jonathan@terracrypt.net>
|
||||
;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
|
||||
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -113,6 +114,7 @@
|
|||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system copy)
|
||||
#:use-module (guix build-system glib-or-gtk)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system meson)
|
||||
|
@ -127,6 +129,308 @@
|
|||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-26))
|
||||
|
||||
(define-public opensles
|
||||
(package
|
||||
(name "opensles")
|
||||
(version "1.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri
|
||||
(git-reference
|
||||
(url "https://github.com/KhronosGroup/OpenSL-ES-Registry.git")
|
||||
(commit "ea5104bf37bf525c25e6ae2386586048179d0fda")))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0j5bm7h3ahz66f23i9abwc0y10agfkpksnj6y078x2nichq66h4f"))
|
||||
(patches
|
||||
(search-patches "opensles-add-license-file.patch"))))
|
||||
(build-system copy-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'install 'clean
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out")))
|
||||
(mkdir-p (string-append out "/etc"))
|
||||
(mkdir-p (string-append out "/include"))
|
||||
(mkdir-p (string-append out "/share"))
|
||||
(rename-file
|
||||
(string-append out "/api/1.1/OpenSLES_IID.c")
|
||||
(string-append out "/etc/OpenSLES_IID.c"))
|
||||
(rename-file
|
||||
(string-append out "/api/1.1/OpenSLES.h")
|
||||
(string-append out "/include/OpenSLES.h"))
|
||||
(rename-file
|
||||
(string-append out "/api/1.1/OpenSLES_Platform.h")
|
||||
(string-append out "/include/OpenSLES_Platform.h"))
|
||||
(rename-file
|
||||
(string-append out "/api/1.1/README.txt")
|
||||
(string-append out "/share/README.txt"))
|
||||
(rename-file
|
||||
(string-append out "/LICENSE.txt")
|
||||
(string-append out "/share/LICENSE.txt"))
|
||||
(for-each delete-file-recursively
|
||||
(list
|
||||
(string-append out "/api")
|
||||
(string-append out "/specs")))
|
||||
(for-each delete-file
|
||||
(list
|
||||
(string-append out "/CODE_OF_CONDUCT.md")
|
||||
(string-append out "/index.php")
|
||||
(string-append out "/README.md"))))
|
||||
#t)))))
|
||||
(synopsis "Embedded Audio Acceleration")
|
||||
(description "OpenSLES is a royalty-free, cross-platform,
|
||||
hardware-accelerated audio API tuned for embedded systems. It provides a
|
||||
standardized, high-performance, low-latency method to access audio
|
||||
functionality for developers of native applications on embedded mobile
|
||||
multimedia devices, enabling straightforward cross-platform deployment of
|
||||
hardware and software audio capabilities, reducing implementation effort, and
|
||||
promoting the market for advanced audio.")
|
||||
(home-page "https://www.khronos.org/opensles/")
|
||||
(license (license:non-copyleft "file:///LICENSE.txt"))))
|
||||
|
||||
(define-public wildmidi
|
||||
(package
|
||||
(name "wildmidi")
|
||||
(version "0.4.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri
|
||||
(git-reference
|
||||
(url "https://github.com/Mindwerks/wildmidi.git")
|
||||
(commit (string-append name "-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "01f4a9c5xlap5a4pkfnlgkzk5pjlk43zkq6fnw615ghya04g6hrl"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; No target
|
||||
#:configure-flags
|
||||
(list
|
||||
"-DWANT_ALSA=ON"
|
||||
"-DWANT_OSS=ON"
|
||||
"-DWANT_OPENAL=ON")))
|
||||
(inputs
|
||||
`(("alsa" ,alsa-lib)
|
||||
("openal" ,openal)))
|
||||
(synopsis "Software Synthesizer")
|
||||
(description "WildMIDI is a simple software midi player which has a core
|
||||
softsynth library that can be use with other applications.")
|
||||
(home-page "https://www.mindwerks.net/projects/wildmidi/")
|
||||
(license
|
||||
(list
|
||||
;; Library.
|
||||
license:lgpl3+
|
||||
;; Player.
|
||||
license:gpl3+))))
|
||||
|
||||
(define-public webrtc-audio-processing
|
||||
(package
|
||||
(name "webrtc-audio-processing")
|
||||
(version "0.3.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append "http://freedesktop.org/software/pulseaudio/"
|
||||
name "/" name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "1gsx7k77blfy171b6g3m0k0s0072v6jcawhmx1kjs9w5zlwdkzd0"))))
|
||||
(build-system gnu-build-system)
|
||||
(synopsis "WebRTC's Audio Processing Library")
|
||||
(description "WebRTC-Audio-Processing library based on Google's
|
||||
implementation of WebRTC.")
|
||||
(home-page
|
||||
"https://freedesktop.org/software/pulseaudio/webrtc-audio-processing/")
|
||||
(license (license:non-copyleft "file:///COPYING"))))
|
||||
|
||||
(define-public vo-aacenc
|
||||
(package
|
||||
(name "vo-aacenc")
|
||||
(version "0.1.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append "https://sourceforge.net/projects/opencore-amr/files/"
|
||||
name "/" name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0dhghm3c8pqrriwwyj5x9i0yf52fmdfijbgqqkvqvwarldvp86p5"))))
|
||||
(build-system gnu-build-system)
|
||||
(synopsis "VisualOn AAC Encoder")
|
||||
(description "VO-AACENC is the VisualOn implementation of Advanced Audio
|
||||
Coding (AAC) encoder.")
|
||||
(home-page "https://sourceforge.net/projects/opencore-amr/")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public tinyalsa
|
||||
(package
|
||||
(name "tinyalsa")
|
||||
(version "1.1.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri
|
||||
(git-reference
|
||||
(url "https://github.com/tinyalsa/tinyalsa.git")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0ajyvml5bnzvhiyyrn42gqwgg23ssxkfh09rvsnywhzxhd0xai4h"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; No target
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure))
|
||||
#:make-flags
|
||||
(list
|
||||
(string-append "PREFIX=" (assoc-ref %outputs "out")))))
|
||||
(synopsis "ALSA interfacing library")
|
||||
(description "TinyALSA is a small library to interface with ALSA in the
|
||||
Linux kernel.")
|
||||
(home-page "https://github.com/tinyalsa/tinyalsa")
|
||||
(license (license:non-copyleft "file:///NOTICE"))))
|
||||
|
||||
(define-public libopenmpt
|
||||
(package
|
||||
(name "libopenmpt")
|
||||
(version "0.5.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append "https://download.openmpt.org/archive/libopenmpt/src/"
|
||||
"libopenmpt-" version "+release.autotools.tar.gz"))
|
||||
(sha256
|
||||
(base32 "1cwpc4j90dpxa2siia68rg9qwwm2xk6bhxnslfjj364507jy6s4l"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list (string-append "--docdir=" (assoc-ref %outputs "out")
|
||||
"/share/doc/" ,name "-" ,version))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'install 'delete-static-libraries
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(lib (string-append out "/lib")))
|
||||
(for-each delete-file (find-files lib "\\.a$"))
|
||||
#t))))))
|
||||
(native-inputs
|
||||
`(("doxygen" ,doxygen)
|
||||
("perl" ,perl)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("alsa" ,alsa-lib)
|
||||
("flac" ,flac)
|
||||
("mpg123" ,mpg123)
|
||||
("portaudio" ,portaudio)
|
||||
("pulseaudio" ,pulseaudio)
|
||||
("sdl2" ,sdl2)
|
||||
("sndfile" ,libsndfile)
|
||||
("vorbis" ,libvorbis)
|
||||
("zlib" ,zlib)))
|
||||
(synopsis "Audio tracking library")
|
||||
(description "LibOpenMPT is a cross-platform C++ and C module playback
|
||||
library. It is based on the player code of the Open ModPlug Tracker project.")
|
||||
(home-page "https://openmpt.org/")
|
||||
(license (license:non-copyleft "file:///LICENSE"))))
|
||||
|
||||
(define-public libofa
|
||||
(package
|
||||
(name "libofa")
|
||||
(version "0.9.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append "https://storage.googleapis.com/"
|
||||
"google-code-archive-downloads/v2/code.google.com/"
|
||||
"musicip-libofa/" name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "184ham039l7lwhfgg0xr2vch2xnw1lwh7sid432mh879adhlc5h2"))
|
||||
(patches
|
||||
(search-patches
|
||||
"libofa-ftbfs-1.diff"
|
||||
"libofa-curl.diff"
|
||||
"libofa-ftbfs-2.diff"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("curl" ,curl)
|
||||
("expat" ,expat)))
|
||||
(propagated-inputs
|
||||
`(("fftw" ,fftw)))
|
||||
(synopsis "Open Fingerprint Architecture")
|
||||
(description "LibOFA is an audio fingerprint library, created and provided
|
||||
by MusicIP.")
|
||||
(home-page "https://code.google.com/archive/p/musicip-libofa/")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public faac
|
||||
(package
|
||||
(name "faac")
|
||||
(version "1.30")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append "https://sourceforge.net/projects/faac/files/faac-src/"
|
||||
"faac-1.30/faac-1_30.tar.gz/download"))
|
||||
(sha256
|
||||
(base32 "1lmj0dib3mjp84jhxc5ddvydkzzhb0gfrdh3ikcidjlcb378ghxd"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("libtool" ,libtool)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(synopsis "Freeware Advanced Audio Coder")
|
||||
(description "FAAC is an MPEG-4 and MPEG-2 AAC encoder.")
|
||||
(home-page "https://www.audiocoding.com/faac.html")
|
||||
(license
|
||||
(list
|
||||
;; ISO MPEG-4 reference code.
|
||||
license:gpl2+
|
||||
;; Others.
|
||||
license:lgpl2.0+))))
|
||||
|
||||
(define-public libtimidity
|
||||
(package
|
||||
(name "libtimidity")
|
||||
(version "0.2.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append "https://sourceforge.net/projects/" name "/files/"
|
||||
name "/" version "/" name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0p2px0m907gi1zpdr0l9adq25jl89j85c11ag9s2g4yc6n1nhgfm"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f)) ; XXX: LibTiMidity could not be initialised
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("ao" ,ao)))
|
||||
(synopsis "MIDI to WAVE converter library")
|
||||
(description "LibTiMidity is a MIDI to WAVE converter library that uses
|
||||
Gravis Ultrasound-compatible patch files to generate digital audio data from
|
||||
General MIDI files.")
|
||||
(home-page "http://libtimidity.sourceforge.net/")
|
||||
(license
|
||||
;; This project is dual-licensed.
|
||||
;; Either of the following licenses can be exercised.
|
||||
(list
|
||||
license:lgpl2.1+
|
||||
license:artistic2.0))))
|
||||
|
||||
(define-public vo-amrwbenc
|
||||
(package
|
||||
(name "vo-amrwbenc")
|
||||
|
@ -474,7 +778,7 @@ engineers, musicians, soundtrack editors and composers.")
|
|||
;; SSE instructions are available on Intel systems only.
|
||||
,@(if (any (cute string-prefix? <> (or (%current-target-system)
|
||||
(%current-system)))
|
||||
'("x64_64" "i686"))
|
||||
'("x86_64" "i686"))
|
||||
'()
|
||||
'("--enable-sse=no"))
|
||||
;; portmidi, libid3tag and libmad provide no .pc files, so
|
||||
|
@ -1386,22 +1690,22 @@ also play midifiles using a Soundfont.")
|
|||
(define-public faad2
|
||||
(package
|
||||
(name "faad2")
|
||||
(version "2.8.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/faac/faad2-src/faad2-"
|
||||
(version-major+minor version) ".0/"
|
||||
"faad2-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"089zqykqgmmysznvk0bi2pfvdqwclnn540d0zks83sv2pynpfjb5"))))
|
||||
(version "2.8.8")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append "mirror://sourceforge/faac/faad2-src/faad2-"
|
||||
(version-major+minor version) ".0/"
|
||||
"faad2-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0va284hndhn0ynm4lyn219qw4y8wa4agfkqgwlaji7bqp6nkyp4q"))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "https://www.audiocoding.com/faad2.html")
|
||||
(synopsis "MPEG-4 and MPEG-2 AAC decoder")
|
||||
(description
|
||||
"FAAD2 is an MPEG-4 and MPEG-2 AAC decoder supporting LC, Main, LTP, SBR,
|
||||
PS, and DAB+.")
|
||||
(license license:gpl2)))
|
||||
"FAAD2 is an MPEG-4 and MPEG-2 AAC decoder supporting LC, Main, LTP, SBR, -PS, and DAB+.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public faust
|
||||
(package
|
||||
|
@ -1991,6 +2295,48 @@ with applications that support them (e.g. PulseAudio).")
|
|||
implementation of the Open Sound Control (@dfn{OSC}) protocol.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public rtaudio
|
||||
(package
|
||||
(name "rtaudio")
|
||||
(version "5.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/thestk/rtaudio")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "156c2dgh6jrsyfn1y89nslvaxm4yifmxridsb708yvkaym02w2l8"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("alsa-lib" ,alsa-lib)
|
||||
("jack" ,jack-1)
|
||||
("pulseaudio" ,pulseaudio)))
|
||||
(synopsis "Common API for real-time audio I/O")
|
||||
(description
|
||||
"RtAudio is a set of C++ classes that provides a common API for real-time
|
||||
audio input/output. It was designed with the following objectives:
|
||||
|
||||
@itemize
|
||||
@item object-oriented C++ design
|
||||
@item simple, common API across all supported platforms
|
||||
@item only one source and one header file for easy inclusion in programming
|
||||
projects
|
||||
@item allow simultaneous multi-api support
|
||||
@item support dynamic connection of devices
|
||||
@item provide extensive audio device parameter control
|
||||
@item allow audio device capability probing
|
||||
@item automatic internal conversion for data format, channel number
|
||||
compensation, (de)interleaving, and byte-swapping
|
||||
@end itemize")
|
||||
(home-page "https://www.music.mcgill.ca/~gary/rtaudio/")
|
||||
;; License is expat with a non-binding request to send modifications to
|
||||
;; original developer.
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-pyaudio
|
||||
(package
|
||||
(name "python-pyaudio")
|
||||
|
@ -2582,9 +2928,12 @@ aimed at audio/musical applications.")
|
|||
("automake" ,automake)
|
||||
("pkg-config" ,pkg-config)
|
||||
("libtool" ,libtool)))
|
||||
(synopsis "Real-time library for sampling rate conversion")
|
||||
(description "The @command{resample} software package contains free
|
||||
sampling-rate conversion and filter design utilities.")
|
||||
(synopsis "Sampling rate conversion and filter design utilities")
|
||||
(description "This package contains the @command{resample} and
|
||||
@command{windowfilter} command line utilities. The @command{resample} command
|
||||
allows changing the sampling rate of a sound file, while the
|
||||
@command{windowfilter} command allows to design Finite Impulse Response (FIR)
|
||||
filters using the so-called @emph{window method}.")
|
||||
(home-page "https://ccrma.stanford.edu/~jos/resample/Free_Resampling_Software.html")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
|
@ -3676,14 +4025,14 @@ on the ALSA software PCM plugin.")
|
|||
(define-public snd
|
||||
(package
|
||||
(name "snd")
|
||||
(version "20.5")
|
||||
(version "20.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "ftp://ccrma-ftp.stanford.edu/pub/Lisp/"
|
||||
"snd-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1frg64q2d8cia6v7jia7kahzx0apwdl0z252mzlbwqdz5960nv90"))))
|
||||
"1h4dsq5xcvwjbnayhn719cln0lg199w3xm59sl9d2jz8bq78gqgj"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no tests
|
||||
|
@ -4398,6 +4747,38 @@ minimum.")
|
|||
(home-page "https://git.zrythm.org/cgit/ztoolkit/")
|
||||
(license license:agpl3+)))
|
||||
|
||||
(define-public libinstpatch
|
||||
(package
|
||||
(name "libinstpatch")
|
||||
(version "1.1.5")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/swami/libinstpatch")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0psx4hc5yksfd3k2xqsc7c8lbz2d4yybikyddyd9hlkhq979cmjb"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f)) ;there are no tests
|
||||
(native-inputs
|
||||
`(("glib:bin" ,glib "bin")
|
||||
("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("glib" ,glib)
|
||||
("libsndfile" ,libsndfile)))
|
||||
(home-page "http://www.swamiproject.org/")
|
||||
(synopsis "Instrument file software library")
|
||||
(description
|
||||
"libInstPatch is a library for processing digital sample based MIDI
|
||||
instrument \"patch\" files. The types of files libInstPatch supports are used
|
||||
for creating instrument sounds for wavetable synthesis. libInstPatch provides
|
||||
an object framework (based on GObject) to load patch files, which can then be
|
||||
edited, converted, compressed and saved.")
|
||||
(license license:lgpl2.1)))
|
||||
|
||||
(define-public ztoolkit-rsvg
|
||||
(package
|
||||
(inherit ztoolkit)
|
||||
|
|
|
@ -305,7 +305,9 @@ CONFIG_MODULE_FORCE_UNLOAD=y
|
|||
CONFIG_MODVERSIONS=y
|
||||
# CONFIG_MODULE_SRCVERSION_ALL is not set
|
||||
# CONFIG_MODULE_SIG is not set
|
||||
# CONFIG_MODULE_COMPRESS is not set
|
||||
CONFIG_MODULE_COMPRESS=y
|
||||
CONFIG_MODULE_COMPRESS_GZIP=y
|
||||
# CONFIG_MODULE_COMPRESS_XZ is not set
|
||||
# CONFIG_TRIM_UNUSED_KSYMS is not set
|
||||
CONFIG_MODULES_TREE_LOOKUP=y
|
||||
CONFIG_BLOCK=y
|
||||
|
|
|
@ -350,7 +350,9 @@ CONFIG_MODULE_UNLOAD=y
|
|||
CONFIG_MODVERSIONS=y
|
||||
CONFIG_MODULE_SRCVERSION_ALL=y
|
||||
# CONFIG_MODULE_SIG is not set
|
||||
# CONFIG_MODULE_COMPRESS is not set
|
||||
CONFIG_MODULE_COMPRESS=y
|
||||
CONFIG_MODULE_COMPRESS_GZIP=y
|
||||
# CONFIG_MODULE_COMPRESS_XZ is not set
|
||||
CONFIG_MODULES_TREE_LOOKUP=y
|
||||
CONFIG_BLOCK=y
|
||||
CONFIG_LBDAF=y
|
||||
|
|
|
@ -370,7 +370,9 @@ CONFIG_MODULE_UNLOAD=y
|
|||
CONFIG_MODVERSIONS=y
|
||||
CONFIG_MODULE_SRCVERSION_ALL=y
|
||||
# CONFIG_MODULE_SIG is not set
|
||||
# CONFIG_MODULE_COMPRESS is not set
|
||||
CONFIG_MODULE_COMPRESS=y
|
||||
CONFIG_MODULE_COMPRESS_GZIP=y
|
||||
# CONFIG_MODULE_COMPRESS_XZ is not set
|
||||
CONFIG_MODULES_TREE_LOOKUP=y
|
||||
CONFIG_BLOCK=y
|
||||
CONFIG_BLK_SCSI_REQUEST=y
|
||||
|
|
|
@ -876,7 +876,9 @@ CONFIG_MODULE_FORCE_UNLOAD=y
|
|||
CONFIG_MODVERSIONS=y
|
||||
# CONFIG_MODULE_SRCVERSION_ALL is not set
|
||||
# CONFIG_MODULE_SIG is not set
|
||||
# CONFIG_MODULE_COMPRESS is not set
|
||||
CONFIG_MODULE_COMPRESS=y
|
||||
CONFIG_MODULE_COMPRESS_GZIP=y
|
||||
# CONFIG_MODULE_COMPRESS_XZ is not set
|
||||
# CONFIG_TRIM_UNUSED_KSYMS is not set
|
||||
CONFIG_MODULES_TREE_LOOKUP=y
|
||||
CONFIG_BLOCK=y
|
||||
|
|
|
@ -750,7 +750,9 @@ CONFIG_MODULE_FORCE_UNLOAD=y
|
|||
CONFIG_MODVERSIONS=y
|
||||
# CONFIG_MODULE_SRCVERSION_ALL is not set
|
||||
# CONFIG_MODULE_SIG is not set
|
||||
# CONFIG_MODULE_COMPRESS is not set
|
||||
CONFIG_MODULE_COMPRESS=y
|
||||
CONFIG_MODULE_COMPRESS_GZIP=y
|
||||
# CONFIG_MODULE_COMPRESS_XZ is not set
|
||||
# CONFIG_TRIM_UNUSED_KSYMS is not set
|
||||
CONFIG_MODULES_TREE_LOOKUP=y
|
||||
CONFIG_BLOCK=y
|
||||
|
|
|
@ -881,7 +881,9 @@ CONFIG_MODULE_UNLOAD=y
|
|||
CONFIG_MODVERSIONS=y
|
||||
CONFIG_MODULE_SRCVERSION_ALL=y
|
||||
# CONFIG_MODULE_SIG is not set
|
||||
# CONFIG_MODULE_COMPRESS is not set
|
||||
CONFIG_MODULE_COMPRESS=y
|
||||
CONFIG_MODULE_COMPRESS_GZIP=y
|
||||
# CONFIG_MODULE_COMPRESS_XZ is not set
|
||||
CONFIG_MODULES_TREE_LOOKUP=y
|
||||
CONFIG_BLOCK=y
|
||||
CONFIG_LBDAF=y
|
||||
|
|
|
@ -872,7 +872,9 @@ CONFIG_MODULE_UNLOAD=y
|
|||
CONFIG_MODVERSIONS=y
|
||||
CONFIG_MODULE_SRCVERSION_ALL=y
|
||||
# CONFIG_MODULE_SIG is not set
|
||||
# CONFIG_MODULE_COMPRESS is not set
|
||||
CONFIG_MODULE_COMPRESS=y
|
||||
CONFIG_MODULE_COMPRESS_GZIP=y
|
||||
# CONFIG_MODULE_COMPRESS_XZ is not set
|
||||
CONFIG_MODULES_TREE_LOOKUP=y
|
||||
CONFIG_BLOCK=y
|
||||
CONFIG_BLK_SCSI_REQUEST=y
|
||||
|
|
|
@ -302,7 +302,9 @@ CONFIG_MODULE_UNLOAD=y
|
|||
CONFIG_MODVERSIONS=y
|
||||
CONFIG_MODULE_SRCVERSION_ALL=y
|
||||
# CONFIG_MODULE_SIG is not set
|
||||
# CONFIG_MODULE_COMPRESS is not set
|
||||
CONFIG_MODULE_COMPRESS=y
|
||||
CONFIG_MODULE_COMPRESS_GZIP=y
|
||||
# CONFIG_MODULE_COMPRESS_XZ is not set
|
||||
CONFIG_MODULES_TREE_LOOKUP=y
|
||||
CONFIG_BLOCK=y
|
||||
CONFIG_LBDAF=y
|
||||
|
|
|
@ -315,7 +315,9 @@ CONFIG_MODULE_UNLOAD=y
|
|||
CONFIG_MODVERSIONS=y
|
||||
CONFIG_MODULE_SRCVERSION_ALL=y
|
||||
# CONFIG_MODULE_SIG is not set
|
||||
# CONFIG_MODULE_COMPRESS is not set
|
||||
CONFIG_MODULE_COMPRESS=y
|
||||
CONFIG_MODULE_COMPRESS_GZIP=y
|
||||
# CONFIG_MODULE_COMPRESS_XZ is not set
|
||||
CONFIG_MODULES_TREE_LOOKUP=y
|
||||
CONFIG_BLOCK=y
|
||||
CONFIG_BLK_DEV_BSG=y
|
||||
|
|
|
@ -322,7 +322,9 @@ CONFIG_MODULE_UNLOAD=y
|
|||
CONFIG_MODVERSIONS=y
|
||||
CONFIG_MODULE_SRCVERSION_ALL=y
|
||||
# CONFIG_MODULE_SIG is not set
|
||||
# CONFIG_MODULE_COMPRESS is not set
|
||||
CONFIG_MODULE_COMPRESS=y
|
||||
CONFIG_MODULE_COMPRESS_GZIP=y
|
||||
# CONFIG_MODULE_COMPRESS_XZ is not set
|
||||
CONFIG_MODULES_TREE_LOOKUP=y
|
||||
CONFIG_BLOCK=y
|
||||
CONFIG_LBDAF=y
|
||||
|
|
|
@ -339,7 +339,9 @@ CONFIG_MODULE_UNLOAD=y
|
|||
CONFIG_MODVERSIONS=y
|
||||
CONFIG_MODULE_SRCVERSION_ALL=y
|
||||
# CONFIG_MODULE_SIG is not set
|
||||
# CONFIG_MODULE_COMPRESS is not set
|
||||
CONFIG_MODULE_COMPRESS=y
|
||||
CONFIG_MODULE_COMPRESS_GZIP=y
|
||||
# CONFIG_MODULE_COMPRESS_XZ is not set
|
||||
CONFIG_MODULES_TREE_LOOKUP=y
|
||||
CONFIG_BLOCK=y
|
||||
CONFIG_BLK_DEV_BSG=y
|
||||
|
|
|
@ -880,7 +880,9 @@ CONFIG_MODULE_FORCE_UNLOAD=y
|
|||
CONFIG_MODVERSIONS=y
|
||||
# CONFIG_MODULE_SRCVERSION_ALL is not set
|
||||
# CONFIG_MODULE_SIG is not set
|
||||
# CONFIG_MODULE_COMPRESS is not set
|
||||
CONFIG_MODULE_COMPRESS=y
|
||||
CONFIG_MODULE_COMPRESS_GZIP=y
|
||||
# CONFIG_MODULE_COMPRESS_XZ is not set
|
||||
# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set
|
||||
# CONFIG_UNUSED_SYMBOLS is not set
|
||||
# CONFIG_TRIM_UNUSED_KSYMS is not set
|
||||
|
|
|
@ -781,7 +781,9 @@ CONFIG_MODVERSIONS=y
|
|||
CONFIG_ASM_MODVERSIONS=y
|
||||
# CONFIG_MODULE_SRCVERSION_ALL is not set
|
||||
# CONFIG_MODULE_SIG is not set
|
||||
# CONFIG_MODULE_COMPRESS is not set
|
||||
CONFIG_MODULE_COMPRESS=y
|
||||
CONFIG_MODULE_COMPRESS_GZIP=y
|
||||
# CONFIG_MODULE_COMPRESS_XZ is not set
|
||||
# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set
|
||||
# CONFIG_UNUSED_SYMBOLS is not set
|
||||
# CONFIG_TRIM_UNUSED_KSYMS is not set
|
||||
|
|
|
@ -850,7 +850,9 @@ CONFIG_MODVERSIONS=y
|
|||
CONFIG_ASM_MODVERSIONS=y
|
||||
CONFIG_MODULE_SRCVERSION_ALL=y
|
||||
# CONFIG_MODULE_SIG is not set
|
||||
# CONFIG_MODULE_COMPRESS is not set
|
||||
CONFIG_MODULE_COMPRESS=y
|
||||
CONFIG_MODULE_COMPRESS_GZIP=y
|
||||
# CONFIG_MODULE_COMPRESS_XZ is not set
|
||||
# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set
|
||||
CONFIG_UNUSED_SYMBOLS=y
|
||||
CONFIG_MODULES_TREE_LOOKUP=y
|
||||
|
|
|
@ -849,7 +849,9 @@ CONFIG_MODVERSIONS=y
|
|||
CONFIG_ASM_MODVERSIONS=y
|
||||
CONFIG_MODULE_SRCVERSION_ALL=y
|
||||
# CONFIG_MODULE_SIG is not set
|
||||
# CONFIG_MODULE_COMPRESS is not set
|
||||
CONFIG_MODULE_COMPRESS=y
|
||||
CONFIG_MODULE_COMPRESS_GZIP=y
|
||||
# CONFIG_MODULE_COMPRESS_XZ is not set
|
||||
# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set
|
||||
CONFIG_UNUSED_SYMBOLS=y
|
||||
CONFIG_MODULES_TREE_LOOKUP=y
|
||||
|
|
9727
gnu/packages/aux-files/linux-libre/5.8-arm.conf
Normal file
9727
gnu/packages/aux-files/linux-libre/5.8-arm.conf
Normal file
File diff suppressed because it is too large
Load diff
9817
gnu/packages/aux-files/linux-libre/5.8-arm64.conf
Normal file
9817
gnu/packages/aux-files/linux-libre/5.8-arm64.conf
Normal file
File diff suppressed because it is too large
Load diff
10631
gnu/packages/aux-files/linux-libre/5.8-i686.conf
Normal file
10631
gnu/packages/aux-files/linux-libre/5.8-i686.conf
Normal file
File diff suppressed because it is too large
Load diff
10609
gnu/packages/aux-files/linux-libre/5.8-x86_64.conf
Normal file
10609
gnu/packages/aux-files/linux-libre/5.8-x86_64.conf
Normal file
File diff suppressed because it is too large
Load diff
|
@ -371,24 +371,84 @@ exec_with_proot (const char *store, int argc, char *argv[])
|
|||
|
||||
#if HAVE_EXEC_WITH_LOADER
|
||||
|
||||
/* Traverse PATH, a NULL-terminated string array, and return a colon-separated
|
||||
search path where each item of PATH has been relocated to STORE. The
|
||||
result is malloc'd. */
|
||||
static char *
|
||||
relocated_search_path (const char *path[], const char *store)
|
||||
{
|
||||
char *new_path;
|
||||
size_t size = 0;
|
||||
|
||||
for (size_t i = 0; path[i] != NULL; i++)
|
||||
size += strlen (store) + strlen (path[i]) + 1; /* upper bound */
|
||||
|
||||
new_path = xmalloc (size + 1);
|
||||
new_path[0] = '\0';
|
||||
|
||||
for (size_t i = 0; path[i] != NULL; i++)
|
||||
{
|
||||
if (strncmp (path[i], original_store,
|
||||
sizeof original_store - 1) == 0)
|
||||
{
|
||||
strcat (new_path, store);
|
||||
strcat (new_path, path[i] + sizeof original_store - 1);
|
||||
}
|
||||
else
|
||||
strcat (new_path, path[i]); /* possibly $ORIGIN */
|
||||
|
||||
strcat (new_path, ":");
|
||||
}
|
||||
|
||||
new_path[strlen (new_path) - 1] = '\0'; /* Remove trailing colon. */
|
||||
|
||||
return new_path;
|
||||
}
|
||||
|
||||
/* Concatenate PATH1 and PATH2 with a colon in between. The result is
|
||||
potentially malloc'd. */
|
||||
static char *
|
||||
concat_paths (const char *path1, const char *path2)
|
||||
{
|
||||
if (path1[0] == '\0')
|
||||
return (char *) path2;
|
||||
else
|
||||
{
|
||||
char *result = xmalloc (strlen (path1) + strlen (path2) + 2);
|
||||
strcpy (result, path1);
|
||||
strcat (result, ":");
|
||||
strcat (result, path2);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
/* Execute the wrapped program by invoking the loader (ld.so) directly,
|
||||
passing it the audit module and preloading libfakechroot.so. */
|
||||
static void
|
||||
exec_with_loader (const char *store, int argc, char *argv[])
|
||||
{
|
||||
static const char *audit_library_path[] = LOADER_AUDIT_RUNPATH;
|
||||
char *loader = concat (store,
|
||||
PROGRAM_INTERPRETER + sizeof original_store);
|
||||
size_t loader_specific_argc = 6;
|
||||
size_t loader_specific_argc = 8;
|
||||
size_t loader_argc = argc + loader_specific_argc;
|
||||
char *loader_argv[loader_argc + 1];
|
||||
loader_argv[0] = argv[0];
|
||||
loader_argv[1] = "--audit";
|
||||
loader_argv[2] = concat (store,
|
||||
LOADER_AUDIT_MODULE + sizeof original_store);
|
||||
loader_argv[3] = "--preload";
|
||||
loader_argv[4] = concat (store,
|
||||
|
||||
/* The audit module depends on libc.so and libgcc_s.so so honor
|
||||
AUDIT_LIBRARY_PATH. Additionally, honor $LD_LIBRARY_PATH if set. */
|
||||
loader_argv[3] = "--library-path";
|
||||
loader_argv[4] =
|
||||
concat_paths (getenv ("LD_LIBRARY_PATH") ?: "",
|
||||
relocated_search_path (audit_library_path, store));
|
||||
|
||||
loader_argv[5] = "--preload";
|
||||
loader_argv[6] = concat (store,
|
||||
FAKECHROOT_LIBRARY + sizeof original_store);
|
||||
loader_argv[5] = concat (store,
|
||||
loader_argv[7] = concat (store,
|
||||
"@WRAPPED_PROGRAM@" + sizeof original_store);
|
||||
|
||||
for (size_t i = 0; i < argc; i++)
|
||||
|
@ -401,10 +461,23 @@ exec_with_loader (const char *store, int argc, char *argv[])
|
|||
char *new_root = mkdtemp (strdup ("/tmp/guix-exec-XXXXXX"));
|
||||
mirror_directory ("/", new_root, make_symlink);
|
||||
|
||||
/* 'mirror_directory' created a symlink for the ancestor of ORIGINAL_STORE,
|
||||
typically "/gnu". Remove that entry so we can create NEW_STORE
|
||||
below. */
|
||||
const char *slash = strchr (original_store + 1, '/');
|
||||
const char *top = slash != NULL
|
||||
? strndupa (original_store, slash - original_store)
|
||||
: original_store;
|
||||
char *new_store_top = concat (new_root, top);
|
||||
unlink (new_store_top);
|
||||
|
||||
/* Now create the store under NEW_ROOT. */
|
||||
char *new_store = concat (new_root, original_store);
|
||||
char *new_store_parent = dirname (strdup (new_store));
|
||||
mkdir_p (new_store_parent);
|
||||
symlink (store, new_store);
|
||||
err = symlink (store, new_store);
|
||||
if (err < 0)
|
||||
assert_perror (errno);
|
||||
|
||||
#ifdef GCONV_DIRECTORY
|
||||
/* Tell libc where to find its gconv modules. This is necessary because
|
||||
|
|
|
@ -63,6 +63,7 @@
|
|||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages mcrypt)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages nettle)
|
||||
#:use-module (gnu packages onc-rpc)
|
||||
#:use-module (gnu packages pcre)
|
||||
|
@ -81,7 +82,7 @@
|
|||
(define-public duplicity
|
||||
(package
|
||||
(name "duplicity")
|
||||
(version "0.8.14")
|
||||
(version "0.8.15")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -90,7 +91,7 @@
|
|||
"-series/" version "/+download/duplicity-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1af7rppsd8kj66xhbc04x1di3rpncrz0prxq1z7npg11c769vb1x"))))
|
||||
(base32 "1kg467mxg5a97v1rlv4shk32krgv8ys4nczq4b11av4bp1lgysdc"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
`(("gettext" ,gnu-gettext) ; for msgfmt
|
||||
|
@ -409,15 +410,14 @@ errors.")
|
|||
(define-public rdiff-backup
|
||||
(package
|
||||
(name "rdiff-backup")
|
||||
(version "2.0.3")
|
||||
(version "2.0.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/rdiff-backup/rdiff-backup/releases/"
|
||||
"download/v" version "/rdiff-backup-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1qfmvwwb942srhg6gw77ncy4z5z54b4wfz8bpd5bpml8hp1d5qh4"))))
|
||||
(base32 "11rvjcp77zwgkphz1kyf5yqgr3rlss7dm9xzmvpvc4lp99xq7drb"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
`(("python-setuptools-scm" ,python-setuptools-scm)))
|
||||
|
@ -1072,7 +1072,7 @@ interractive mode.")
|
|||
(define-public burp
|
||||
(package
|
||||
(name "burp")
|
||||
(version "2.3.30")
|
||||
(version "2.3.32")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -1080,7 +1080,7 @@ interractive mode.")
|
|||
(url "https://github.com/grke/burp")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32 "1f9i5d415psbr03fqd47p162qy25sypra1w8w16ym6jk1pvdjsgx"))
|
||||
(base32 "0cxxf9ni34c9662ffmr2qc8xmh4g9pmg3swqvhn49mqgr5ra6k2g"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
@ -1096,6 +1096,7 @@ interractive mode.")
|
|||
(inputs
|
||||
`(("acl" ,acl)
|
||||
("librsync" ,librsync)
|
||||
("ncurses" ,ncurses) ; for the live status monitor
|
||||
("openssl" ,openssl)
|
||||
("uthash" ,uthash)
|
||||
("zlib" ,zlib)))
|
||||
|
|
|
@ -599,7 +599,7 @@ included.")
|
|||
(native-inputs
|
||||
`(("bc" ,bc)))
|
||||
(inputs
|
||||
`(("gcc:lib" ,gcc "lib")))))
|
||||
`(("gcc:lib" ,(canonical-package gcc) "lib")))))
|
||||
|
||||
(define* (make-ld-wrapper name #:key
|
||||
(target (const #f))
|
||||
|
@ -1014,118 +1014,6 @@ with the Linux kernel.")
|
|||
"glibc-CVE-2018-11237.patch"))))
|
||||
(properties `((lint-hidden-cve . ("CVE-2017-18269")))))) ; glibc-2.27-git-fixes
|
||||
|
||||
(define-public glibc-2.26
|
||||
(package
|
||||
(inherit glibc)
|
||||
;; This version number corresponds to the output of `git describe` and the
|
||||
;; archive can be generated by checking out the commit ID and running:
|
||||
;; git archive --prefix=$(git describe)/ HEAD | xz > $(git describe).tar.xz
|
||||
;; See <https://bugs.gnu.org/29406> for why this was necessary.
|
||||
(version "2.26.105-g0890d5379c")
|
||||
(source (origin
|
||||
(inherit (package-source glibc))
|
||||
(uri (string-append "https://alpha.gnu.org/gnu/guix/mirror/"
|
||||
"glibc-" (version-major+minor version) "-"
|
||||
(caddr (string-split version #\.)) ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1jck0c1i248sn02rvsfjykk77qncma34bjq89dyy2irwm50d7s3g"))
|
||||
(patches (search-patches "glibc-ldd-x86_64.patch"
|
||||
"glibc-versioned-locpath.patch"
|
||||
"glibc-allow-kernel-2.6.32.patch"))))))
|
||||
|
||||
(define-public glibc-2.25
|
||||
(package
|
||||
(inherit glibc)
|
||||
(version "2.25")
|
||||
(source (origin
|
||||
(inherit (package-source glibc))
|
||||
(uri (string-append "mirror://gnu/glibc/glibc-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1813dzkgw6v8q8q1m4v96yfis7vjqc9pslqib6j9mrwh6fxxjyq6"))
|
||||
(patches (search-patches "glibc-ldd-x86_64.patch"
|
||||
"glibc-versioned-locpath.patch"
|
||||
"glibc-vectorized-strcspn-guards.patch"
|
||||
"glibc-CVE-2017-1000366-pt1.patch"
|
||||
"glibc-CVE-2017-1000366-pt2.patch"
|
||||
"glibc-CVE-2017-1000366-pt3.patch"))))))
|
||||
|
||||
(define-public glibc-2.24
|
||||
(package
|
||||
(inherit glibc)
|
||||
(version "2.24")
|
||||
(source (origin
|
||||
(inherit (package-source glibc))
|
||||
(uri (string-append "mirror://gnu/glibc/glibc-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1lxmprg9gm73gvafxd503x70z32phwjzcy74i0adfi6ixzla7m4r"))
|
||||
(patches (search-patches "glibc-ldd-x86_64.patch"
|
||||
"glibc-versioned-locpath.patch"
|
||||
"glibc-vectorized-strcspn-guards.patch"
|
||||
"glibc-CVE-2015-5180.patch"
|
||||
"glibc-CVE-2017-1000366-pt1.patch"
|
||||
"glibc-CVE-2017-1000366-pt2.patch"
|
||||
"glibc-CVE-2017-1000366-pt3.patch"))))))
|
||||
|
||||
(define-public glibc-2.23
|
||||
(package
|
||||
(inherit glibc)
|
||||
(version "2.23")
|
||||
(source (origin
|
||||
(inherit (package-source glibc))
|
||||
(uri (string-append "mirror://gnu/glibc/glibc-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1s8krs3y2n6pzav7ic59dz41alqalphv7vww4138ag30wh0fpvwl"))
|
||||
(patches (search-patches "glibc-ldd-x86_64.patch"
|
||||
"glibc-versioned-locpath.patch"
|
||||
"glibc-vectorized-strcspn-guards.patch"
|
||||
"glibc-CVE-2015-5180.patch"
|
||||
"glibc-CVE-2016-3075.patch"
|
||||
"glibc-CVE-2016-3706.patch"
|
||||
"glibc-CVE-2016-4429.patch"
|
||||
"glibc-CVE-2017-1000366-pt1.patch"
|
||||
"glibc-CVE-2017-1000366-pt2.patch"
|
||||
"glibc-CVE-2017-1000366-pt3.patch"))))))
|
||||
|
||||
(define-public glibc-2.22
|
||||
(package
|
||||
(inherit glibc)
|
||||
(version "2.22")
|
||||
(source (origin
|
||||
(inherit (package-source glibc))
|
||||
(uri (string-append "mirror://gnu/glibc/glibc-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0j49682pm2nh4qbdw35bas82p1pgfnz4d2l7iwfyzvrvj0318wzb"))
|
||||
(patches (search-patches "glibc-ldd-x86_64.patch"
|
||||
"glibc-o-largefile.patch"
|
||||
"glibc-vectorized-strcspn-guards.patch"
|
||||
"glibc-CVE-2015-5180.patch"
|
||||
"glibc-CVE-2015-7547.patch"
|
||||
"glibc-CVE-2016-3075.patch"
|
||||
"glibc-CVE-2016-3706.patch"
|
||||
"glibc-CVE-2016-4429.patch"
|
||||
"glibc-CVE-2017-1000366-pt1.patch"
|
||||
"glibc-CVE-2017-1000366-pt2.patch"
|
||||
"glibc-CVE-2017-1000366-pt3.patch"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments glibc)
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(add-before 'configure 'fix-pwd
|
||||
(lambda _
|
||||
;; Use `pwd' instead of `/bin/pwd' for glibc-2.22.
|
||||
(substitute* "configure"
|
||||
(("/bin/pwd") "pwd"))
|
||||
#t))))))))
|
||||
|
||||
(define-public (make-gcc-libc base-gcc libc)
|
||||
"Return a GCC that targets LIBC."
|
||||
(package (inherit base-gcc)
|
||||
|
|
|
@ -46,14 +46,14 @@
|
|||
(define-public fio
|
||||
(package
|
||||
(name "fio")
|
||||
(version "3.21")
|
||||
(version "3.22")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://brick.kernel.dk/snaps/"
|
||||
"fio-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0np1scxqfpd6fcnnnfyn8xdsh6lc5pyq3vk1jm1zk7sa58fvccd4"))))
|
||||
"0f2x917600y6k0xs34ixgfjm4v1ylbh8svpkqi07xy3474g5s2rv"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:test-target "test"
|
||||
|
|
|
@ -798,14 +798,14 @@ closely reconstructs the mutational profile.")
|
|||
(define-public r-nmf
|
||||
(package
|
||||
(name "r-nmf")
|
||||
(version "0.22.0")
|
||||
(version "0.23.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "NMF" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0b2ls3x1nkrnam45hagpys624nzxj3v7kxnp0q216yakvx5h57cq"))))
|
||||
"0ls7q9yc9l1z10jphq5a11wkfgcxc3gm3sfjj376zx3vnc0wl30g"))))
|
||||
(properties `((upstream-name . "NMF")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -826,6 +826,8 @@ closely reconstructs the mutational profile.")
|
|||
("r-reshape2" ,r-reshape2)
|
||||
("r-rngtools" ,r-rngtools)
|
||||
("r-stringr" ,r-stringr)))
|
||||
(native-inputs
|
||||
`(("r-knitr" ,r-knitr)))
|
||||
(home-page "http://renozao.github.io/NMF")
|
||||
(synopsis "Algorithms and framework for nonnegative matrix factorization")
|
||||
(description
|
||||
|
@ -1502,14 +1504,14 @@ browser.")
|
|||
(define-public r-oligoclasses
|
||||
(package
|
||||
(name "r-oligoclasses")
|
||||
(version "1.50.0")
|
||||
(version "1.50.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "oligoClasses" version))
|
||||
(sha256
|
||||
(base32
|
||||
"05jy9qz3ir4maxackr1xqlfi1czhy1qd22wwibjdhfh5dp534cpn"))))
|
||||
"1d8c3i8v8kcm1afgpz6zc1iysip7993y8456cqxl37f7n6n0ax67"))))
|
||||
(properties `((upstream-name . "oligoClasses")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -1537,14 +1539,14 @@ packages.")
|
|||
(define-public r-oligo
|
||||
(package
|
||||
(name "r-oligo")
|
||||
(version "1.52.0")
|
||||
(version "1.52.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "oligo" version))
|
||||
(sha256
|
||||
(base32
|
||||
"102szyiicws4c6l3k282236ml1m1vl9zmars4q1kdjfnvsyclfc4"))))
|
||||
"1gpvr33pwzz1glzajcipvjcplb7yxvjj00q0ybqcc3wa47bhfkwd"))))
|
||||
(properties `((upstream-name . "oligo")))
|
||||
(build-system r-build-system)
|
||||
(inputs `(("zlib" ,zlib)))
|
||||
|
@ -1791,14 +1793,14 @@ determining dependencies between variables, code improvement suggestions.")
|
|||
(define-public r-chippeakanno
|
||||
(package
|
||||
(name "r-chippeakanno")
|
||||
(version "3.22.2")
|
||||
(version "3.22.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "ChIPpeakAnno" version))
|
||||
(sha256
|
||||
(base32
|
||||
"199mlg0gwjy39afyk0ah6lzcm759bzxla4hgcajj0ay9jiibjqpa"))))
|
||||
"0q3f55hh0a2hl96272js6gagmgps9cxs8s13pf6fii64rzaz5m7y"))))
|
||||
(properties `((upstream-name . "ChIPpeakAnno")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -3450,14 +3452,14 @@ surface of a flowcell.")
|
|||
(define-public r-gkmsvm
|
||||
(package
|
||||
(name "r-gkmsvm")
|
||||
(version "0.80.0")
|
||||
(version "0.81.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "gkmSVM" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0ljcga246ad0ql8x3drvrdsyp0f20mgp3p6lnl79xb76qgfdnm0p"))))
|
||||
"119g5rhc7ffyviz04r04aj5z1g6abnj3ddd01g7db505sdr6lapj"))))
|
||||
(properties `((upstream-name . "gkmSVM")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -3622,14 +3624,14 @@ information about samples and features can be added to the plot.")
|
|||
(define-public r-gosemsim
|
||||
(package
|
||||
(name "r-gosemsim")
|
||||
(version "2.14.0")
|
||||
(version "2.14.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "GOSemSim" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0mg4d8whq90iyl2jjj5dx3kyar17yqn00jvia3b4a8lhmjw8l1hk"))))
|
||||
"0v4q9xr1cm5xr08pgbzrss41kh3yz7xyh31n55l0sjmr1629ykln"))))
|
||||
(properties `((upstream-name . "GOSemSim")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -3810,14 +3812,14 @@ All the visualization methods are developed based on ggplot2 graphics.")
|
|||
(define-public r-clusterprofiler
|
||||
(package
|
||||
(name "r-clusterprofiler")
|
||||
(version "3.16.0")
|
||||
(version "3.16.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "clusterProfiler" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0m7919gzrd2fddb4kcznwpshhab1ha2yppnkxg11zmh40wcdawyi"))))
|
||||
"11zsgb8wbdv8r4c04iczz4aala4yw4ai7rz8igdzz87c0940nxkb"))))
|
||||
(properties
|
||||
`((upstream-name . "clusterProfiler")))
|
||||
(build-system r-build-system)
|
||||
|
@ -3832,6 +3834,7 @@ All the visualization methods are developed based on ggplot2 graphics.")
|
|||
("r-magrittr" ,r-magrittr)
|
||||
("r-plyr" ,r-plyr)
|
||||
("r-qvalue" ,r-qvalue)
|
||||
("r-rlang" ,r-rlang)
|
||||
("r-rvcheck" ,r-rvcheck)
|
||||
("r-tidyr" ,r-tidyr)))
|
||||
(native-inputs
|
||||
|
@ -4087,7 +4090,8 @@ Affymetrix arrays.")
|
|||
(properties `((upstream-name . "abseqR")))
|
||||
(build-system r-build-system)
|
||||
(inputs
|
||||
`(("pandoc" ,ghc-pandoc)))
|
||||
`(("pandoc" ,pandoc)
|
||||
("pandoc-citeproc" ,pandoc-citeproc)))
|
||||
(propagated-inputs
|
||||
`(("r-biocparallel" ,r-biocparallel)
|
||||
("r-biocstyle" ,r-biocstyle)
|
||||
|
@ -4287,14 +4291,14 @@ Bioconductor.")
|
|||
(define-public r-motifstack
|
||||
(package
|
||||
(name "r-motifstack")
|
||||
(version "1.32.0")
|
||||
(version "1.32.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "motifStack" version))
|
||||
(sha256
|
||||
(base32
|
||||
"008f2mjcyyiz84ilrsldpqwvxy2lp93hjggrq4nrqwi78nyx3ls5"))))
|
||||
"02vmkgn36n5xpmizy33znlzgmi3w5hnhsibgisbnhwwgxpkrwpcd"))))
|
||||
(properties `((upstream-name . "motifStack")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -4356,14 +4360,14 @@ position-specific scores within R and Bioconductor.")
|
|||
(define-public r-atacseqqc
|
||||
(package
|
||||
(name "r-atacseqqc")
|
||||
(version "1.12.3")
|
||||
(version "1.12.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "ATACseqQC" version))
|
||||
(sha256
|
||||
(base32
|
||||
"12710c4024pndwwqiiqr6dhrd360z26fc8r3fxhs739gyd0ddk9r"))))
|
||||
"1gs9862hhh4gr1akij6ykhcj29s9dzg1vnj87hqrm19dfgl43qbh"))))
|
||||
(properties `((upstream-name . "ATACseqQC")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -5236,14 +5240,14 @@ This algorithm is based on the publication by Hart et al., 2013 (Pubmed ID
|
|||
(define-public r-rbowtie2
|
||||
(package
|
||||
(name "r-rbowtie2")
|
||||
(version "1.10.0")
|
||||
(version "1.10.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "Rbowtie2" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1z2dn0q3wcw8b9ibx388kh7p5km16i71sw9miqj3daw7g0v5bxp3"))))
|
||||
"19v7wfvrd53j618c1xbiqnlsf2kxw697myryx0vb9s2aspknyzz7"))))
|
||||
(properties `((upstream-name . "Rbowtie2")))
|
||||
(build-system r-build-system)
|
||||
(inputs
|
||||
|
@ -5314,14 +5318,14 @@ Infinium HumanMethylation 450k assay.")
|
|||
(define-public r-biocfilecache
|
||||
(package
|
||||
(name "r-biocfilecache")
|
||||
(version "1.12.0")
|
||||
(version "1.12.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "BiocFileCache" version))
|
||||
(sha256
|
||||
(base32
|
||||
"02chrzwccmazi7rdfpyriizhbgxyxlmprlw32w05wk54as6wrxv8"))))
|
||||
"02yayjyliaqxcwqa0n2ccmsfflskqzf0gvdibh2r3nz5bi66imkf"))))
|
||||
(properties `((upstream-name . "BiocFileCache")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -5376,14 +5380,14 @@ Gaussian distributions.")
|
|||
(define-public r-rbowtie
|
||||
(package
|
||||
(name "r-rbowtie")
|
||||
(version "1.28.0")
|
||||
(version "1.28.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "Rbowtie" version))
|
||||
(sha256
|
||||
(base32
|
||||
"06y1qp915dlwjdi2fs3344sgya55pcv07f3i61y0cxb0bhbcgvrz"))))
|
||||
"0589ggbfx6di42wvqyhnzgrhmb52swr3r5z22w6b8x0z2y7hl8b3"))))
|
||||
(properties `((upstream-name . "Rbowtie")))
|
||||
(build-system r-build-system)
|
||||
(inputs
|
||||
|
@ -5781,14 +5785,14 @@ annotations.")
|
|||
(define-public r-rsubread
|
||||
(package
|
||||
(name "r-rsubread")
|
||||
(version "2.2.4")
|
||||
(version "2.2.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "Rsubread" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0yznfqgp5cbz68n3rrfvm752267da16kl538zdrb1g1aw9zdfqc6"))))
|
||||
"04h79qhq93d8id0rr5xnj9vf82ygwxzdlnck78yv738xd0jjvnpm"))))
|
||||
(properties `((upstream-name . "Rsubread")))
|
||||
(build-system r-build-system)
|
||||
(inputs `(("zlib" ,zlib)))
|
||||
|
@ -6330,14 +6334,14 @@ self-organizing map clustering and minimal spanning trees.")
|
|||
(define-public r-mixomics
|
||||
(package
|
||||
(name "r-mixomics")
|
||||
(version "6.12.1")
|
||||
(version "6.12.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "mixOmics" version))
|
||||
(sha256
|
||||
(base32
|
||||
"13kq9l5xwhwp30y5gfqfh5f11n63vn8rk195mb2y2mww4cwi6lv4"))))
|
||||
"1nkqlvm9j1f4vfj3f3kyxqgan38rpa9imimvl9pwivvsfl647vvc"))))
|
||||
(properties `((upstream-name . "mixOmics")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -6456,14 +6460,14 @@ genes in the gene-set that are ranked above the leading edge).")
|
|||
(define-public r-cicero
|
||||
(package
|
||||
(name "r-cicero")
|
||||
(version "1.6.1")
|
||||
(version "1.6.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "cicero" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0nf9yqg5krj26n4n82iyx3rsr84d46b17i9zfk35sh12l4xssbii"))))
|
||||
"042ba6yfa7fksij2v7cwnp2sca3vmz7izn6fsxx9xswnncrkgcqh"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-assertthat" ,r-assertthat)
|
||||
|
@ -7048,14 +7052,14 @@ arrays based on fast wavelet-based functional models.")
|
|||
(define-public r-variancepartition
|
||||
(package
|
||||
(name "r-variancepartition")
|
||||
(version "1.18.2")
|
||||
(version "1.18.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "variancePartition" version))
|
||||
(sha256
|
||||
(base32
|
||||
"19bhkb8vd44m3nkznw075fx3y2p3a1bsazbhcfiqw9n4190k9bgv"))))
|
||||
"1jrlhi2c5ibvq8a41g5hwdq4kk4rdd7m464rz5767zaaci7l2ay0"))))
|
||||
(properties
|
||||
`((upstream-name . "variancePartition")))
|
||||
(build-system r-build-system)
|
||||
|
@ -7762,14 +7766,14 @@ different graph related packages produced by Bioconductor.")
|
|||
(define-public r-experimenthub
|
||||
(package
|
||||
(name "r-experimenthub")
|
||||
(version "1.14.0")
|
||||
(version "1.14.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "ExperimentHub" version))
|
||||
(sha256
|
||||
(base32
|
||||
"18d6kjfavy5b769gpkblihdkz2nz2hsgyjki8mp1sywi0ik08ncd"))))
|
||||
"1kgvprchz1fg8pl1irj62mk2gyb4jcc9iimpypv4c2iccy5bp84x"))))
|
||||
(properties `((upstream-name . "ExperimentHub")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -7955,14 +7959,14 @@ analytics on packages.")
|
|||
(define-public r-biocset
|
||||
(package
|
||||
(name "r-biocset")
|
||||
(version "1.2.1")
|
||||
(version "1.2.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "BiocSet" version))
|
||||
(sha256
|
||||
(base32
|
||||
"14dmkc878lskbm001kgjyqmrwnn6s032z4h64f617f1xd9zx9wrj"))))
|
||||
"041hq3rp0kv7kjwcjjrksk8lw3sj6j1v3wdcr8z611k0g0z6p0cj"))))
|
||||
(properties `((upstream-name . "BiocSet")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -8116,3 +8120,36 @@ dimensional mass cytometry data.")
|
|||
Tool) analysis automatic by constructing a HTTP POST request according to
|
||||
user's input and automatically retrieving results from GREAT web server.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public r-m3c
|
||||
(package
|
||||
(name "r-m3c")
|
||||
(version "1.10.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "M3C" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0zq8lm4280p8h65i7myscwa4srs5ajh944xv6zni2f5sjyp7ij2y"))))
|
||||
(properties `((upstream-name . "M3C")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-cluster" ,r-cluster)
|
||||
("r-corpcor" ,r-corpcor)
|
||||
("r-doparallel" ,r-doparallel)
|
||||
("r-dosnow" ,r-dosnow)
|
||||
("r-foreach" ,r-foreach)
|
||||
("r-ggplot2" ,r-ggplot2)
|
||||
("r-matrix" ,r-matrix)
|
||||
("r-matrixcalc" ,r-matrixcalc)
|
||||
("r-rtsne" ,r-rtsne)
|
||||
("r-umap" ,r-umap)))
|
||||
(native-inputs `(("r-knitr" ,r-knitr)))
|
||||
(home-page "https://bioconductor.org/packages/M3C")
|
||||
(synopsis "Monte Carlo reference-based consensus clustering")
|
||||
(description
|
||||
"M3C is a consensus clustering algorithm that uses a Monte Carlo
|
||||
simulation to eliminate overestimation of @code{K} and can reject the null
|
||||
hypothesis @code{K=1}.")
|
||||
(license license:agpl3+)))
|
||||
|
|
|
@ -1646,7 +1646,8 @@ gapped, local, and paired-end alignment modes.")
|
|||
(modify-phases %standard-phases
|
||||
(delete 'configure))))
|
||||
(inputs
|
||||
`(("tbb" ,tbb)
|
||||
`(("python-wrapper" ,python-wrapper)
|
||||
("tbb" ,tbb)
|
||||
("zlib" ,zlib)))
|
||||
(supported-systems '("x86_64-linux"))
|
||||
(home-page "http://bowtie-bio.sourceforge.net/index.shtml")
|
||||
|
@ -1683,6 +1684,17 @@ genome (2.9 GB for paired-end).")
|
|||
'(#:parallel-build? #f ; not supported
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'set-paths 'hide-default-gcc
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((gcc (assoc-ref inputs "gcc")))
|
||||
;; Remove the default GCC from CPLUS_INCLUDE_PATH to prevent
|
||||
;; conflicts with the GCC 5 input.
|
||||
(setenv "CPLUS_INCLUDE_PATH"
|
||||
(string-join
|
||||
(delete (string-append gcc "/include/c++")
|
||||
(string-split (getenv "CPLUS_INCLUDE_PATH") #\:))
|
||||
":"))
|
||||
#t)))
|
||||
(add-after 'unpack 'use-system-samtools
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "src/Makefile.in"
|
||||
|
@ -1705,7 +1717,7 @@ genome (2.9 GB for paired-end).")
|
|||
(("#include <sam.h>") "#include <samtools/sam.h>"))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("gcc" ,gcc-5))) ;; doesn't build with later versions
|
||||
`(("gcc@5" ,gcc-5))) ;; doesn't build with later versions
|
||||
(inputs
|
||||
`(("boost" ,boost)
|
||||
("bowtie" ,bowtie)
|
||||
|
@ -2149,7 +2161,7 @@ databases.")
|
|||
(define-public clipper
|
||||
(package
|
||||
(name "clipper")
|
||||
(version "1.2.1")
|
||||
(version "2.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -2158,40 +2170,34 @@ databases.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0fja1rj84wp9vpj8rxpj3n8zqzcqq454m904yp9as1w4phccirjb"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; remove unnecessary setup dependency
|
||||
(substitute* "setup.py"
|
||||
(("setup_requires = .*") ""))
|
||||
#t))))
|
||||
"1bcag4lb5bkzsj2vg7lrq24aw6yfgq275ifrbhd82l7kqgbbjbkv"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:python ,python-2 ; only Python 2 is supported
|
||||
#:phases
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; This is fixed in upstream commit
|
||||
;; f6c2990198f906bf97730d95695b4bd5a6d01ddb.
|
||||
(add-after 'unpack 'fix-typo
|
||||
(lambda _
|
||||
(substitute* "clipper/src/readsToWiggle.pyx"
|
||||
(("^sc.*") ""))
|
||||
#t)))))
|
||||
(add-before 'reset-gzip-timestamps 'make-files-writable
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; Make sure .gz files are writable so that the
|
||||
;; 'reset-gzip-timestamps' phase can do its work.
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(for-each make-file-writable
|
||||
(find-files out "\\.gz$"))
|
||||
#t))))))
|
||||
(inputs
|
||||
`(("htseq" ,python2-htseq)
|
||||
("python-pybedtools" ,python2-pybedtools)
|
||||
("python-cython" ,python2-cython)
|
||||
("python-scikit-learn" ,python2-scikit-learn)
|
||||
("python-matplotlib" ,python2-matplotlib)
|
||||
("python-pandas" ,python2-pandas)
|
||||
("python-pysam" ,python2-pysam)
|
||||
("python-numpy" ,python2-numpy)
|
||||
("python-scipy" ,python2-scipy)))
|
||||
`(("htseq" ,htseq)
|
||||
("python-pybedtools" ,python-pybedtools)
|
||||
("python-cython" ,python-cython)
|
||||
("python-scikit-learn" ,python-scikit-learn)
|
||||
("python-matplotlib" ,python-matplotlib)
|
||||
("python-pandas" ,python-pandas)
|
||||
("python-pysam" ,python-pysam)
|
||||
("python-numpy" ,python-numpy)
|
||||
("python-scipy" ,python-scipy)))
|
||||
(native-inputs
|
||||
`(("python-mock" ,python2-mock) ; for tests
|
||||
("python-nose" ,python2-nose) ; for tests
|
||||
("python-pytz" ,python2-pytz))) ; for tests
|
||||
`(("python-setuptools-git" ,python-setuptools-git)
|
||||
("python-mock" ,python-mock) ; for tests
|
||||
("python-nose" ,python-nose) ; for tests
|
||||
("python-pytz" ,python-pytz))) ; for tests
|
||||
(home-page "https://github.com/YeoLab/clipper")
|
||||
(synopsis "CLIP peak enrichment recognition")
|
||||
(description
|
||||
|
@ -2614,7 +2620,7 @@ with Python.")
|
|||
(define-public delly
|
||||
(package
|
||||
(name "delly")
|
||||
(version "0.7.9")
|
||||
(version "0.8.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -2622,7 +2628,7 @@ with Python.")
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "034jqsxswy9gqdh2zkgc1js99qkv75ks4xvzgmh0284sraagv61z"))
|
||||
(base32 "1ibnplgfzj96w8glkx17v7sld3pm402fr5ybmf3h0rlcryabxrqy"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
@ -2646,9 +2652,9 @@ with Python.")
|
|||
#t))))))
|
||||
(inputs
|
||||
`(("boost" ,boost)
|
||||
("bzip2" ,bzip2)
|
||||
("htslib" ,htslib)
|
||||
("zlib" ,zlib)
|
||||
("bzip2" ,bzip2)))
|
||||
("zlib" ,zlib)))
|
||||
(home-page "https://github.com/dellytools/delly")
|
||||
(synopsis "Integrated structural variant prediction method")
|
||||
(description "Delly is an integrated structural variant prediction method
|
||||
|
@ -3612,7 +3618,7 @@ particular, reads spanning multiple exons.")
|
|||
(native-inputs
|
||||
`(("unzip" ,unzip) ; needed for archive from ftp
|
||||
("perl" ,perl)
|
||||
("pandoc" ,ghc-pandoc))) ; for documentation
|
||||
("pandoc" ,pandoc))) ; for documentation
|
||||
(home-page "https://ccb.jhu.edu/software/hisat2/index.shtml")
|
||||
(synopsis "Graph-based alignment of genomic sequencing reads")
|
||||
(description "HISAT2 is a fast and sensitive alignment program for mapping
|
||||
|
@ -7505,13 +7511,13 @@ BLAST, KEGG, GenBank, MEDLINE and GO.")
|
|||
(define-public r-biocviews
|
||||
(package
|
||||
(name "r-biocviews")
|
||||
(version "1.56.1")
|
||||
(version "1.56.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "biocViews" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0zcx8gha3x3jc0ra6ii6wwq2vfsmffrrnilknbq8h5xjrl55m6ci"))))
|
||||
"0kw0qfm1fw5yv2rbz6x23431rh0fnzj66f2bls7j285biyjmmx7w"))))
|
||||
(properties
|
||||
`((upstream-name . "biocViews")))
|
||||
(build-system r-build-system)
|
||||
|
@ -7894,13 +7900,13 @@ on Bioconductor or which replace R functions.")
|
|||
(define-public r-annotationdbi
|
||||
(package
|
||||
(name "r-annotationdbi")
|
||||
(version "1.50.1")
|
||||
(version "1.50.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "AnnotationDbi" version))
|
||||
(sha256
|
||||
(base32
|
||||
"00pd8lsdppxlmx0l65phw0jhsm0qkwjc4wsdxpvgc31iiz9yslbj"))))
|
||||
"0qcxfn4pvaksna0nvxr74ysn2wzaxn732pkhd6ffrj8pwhkhy5p3"))))
|
||||
(properties
|
||||
`((upstream-name . "AnnotationDbi")))
|
||||
(build-system r-build-system)
|
||||
|
@ -8059,13 +8065,13 @@ tab-delimited (tabix) files.")
|
|||
(define-public r-delayedarray
|
||||
(package
|
||||
(name "r-delayedarray")
|
||||
(version "0.14.0")
|
||||
(version "0.14.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "DelayedArray" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1lz7a0rrlfv3w44n073mk8pw39z7lfs0njdxp5vpp0rdsmvdf1qk"))))
|
||||
"0xi0i621hrl7k9rsc8x8nc3ib74sk8hxhbyr2lxqclw45pk95s7v"))))
|
||||
(properties
|
||||
`((upstream-name . "DelayedArray")))
|
||||
(build-system r-build-system)
|
||||
|
@ -8699,7 +8705,7 @@ paired-end data.")
|
|||
("r-rtracklayer" ,r-rtracklayer)
|
||||
("r-rmarkdown" ,r-rmarkdown)
|
||||
("r-s4vectors" ,r-s4vectors)
|
||||
("pandoc" ,ghc-pandoc)))
|
||||
("pandoc" ,pandoc)))
|
||||
(native-inputs
|
||||
`(("r-knitr" ,r-knitr)))
|
||||
(synopsis "RNA-centric annotation system")
|
||||
|
@ -9831,13 +9837,13 @@ and irregular enzymatic cleavages, mass measurement accuracy, etc.")
|
|||
(define-public r-seurat
|
||||
(package
|
||||
(name "r-seurat")
|
||||
(version "3.1.5")
|
||||
(version "3.2.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "Seurat" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1lbq2pqhb6ih6iqawlnzdh05zff71pwbw1cpfv2sld3pd7kz0zkm"))))
|
||||
"1vj3dlsqakgnn4x1jz9fkl2cy0jzc5s65h1c20fnamr7lk45pnf2"))))
|
||||
(properties `((upstream-name . "Seurat")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -9854,11 +9860,13 @@ and irregular enzymatic cleavages, mass measurement accuracy, etc.")
|
|||
("r-ica" ,r-ica)
|
||||
("r-igraph" ,r-igraph)
|
||||
("r-irlba" ,r-irlba)
|
||||
("r-jsonlite" ,r-jsonlite)
|
||||
("r-kernsmooth" ,r-kernsmooth)
|
||||
("r-leiden" ,r-leiden)
|
||||
("r-lmtest" ,r-lmtest)
|
||||
("r-mass" ,r-mass)
|
||||
("r-matrix" ,r-matrix)
|
||||
("r-miniui" ,r-miniui)
|
||||
("r-patchwork" ,r-patchwork)
|
||||
("r-pbapply" ,r-pbapply)
|
||||
("r-plotly" ,r-plotly)
|
||||
|
@ -9876,7 +9884,9 @@ and irregular enzymatic cleavages, mass measurement accuracy, etc.")
|
|||
("r-rtsne" ,r-rtsne)
|
||||
("r-scales" ,r-scales)
|
||||
("r-sctransform" ,r-sctransform)
|
||||
("r-tsne" ,r-tsne)
|
||||
("r-shiny" ,r-shiny)
|
||||
("r-spatstat" ,r-spatstat)
|
||||
("r-tibble" ,r-tibble)
|
||||
("r-uwot" ,r-uwot)))
|
||||
(home-page "http://www.satijalab.org/seurat")
|
||||
(synopsis "Seurat is an R toolkit for single cell genomics")
|
||||
|
@ -10018,14 +10028,14 @@ Shiny-based display methods for Bioconductor objects.")
|
|||
(define-public r-annotationhub
|
||||
(package
|
||||
(name "r-annotationhub")
|
||||
(version "2.20.0")
|
||||
(version "2.20.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "AnnotationHub" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0r4xzf93bm9cpys5cg70wg0b8hxli80hvqwgh4hzbd45yyf5c4wz"))))
|
||||
"04bz91m2wx1zm61rvpr0syyklz232fw74wrl73d965wi3x8fyda5"))))
|
||||
(properties `((upstream-name . "AnnotationHub")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -10115,17 +10125,18 @@ microarrays or GRanges for sequencing data.")
|
|||
(define-public r-gage
|
||||
(package
|
||||
(name "r-gage")
|
||||
(version "2.37.0")
|
||||
(version "2.38.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "gage" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1zfaas4x6g7wiml6cmxa7b4f43az9s0lrw80k6sf7c96hsh1jijr"))))
|
||||
"1bqmvjiya1df0b3h491lp1jxahiyidvaf9n094z0sk84x5y3xh2p"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-annotationdbi" ,r-annotationdbi)
|
||||
("r-go-db" ,r-go-db)
|
||||
("r-graph" ,r-graph)
|
||||
("r-keggrest" ,r-keggrest)))
|
||||
(home-page (string-append "https://bmcbioinformatics.biomedcentral.com/"
|
||||
|
@ -10178,14 +10189,14 @@ provide added flexibility for data combination and manipulation.")
|
|||
(define-public r-complexheatmap
|
||||
(package
|
||||
(name "r-complexheatmap")
|
||||
(version "2.4.2")
|
||||
(version "2.4.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "ComplexHeatmap" version))
|
||||
(sha256
|
||||
(base32
|
||||
"01jxxwxhf9n8baxgja4rb592p5210s4ppd7a5b4xby5aalhzkr0l"))))
|
||||
"1gx0hzrkla92pgmfkrm2zp0ccnhizq6rs26zgzpi5x8a5lvghh5q"))))
|
||||
(properties
|
||||
`((upstream-name . "ComplexHeatmap")))
|
||||
(build-system r-build-system)
|
||||
|
@ -11862,6 +11873,9 @@ straight away. Its main features are:
|
|||
(snippet
|
||||
'(begin
|
||||
(for-each delete-file (find-files "." "\\.exe$"))
|
||||
;; Some files in the original tarball have restrictive
|
||||
;; permissions, which makes repackaging fail
|
||||
(for-each (lambda (file) (chmod file #o644)) (find-files "."))
|
||||
#t))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
@ -12941,8 +12955,8 @@ once. This package provides tools to perform Drop-seq analyses.")
|
|||
("r-rtracklayer" ,r-rtracklayer)
|
||||
("r-rjson" ,r-rjson)
|
||||
("salmon" ,salmon)
|
||||
("ghc-pandoc" ,ghc-pandoc)
|
||||
("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc)
|
||||
("pandoc" ,pandoc)
|
||||
("pandoc-citeproc" ,pandoc-citeproc)
|
||||
("python-wrapper" ,python-wrapper)
|
||||
("python-pyyaml" ,python-pyyaml)))
|
||||
(home-page "https://bioinformatics.mdc-berlin.de/pigx/")
|
||||
|
@ -12958,7 +12972,7 @@ expression report comparing samples in an easily configurable manner.")
|
|||
(define-public pigx-chipseq
|
||||
(package
|
||||
(name "pigx-chipseq")
|
||||
(version "0.0.42")
|
||||
(version "0.0.43")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/BIMSBbioinfo/pigx_chipseq/"
|
||||
|
@ -12966,7 +12980,7 @@ expression report comparing samples in an easily configurable manner.")
|
|||
"/pigx_chipseq-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0xbvgqpk32a8iczhvac56cacr46rdkqb0allhhpvmj940idf72bi"))))
|
||||
"0426i31b7mqqkbss5dgrvf5prkj4z1qrd7yrpd27vybs01xhdlks"))))
|
||||
(build-system gnu-build-system)
|
||||
;; parts of the tests rely on access to the network
|
||||
(arguments '(#:tests? #f))
|
||||
|
@ -13003,8 +13017,8 @@ expression report comparing samples in an easily configurable manner.")
|
|||
("macs" ,macs)
|
||||
("multiqc" ,multiqc)
|
||||
("perl" ,perl)
|
||||
("ghc-pandoc" ,ghc-pandoc)
|
||||
("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc)
|
||||
("pandoc" ,pandoc)
|
||||
("pandoc-citeproc" ,pandoc-citeproc)
|
||||
("fastqc" ,fastqc)
|
||||
("bowtie" ,bowtie)
|
||||
("idr" ,idr)
|
||||
|
@ -13028,7 +13042,7 @@ in an easily configurable manner.")
|
|||
(define-public pigx-bsseq
|
||||
(package
|
||||
(name "pigx-bsseq")
|
||||
(version "0.0.10")
|
||||
(version "0.1.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/BIMSBbioinfo/pigx_bsseq/"
|
||||
|
@ -13036,10 +13050,13 @@ in an easily configurable manner.")
|
|||
"/pigx_bsseq-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0l97wvkq4diq8lcarraj33bby1zzf0w804jwi8mlc5qddp8idwhy"))))
|
||||
"0mpzlay2d5cjpmrcp7knff6rg1c2mqszd638n7lw0mc0cycbp9f8"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
`(;; TODO: tests currently require 12+GB of RAM. See
|
||||
;; https://github.com/BIMSBbioinfo/pigx_bsseq/issues/164
|
||||
#:tests? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'check 'set-timezone
|
||||
;; The readr package is picky about timezones.
|
||||
|
@ -13059,22 +13076,27 @@ in an easily configurable manner.")
|
|||
("r-annotationhub" ,r-annotationhub)
|
||||
("r-dt" ,r-dt)
|
||||
("r-genomation" ,r-genomation)
|
||||
("r-ggrepel" ,r-ggrepel)
|
||||
("r-methylkit" ,r-methylkit)
|
||||
("r-rtracklayer" ,r-rtracklayer)
|
||||
("r-rmarkdown" ,r-rmarkdown)
|
||||
("r-bookdown" ,r-bookdown)
|
||||
("r-ggplot2" ,r-ggplot2)
|
||||
("r-ggbio" ,r-ggbio)
|
||||
("ghc-pandoc" ,ghc-pandoc)
|
||||
("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc)
|
||||
("pandoc" ,pandoc)
|
||||
("pandoc-citeproc" ,pandoc-citeproc)
|
||||
("python-wrapper" ,python-wrapper)
|
||||
("python-pyyaml" ,python-pyyaml)
|
||||
("snakemake" ,snakemake)
|
||||
("bismark" ,bismark)
|
||||
("fastqc" ,fastqc)
|
||||
("bowtie" ,bowtie)
|
||||
("bwa-meth" ,bwa-meth)
|
||||
("fastqc" ,fastqc)
|
||||
("methyldackel" ,methyldackel)
|
||||
("multiqc" ,multiqc)
|
||||
("trim-galore" ,trim-galore)
|
||||
("cutadapt" ,cutadapt)
|
||||
("samblaster" ,samblaster)
|
||||
("samtools" ,samtools)))
|
||||
(home-page "https://bioinformatics.mdc-berlin.de/pigx/")
|
||||
(synopsis "Bisulfite sequencing pipeline from fastq to methylation reports")
|
||||
|
@ -13110,8 +13132,8 @@ methylation and segmentation.")
|
|||
("python-magic" ,python-magic)
|
||||
("python-numpy" ,python-numpy)
|
||||
("python-loompy" ,python-loompy)
|
||||
("ghc-pandoc" ,ghc-pandoc)
|
||||
("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc)
|
||||
("pandoc" ,pandoc)
|
||||
("pandoc-citeproc" ,pandoc-citeproc)
|
||||
("samtools" ,samtools)
|
||||
("snakemake" ,snakemake)
|
||||
("star" ,star)
|
||||
|
@ -15378,12 +15400,34 @@ mutations from scRNA-Seq data.")
|
|||
(string-append "HTS_LIB=" htslib-ref "/lib/libhts.a")
|
||||
(string-append "INCLUDES= -I" htslib-ref "/include/htslib")
|
||||
"HTS_HEADERS=" ; No need to check for headers here.
|
||||
(string-append "LIBPATH=-L. -L" htslib-ref "/include")))))
|
||||
(string-append "LIBPATH=-L. -L" htslib-ref "/include"))
|
||||
(invoke "g++" "-shared" "-o" "libtabixpp.so" "tabix.o" "-lhts")
|
||||
(invoke "ar" "rcs" "libtabixpp.a" "tabix.o"))))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((bin (string-append (assoc-ref outputs "out") "/bin")))
|
||||
(install-file "tabix++" bin))
|
||||
#t)))))
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(lib (string-append out "/lib"))
|
||||
(bin (string-append out "/bin")))
|
||||
(install-file "tabix++" bin)
|
||||
(install-file "libtabixpp.so" lib)
|
||||
(install-file "libtabixpp.a" lib)
|
||||
(install-file "tabix.hpp" (string-append out "/include"))
|
||||
(mkdir-p (string-append lib "/pkgconfig"))
|
||||
(with-output-to-file (string-append lib "/pkgconfig/tabixpp.pc")
|
||||
(lambda _
|
||||
(format #t "prefix=~a~@
|
||||
exec_prefix=${prefix}~@
|
||||
libdir=${exec_prefix}/lib~@
|
||||
includedir=${prefix}/include~@
|
||||
~@
|
||||
~@
|
||||
Name: libtabixpp~@
|
||||
Version: ~a~@
|
||||
Description: C++ wrapper around tabix project~@
|
||||
Libs: -L${libdir} -ltabixpp~@
|
||||
Cflags: -I${includedir}~%"
|
||||
out ,version)))
|
||||
#t))))))
|
||||
(home-page "https://github.com/ekg/tabixpp")
|
||||
(synopsis "C++ wrapper around tabix project")
|
||||
(description "This is a C++ wrapper around the Tabix project which abstracts
|
||||
|
@ -15410,13 +15454,45 @@ some of the details of opening and jumping in tabix-indexed files.")
|
|||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure) ; There is no configure phase.
|
||||
(add-after 'unpack 'patch-source
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
(("-c ") "-c -fPIC "))
|
||||
#t))
|
||||
(add-after 'build 'build-dynamic
|
||||
(lambda _
|
||||
(invoke "g++"
|
||||
"-shared" "-o" "libsmithwaterman.so"
|
||||
"smithwaterman.o" "SmithWatermanGotoh.o"
|
||||
"disorder.o" "BandedSmithWaterman.o"
|
||||
"LeftAlign.o" "Repeats.o" "IndelAllele.o")))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(lib (string-append out "/lib")))
|
||||
(install-file "smithwaterman" bin)
|
||||
(install-file "libsw.a" lib))
|
||||
(for-each
|
||||
(lambda (file)
|
||||
(install-file file (string-append out "/include/smithwaterman")))
|
||||
(find-files "." "\\.h$"))
|
||||
(install-file "libsmithwaterman.so" lib)
|
||||
(install-file "libsw.a" lib)
|
||||
(mkdir-p (string-append lib "/pkgconfig"))
|
||||
(with-output-to-file (string-append lib "/pkgconfig/smithwaterman.pc")
|
||||
(lambda _
|
||||
(format #t "prefix=~a~@
|
||||
exec_prefix=${prefix}~@
|
||||
libdir=${exec_prefix}/lib~@
|
||||
includedir=${prefix}/include/smithwaterman~@
|
||||
~@
|
||||
~@
|
||||
Name: smithwaterman~@
|
||||
Version: ~a~@
|
||||
Description: smith-waterman-gotoh alignment algorithm~@
|
||||
Libs: -L${libdir} -lsmithwaterman~@
|
||||
Cflags: -I${includedir}~%"
|
||||
out ,version))))
|
||||
#t)))))
|
||||
(home-page "https://github.com/ekg/smithwaterman")
|
||||
(synopsis "Implementation of the Smith-Waterman algorithm")
|
||||
|
@ -15506,10 +15582,43 @@ neural networks.")
|
|||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure) ; There is no configure phase.
|
||||
(add-after 'unpack 'patch-source
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
(("-c ") "-c -fPIC "))
|
||||
#t))
|
||||
(add-after 'build 'build-dynamic
|
||||
(lambda _
|
||||
(invoke "g++"
|
||||
"-shared" "-o" "libfastahack.so"
|
||||
"Fasta.o" "FastaHack.o" "split.o" "disorder.o")))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((bin (string-append (assoc-ref outputs "out") "/bin")))
|
||||
(install-file "fastahack" bin))
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(lib (string-append out "/lib"))
|
||||
(bin (string-append out "/bin")))
|
||||
(mkdir-p (string-append out "/include/fastahack"))
|
||||
(for-each
|
||||
(lambda (file)
|
||||
(install-file file (string-append out "/include/fastahack")))
|
||||
(find-files "." "\\.h$"))
|
||||
(install-file "fastahack" bin)
|
||||
(install-file "libfastahack.so" lib)
|
||||
(mkdir-p (string-append lib "/pkgconfig"))
|
||||
(with-output-to-file (string-append lib "/pkgconfig/fastahack.pc")
|
||||
(lambda _
|
||||
(format #t "prefix=~a~@
|
||||
exec_prefix=${prefix}~@
|
||||
libdir=${exec_prefix}/lib~@
|
||||
includedir=${prefix}/include/fastahack~@
|
||||
~@
|
||||
~@
|
||||
Name: fastahack~@
|
||||
Version: ~a~@
|
||||
Description: Indexing and sequence extraction from FASTA files~@
|
||||
Libs: -L${libdir} -lfastahack~@
|
||||
Cflags: -I${includedir}~%"
|
||||
out ,version))))
|
||||
#t)))))
|
||||
(home-page "https://github.com/ekg/fastahack")
|
||||
(synopsis "Indexing and sequence extraction from FASTA files")
|
||||
|
@ -15532,9 +15641,16 @@ library automatically handles index file generation and use.")
|
|||
"/vcflib-" version "-src.tar.gz"))
|
||||
(sha256
|
||||
(base32 "14zzrg8hg8cq9cvq2wdvp21j7nmxxkjrbagw2apd2yqv2kyx42lm"))
|
||||
(patches (search-patches "vcflib-use-shared-libraries.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
`(begin
|
||||
(substitute* (find-files "." "\\.(h|c)(pp)?$")
|
||||
(("\"SmithWatermanGotoh.h\"") "<smithwaterman/SmithWatermanGotoh.h>")
|
||||
(("\"convert.h\"") "<smithwaterman/convert.h>")
|
||||
(("\"disorder.h\"") "<smithwaterman/disorder.h>")
|
||||
(("\"tabix.hpp\"") "<tabix.hpp>")
|
||||
(("\"Fasta.h\"") "<fastahack/Fasta.h>"))
|
||||
(for-each delete-file-recursively
|
||||
'("fastahack" "filevercmp" "fsom" "googletest" "intervaltree"
|
||||
"libVCFH" "multichoose" "smithwaterman" "tabixpp"))
|
||||
|
@ -15542,34 +15658,34 @@ library automatically handles index file generation and use.")
|
|||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("htslib" ,htslib)
|
||||
("fastahack" ,fastahack)
|
||||
("perl" ,perl)
|
||||
("python" ,python)
|
||||
("smithwaterman" ,smithwaterman)
|
||||
("tabixpp" ,tabixpp)
|
||||
("xz" ,xz)
|
||||
("zlib" ,zlib)))
|
||||
(native-inputs
|
||||
`(;; Submodules.
|
||||
`(("pkg-config" ,pkg-config)
|
||||
;; Submodules.
|
||||
;; This package builds against the .o files so we need to extract the source.
|
||||
("fastahack-src" ,(package-source fastahack))
|
||||
("filevercmp-src" ,(package-source filevercmp))
|
||||
("fsom-src" ,(package-source fsom))
|
||||
("intervaltree-src" ,(package-source intervaltree))
|
||||
("multichoose-src" ,(package-source multichoose))
|
||||
("smithwaterman-src" ,(package-source smithwaterman))
|
||||
("tabixpp-src" ,(package-source tabixpp))))
|
||||
("multichoose-src" ,(package-source multichoose))))
|
||||
(arguments
|
||||
`(#:tests? #f ; no tests
|
||||
#:make-flags (list (string-append "HTS_LIB="
|
||||
(assoc-ref %build-inputs "htslib")
|
||||
"/lib/libhts.a")
|
||||
(string-append "HTS_INCLUDES= -I"
|
||||
(assoc-ref %build-inputs "htslib")
|
||||
"/include/htslib")
|
||||
(string-append "HTS_LDFLAGS= -L"
|
||||
(assoc-ref %build-inputs "htslib")
|
||||
"/include/htslib" " -lhts"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'set-flags
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(substitute* "Makefile"
|
||||
(("LDFLAGS =")
|
||||
(string-append "LDFLAGS = -Wl,-rpath="
|
||||
(assoc-ref outputs "out") "/lib ")))
|
||||
(substitute* "filevercmp/Makefile"
|
||||
(("-c") "-c -fPIC"))
|
||||
#t))
|
||||
(delete 'configure)
|
||||
(delete 'check)
|
||||
(add-after 'unpack 'unpack-submodule-sources
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((unpack (lambda (source target)
|
||||
|
@ -15581,34 +15697,39 @@ library automatically handles index file generation and use.")
|
|||
(assoc-ref inputs source)
|
||||
"--strip-components=1"))))))
|
||||
(and
|
||||
(unpack "fastahack-src" "fastahack")
|
||||
(unpack "filevercmp-src" "filevercmp")
|
||||
(unpack "fsom-src" "fsom")
|
||||
(unpack "intervaltree-src" "intervaltree")
|
||||
(unpack "multichoose-src" "multichoose")
|
||||
(unpack "smithwaterman-src" "smithwaterman")
|
||||
(unpack "tabixpp-src" "tabixpp")))))
|
||||
(replace 'build
|
||||
(lambda* (#:key inputs make-flags #:allow-other-keys)
|
||||
(let ((htslib (assoc-ref inputs "htslib")))
|
||||
(with-directory-excursion "tabixpp"
|
||||
(substitute* "Makefile"
|
||||
(("-Ihtslib") (string-append "-I" htslib "/include/htslib"))
|
||||
(("-Lhtslib") (string-append "-L" htslib "/lib/htslib"))
|
||||
(("htslib/htslib") (string-append htslib "/include/htslib")))
|
||||
(invoke "make"
|
||||
(string-append "HTS_LIB=" htslib "/lib/libhts.a")))
|
||||
(apply invoke "make" "CC=gcc" "CFLAGS=-Itabixpp" make-flags))))
|
||||
(unpack "multichoose-src" "multichoose")))))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((bin (string-append (assoc-ref outputs "out") "/bin"))
|
||||
(lib (string-append (assoc-ref outputs "out") "/lib")))
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(lib (string-append out "/lib")))
|
||||
(for-each (lambda (file)
|
||||
(install-file file bin))
|
||||
(find-files "bin" ".*"))
|
||||
;; The header files in src/ do not interface libvcflib,
|
||||
;; therefore they are left out.
|
||||
(install-file "libvcflib.a" lib))
|
||||
(install-file "libvcflib.so" lib)
|
||||
(install-file "libvcflib.a" lib)
|
||||
(for-each
|
||||
(lambda (file)
|
||||
(install-file file (string-append out "/include")))
|
||||
(find-files "include" "\\.h(pp)?$"))
|
||||
(mkdir-p (string-append lib "/pkgconfig"))
|
||||
(with-output-to-file (string-append lib "/pkgconfig/vcflib.pc")
|
||||
(lambda _
|
||||
(format #t "prefix=~a~@
|
||||
exec_prefix=${prefix}~@
|
||||
libdir=${exec_prefix}/lib~@
|
||||
includedir=${prefix}/include~@
|
||||
~@
|
||||
~@
|
||||
Name: libvcflib~@
|
||||
Version: ~a~@
|
||||
Requires: smithwaterman, fastahack~@
|
||||
Description: C++ library for parsing and manipulating VCF files~@
|
||||
Libs: -L${libdir} -lvcflib~@
|
||||
Cflags: -I${includedir}~%"
|
||||
out ,version))))
|
||||
#t)))))
|
||||
(home-page "https://github.com/vcflib/vcflib/")
|
||||
(synopsis "Library for parsing and manipulating VCF files")
|
||||
|
@ -15862,6 +15983,77 @@ containing the reference genome as well.")
|
|||
;; See https://github.com/dpryan79/MethylDackel/issues/85
|
||||
(license license:expat)))
|
||||
|
||||
;; This package bundles PCRE 8.02 and cannot be built with the current
|
||||
;; version.
|
||||
(define-public phast
|
||||
(package
|
||||
(name "phast")
|
||||
(version "1.5")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/CshlSiepelLab/phast")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"10lpbllvny923jjbbyrpxahhd1m5h7sbj9gx7rd123rg10mlidki"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags
|
||||
(list "CC=gcc"
|
||||
(string-append "DESTDIR=" (assoc-ref %outputs "out")))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
;; Fix syntax
|
||||
(substitute* "test/Makefile"
|
||||
((" ") " "))
|
||||
(substitute* "Makefile"
|
||||
(("CLAPACKPATH=/usr/lib")
|
||||
(string-append "CLAPACKPATH="
|
||||
(assoc-ref inputs "clapack") "/lib")))
|
||||
;; Renaming the libraries is not necessary with our version of
|
||||
;; CLAPACK.
|
||||
(substitute* "src/lib/Makefile"
|
||||
(("ifdef CLAPACKPATH") "ifdef UNNECESSARY"))
|
||||
(substitute* "src/make-include.mk"
|
||||
(("-lblaswr") "-lblas")
|
||||
(("-ltmg") "-ltmglib")
|
||||
(("liblapack.a") "liblapack.so")
|
||||
(("libblas.a") "libblas.so")
|
||||
(("libf2c.a") "libf2c.so"))
|
||||
(substitute* "src/Makefile"
|
||||
(("/opt") "/share")
|
||||
(("/usr/") "/"))
|
||||
#t))
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(setenv "PATH"
|
||||
(string-append (getcwd) "/bin:" (getenv "PATH")))
|
||||
;; Disable broken test
|
||||
(substitute* "test/Makefile"
|
||||
((".*if.*hmrc_summary" m) (string-append "#" m)))
|
||||
;; Only run the msa_view tests because the others fail for
|
||||
;; unknown reasons.
|
||||
(invoke "make" "-C" "test" "msa_view"))))))
|
||||
(inputs
|
||||
`(("clapack" ,clapack)))
|
||||
(native-inputs
|
||||
`(("perl" ,perl)))
|
||||
(home-page "http://compgen.cshl.edu/phast/")
|
||||
(synopsis "Phylogenetic analysis with space/time models")
|
||||
(description
|
||||
"Phylogenetic Analysis with Space/Time models (PHAST) is a collection of
|
||||
command-line programs and supporting libraries for comparative and
|
||||
evolutionary genomics. Best known as the search engine behind the
|
||||
Conservation tracks in the University of California, Santa Cruz (UCSC) Genome
|
||||
Browser, PHAST also includes several tools for phylogenetic modeling,
|
||||
functional element identification, as well as utilities for manipulating
|
||||
alignments, trees and genomic annotations.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-gffutils
|
||||
;; The latest release is older more than a year than the latest commit
|
||||
(let ((commit "4034c54600813b1402945e12faa91b3a53162cf1")
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com>
|
||||
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -57,12 +58,14 @@
|
|||
(inputs `(("flex" ,flex)))
|
||||
(propagated-inputs `(("m4" ,m4)))
|
||||
(home-page "https://www.gnu.org/software/bison/")
|
||||
(synopsis "Parser generator")
|
||||
(synopsis "Yacc-compatible parser generator")
|
||||
(description
|
||||
"GNU Bison is a general-purpose parser generator. It can build a
|
||||
deterministic or generalized LR parser from an annotated, context-free
|
||||
grammar. It is versatile enough to have many applications, from parsers for
|
||||
simple tools through complex programming languages.")
|
||||
simple tools through complex programming languages.
|
||||
|
||||
Bison also provides an implementation of @command{yacc}, as specified by POSIX.")
|
||||
(license gpl3+)))
|
||||
|
||||
(define-public bison-3.6
|
||||
|
|
|
@ -375,17 +375,16 @@ and will take advantage of multiple processor cores where possible.")
|
|||
(define-public libtorrent-rasterbar
|
||||
(package
|
||||
(name "libtorrent-rasterbar")
|
||||
(version "1.2.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append
|
||||
"https://github.com/arvidn/libtorrent/releases/download/libtorrent_"
|
||||
(string-join (string-split version #\.) "_")
|
||||
"/libtorrent-rasterbar-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"001g35janbxi20c7jzsf3ii9mkagz4kdsp7f3sz5r0n0cng0c05w"))))
|
||||
(version "1.2.8")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append "https://github.com/arvidn/libtorrent/"
|
||||
"releases/download/libtorrent-" version "/"
|
||||
"libtorrent-rasterbar-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1phn4klzvfzvidv5g566pnrrxj8l0givpy6s4r17d45wznqxc006"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
@ -402,9 +401,9 @@ and will take advantage of multiple processor cores where possible.")
|
|||
(native-inputs `(("python" ,python-wrapper)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(home-page "https://www.libtorrent.org/")
|
||||
(synopsis "Feature complete BitTorrent implementation")
|
||||
(synopsis "Feature-complete BitTorrent implementation")
|
||||
(description
|
||||
"libtorrent-rasterbar is a feature complete C++ BitTorrent implementation
|
||||
"libtorrent-rasterbar is a feature-complete C++ BitTorrent implementation
|
||||
focusing on efficiency and scalability. It runs on embedded devices as well as
|
||||
desktops.")
|
||||
(license l:bsd-2)))
|
||||
|
|
|
@ -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 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 Troy Sankey <sankeytms@gmail.com>
|
||||
;;; Copyright © 2016 Stefan Reichoer <stefan@xsteve.at>
|
||||
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
|
@ -46,6 +46,7 @@
|
|||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages sphinx)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages time)
|
||||
|
@ -283,3 +284,59 @@ of day, written in C, and including bindings for C++, pascal, perl, php, python,
|
|||
and ruby. It includes two illustrative command-line programs, @code{hcal} and
|
||||
@code{hdate}, and some snippets and scripts written in the binding languages.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public confclerk
|
||||
(package
|
||||
(name "confclerk")
|
||||
(version "0.6.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.toastfreeware.priv.at/tarballs/"
|
||||
"confclerk/confclerk-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"10rhg44px4nvbkd3p341cmp2ds43jn8r4rvgladda9v8zmsgr2b3"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
;; Install directory is currently hard-coded.
|
||||
(substitute* "src/app/app.pro"
|
||||
(("PREFIX = /usr/bin")
|
||||
(string-append "PREFIX =" out "/bin")))
|
||||
(invoke "qmake"))))
|
||||
(add-after 'install 'install-docs
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(share (string-append out "/share")))
|
||||
(install-file "data/confclerk.1"
|
||||
(string-append share "/man/man1"))
|
||||
(install-file "data/confclerk.desktop"
|
||||
(string-append share "/applications"))
|
||||
(install-file "data/confclerk.svg"
|
||||
(string-append share "/icons/hicolor/scalable/apps"))
|
||||
#t))))
|
||||
#:tests? #f)) ; no tests
|
||||
(native-inputs
|
||||
`(("perl" ,perl))) ; pod2man
|
||||
(inputs
|
||||
`(("qtbase" ,qtbase)))
|
||||
(home-page "https://www.toastfreeware.priv.at/confclerk")
|
||||
(synopsis "Offline conference schedule application")
|
||||
(description
|
||||
"ConfClerk is an application written in Qt, which makes conference schedules
|
||||
available offline. It displays the conference schedule from various views,
|
||||
support searches on various items (speaker, speech topic, location, etc.) and
|
||||
enables you to select favorite events and create your own schedule.
|
||||
|
||||
At the moment ConfClerk is able to import schedules in XML format created by
|
||||
the PentaBarf conference management system (or frab) used by e.g. FOSDEM,
|
||||
DebConf, FrOSCon, Grazer LinuxTage, and the CCC congresses.
|
||||
|
||||
ConfClerk is targeted at mobile devices but works on any system running Qt.")
|
||||
(license (list license:gpl2+
|
||||
license:lgpl3)))) ; or cc-by3.0 for src/icons/*
|
||||
|
|
|
@ -34,6 +34,7 @@
|
|||
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
|
||||
;;; Copyright © 2020 Josh Marshall <joshua.r.marshall.1991@gmail.com>
|
||||
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
|
||||
;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -75,11 +76,62 @@
|
|||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system glib-or-gtk)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system go)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system trivial))
|
||||
|
||||
(define-public pedansee
|
||||
(package
|
||||
(name "pedansee")
|
||||
(version "0.0.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append "https://www.flyn.org/projects/"
|
||||
name "/" name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0lsg791x6n95pxg6vif8qfc46nqcamhjq3g0dl5xqf6imy7n3acd"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(native-inputs
|
||||
`(("clang" ,clang)
|
||||
("pkg-config" ,pkg-config)
|
||||
("python" ,python-wrapper)))
|
||||
(inputs
|
||||
`(("glib" ,glib)))
|
||||
(synopsis "Code checker for C")
|
||||
(description "Pedansee checks C source files for compliance with a particular
|
||||
programming style. The style is currently defined by the pedansee source code
|
||||
in the form of functions which walk each source file’s syntax tree. You can
|
||||
modify some aspects of this style through the use of regular expressions.")
|
||||
(home-page "https://www.flyn.org/projects/pedansee/")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public mutest
|
||||
(package
|
||||
(name "mutest")
|
||||
(version "0.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri
|
||||
(git-reference
|
||||
(url "https://github.com/ebassi/mutest.git")
|
||||
(commit "e6246c9")))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0gdqwq6fvk06wld4rhnw5752hahrvhd69zrci045x25rwx90x26q"))))
|
||||
(build-system meson-build-system)
|
||||
(synopsis "Small C testing library")
|
||||
(description "Mutest aims to be a small unit testing library for C projects,
|
||||
with an API heavily modelled on high level Behavior-Driver Development frameworks
|
||||
like Jasmine or Mocha.")
|
||||
(home-page "https://ebassi.github.io/mutest/mutest.md.html")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public check
|
||||
(package
|
||||
(name "check")
|
||||
|
@ -297,7 +349,7 @@ a multi-paradigm automated test framework for C++ and Objective-C.")
|
|||
(define-public catch-framework2
|
||||
(package
|
||||
(name "catch2")
|
||||
(version "2.1.2")
|
||||
(version "2.13.0")
|
||||
(home-page "https://github.com/catchorg/Catch2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
|
@ -307,7 +359,7 @@ a multi-paradigm automated test framework for C++ and Objective-C.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"14vcckqmbydjsg40ngi6iv999zimysh2l7fmrqj1d7xl990qz233"))))
|
||||
"0i4w0c9280a5fyi00mvvf13wlnfzyifr487n1iyr30zvvj5s5f1h"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs
|
||||
`(("python" ,python-wrapper)))
|
||||
|
@ -1836,6 +1888,18 @@ seamlessly into your existing Python unit testing work flow.")
|
|||
(license license:mpl2.0)
|
||||
(properties `((python2-variant . ,(delay python2-hypothesis))))))
|
||||
|
||||
(define-public python-hypothesis-5.23
|
||||
(package
|
||||
(inherit python-hypothesis)
|
||||
(version "5.23.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "hypothesis" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0sy1v6nyxg4rjcf3rlr8nalb7wqd9nccpb2lzkchbj5an13ysf1h"))))
|
||||
(home-page "https://github.com/HypothesisWorks/hypothesis")))
|
||||
|
||||
;; This is the last version of Hypothesis that supports Python 2.
|
||||
(define-public python2-hypothesis
|
||||
(let ((hypothesis (package-with-python2
|
||||
|
@ -1852,6 +1916,29 @@ seamlessly into your existing Python unit testing work flow.")
|
|||
`(("python2-enum34" ,python2-enum34)
|
||||
,@(package-propagated-inputs hypothesis))))))
|
||||
|
||||
(define-public python-hypothesmith
|
||||
(package
|
||||
(name "python-hypothesmith")
|
||||
(version "0.1.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "hypothesmith" version))
|
||||
(sha256
|
||||
(base32
|
||||
"09331sspknv459xcyn1k0lx5flqlc6gmnwp9370pfvg4kg1zmss6"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
`(("python-hypothesis" ,python-hypothesis-5.23)
|
||||
("python-lark-parser" ,python-lark-parser)
|
||||
("python-libcst" ,python-libcst)))
|
||||
(home-page "https://github.com/Zac-HD/hypothesmith")
|
||||
(synopsis "Strategies for generating Python programs")
|
||||
(description
|
||||
"This package contains hypothesis strategies for generating Python
|
||||
programs, something like CSmith, a random generator of C programs.")
|
||||
(license license:mpl2.0)))
|
||||
|
||||
(define-public python-lit
|
||||
(package
|
||||
(name "python-lit")
|
||||
|
@ -1910,13 +1997,13 @@ failures.")
|
|||
(define-public python-pytest-flakes
|
||||
(package
|
||||
(name "python-pytest-flakes")
|
||||
(version "4.0.0")
|
||||
(version "4.0.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pytest-flakes" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0hyind0gb950v9kfy0v97x66fb33slbqmxhrjvgbvsv0ayzn869l"))))
|
||||
"0045h3hnrkn2jwr42jgy2j98npx4amwr6wxzi9j0nppaqz33l49p"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
@ -2606,7 +2693,7 @@ provides a simple way to achieve this.")
|
|||
(define-public umockdev
|
||||
(package
|
||||
(name "umockdev")
|
||||
(version "0.14.1")
|
||||
(version "0.14.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/martinpitt/umockdev/"
|
||||
|
@ -2614,7 +2701,7 @@ provides a simple way to achieve this.")
|
|||
"umockdev-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1g78jcrvb7yyh0q5kv5409wjqf8nlfqnw1rknm3a247mcx317dpz"))))
|
||||
"1nh6xsssmssmk0lxp9c9dmq3wzlpbpkg77nmmd09csbpybibgxfp"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
|
|
@ -240,7 +240,9 @@ and 32-bit PowerPC architectures.")
|
|||
`(("chez-scheme" ,chez-scheme)))
|
||||
(arguments
|
||||
`(#:make-flags (let ((out (assoc-ref %outputs "out")))
|
||||
(list (string-append "PREFIX=" out)))
|
||||
(list (string-append "PREFIX=" out)
|
||||
"CHEZ=chez-scheme --libdirs ./"
|
||||
(string-append "chezversion=" ,(package-version chez-scheme))))
|
||||
#:test-target "test"
|
||||
#:phases (modify-phases %standard-phases
|
||||
(delete 'configure))))
|
||||
|
@ -414,9 +416,13 @@ Chez Scheme.")
|
|||
;; files.
|
||||
(define (chez-make-flags name version)
|
||||
`(let ((out (assoc-ref %outputs "out")))
|
||||
(list (string-append "PREFIX=" out)
|
||||
(string-append "DOCDIR=" out "/share/doc/"
|
||||
,name "-" ,version))))
|
||||
(list
|
||||
;; Set 'chezversion' so that libraries are installed in
|
||||
;; 'lib/csvX.Y.Z-site' like Chez's 'native-search-paths' expects.
|
||||
(string-append "chezversion=" ,(package-version chez-scheme))
|
||||
(string-append "PREFIX=" out)
|
||||
(string-append "DOCDIR=" out "/share/doc/"
|
||||
,name "-" ,version))))
|
||||
|
||||
(define-public chez-matchable
|
||||
(package
|
||||
|
|
|
@ -227,6 +227,7 @@
|
|||
"third_party/swiftshader/third_party/marl" ;ASL2.0
|
||||
"third_party/swiftshader/third_party/subzero" ;NCSA
|
||||
"third_party/swiftshader/third_party/SPIRV-Headers" ;X11-style
|
||||
"third_party/tcmalloc/chromium" ;BSD-3
|
||||
"third_party/usb_ids" ;BSD-3
|
||||
"third_party/usrsctp" ;BSD-2
|
||||
"third_party/vulkan_memory_allocator" ;Expat
|
||||
|
@ -288,7 +289,7 @@
|
|||
(string-append "ungoogled-chromium-" category "-" name))))
|
||||
(sha256 (base32 hash))))
|
||||
|
||||
(define %ungoogled-revision "df199c04ff367da59ce52a23a3f3b305dd3b00c3")
|
||||
(define %ungoogled-revision "57244cdfc21dc05910862152d91cc528103c988a")
|
||||
(define %debian-revision "debian/83.0.4103.116-3")
|
||||
(define %gentoo-revision "f3f649046d31ebdbc8c4a302b2384504eff78027")
|
||||
|
||||
|
@ -330,7 +331,7 @@ chromium-fix-vaapi-on-intel.patch?h=packages/chromium\
|
|||
(string-take %ungoogled-revision 7)))
|
||||
(sha256
|
||||
(base32
|
||||
"1bqvcq3dj6615198j7cz3ylyyic5zpis06capvl6ybl1na3ainb0"))))
|
||||
"15a1xpmabdxr1mn61m0jm9a5l987rxdji8b1b6zy39mr636vcwfi"))))
|
||||
|
||||
;; This is a source 'snippet' that does the following:
|
||||
;; *) Applies various patches for unbundling purposes and libstdc++ compatibility.
|
||||
|
@ -449,7 +450,7 @@ chromium-fix-vaapi-on-intel.patch?h=packages/chromium\
|
|||
(define-public ungoogled-chromium
|
||||
(package
|
||||
(name "ungoogled-chromium")
|
||||
(version (string-append "84.0.4147.89-0."
|
||||
(version (string-append "84.0.4147.125-0."
|
||||
(string-take %ungoogled-revision 7)))
|
||||
(synopsis "Graphical web browser")
|
||||
(source (origin
|
||||
|
@ -459,7 +460,7 @@ chromium-fix-vaapi-on-intel.patch?h=packages/chromium\
|
|||
(car (string-split version #\-)) ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0yf6j0459qzr677zsa2apmfz0x0ndlscvwj1a5v40nqjijchv5qp"))
|
||||
"1xdg9pnnvbzasmra09rl7wdrir61rfcqml46jj7kv39drwk9chwq"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet (force ungoogled-chromium-snippet))))
|
||||
(build-system gnu-build-system)
|
||||
|
@ -490,7 +491,6 @@ chromium-fix-vaapi-on-intel.patch?h=packages/chromium\
|
|||
"goma_dir=\"\""
|
||||
"enable_nacl=false"
|
||||
"enable_nacl_nonsfi=false"
|
||||
"use_allocator=\"none\""
|
||||
"use_unofficial_version_number=false"
|
||||
"treat_warnings_as_errors=false"
|
||||
"use_official_google_api_keys=false"
|
||||
|
|
|
@ -47,8 +47,8 @@
|
|||
#:use-module (guix build-system gnu))
|
||||
|
||||
(define-public cuirass
|
||||
(let ((commit "136a8295e4e09724eccc230c127fb880aa84b57d")
|
||||
(revision "38"))
|
||||
(let ((commit "f2984c7230f69a6e50810edc5e9d36bd671801f9")
|
||||
(revision "43"))
|
||||
(package
|
||||
(name "cuirass")
|
||||
(version (git-version "0.0.1" revision commit))
|
||||
|
@ -60,7 +60,7 @@
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"04fzc2q8cd02dnlrarzlxq0yfi90735s5f6dw7g2k63rbxlhcq8j"))))
|
||||
"1p9mlmhv4kz8wixgywh1ffm3140p4mkgz92n7ry3n5s9w5n7fpjl"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:modules ((guix build utils)
|
||||
|
@ -93,8 +93,10 @@
|
|||
(git (assoc-ref inputs "guile-git"))
|
||||
(bytes (assoc-ref inputs "guile-bytestructures"))
|
||||
(fibers (assoc-ref inputs "guile-fibers"))
|
||||
(zlib (assoc-ref inputs "guile-zlib"))
|
||||
(guix (assoc-ref inputs "guix"))
|
||||
(deps (list gcrypt json sqlite git bytes fibers guix))
|
||||
(deps (list gcrypt json sqlite git bytes fibers
|
||||
zlib guix))
|
||||
(guile (assoc-ref %build-inputs "guile"))
|
||||
(effective (read-line
|
||||
(open-pipe* OPEN_READ
|
||||
|
@ -126,6 +128,7 @@
|
|||
("guile-json" ,guile-json-4)
|
||||
("guile-sqlite3" ,guile-sqlite3)
|
||||
("guile-git" ,guile-git)
|
||||
("guile-zlib" ,guile-zlib)
|
||||
;; FIXME: this is propagated by "guile-git", but it needs to be among
|
||||
;; the inputs to add it to GUILE_LOAD_PATH.
|
||||
("guile-bytestructures" ,guile-bytestructures)
|
||||
|
|
|
@ -125,14 +125,14 @@ highlighting your own code that seemed comprehensible when you wrote it.")
|
|||
(define-public global ; a global variable
|
||||
(package
|
||||
(name "global")
|
||||
(version "6.6.4")
|
||||
(version "6.6.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/global/global-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1515642wsjz7x3rsgaqk4sc7n0z2znl7idsk8jz8wgy5aswqqzlq"))))
|
||||
"10vvsgx8v54whb4j9mk5qqyb5h3rdd9da0il3wir8pcpksyk0dww"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("ncurses" ,ncurses)
|
||||
("libltdl" ,libltdl)
|
||||
|
|
|
@ -915,7 +915,7 @@ multiple processors and multiple cores when compressing data.")
|
|||
(define-public pixz
|
||||
(package
|
||||
(name "pixz")
|
||||
(version "1.0.6")
|
||||
(version "1.0.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -923,7 +923,7 @@ multiple processors and multiple cores when compressing data.")
|
|||
"/pixz-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1s3j7zw6j5zi3fhdxg287ndr3wf6swac7z21mqd1pyiln530gi82"))))
|
||||
"1ifxr18f2h75gkcrkx8033kwmwmrcgxshpaawyc2n4dzn1p2rqz5"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
|
@ -1807,20 +1807,18 @@ single-member files which can't be decompressed in parallel.")
|
|||
(define-public innoextract
|
||||
(package
|
||||
(name "innoextract")
|
||||
(version "1.8")
|
||||
(version "1.9")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/dscharrer/innoextract/releases"
|
||||
"/download/" version
|
||||
(uri (string-append "https://constexpr.org/innoextract/files/"
|
||||
"innoextract-" version "/"
|
||||
"/innoextract-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0saj50n8ds85shygy4mq1h6s99510r9wgjjdll4dmvhra4lzcy2y"))))
|
||||
(base32 "09l1z1nbl6ijqqwszdwch9mqr54qb7df0wp2sd77v17dq6gsci33"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f
|
||||
#:configure-flags '("-DBoost_NO_BOOST_CMAKE=ON")))
|
||||
`(#:tests? #f))
|
||||
(inputs `(("boost" ,boost)
|
||||
("libiconv" ,libiconv)
|
||||
("xz" ,xz)))
|
||||
|
|
105
gnu/packages/configuration-management.scm
Normal file
105
gnu/packages/configuration-management.scm
Normal file
|
@ -0,0 +1,105 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
||||
;;; under the terms of the GNU General Public License as published by
|
||||
;;; the Free Software Foundation; either version 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix is distributed in the hope that it will be useful, but
|
||||
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;;; GNU General Public License for more details.
|
||||
;;;
|
||||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages configuration-management)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix build-system go)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (gnu packages golang)
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages textutils)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils))
|
||||
|
||||
(define-public chezmoi
|
||||
(package
|
||||
(name "chezmoi")
|
||||
;; XXX: Make sure 7f238faa61e46d79b54d4d0ea8f0b5fc27db84b2 applied before
|
||||
;; version update, which should fix @code{password-store} integration.
|
||||
(version "1.8.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/twpayne/chezmoi")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1b8y0wq3myhvjdnwl0i4x85iil7i7kmsjajvbw1a47afm83jkbaw"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "github.com/twpayne/chezmoi"
|
||||
;; We don't need to install the source code for end-user applications.
|
||||
#:install-source? #f))
|
||||
(native-inputs
|
||||
`(("go-github-com-masterminds-sprig" ,go-github-com-masterminds-sprig)
|
||||
("go-github-com-masterminds-goutils" ,go-github-com-masterminds-goutils)
|
||||
("go-github-com-masterminds-semver" ,go-github-com-masterminds-semver)
|
||||
("go-github-com-google-uuid" ,go-github-com-google-uuid)
|
||||
("go-github-com-huandu-xstrings" ,go-github-com-huandu-xstrings)
|
||||
("go-github-com-imdario-mergo" ,go-github-com-imdario-mergo)
|
||||
("go-github-com-mitchellh-reflectwalk" ,go-github-com-mitchellh-reflectwalk)
|
||||
("go-github-com-mitchellh-copystructure" ,go-github-com-mitchellh-copystructure)
|
||||
("go-github-com-bmatcuk-doublestar" ,go-github-com-bmatcuk-doublestar)
|
||||
("go-github-com-charmbracelet-glamour" ,go-github-com-charmbracelet-glamour)
|
||||
("go-github-com-alecthomas-chroma" ,go-github-com-alecthomas-chroma)
|
||||
("go-github-com-coreos-go-semver" ,go-github-com-coreos-go-semver)
|
||||
("go-github-com-danwakefield-fnmatch" ,go-github-com-danwakefield-fnmatch)
|
||||
("go-github-com-dlclark-regexp2" ,go-github-com-dlclark-regexp2)
|
||||
("go-github-go-git" ,go-github-go-git)
|
||||
("go-github-com-google-go-github" ,go-github-com-google-go-github)
|
||||
("go-github-com-google-go-querystring" ,go-github-com-google-go-querystring)
|
||||
("go-github-com-google-renameio" ,go-github-com-google-renameio)
|
||||
("go-github-com-microcosm-cc-bluemonday",go-github-com-microcosm-cc-bluemonday)
|
||||
("go-github-com-aymerick-douceur" ,go-github-com-aymerick-douceur)
|
||||
("go-github-com-chris-ramon-douceur" ,go-github-com-chris-ramon-douceur)
|
||||
("go-github-com-gorilla-css" ,go-github-com-gorilla-css)
|
||||
("go-github-com-muesli-reflow-ansi" ,go-github-com-muesli-reflow-ansi)
|
||||
("go-github-com-muesli-reflow-wordwrap" ,go-github-com-muesli-reflow-wordwrap)
|
||||
("go-github-com-muesli-reflow-indent" ,go-github-com-muesli-reflow-indent)
|
||||
("go-github-com-muesli-reflow-padding" ,go-github-com-muesli-reflow-padding)
|
||||
("go-github-com-muesli-termenv" ,go-github-com-muesli-termenv)
|
||||
("go-github-com-google-goterm" ,go-github-com-google-goterm)
|
||||
("go-golang-org-colorful" ,go-golang-org-colorful)
|
||||
("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty)
|
||||
("go-github.com-mattn-go-runewidth" ,go-github.com-mattn-go-runewidth)
|
||||
("go-github-com-olekukonko-tablewriter" ,go-github-com-olekukonko-tablewriter)
|
||||
("go-github-com-pelletier-go-toml" ,go-github-com-pelletier-go-toml)
|
||||
("go-github-com-pkg-diff" ,go-github-com-pkg-diff)
|
||||
("go-github-com-sergi-go-diff" ,go-github-com-sergi-go-diff)
|
||||
("go-github-com-spf13-cobra" ,go-github-com-spf13-cobra)
|
||||
("go-github-com-spf13-viper" ,go-github-com-spf13-viper)
|
||||
("go-github-com-twpayne-go-shell" ,go-github-com-twpayne-go-shell)
|
||||
("go-github-com-twpayne-go-vfs" ,go-github-com-twpayne-go-vfs)
|
||||
("go-github-com-twpayne-go-vfsafero" ,go-github-com-twpayne-go-vfsafero)
|
||||
("go-github-com-twpayne-go-xdg" ,go-github-com-twpayne-go-xdg)
|
||||
("go-github-com-yuin-goldmark" ,go-github-com-yuin-goldmark)
|
||||
("go-github-com-zalando-go-keyring" ,go-github-com-zalando-go-keyring)
|
||||
("go-github-com-godbus-dbus" ,go-github-com-godbus-dbus)
|
||||
("go-etcd-io-bbolt" ,go-etcd-io-bbolt)
|
||||
("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
|
||||
("go-golang-org-x-net" ,go-golang-org-x-net)
|
||||
("go-golang-org-x-oauth2" ,go-golang-org-x-oauth2)
|
||||
("go-github-com-rogpeppe-go-internal" ,go-github-com-rogpeppe-go-internal)
|
||||
("gopkg-in-errgo-fmt-errors" ,gopkg-in-errgo-fmt-errors)))
|
||||
(home-page "https://www.chezmoi.io/")
|
||||
(synopsis "Personal configuration files manager")
|
||||
(description "This package helps to manage personal configuration files
|
||||
across multiple machines.")
|
||||
(license license:expat)))
|
|
@ -1,6 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2015 Siniša Biđin <sinisa@bidin.eu>
|
||||
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
|
||||
;;; Copyright © 2019 Vasile Dumitrascu <va511e@yahoo.com>
|
||||
;;;
|
||||
|
@ -39,7 +39,7 @@
|
|||
(package
|
||||
(name "conky")
|
||||
(home-page "https://github.com/brndnmtthws/conky")
|
||||
(version "1.11.5")
|
||||
(version "1.11.6")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -48,7 +48,7 @@
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1a75ss48mn9pknrxy33dh5rdgm67a5kpddsyqfhlcn1761kfzzyp"))))
|
||||
(base32 "0y2g66fjqp2hdk0y1h4ijxhnv34j16gizvxpmbigwh4n6zijcm6v"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; there are no tests
|
||||
|
|
|
@ -11,6 +11,8 @@
|
|||
;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
|
||||
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
|
||||
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -81,6 +83,42 @@ strings, configuration, bit streams, threading, translation, and cross-platform
|
|||
operating system functions.")
|
||||
(license license:zlib)))
|
||||
|
||||
(define-public rttr
|
||||
(package
|
||||
(name "rttr")
|
||||
(version "0.9.6")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/rttrorg/rttr/")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "1yxad8sj40wi75hny8w6imrsx8wjasjmsipnlq559n4b6kl84ijp"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(;; No check target. Setting test-target to "unit_test" runs it twice.
|
||||
#:tests? #f
|
||||
#:configure-flags
|
||||
'("-DBUILD_DOCUMENTATION=OFF" "-DBUILD_EXAMPLES=OFF")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; library_test fails in chroot.
|
||||
(add-after 'unpack 'skip-library-test
|
||||
(lambda _
|
||||
(substitute* "src/unit_tests/unit_tests.cmake"
|
||||
(("misc/library_test.cpp") ""))
|
||||
#t)))))
|
||||
(native-inputs `(("pkg-config" ,pkg-config)))
|
||||
(home-page "https://github.com/rttrorg/rttr/")
|
||||
(synopsis "C++ Reflection Library")
|
||||
(description
|
||||
"RTTR stands for Run Time Type Reflection. It describes the ability of a
|
||||
computer program to introspect and modify an object at runtime. It is also
|
||||
the name of the library itself, which is written in C++.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rct
|
||||
(let* ((commit "b3e6f41d9844ef64420e628e0c65ed98278a843a")
|
||||
(revision "2"))
|
||||
|
@ -246,7 +284,7 @@ as ordering relation.")
|
|||
(define-public json-modern-cxx
|
||||
(package
|
||||
(name "json-modern-cxx")
|
||||
(version "3.7.3")
|
||||
(version "3.9.1")
|
||||
(home-page "https://github.com/nlohmann/json")
|
||||
(source
|
||||
(origin
|
||||
|
@ -254,8 +292,7 @@ as ordering relation.")
|
|||
(uri (git-reference (url home-page)
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32
|
||||
"04rry1xzis71z5gj1ylcj8b4li5q18zxhcwaviwvi3hx0frzxl9w"))
|
||||
(base32 "0ar4mzp53lskxw3vdzw07f47njcshl3lwid9jfq6l7yx6ds2nyjc"))
|
||||
(file-name (git-file-name name version))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
|
@ -278,12 +315,40 @@ as ordering relation.")
|
|||
(string-append
|
||||
"#include <fifo_map/" fifo-map-hpp ">")))))
|
||||
#t))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags
|
||||
(list (string-append "-DJSON_TestDataDirectory="
|
||||
(assoc-ref %build-inputs "json_test_data")))
|
||||
#:phases (modify-phases %standard-phases
|
||||
;; XXX: When tests are enabled, the install phase will cause
|
||||
;; a needless rebuild without the given configure flags,
|
||||
;; ultimately creating both $out/lib and $out/lib64. Move
|
||||
;; the check phase after install to work around it.
|
||||
(delete 'check)
|
||||
(add-after 'install 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(if tests?
|
||||
;; Some tests need git and a full checkout, skip those.
|
||||
(invoke "ctest" "-LE" "git_required")
|
||||
(format #t "test suite not run~%"))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("amalgamate" ,amalgamate)
|
||||
("doctest" ,doctest)))
|
||||
("doctest" ,doctest)
|
||||
("json_test_data"
|
||||
,(let ((version "3.0.0"))
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/nlohmann/json_test_data")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name "json_test_data" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0nzsjzlvk14dazwh7k2jb1dinb0pv9jbx5jsyn264wvva0y7daiv")))))))
|
||||
(inputs
|
||||
`(("fifo-map" ,fifo-map)))
|
||||
(build-system cmake-build-system)
|
||||
(synopsis "JSON parser and printer library for C++")
|
||||
(description "JSON for Modern C++ is a C++ JSON library that provides
|
||||
intuitive syntax and trivial integration.")
|
||||
|
@ -295,7 +360,7 @@ intuitive syntax and trivial integration.")
|
|||
(define-public xtl
|
||||
(package
|
||||
(name "xtl")
|
||||
(version "0.6.13")
|
||||
(version "0.6.17")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri
|
||||
|
@ -304,7 +369,7 @@ intuitive syntax and trivial integration.")
|
|||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"0py70lm2i3sxzpgca2cic8zfn6dn18q837h76a5fchl2c0kpxm91"))
|
||||
"136djmx4l34ff5z4fw1c866x52vp7k4f8zcnbs49whymxzhzwpw0"))
|
||||
(file-name (git-file-name name version))))
|
||||
(native-inputs
|
||||
`(("googletest" ,googletest)
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -17,6 +17,7 @@
|
|||
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
|
||||
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
|
||||
;;; Copyright © 2020 Hendur Saga <hendursaga@yahoo.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -53,6 +54,8 @@
|
|||
#:use-module (gnu packages libffi)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages lsof)
|
||||
#:use-module (gnu packages man)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages nettle)
|
||||
#:use-module (gnu packages password-utils)
|
||||
#:use-module (gnu packages perl)
|
||||
|
@ -394,6 +397,49 @@ generation of wordlists the included tool @code{worgen} can be used. There is
|
|||
no man page, refer to the home page for usage details.")
|
||||
(license (list license:isc license:expat)))))
|
||||
|
||||
(define-public ssss
|
||||
(package
|
||||
(name "ssss")
|
||||
(version "0.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://point-at-infinity.org/ssss/ssss-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"15grn2fp1x8p92kxkwbmsx8rz16g93y9grl3hfqbh1jn21ama5jx"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; No test suite
|
||||
#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
|
||||
"CC=gcc")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure) ; no configuration to be done
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((outdir (assoc-ref outputs "out"))
|
||||
(bindir (string-append outdir "/bin"))
|
||||
(docdir (string-append outdir
|
||||
"/share/doc/ssss-"
|
||||
,version)))
|
||||
(install-file "ssss-combine" bindir)
|
||||
(install-file "ssss-split" bindir)
|
||||
(install-file "ssss.1" docdir)
|
||||
(install-file "ssss.1.html" docdir)
|
||||
#t))))))
|
||||
(inputs
|
||||
`(("gmp" ,gmp)))
|
||||
(native-inputs
|
||||
`(("xmltoman" ,xmltoman)))
|
||||
(home-page "http://point-at-infinity.org/ssss/")
|
||||
(synopsis "Shamir's secret sharing scheme implementation")
|
||||
(description "@command{ssss-split} and @command{ssss-combine} are utilities that split
|
||||
and combine secrets securely using Shamir's secret sharing scheme. This implementation
|
||||
allows for a threshold scheme where the minimum number of shares can be less than the
|
||||
total number of shares generated.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public tomb
|
||||
(package
|
||||
(name "tomb")
|
||||
|
@ -472,7 +518,7 @@ user's graphical desktop.")
|
|||
(define-public scrypt
|
||||
(package
|
||||
(name "scrypt")
|
||||
(version "1.2.1")
|
||||
(version "1.3.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -480,20 +526,24 @@ user's graphical desktop.")
|
|||
version ".tgz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0xy5yhrwwv13skv9im9vm76rybh9f29j2dh4hlh2x01gvbkza8a6"))))
|
||||
"1hnl0r6pmyxiy4dmafmqk1db7wpc0x9rqpzqcwr9d2cmghcj6byz"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-command-invocations
|
||||
`(#:license-file-regexp "COPYRIGHT"
|
||||
#:phases (modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-$PATH-assumptions
|
||||
(lambda _
|
||||
(substitute* "configure"
|
||||
(("\\{POSIX_PATH\\}")
|
||||
"{PATH}"))
|
||||
(substitute* "Makefile.in"
|
||||
(("command -p") ""))
|
||||
#t))
|
||||
(add-after 'install 'install-docs
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref %outputs "out"))
|
||||
(misc (string-append out "/share/doc/scrypt")))
|
||||
(install-file "FORMAT" misc)
|
||||
(doc (string-append out "/share/doc/" ,name "-" ,version)))
|
||||
(install-file "FORMAT" doc)
|
||||
#t))))))
|
||||
(inputs
|
||||
`(("openssl" ,openssl)))
|
||||
|
@ -719,7 +769,7 @@ data on your platform, so the seed itself will be as random as possible.
|
|||
"libdir=" out "/lib\n"
|
||||
"includedir=" out "/include\n\n"
|
||||
"Name: libcrypto++-" ,version "\n"
|
||||
"Description: Class library of cryptographic schemes"
|
||||
"Description: Class library of cryptographic schemes\n"
|
||||
"Version: " ,version "\n"
|
||||
"Libs: -L${libdir} -lcryptopp\n"
|
||||
"Cflags: -I${includedir}\n"))
|
||||
|
@ -1011,6 +1061,58 @@ Features:
|
|||
(home-page "https://github.com/bitcoin-core/secp256k1")
|
||||
(license license:unlicense))))
|
||||
|
||||
(define-public libsecp256k1-bitcoin-cash
|
||||
(package
|
||||
(name "libsecp256k1-bitcoin-cash")
|
||||
(version "0.22.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Bitcoin-ABC/secp256k1")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1rnif3iny6pz1r3g69bagzr342mm3x0v66b60csnmm1rg44bd5v1"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("libtool" ,libtool)))
|
||||
(arguments
|
||||
'(#:configure-flags '("--enable-module-recovery"
|
||||
"--enable-experimental"
|
||||
"--enable-module-ecdh"
|
||||
"--disable-jni"
|
||||
"--with-bignum=no"
|
||||
"--enable-module-schnorr"
|
||||
"--disable-static"
|
||||
"--enable-shared")))
|
||||
(synopsis "Optimized C library for EC operations on curve secp256k1")
|
||||
(description
|
||||
"Optimized C library for cryptographic operations on curve secp256k1.
|
||||
|
||||
This library is used for consensus critical cryptographic operations on the
|
||||
Bitcoin Cash network.
|
||||
|
||||
Features:
|
||||
|
||||
@itemize
|
||||
@item secp256k1 ECDSA signing/verification and key generation.
|
||||
@item secp256k1 Schnorr signing/verification (Bitcoin Cash Schnorr variant).
|
||||
@item Additive and multiplicative tweaking of secret/public keys.
|
||||
@item Serialization/parsing of secret keys, public keys, signatures.
|
||||
@item Constant time, constant memory access signing and pubkey generation.
|
||||
@item Derandomized ECDSA (via RFC6979 or with a caller provided function).
|
||||
@item Very efficient implementation.
|
||||
@item Suitable for embedded systems.
|
||||
@item Optional module for public key recovery.
|
||||
@item Optional module for ECDH key exchange (experimental).
|
||||
@item Optional module for multiset hash (experimental).
|
||||
@end itemize\n")
|
||||
(home-page "https://github.com/Bitcoin-ABC/secp256k1")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public stoken
|
||||
(package
|
||||
(name "stoken")
|
||||
|
|
|
@ -43,6 +43,7 @@
|
|||
;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
|
||||
;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org>
|
||||
;;; Copyright © 2020 Guy Fleury Iteriteka <gfleury@disroot.org>
|
||||
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -613,14 +614,13 @@ RDBMS systems (which are deep in functionality).")
|
|||
(define-public mycli
|
||||
(package
|
||||
(name "mycli")
|
||||
(version "1.21.1")
|
||||
(version "1.22.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "mycli" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1q9p0yik9cpvpxjs048anvhicfcna84mpl7axv9bwgr48w40lqwg"))))
|
||||
(base32 "1lq2x95553vdmhw13cxcgsd2g2i32izhsb7hxd4m1iwf9b3msbpv"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f)) ; tests expect a running MySQL
|
||||
|
@ -1973,14 +1973,14 @@ sets, bitmaps and hyperloglogs.")
|
|||
(define-public kyotocabinet
|
||||
(package
|
||||
(name "kyotocabinet")
|
||||
(version "1.2.77")
|
||||
(version "1.2.78")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://fallabs.com/kyotocabinet/pkg/"
|
||||
"kyotocabinet-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1rlx4307adbzd842b4npq6cwlw8h010ingxaz3qz1ijc70lr72an"))))
|
||||
"1bxkf9kmcavq9rqridb8mvmrk3hj4447ffi24m2admsbm61n6k29"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
@ -2149,7 +2149,7 @@ database.")
|
|||
(define-public lmdb
|
||||
(package
|
||||
(name "lmdb")
|
||||
(version "0.9.25")
|
||||
(version "0.9.26")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -2158,7 +2158,7 @@ database.")
|
|||
(commit (string-append "LMDB_" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0i60zlca8r6fib23gdgl4c80gxpx24772ggpvz94yr7zaai4k11w"))))
|
||||
(base32 "0323xwb2rqyrr9vr6gbxc2kl89drhqw0ifmyh9pg9qgqmymyhxdx"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:test-target "test"
|
||||
|
@ -2450,13 +2450,13 @@ etc., and an SQL engine for performing simple SQL queries.")
|
|||
(define-public python-lmdb
|
||||
(package
|
||||
(name "python-lmdb")
|
||||
(version "0.98")
|
||||
(version "0.99")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "lmdb" version))
|
||||
(sha256
|
||||
(base32
|
||||
"027pgbdhhdcbwj53vrzr6a60gjhmz4s75gl3180fd4q8pwlbq986"))
|
||||
"12fwlzfd82471ss9xzbqwcqc6f5miy51y72y2yya9j5cm9589szr"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Delete bundled lmdb source files.
|
||||
|
@ -2549,7 +2549,19 @@ implementation for Python.")
|
|||
;; TODO: Removing the libsrc/zlib source directory breaks the build.
|
||||
;; This indicates that the internal zlib code may still be used.
|
||||
#:configure-flags '("--without-internal-zlib"
|
||||
"--with-readline")))
|
||||
"--with-readline"
|
||||
"--enable-static=no")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; Even with "--enable-static=no", "libvirtuoso-t.a" is left in
|
||||
;; the build output. The following phase removes it.
|
||||
(add-after 'install 'remove-static-libs
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((lib (string-append (assoc-ref outputs "out") "/lib")))
|
||||
(for-each (lambda (file)
|
||||
(delete-file (string-append lib "/" file)))
|
||||
'("libvirtuoso-t.a"
|
||||
"libvirtuoso-t.la"))))))))
|
||||
(inputs
|
||||
`(("openssl" ,openssl-1.0)
|
||||
("net-tools" ,net-tools)
|
||||
|
@ -2703,15 +2715,13 @@ You might also want to install the following optional dependencies:
|
|||
(define-public python-alembic
|
||||
(package
|
||||
(name "python-alembic")
|
||||
(version "1.4.1")
|
||||
(version "1.4.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "alembic" version))
|
||||
(patches (search-patches "python-alembic-exceptions-cause.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"0a4hzn76csgbf1px4f5vfm256byvjrqkgi9869nkcjrwjn35c6kr"))))
|
||||
(base32 "1gsdrzx9h7wfva200qvvsc9sn4w79mk2vs0bbnzjhxi1jw2b0nh3"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
'(#:phases (modify-phases %standard-phases
|
||||
|
@ -2887,13 +2897,13 @@ designed to be easy and intuitive to use.")
|
|||
(define-public python-psycopg2
|
||||
(package
|
||||
(name "python-psycopg2")
|
||||
(version "2.8.4")
|
||||
(version "2.8.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "psycopg2" version))
|
||||
(sha256
|
||||
(base32 "1djvh98pi4hjd8rxbq8qzc63bg8v78k33yg6pl99wak61b6fb67q"))))
|
||||
(base32 "06081jk9srkd4ra9j8b93x9ld3a2yxsbsf5bbbcivbm1yx065m7p"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
;; Tests would require a postgresql database "psycopg2_test"
|
||||
|
@ -3106,13 +3116,13 @@ is designed to have a low barrier to entry.")
|
|||
(define-public python-sqlparse
|
||||
(package
|
||||
(name "python-sqlparse")
|
||||
(version "0.2.4")
|
||||
(version "0.3.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "sqlparse" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1v3xh0bkfhb262dbndgzhivpnhdwavdzz8jjhx9vx0xbrx2880nf"))))
|
||||
"0j652a6z7bdf6c77aczfn8m8b2nsr1bcqq48wzghf8vi6wvj0qp1"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
|
|
@ -2,7 +2,8 @@
|
|||
;;; Copyright © 2015, 2016, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016, 2017, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com>
|
||||
;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2020 Mark H Weaver <mhw@netris.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -22,6 +23,7 @@
|
|||
(define-module (gnu packages datastructures)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
|
@ -82,7 +84,7 @@ library.")
|
|||
(define-public sparsehash
|
||||
(package
|
||||
(name "sparsehash")
|
||||
(version "2.0.3")
|
||||
(version "2.0.4")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -91,7 +93,7 @@ library.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0m3f0cnpnpf6aak52wn8xbrrdw8p0yhq8csgc8nlvf9zp8c402na"))))
|
||||
"1pf1cjvcjdmb9cd6gcazz64x0cd2ndpwh6ql2hqpypjv725xwxy7"))))
|
||||
(build-system gnu-build-system)
|
||||
(synopsis "Memory-efficient hashtable implementations")
|
||||
(description
|
||||
|
@ -234,14 +236,34 @@ to the structure and choosing one or more fields to act as the key.")
|
|||
"0m542xpys54bni29zibgrfpgpd0zgyny4h131virxsanixsbz52z")))))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'install 'install-static-library
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(copy-file "lib/libsdsl_static.a"
|
||||
(string-append out "/lib/libsdsl.a")))
|
||||
#t)))))
|
||||
#t))
|
||||
(add-after 'install 'install-pkgconfig-file
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(lib (string-append out "/lib")))
|
||||
(mkdir-p (string-append lib "/pkgconfig"))
|
||||
(with-output-to-file (string-append lib "/pkgconfig/sdsl-lite.pc")
|
||||
(lambda _
|
||||
(format #t "prefix=~a~@
|
||||
exec_prefix=${prefix}~@
|
||||
libdir=${exec_prefix}/lib~@
|
||||
includedir=${prefix}/include~@
|
||||
~@
|
||||
~@
|
||||
Name: sdsl~@
|
||||
Version: ~a~@
|
||||
Description: SDSL: Succinct Data Structure Library~@
|
||||
Libs: -L${libdir} -lsdsl -ldivsufsort -ldivsufsort64~@
|
||||
Cflags: -I${includedir}~%"
|
||||
out ,version)))
|
||||
#t))))))
|
||||
(native-inputs
|
||||
`(("libdivsufsort" ,libdivsufsort)))
|
||||
(home-page "https://github.com/simongog/sdsl-lite")
|
||||
|
@ -284,3 +306,41 @@ Burrows-Wheeler transformed string from a given string over a constant-size
|
|||
alphabet. The algorithm runs in O(n log n) worst-case time using only 5n+O(1)
|
||||
bytes of memory space, where n is the length of the string.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public robin-map
|
||||
(package
|
||||
(name "robin-map")
|
||||
(version "0.6.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Tessil/robin-map")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1li70vwsksva9c4yly90hjafgqfixi1g6d52qq9p6r60vqc4pkjj"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
`(("boost" ,boost))) ; needed for tests
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(mkdir "tests")
|
||||
(with-directory-excursion "tests"
|
||||
(invoke "cmake" "../../source/tests")
|
||||
(invoke "cmake" "--build" ".")
|
||||
(invoke "./tsl_robin_map_tests")))))))
|
||||
(home-page "https://github.com/Tessil/robin-map")
|
||||
(synopsis "C++ implementation of a fast hash map and hash set")
|
||||
(description "The robin-map library is a C++ implementation of a fast hash
|
||||
map and hash set using open-addressing and linear robin hood hashing with
|
||||
backward shift deletion to resolve collisions.
|
||||
|
||||
Four classes are provided: tsl::robin_map, tsl::robin_set, tsl::robin_pg_map
|
||||
and tsl::robin_pg_set. The first two are faster and use a power of two growth
|
||||
policy, the last two use a prime growth policy instead and are able to cope
|
||||
better with a poor hash function.")
|
||||
(license license:expat)))
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
;;; Copyright © 2015, 2016, 2017 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -23,29 +24,45 @@
|
|||
#:use-module (guix download)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-check)
|
||||
#:use-module (gnu packages python-crypto)
|
||||
#:use-module (gnu packages python-web)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages sphinx))
|
||||
#:use-module (gnu packages sphinx)
|
||||
#:use-module (gnu packages time)
|
||||
#:use-module (gnu packages xml))
|
||||
|
||||
(define-public radicale
|
||||
(package
|
||||
(name "radicale")
|
||||
(version "1.1.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "Radicale" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0ay90nj6fmr2aq8imi0mbjl4m2rzq7a83ikj8qs9gxsylj71j1y0"))))
|
||||
(version "3.0.4")
|
||||
(source
|
||||
(origin
|
||||
;; There are no tests in the PyPI tarball.
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Kozea/Radicale")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0hj9mmhrj32mzhxlnjcfijb7768cyjsn603nalp54clgb2gkmvw8"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f)) ; The tests are not distributed in the PyPi release.
|
||||
(native-inputs
|
||||
`(("python-pytest" ,python-pytest)
|
||||
("python-pytest-cov" ,python-pytest-cov)
|
||||
("python-pytest-flake8" ,python-pytest-flake8)
|
||||
("python-pytest-isort" ,python-pytest-isort)
|
||||
("python-pytest-runner" ,python-pytest-runner)
|
||||
("python-waitress" ,python-waitress)))
|
||||
(propagated-inputs
|
||||
;; TODO: Add python-pam
|
||||
`(("python-requests" ,python-requests)))
|
||||
`(("python-dateutil" ,python-dateutil)
|
||||
("python-defusedxml" ,python-defusedxml)
|
||||
("python-passlib" ,python-passlib)
|
||||
("python-vobject" ,python-vobject)))
|
||||
(synopsis "Basic CalDAV and CardDAV server")
|
||||
(description "Radicale is a CalDAV and CardDAV server for UNIX-like
|
||||
platforms. Calendars and address books are available for both local and remote
|
||||
|
@ -58,6 +75,44 @@ clients.")
|
|||
(home-page "https://radicale.org/")
|
||||
(license gpl3+)))
|
||||
|
||||
(define-public xandikos
|
||||
(package
|
||||
(name "xandikos")
|
||||
(version "0.2.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "xandikos" version))
|
||||
(sha256
|
||||
(base32 "13ikmcja9p42azb5ccqj2bw98zybna6zlflj10hqy0kvbib70l94"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
`(("python-aiohttp" ,python-aiohttp)
|
||||
("python-defusedxml" ,python-defusedxml)
|
||||
("python-dulwich" ,python-dulwich)
|
||||
("python-icalendar" ,python-icalendar)
|
||||
("python-jinja2" ,python-jinja2)
|
||||
("python-multidict" ,python-multidict)))
|
||||
(home-page "https://www.xandikos.org/")
|
||||
(synopsis "Lightweight CalDAV/CardDAV server")
|
||||
(description
|
||||
"Xandikos is a lightweight yet complete CardDAV/CalDAV server that backs
|
||||
onto a Git repository.
|
||||
|
||||
Features:
|
||||
|
||||
@itemize
|
||||
@item Easy to set up
|
||||
@item Share calendars (events, todo items, journal entries) via CalDAV and
|
||||
contacts (vCard) via CardDAV
|
||||
@item Automatically keep history and back up changes in Git
|
||||
@item Supports synchronization extensions for CalDAV/CardDAV for quick and
|
||||
efficient syncing
|
||||
@item Automatically keep history and back up
|
||||
@item Works with all tested CalDAV and CardDAV clients
|
||||
@end itemize")
|
||||
(license gpl3+)))
|
||||
|
||||
(define-public vdirsyncer
|
||||
(package
|
||||
(name "vdirsyncer")
|
||||
|
|
|
@ -202,7 +202,7 @@ unpacking them into a directory which can eventually be chrooted into.")
|
|||
(define-public debianutils
|
||||
(package
|
||||
(name "debianutils")
|
||||
(version "4.11")
|
||||
(version "4.11.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -211,7 +211,7 @@ unpacking them into a directory which can eventually be chrooted into.")
|
|||
(file-name (git-file-name "debianutils" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1fmhzvymajack7kh8g4qjbwd9mq85z6rxl1psd1sm67s5695i9rc"))))
|
||||
"18ypb7fivch53wwrdf73yhf1fhkwn9kvw1kfdc1m450241d6191w"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases (modify-phases %standard-phases
|
||||
|
|
|
@ -536,6 +536,31 @@ the position of the variable and allows you to modify its value.")
|
|||
;; by GPLv3 or later.
|
||||
(license (list license:lgpl3+ license:gpl3+))))
|
||||
|
||||
(define-public remake
|
||||
(package (inherit gnu-make)
|
||||
(name "remake")
|
||||
(version "4.3-1.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (let ((upstream-version
|
||||
(match (string-split version #\-)
|
||||
((ver sub) (string-append ver "%2Bdbg-" sub)))))
|
||||
(string-append "mirror://sourceforge/bashdb/"
|
||||
"remake/" upstream-version "/"
|
||||
"remake-" upstream-version ".tar.gz")))
|
||||
(file-name (string-append "remake-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0xlx2485y0israv2pfghmv74lxcv9i5y65agy69mif76yc4vfvif"))
|
||||
(patches (search-patches "remake-impure-dirs.patch"))))
|
||||
(inputs
|
||||
`(("readline" ,readline)
|
||||
,@(package-inputs gnu-make)))
|
||||
(home-page "http://bashdb.sourceforge.net/remake/")
|
||||
(description "Remake is an enhanced version of GNU Make that adds improved
|
||||
error reporting, better tracing, profiling, and a debugger.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public rr
|
||||
(package
|
||||
(name "rr")
|
||||
|
|
|
@ -205,14 +205,14 @@ It comes with a German-English dictionary with approximately 270,000 entries.")
|
|||
(define-public grammalecte
|
||||
(package
|
||||
(name "grammalecte")
|
||||
(version "1.10.0")
|
||||
(version "1.12.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch/zipbomb)
|
||||
(uri (string-append "https://grammalecte.net/grammalecte/zip/"
|
||||
"Grammalecte-fr-v" version ".zip"))
|
||||
(sha256
|
||||
(base32 "0lyngnvg995qdm9bhqj8vd8aywpcdqmzv3j4j77wxhsfa9k0pz08"))))
|
||||
(base32 "1aifa7rj8zyxgk5cgmlgcws2hip7a7y6sr7kddjdnpfgdgy4jjgh"))))
|
||||
(build-system python-build-system)
|
||||
(home-page "https://grammalecte.net")
|
||||
(synopsis "French spelling and grammar checker")
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
(define-public xxhash
|
||||
(package
|
||||
(name "xxhash")
|
||||
(version "0.7.4")
|
||||
(version "0.8.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -36,7 +36,7 @@
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "08j7wxshhzpyrnyilfnvhyv5ycm0yv5m7jf6q4kxcd7j4dcbhmpb"))))
|
||||
(base32 "0hpbzdd6kfki5f61g103vp7pfczqkdj0js63avl0ss552jfb8h96"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com>
|
||||
;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com>
|
||||
;;; Copyright © 2018, 2019 Pierre Neidhardt <mail@ambrevar.xyz>
|
||||
;;; Copyright © 2018, 2019, 2020 Pierre Neidhardt <mail@ambrevar.xyz>
|
||||
;;; Copyright © 2019 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
|
||||
;;; Copyright © 2020 Pkill -9 <pkill9@runbox.com>
|
||||
|
@ -520,7 +520,7 @@ a card with a smaller capacity than stated.")
|
|||
(define-public python-parted
|
||||
(package
|
||||
(name "python-parted")
|
||||
(version "3.11.2")
|
||||
(version "3.11.6")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -529,7 +529,7 @@ a card with a smaller capacity than stated.")
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0r6916n3w4vldxrq30a3z2iagvxgly4vfmlidjm65vwqnyv17bvn"))))
|
||||
(base32 "1xgrqhvn44vr3676j5sy2x3xfv2dzf7vncg25cmrsmkbd49x3z5j"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
@ -555,9 +555,6 @@ a card with a smaller capacity than stated.")
|
|||
(description "This package provides @code{parted} bindings for Python.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public python2-parted
|
||||
(package-with-python2 python-parted))
|
||||
|
||||
(define-public duperemove
|
||||
(package
|
||||
(name "duperemove")
|
||||
|
@ -692,7 +689,7 @@ passphrases.")
|
|||
(define-public ndctl
|
||||
(package
|
||||
(name "ndctl")
|
||||
(version "68")
|
||||
(version "69")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -701,7 +698,7 @@ passphrases.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0xmim7z4qp6x2ggndnbwd940c73pa1qlf3hxyn3qh5pyr69nh9y8"))))
|
||||
"1l7p0ycj27d4z07gf9qp796xpg16kfsg3rwx6plhilbhip1as4w7"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("asciidoc" ,asciidoc)
|
||||
|
@ -793,7 +790,7 @@ to create devices with respective mappings for the ATARAID sets discovered.")
|
|||
(define-public libblockdev
|
||||
(package
|
||||
(name "libblockdev")
|
||||
(version "2.23")
|
||||
(version "2.24")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/storaged-project/"
|
||||
|
@ -801,7 +798,7 @@ to create devices with respective mappings for the ATARAID sets discovered.")
|
|||
version "-1/libblockdev-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"15c7g2gbkahmy8c6677pvbvblan5h8jxcqqmn6nlvqwqynq2mkjm"))))
|
||||
"0wq7624pnprvfzrf39bq1cybd9lqwawbdg5bm0cchlpgvdq7q86w"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
@ -1005,3 +1002,42 @@ the popular but discontinued, X Win Commander. It aims to be the file manager
|
|||
of choice for all light thinking Unix addicts!")
|
||||
(home-page "http://roland65.free.fr/xfe/")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public hddtemp
|
||||
(package
|
||||
(name "hddtemp")
|
||||
(version "0.3-beta15")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://savannah/hddtemp/hddtemp-"
|
||||
version
|
||||
".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0nzgg4nl8zm9023wp4dg007z6x3ir60rwbcapr9ks2al81c431b1"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags (list (string-append
|
||||
"--with-db-path="
|
||||
(assoc-ref %outputs "out")
|
||||
"/share/hddtemp/hddtemp.db"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'install 'install-db
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((target (string-append (assoc-ref outputs "out")
|
||||
"/share/hddtemp/hddtemp.db")))
|
||||
(mkdir-p (dirname target))
|
||||
(copy-file (assoc-ref inputs "db") target)))))))
|
||||
(inputs
|
||||
`(("db" ,(origin
|
||||
(method url-fetch)
|
||||
(uri "mirror://savannah/hddtemp/hddtemp.db")
|
||||
(sha256
|
||||
(base32 "1fr6qgns6qv7cr40lic5yqwkkc7yjmmgx8j0z6d93csg3smzhhya"))))))
|
||||
(home-page "https://savannah.nongnu.org/projects/hddtemp/")
|
||||
(synopsis "Report the temperature of hard drives from S.M.A.R.T. information")
|
||||
(description "@command{hddtemp} is a small utility that gives you the
|
||||
temperature of your hard drive by reading S.M.A.R.T. informations (for drives
|
||||
that support this feature).")
|
||||
(license license:gpl2+)))
|
||||
|
|
|
@ -38,6 +38,7 @@
|
|||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages certs)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages documentation)
|
||||
|
@ -45,10 +46,12 @@
|
|||
#:use-module (gnu packages crypto)
|
||||
#:use-module (gnu packages datastructures)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages groff)
|
||||
#:use-module (gnu packages groff)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages libedit)
|
||||
#:use-module (gnu packages libevent)
|
||||
#:use-module (gnu packages libidn)
|
||||
|
@ -62,6 +65,7 @@
|
|||
#:use-module (gnu packages protobuf)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages shells)
|
||||
#:use-module (gnu packages sphinx)
|
||||
#:use-module (gnu packages swig)
|
||||
#:use-module (gnu packages tls)
|
||||
|
@ -73,10 +77,199 @@
|
|||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build-system glib-or-gtk)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix build-system trivial))
|
||||
|
||||
(define-public ldns
|
||||
(package
|
||||
(name "ldns")
|
||||
(version "1.7.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append "https://www.nlnetlabs.nl/downloads/"
|
||||
name "/" name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0ac242n7996fswq1a3nlh1bbbhrsdwsq4mx7xq8ffq6aplb4rj4a"))
|
||||
(patches
|
||||
(search-patches
|
||||
;; To create make-flag vairables,
|
||||
;; for splitting installation of drill and examples.
|
||||
"ldns-drill-examples.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" "drill" "examples" "pyldns"))
|
||||
(arguments
|
||||
`( ;; Tests require Tpkg.
|
||||
;; https://tpkg.github.io/
|
||||
#:tests? #f
|
||||
#:configure-flags
|
||||
(list
|
||||
"--disable-static"
|
||||
"--enable-gost-anyway"
|
||||
"--enable-rrtype-ninfo"
|
||||
"--enable-rrtype-rkey"
|
||||
"--enable-rrtype-ta"
|
||||
"--enable-rrtype-avc"
|
||||
"--enable-rrtype-doa"
|
||||
"--enable-rrtype-amtrelay"
|
||||
"--with-drill"
|
||||
"--with-examples"
|
||||
"--with-pyldns"
|
||||
;; Perl module DNS::LDNS not available.
|
||||
;; https://github.com/erikoest/DNS-LDNS.git
|
||||
;; "--with-p5-dns-ldns"
|
||||
(string-append "--with-ssl="
|
||||
(assoc-ref %build-inputs "openssl"))
|
||||
(string-append "--with-ca-path="
|
||||
(assoc-ref %build-inputs "nss-certs")
|
||||
"/etc/ssl/certs"))
|
||||
#:make-flags
|
||||
(list
|
||||
(string-append "drillbindir="
|
||||
(assoc-ref %outputs "drill")
|
||||
"/bin")
|
||||
(string-append "drillmandir="
|
||||
(assoc-ref %outputs "drill")
|
||||
"/share/man")
|
||||
(string-append "examplesbindir="
|
||||
(assoc-ref %outputs "examples")
|
||||
"/bin")
|
||||
(string-append "examplesmandir="
|
||||
(assoc-ref %outputs "examples")
|
||||
"/share/man")
|
||||
(string-append "python_site="
|
||||
(assoc-ref %outputs "pyldns")
|
||||
"/lib/python"
|
||||
,(version-major+minor
|
||||
(package-version python))
|
||||
"/site-packages"))))
|
||||
(native-inputs
|
||||
`(("doxygen" ,doxygen)
|
||||
("ksh" ,oksh)
|
||||
("perl" ,perl)
|
||||
("perl-devel-checklib" ,perl-devel-checklib)
|
||||
("pkg-config" ,pkg-config)
|
||||
("python" ,python-wrapper)
|
||||
("swig" ,swig)))
|
||||
(inputs
|
||||
`(("libpcap" ,libpcap)
|
||||
("nss-certs" ,nss-certs)
|
||||
("openssl" ,openssl)))
|
||||
(synopsis "DNS library that facilitates DNS tool programming")
|
||||
(description "LDNS aims to simplify DNS programming, it supports recent
|
||||
RFCs like the DNSSEC documents, and allows developers to easily create
|
||||
software conforming to current RFCs, and experimental software for current
|
||||
Internet Drafts. A secondary benefit of using ldns is speed; ldns is written in
|
||||
C it should be a lot faster than Perl.")
|
||||
(home-page "https://nlnetlabs.nl/projects/ldns/about/")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public dnssec-trigger
|
||||
(package
|
||||
(name "dnssec-trigger")
|
||||
(version "0.17")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append "https://www.nlnetlabs.nl/downloads/"
|
||||
name "/" name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "10928q406x9r66a090xl5kznzgyxpja88w4srwcv454hd351j9f0"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(outputs '("out" "gui" "nm"))
|
||||
(arguments
|
||||
`(#:test-target "test"
|
||||
#:configure-flags
|
||||
(list
|
||||
(string-append "--with-ssl="
|
||||
(assoc-ref %build-inputs "openssl"))
|
||||
"--with-hooks=networkmanager"
|
||||
(string-append "--with-networkmanager-dispatch="
|
||||
(assoc-ref %outputs "nm")
|
||||
"/etc/NetworkManager/dispatcher.d")
|
||||
(string-append "--with-xdg-autostart="
|
||||
(assoc-ref %outputs "gui")
|
||||
"/etc/xdg/autostart")
|
||||
(string-append "--with-uidir="
|
||||
(assoc-ref %outputs "gui")
|
||||
"/share/dnssec-trigger")
|
||||
(string-append "--with-python="
|
||||
(assoc-ref %build-inputs "python")
|
||||
"/bin/python")
|
||||
(string-append "--with-unbound-control="
|
||||
(assoc-ref %build-inputs "unbound")
|
||||
"/sbin/unbound-control")
|
||||
"--with-forward-zones-support")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-configure
|
||||
(lambda _
|
||||
(substitute* "configure"
|
||||
(("appindicator-0.1")
|
||||
"appindicator3-0.1"))
|
||||
#t))
|
||||
(add-before 'configure 'patch-makefile
|
||||
(lambda _
|
||||
(substitute* "Makefile.in"
|
||||
(("/usr")
|
||||
"$(prefix)")
|
||||
(("/etc")
|
||||
"$(prefix)/etc")
|
||||
((".*gtk-update-icon-cache.*")
|
||||
""))
|
||||
#t))
|
||||
(add-after 'install 'remove-systemd
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out")))
|
||||
(delete-file-recursively
|
||||
(string-append out "/lib/systemd"))
|
||||
#t)))
|
||||
(add-after 'remove-systemd 'move-gui
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(gui (assoc-ref outputs "gui")))
|
||||
(mkdir-p (string-append gui "/bin"))
|
||||
(mkdir-p (string-append gui "/share"))
|
||||
(rename-file
|
||||
(string-append out "/bin")
|
||||
(string-append gui "/bin"))
|
||||
(rename-file
|
||||
(string-append out "/share/icons")
|
||||
(string-append gui "/share/icons"))
|
||||
#t)))
|
||||
(add-after 'move-gui 'move-nm
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(nm (assoc-ref outputs "nm")))
|
||||
(mkdir-p (string-append nm "/libexec"))
|
||||
(rename-file
|
||||
(string-append out "/libexec")
|
||||
(string-append nm "/libexec"))
|
||||
#t))))))
|
||||
(native-inputs
|
||||
`(("cmocka" ,cmocka)
|
||||
("pkg-config" ,pkg-config)
|
||||
("python" ,python-wrapper)))
|
||||
(inputs
|
||||
`(("gtk+-2" ,gtk+-2)
|
||||
("ldns" ,ldns)
|
||||
("libappindicator" ,libappindicator)
|
||||
("openssl" ,openssl)
|
||||
("unbound" ,unbound)))
|
||||
(synopsis "DNSSEC protection for the DNS traffic")
|
||||
(description "DNSSEC-Trigger enables your computer to use DNSSEC protection
|
||||
for the DNS traffic. It relies on the Unbound DNS resolver running locally on
|
||||
your system, which performs DNSSEC validation. It reconfigures Unbound in such
|
||||
a way that it will signal it to to use the DHCP obtained forwarders if possible,
|
||||
fallback to doing its own AUTH queries if that fails, and if that fails it will
|
||||
prompt the user with the option to go with insecure DNS only.")
|
||||
(home-page "https://www.nlnetlabs.nl/projects/dnssec-trigger/about/")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public dnsmasq
|
||||
(package
|
||||
(name "dnsmasq")
|
||||
|
@ -119,7 +312,8 @@ and BOOTP/TFTP for network booting of diskless machines.")
|
|||
(define-public isc-bind
|
||||
(package
|
||||
(name "bind")
|
||||
(version "9.16.5")
|
||||
;; When updating, check whether isc-dhcp's bundled copy should be as well.
|
||||
(version "9.16.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -127,7 +321,7 @@ and BOOTP/TFTP for network booting of diskless machines.")
|
|||
"/bind-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0xf07mmd0vi91jd15z8d3hhjva8v27l4ip4l8yzah4gg3zjv6y33"))))
|
||||
"1jvi6ms51vyrhpflx05xlb7gblyd59zsyj28b8s3pl3xnkrv0rxm"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs `("out" "utils"))
|
||||
(inputs
|
||||
|
@ -609,14 +803,14 @@ Extensions} (DNSSEC).")
|
|||
(define-public knot
|
||||
(package
|
||||
(name "knot")
|
||||
(version "2.9.5")
|
||||
(version "2.9.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://secure.nic.cz/files/knot-dns/"
|
||||
"knot-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "0xmzmhd2m9rb24clrrd9k058harsq67nyjplpbyxvy1g46xah28i"))
|
||||
(base32 "1rxjjisr6rz1wa4279ghvj5zzhgyjhncmb9dkzqm8nw2qs1jhx5z"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
|
|
@ -50,9 +50,9 @@
|
|||
|
||||
(define %docker-version "19.03.12")
|
||||
|
||||
(define-public python-docker-py
|
||||
(define-public python-docker
|
||||
(package
|
||||
(name "python-docker-py")
|
||||
(name "python-docker")
|
||||
(version "3.7.3")
|
||||
(source
|
||||
(origin
|
||||
|
@ -116,7 +116,7 @@ client.")
|
|||
(inputs
|
||||
`(("python-cached-property"
|
||||
,python-cached-property)
|
||||
("python-docker-py" ,python-docker-py)
|
||||
("python-docker" ,python-docker)
|
||||
("python-dockerpty" ,python-dockerpty)
|
||||
("python-docopt" ,python-docopt)
|
||||
("python-jsonschema" ,python-jsonschema)
|
||||
|
|
|
@ -5,10 +5,11 @@
|
|||
;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
|
||||
;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be>
|
||||
;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
|
||||
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -32,32 +33,84 @@
|
|||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system qt)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages backup)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages kde-frameworks)
|
||||
#:use-module (gnu packages docbook)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages graphviz)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages xml))
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages xorg))
|
||||
|
||||
(define-public latex2html
|
||||
(package
|
||||
(name "latex2html")
|
||||
(version "2020.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri
|
||||
(git-reference
|
||||
(url "https://github.com/latex2html/latex2html.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1icyl6kl60wh7cavprgbd8q6lpjwr7wn24m34kpiif7ahknhcbcm"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(substitute* "configure"
|
||||
(("/usr/local")
|
||||
(assoc-ref outputs "out"))
|
||||
(("\\$\\{CONFIG_SHELL-/bin/sh\\}")
|
||||
(which "bash")))
|
||||
#t))
|
||||
(replace 'configure
|
||||
(lambda _
|
||||
(invoke "./configure")
|
||||
#t))
|
||||
(add-after 'configure 'patch-cfgcache
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(substitute* "cfgcache.pm"
|
||||
(("/usr/local")
|
||||
(assoc-ref outputs "out")))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("perl" ,perl)))
|
||||
(synopsis "LaTeX documents to HTML")
|
||||
(description "LaTeX2HTML is a utility that converts LaTeX documents to web
|
||||
pages in HTML.")
|
||||
(home-page "https://www.latex2html.org/")
|
||||
(license gpl2+)))
|
||||
|
||||
(define-public asciidoc
|
||||
(package
|
||||
(name "asciidoc")
|
||||
(version "8.6.10")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/asciidoc/asciidoc/"
|
||||
"archive/" version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/asciidoc/asciidoc")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"10xrl1iwyvs8aqm0vzkvs3dnsn93wyk942kk4ppyl6w9imbzhlly"))))
|
||||
"1hrqkgjmp1gq3f9rkbr8l0y62fzvwb9n8ys35s25bg2ld04y4g4y"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no 'check' target
|
||||
|
@ -258,3 +311,34 @@ sort, and search the document catalog. It will also be able to communicate
|
|||
with catalog servers on the Net to search for documents which are not on the
|
||||
local system.")
|
||||
(license lgpl2.1+)))
|
||||
|
||||
(define-public zeal
|
||||
(package
|
||||
(name "zeal")
|
||||
(version "0.6.1")
|
||||
(home-page "https://github.com/zealdocs/zeal")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "05qcjpibakv4ibhxgl5ajbkby3w7bkxsv3nfv2a0kppi1z0f8n8v"))))
|
||||
(build-system qt-build-system)
|
||||
(arguments `(#:tests? #f)) ; no tests
|
||||
(native-inputs
|
||||
`(("extra-cmake-modules" ,extra-cmake-modules)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("libarchive" ,libarchive)
|
||||
("sqlite" ,sqlite)
|
||||
("qtbase" ,qtbase)
|
||||
("qtwebkit" ,qtwebkit)
|
||||
("qtx11extras" ,qtx11extras)
|
||||
("xcb-util-keyms" ,xcb-util-keysyms)))
|
||||
(synopsis "Offline documentation browser inspired by Dash")
|
||||
(description "Zeal is a simple offline documentation browser
|
||||
inspired by Dash.")
|
||||
(license gpl3+)))
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
(define-public dunst
|
||||
(package
|
||||
(name "dunst")
|
||||
(version "1.4.1")
|
||||
(version "1.5.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -45,7 +45,7 @@
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0xjj1f2jr1ja5grj6wrx5jjz1sx5fpqnvkw7nqi4452j3nc4p4l2"))))
|
||||
"0irwkqcgwkqaylcpvqgh25gn2ysbdm2kydipxfzcq1ddj9ns6f9c"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; no check target
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org>
|
||||
;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -75,7 +76,7 @@ It can read and write LCF and XML files.")
|
|||
(define-public easyrpg-player
|
||||
(package
|
||||
(name "easyrpg-player")
|
||||
(version "0.6.1")
|
||||
(version "0.6.2.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -83,7 +84,7 @@ It can read and write LCF and XML files.")
|
|||
"/easyrpg-player-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1x81d1952w6vb939155bvs5p3shgsncxy305770izpp4pva1a8z0"))))
|
||||
"1bai0mxjw1qvl2vcwgssycbyn0crk0b5l69ld9rawcs2nczb44s5"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
;;; Copyright © 2015, 2016 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017 Alex Griffin <a@ajgrf.com>
|
||||
;;; Copyright © 2017, 2019 Brendan Tildesley <mail@brendan.scot>
|
||||
;;; Copyright © 2017, 2019, 2020 Brendan Tildesley <mail@brendan.scot>
|
||||
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
|
||||
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
|
||||
|
@ -28,7 +28,6 @@
|
|||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages compression)
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
;;; Copyright © 2020 Robert Smith <robertsmith@posteo.net>
|
||||
;;; Copyright © 2020 Guy Fleury Iteriteka <gfleury@disroot.org>
|
||||
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
|
||||
;;; Copyright © 2020 Prafulla Giri <pratheblackdiamond@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -274,7 +275,7 @@ easy.")
|
|||
(define-public snap
|
||||
(package
|
||||
(name "snap")
|
||||
(version "6.0.0")
|
||||
(version "6.1.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -283,7 +284,7 @@ easy.")
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1j5hcnms12hpnl2ba7haf00l08rkpb5wpfsgax07p838q5dc7cam"))))
|
||||
(base32 "0qvnm5jg2hlf32say531m8nmp3aib93mqnllw1g289s58fzk5li6"))))
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build utils))
|
||||
|
@ -486,7 +487,7 @@ specialized device.")
|
|||
Comment[ca]=Conjunt de jocs educatius per a xiquets~@
|
||||
Comment[es]=Conjunto de juegos educativos para niños~@
|
||||
Comment[de]=Sammlung mit lehrreichen Spielen für kleine Kinder~@
|
||||
Exec=~a/bin/childsplay.py~@
|
||||
Exec=~a/bin/childsplay~@
|
||||
Terminal=false~@
|
||||
Icon=logo_cp.svg~@
|
||||
Type=Application~@
|
||||
|
@ -612,14 +613,14 @@ Portuguese, Spanish and Italian.")
|
|||
(define-public fet
|
||||
(package
|
||||
(name "fet")
|
||||
(version "5.45.1")
|
||||
(version "5.46.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.lalescu.ro/liviu/fet/download/"
|
||||
"fet-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "1pg47jk6fw46fr7m32l1ypm1zyjfz1ik5f333ynqqr705f1c0ij5"))))
|
||||
(base32 "1vcsm12lqf84mz9ppw2knjyv5ss2ws0dblbp418hll91dry7m49a"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
@ -651,14 +652,14 @@ hours.")
|
|||
(define-public klavaro
|
||||
(package
|
||||
(name "klavaro")
|
||||
(version "3.10")
|
||||
(version "3.11")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/klavaro/klavaro-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "0jnzdrndiq6m0bwgid977z5ghp4q61clwdlzfpx4fd2ml5x3iq95"))))
|
||||
(base32 "1rkxaqb62w4mv86fcnmr32lq6y0h4hh92wmsy5ddb9a8jnzx6r7w"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("intltool" ,intltool)
|
||||
|
@ -758,6 +759,13 @@ adjust the level of difficulty.")
|
|||
(ice-9 match))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'disable-update-check
|
||||
;; Don't ‘phone home’ unasked to check for updates.
|
||||
(lambda _
|
||||
(substitute* "aqt/update.py"
|
||||
(("requests\\.post")
|
||||
"throw.an.exception.instead"))
|
||||
#t))
|
||||
(delete 'configure) ;no configure script
|
||||
(add-after 'install 'wrap
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
|
|
|
@ -186,8 +186,7 @@ as simple logic analyzer and/or oscilloscope hardware.")
|
|||
(find-files input-dir ".")))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("check" ,check)
|
||||
("doxygen" ,doxygen)
|
||||
`(("doxygen" ,doxygen)
|
||||
("graphviz" ,graphviz)
|
||||
("sigrok-firmware-fx2lafw" ,sigrok-firmware-fx2lafw)
|
||||
("pkg-config" ,pkg-config)))
|
||||
|
|
|
@ -27,8 +27,7 @@
|
|||
#:use-module (guix git-download)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages erlang)
|
||||
#:use-module (gnu packages version-control))
|
||||
#:use-module (gnu packages erlang))
|
||||
|
||||
(define-public elixir
|
||||
(package
|
||||
|
@ -100,8 +99,7 @@
|
|||
#t))
|
||||
(delete 'configure))))
|
||||
(inputs
|
||||
`(("erlang" ,erlang)
|
||||
("git" ,git)))
|
||||
`(("erlang" ,erlang)))
|
||||
(home-page "https://elixir-lang.org/")
|
||||
(synopsis "Elixir programming language")
|
||||
(description "Elixir is a dynamic, functional language used to build
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -2,7 +2,7 @@
|
|||
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
|
||||
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2014, 2015, 2016, 2017 Alex Kost <alezost@gmail.com>
|
||||
;;; Copyright © 2016, 2018 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2016 Federico Beffa <beffa@fbengineering.ch>
|
||||
|
@ -21,6 +21,7 @@
|
|||
;;; Copyright © 2019 Leo Prikler <leo.prikler@student.tugraz.at>
|
||||
;;; Copyright © 2019 Amin Bandali <bandali@gnu.org>
|
||||
;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us>
|
||||
;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -61,6 +62,7 @@
|
|||
#:use-module (gnu packages imagemagick)
|
||||
#:use-module (gnu packages linux) ; alsa-lib
|
||||
#:use-module (gnu packages mail) ; for mailutils
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages texinfo)
|
||||
|
@ -75,16 +77,17 @@
|
|||
(define-public emacs
|
||||
(package
|
||||
(name "emacs")
|
||||
(version "26.3")
|
||||
(version "27.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/emacs/emacs-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"119ldpk7sgn9jlpyngv5y4z3i7bb8q3xp4p0qqi7i5nq39syd42d"))
|
||||
"0h9f2wpmp6rb5rfwvqwv1ia1nw86h74p7hnz3vb3gjazj67i4k2a"))
|
||||
(patches (search-patches "emacs-exec-path.patch"
|
||||
"emacs-fix-scheme-indent-function.patch"
|
||||
"emacs-ignore-empty-xim-styles.patch"
|
||||
"emacs-source-date-epoch.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
|
@ -94,15 +97,7 @@
|
|||
(for-each delete-file
|
||||
(append (find-files "." "\\.elc$")
|
||||
(find-files "." "loaddefs\\.el$")
|
||||
;; This is the only "autoloads" file that
|
||||
;; does not have "*loaddefs.el" name.
|
||||
;; TODO: Next time changing this package,
|
||||
;; replace the following with a call to
|
||||
;; `find-files', so that `delete-file'
|
||||
;; wouldn't error out when the file is
|
||||
;; missing, making the entire snippet field
|
||||
;; reusable as-is for `emacs-next' below.
|
||||
'("eshell/esh-groups.el")))
|
||||
(find-files "eshell" "^esh-groups\\.el$")))
|
||||
|
||||
;; Make sure Tramp looks for binaries in the right places on
|
||||
;; remote Guix System machines, where 'getconf PATH' returns
|
||||
|
@ -129,6 +124,7 @@
|
|||
(arguments
|
||||
`(#:tests? #f ; no check target
|
||||
#:configure-flags (list "--with-modules"
|
||||
"--with-cairo"
|
||||
"--disable-build-details")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
|
@ -155,7 +151,7 @@
|
|||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(lisp-dir (string-append out "/share/emacs/site-lisp"))
|
||||
(emacs (string-append out "/bin/emacs")))
|
||||
(emacs (string-append out "/bin/emacs")))
|
||||
|
||||
;; This is duplicated from emacs-utils to prevent coupling.
|
||||
(define* (emacs-byte-compile-directory dir)
|
||||
|
@ -179,7 +175,42 @@
|
|||
;; which leads to conflicts.
|
||||
(delete-file (string-append lisp-dir "/subdirs.el"))
|
||||
;; Byte compile the site-start files.
|
||||
(emacs-byte-compile-directory lisp-dir)))))))
|
||||
(emacs-byte-compile-directory lisp-dir))
|
||||
#t))
|
||||
(add-after 'glib-or-gtk-wrap 'restore-emacs-pdmp
|
||||
;; restore the dump file that Emacs installs somewhere in
|
||||
;; libexec/ to its original state
|
||||
(lambda* (#:key outputs target #:allow-other-keys)
|
||||
(let* ((libexec (string-append (assoc-ref outputs "out")
|
||||
"/libexec"))
|
||||
;; each of these find-files should return one file
|
||||
(pdmp (find-files libexec "^emacs\\.pdmp$"))
|
||||
(pdmp-real (find-files libexec
|
||||
"^\\.emacs\\.pdmp-real$")))
|
||||
(for-each (lambda (wrapper real)
|
||||
(delete-file wrapper)
|
||||
(rename-file real wrapper))
|
||||
pdmp pdmp-real))
|
||||
#t))
|
||||
(add-after 'glib-or-gtk-wrap 'strip-double-wrap
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; Directly copy emacs-X.Y to emacs, so that it is not wrapped
|
||||
;; twice. This also fixes a minor issue, where WMs would not be
|
||||
;; able to track emacs back to emacs.desktop.
|
||||
(with-directory-excursion (assoc-ref outputs "out")
|
||||
(copy-file (string-append
|
||||
"bin/emacs-"
|
||||
,(version-major+minor (package-version emacs)))
|
||||
"bin/emacs")
|
||||
#t)))
|
||||
(add-before 'reset-gzip-timestamps 'make-compressed-files-writable
|
||||
;; The 'reset-gzip-timestamps phase will throw a permission error
|
||||
;; if gzip files aren't writable then. This phase is needed when
|
||||
;; building from a git checkout.
|
||||
(lambda _
|
||||
(for-each make-file-writable
|
||||
(find-files %output ".*\\.t?gz$"))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("gnutls" ,gnutls)
|
||||
("ncurses" ,ncurses)
|
||||
|
@ -191,12 +222,16 @@
|
|||
;; TODO: Add the optional dependencies.
|
||||
("libx11" ,libx11)
|
||||
("gtk+" ,gtk+)
|
||||
("cairo" ,cairo)
|
||||
("pango" ,pango)
|
||||
("harfbuzz" ,harfbuzz)
|
||||
("libxft" ,libxft)
|
||||
("libtiff" ,libtiff)
|
||||
("giflib" ,giflib)
|
||||
("libjpeg" ,libjpeg-turbo)
|
||||
("imagemagick" ,imagemagick)
|
||||
("acl" ,acl)
|
||||
("jansson" ,jansson)
|
||||
("gmp" ,gmp)
|
||||
|
||||
;; When looking for libpng `configure' links with `-lpng -lz', so we
|
||||
;; must also provide zlib as an input.
|
||||
|
@ -243,117 +278,57 @@ languages.")
|
|||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-next
|
||||
(let ((commit "c36c5a3dedbb2e0349be1b6c3b7567ea7b594f1c")
|
||||
(let ((commit "2ea34662c20f71d35dd52a5ed996542c7386b9cb")
|
||||
(revision "0")
|
||||
(emacs-version "27.0.91"))
|
||||
(package
|
||||
(inherit emacs)
|
||||
(emacs-version "28.0.50.1"))
|
||||
(package/inherit emacs
|
||||
(name "emacs-next")
|
||||
(version (git-version emacs-version revision commit))
|
||||
(source
|
||||
(origin
|
||||
(inherit (package-source emacs))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.savannah.gnu.org/git/emacs.git")
|
||||
(url "https://git.savannah.gnu.org/git/emacs.git/")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32 "0mlrg2npy1r79laahkgzhxd1qassfcdz8qk1cpw7mqgf6y5x505h"))
|
||||
(file-name (git-file-name name version))
|
||||
(patches (search-patches "emacs27-exec-path.patch"
|
||||
"emacs-fix-scheme-indent-function.patch"
|
||||
"emacs-source-date-epoch.patch"))
|
||||
(modules (origin-modules (package-source emacs)))
|
||||
;; TODO: once the snippet for `emacs' is changed to not fail when
|
||||
;; eshell/esh-groups.el does not exist, replace this snippet with
|
||||
;; (snippet (origin-snippet (package-source emacs))))).
|
||||
(snippet
|
||||
'(with-directory-excursion "lisp"
|
||||
;; Make sure Tramp looks for binaries in the right places on
|
||||
;; remote Guix System machines, where 'getconf PATH' returns
|
||||
;; something bogus.
|
||||
(substitute* "net/tramp-sh.el"
|
||||
;; Patch the line after "(defcustom tramp-remote-path".
|
||||
(("\\(tramp-default-remote-path")
|
||||
(format #f "(tramp-default-remote-path ~s ~s ~s ~s "
|
||||
"~/.guix-profile/bin" "~/.guix-profile/sbin"
|
||||
"/run/current-system/profile/bin"
|
||||
"/run/current-system/profile/sbin")))
|
||||
|
||||
;; Make sure Man looks for C header files in the right
|
||||
;; places.
|
||||
(substitute* "man.el"
|
||||
(("\"/usr/local/include\"" line)
|
||||
(string-join
|
||||
(list line
|
||||
"\"~/.guix-profile/include\""
|
||||
"\"/var/guix/profiles/system/profile/include\"")
|
||||
" ")))
|
||||
#t))))
|
||||
(sha256
|
||||
(base32
|
||||
"0igjm9kwiswn2dpiy2k9xikbdfc7njs07ry48fqz70anljj8y7y3"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments emacs)
|
||||
((#:configure-flags flags)
|
||||
`(cons* "--with-harfbuzz" ,flags))
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
;; The 'reset-gzip-timestamps phase will throw a
|
||||
;; permission error if gzip files aren't writable then
|
||||
(add-before
|
||||
'reset-gzip-timestamps
|
||||
'make-compressed-files-writable
|
||||
(lambda _
|
||||
(for-each make-file-writable
|
||||
(find-files %output ".*\\.t?gz$"))
|
||||
#t))
|
||||
;; restore the dump file that Emacs installs somewhere in
|
||||
;; libexec/ to its original state
|
||||
(add-after 'glib-or-gtk-wrap 'restore-emacs-pdmp
|
||||
(lambda* (#:key outputs target #:allow-other-keys)
|
||||
(let* ((libexec (string-append (assoc-ref outputs "out")
|
||||
"/libexec"))
|
||||
;; each of these find-files should return one file
|
||||
(pdmp (find-files libexec "^emacs\\.pdmp$"))
|
||||
(pdmp-real (find-files libexec
|
||||
"^\\.emacs\\.pdmp-real$")))
|
||||
(for-each (lambda (wrapper real)
|
||||
(delete-file wrapper)
|
||||
(rename-file real wrapper))
|
||||
pdmp pdmp-real)
|
||||
(replace 'strip-double-wrap
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; Directly copy emacs-X.Y to emacs, so that it is not wrapped
|
||||
;; twice. This also fixes a minor issue, where WMs would not be
|
||||
;; able to track emacs back to emacs.desktop.
|
||||
(with-directory-excursion (assoc-ref outputs "out")
|
||||
(copy-file (string-append
|
||||
"bin/emacs-"
|
||||
,(version-major+minor+point (package-version emacs-next)))
|
||||
"bin/emacs")
|
||||
#t)))))))
|
||||
(inputs
|
||||
`(("jansson" ,jansson)
|
||||
("harfbuzz" ,harfbuzz)
|
||||
;; Emacs no longer uses ImageMagick by default
|
||||
;; https://git.savannah.gnu.org/cgit/emacs.git/tree/etc/NEWS?h=emacs-27.0.91&id=c36c5a3dedbb2e0349be1b6c3b7567ea7b594f1c#n102
|
||||
,@(alist-delete "imagemagick" (package-inputs emacs))))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf) ; needed when building from trunk
|
||||
,@(package-native-inputs emacs)))
|
||||
|
||||
;; TODO: consider changing `emacs' to use a more robust way of
|
||||
;; specifying version for "EMACSLOADPATH", so as to avoid having to
|
||||
;; duplicate native-search-paths here.
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "EMACSLOADPATH")
|
||||
;; The versioned entry is for the Emacs' builtin libraries.
|
||||
(files
|
||||
(list "share/emacs/site-lisp"
|
||||
(string-append "share/emacs/" emacs-version "/lisp"))))
|
||||
(search-path-specification
|
||||
(variable "INFOPATH")
|
||||
(files '("share/info"))))))))
|
||||
`(("autoconf" ,autoconf)
|
||||
,@(package-native-inputs emacs))))))
|
||||
|
||||
(define-public emacs-minimal
|
||||
;; This is the version that you should use as an input to packages that just
|
||||
;; need to byte-compile .el files.
|
||||
(package (inherit emacs)
|
||||
(package/inherit emacs
|
||||
(name "emacs-minimal")
|
||||
(synopsis "The extensible text editor (used only for byte-compilation)")
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments emacs)
|
||||
((#:configure-flags flags ''())
|
||||
`(list "--with-gnutls=no" "--disable-build-details"))))
|
||||
`(list "--with-gnutls=no" "--disable-build-details"))
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(delete 'restore-emacs-pdmp)
|
||||
(delete 'strip-double-wrap)))))
|
||||
(inputs
|
||||
`(("guix-emacs.el" ,(search-auxiliary-file "emacs/guix-emacs.el"))
|
||||
("ncurses" ,ncurses)))
|
||||
|
@ -361,8 +336,7 @@ languages.")
|
|||
`(("pkg-config" ,pkg-config)))))
|
||||
|
||||
(define-public emacs-xwidgets
|
||||
(package
|
||||
(inherit emacs)
|
||||
(package/inherit emacs
|
||||
(name "emacs-xwidgets")
|
||||
(synopsis "The extensible, customizable, self-documenting text
|
||||
editor (with xwidgets support)")
|
||||
|
@ -370,14 +344,18 @@ editor (with xwidgets support)")
|
|||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments emacs)
|
||||
((#:configure-flags flags ''())
|
||||
`(cons "--with-xwidgets" ,flags))))
|
||||
`(cons "--with-xwidgets" ,flags))
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(delete 'restore-emacs-pdmp)
|
||||
(delete 'strip-double-wrap)))))
|
||||
(inputs
|
||||
`(("webkitgtk" ,webkitgtk)
|
||||
("libxcomposite" ,libxcomposite)
|
||||
,@(package-inputs emacs)))))
|
||||
|
||||
(define-public emacs-no-x
|
||||
(package (inherit emacs)
|
||||
(package/inherit emacs
|
||||
(name "emacs-no-x")
|
||||
(synopsis "The extensible, customizable, self-documenting text
|
||||
editor (console only)")
|
||||
|
@ -386,13 +364,21 @@ editor (console only)")
|
|||
(package-inputs emacs)
|
||||
'("libx11" "gtk+" "libxft" "libtiff" "giflib" "libjpeg"
|
||||
"imagemagick" "libpng" "librsvg" "libxpm" "libice"
|
||||
"libsm"
|
||||
"libsm" "cairo" "pango" "harfbuzz"
|
||||
|
||||
;; These depend on libx11, so remove them as well.
|
||||
"libotf" "m17n-lib" "dbus")))))
|
||||
"libotf" "m17n-lib" "dbus")))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments emacs)
|
||||
((#:configure-flags flags ''())
|
||||
`(delete "--with-cairo" ,flags))
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(delete 'restore-emacs-pdmp)
|
||||
(delete 'strip-double-wrap)))))))
|
||||
|
||||
(define-public emacs-no-x-toolkit
|
||||
(package (inherit emacs)
|
||||
(package/inherit emacs
|
||||
(name "emacs-no-x-toolkit")
|
||||
(synopsis "The extensible, customizable, self-documenting text
|
||||
editor (without an X toolkit)" )
|
||||
|
@ -400,13 +386,16 @@ editor (without an X toolkit)" )
|
|||
(inputs (append `(("inotify-tools" ,inotify-tools))
|
||||
(alist-delete "gtk+" (package-inputs emacs))))
|
||||
(arguments
|
||||
`(,@(substitute-keyword-arguments (package-arguments emacs)
|
||||
((#:configure-flags cf)
|
||||
`(cons "--with-x-toolkit=no" ,cf)))))))
|
||||
(substitute-keyword-arguments (package-arguments emacs)
|
||||
((#:configure-flags flags ''())
|
||||
`(cons "--with-x-toolkit=no" ,flags))
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(delete 'restore-emacs-pdmp)
|
||||
(delete 'strip-double-wrap)))))))
|
||||
|
||||
(define-public emacs-wide-int
|
||||
(package
|
||||
(inherit emacs)
|
||||
(package/inherit emacs
|
||||
(name "emacs-wide-int")
|
||||
(synopsis "The extensible, customizable, self-documenting text
|
||||
editor (with wide ints)" )
|
||||
|
@ -418,7 +407,7 @@ editor (with wide ints)" )
|
|||
(define-public guile-emacs
|
||||
(let ((commit "41120e0f595b16387eebfbf731fff70481de1b4b")
|
||||
(revision "0"))
|
||||
(package (inherit emacs)
|
||||
(package/inherit emacs
|
||||
(name "guile-emacs")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
|
@ -442,6 +431,8 @@ editor (with wide ints)" )
|
|||
;; Tests aren't passing for now.
|
||||
#:tests? #f
|
||||
,@(package-arguments emacs))
|
||||
((#:configure-flags flags ''())
|
||||
`(delete "--with-cairo" ,flags))
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(add-after 'unpack 'autogen
|
||||
|
@ -450,7 +441,9 @@ editor (with wide ints)" )
|
|||
;; Build sometimes fails: deps/dispnew.d: No such file or directory
|
||||
(add-before 'build 'make-deps-dir
|
||||
(lambda _
|
||||
(invoke "mkdir" "-p" "src/deps"))))))))))
|
||||
(invoke "mkdir" "-p" "src/deps")))
|
||||
(delete 'restore-emacs-pdmp)
|
||||
(delete 'strip-double-wrap))))))))
|
||||
|
||||
(define-public m17n-db
|
||||
(package
|
||||
|
|
|
@ -251,8 +251,7 @@ usable on embedded products.")
|
|||
(origin-patches (package-source gcc-7))
|
||||
(search-patches "gcc-7-cross-environment-variables.patch")))))
|
||||
(native-inputs
|
||||
`(("gcc@5" ,gcc-5)
|
||||
("flex" ,flex)
|
||||
`(("flex" ,flex)
|
||||
("isl" ,isl-0.18)
|
||||
,@(alist-delete "isl" (package-native-inputs xgcc))))
|
||||
(arguments
|
||||
|
@ -1162,14 +1161,14 @@ SPI, I2C, JTAG.")
|
|||
(define-public fc-host-tools
|
||||
(package
|
||||
(name "fc-host-tools")
|
||||
(version "11")
|
||||
(version "13")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "ftp://ftp.freecalypso.org/pub/GSM/"
|
||||
"FreeCalypso/fc-host-tools-r" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0s87lp6gd8i8ivrdd7mnnalysr65035nambcm992rgla7sk76sj1"))))
|
||||
"0bpxz4y0z3hmlirzvfwq0k45yzn9fzgqs9r1fpkrhn48gr2zrpa8"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; No tests exist.
|
||||
|
@ -1283,6 +1282,12 @@ and displaying decoded target responses.
|
|||
@item fcup-smsendmult: Send multiple short messages via SMS in one go
|
||||
@item fcup-smsendpdu: Send multiple short messages given in PDU format via SMS
|
||||
@item sms-pdu-decode: Decode PDU format messages
|
||||
@item fc-dspromdump: Dump DSP ROM.
|
||||
@item pcm-sms-decode: Decode /pcm/SMS binary files read out of FFS maintained
|
||||
by Pirelli DP-L10. Display the SMS in human-readable form.
|
||||
@item srec-regions: Parse S-record (TI's *.m0), identify the set of
|
||||
discontiguous regions into which this SREC image deposits bits, and list
|
||||
these identified regions.
|
||||
@end enumerate")
|
||||
(home-page "https://www.freecalypso.org/")
|
||||
(license license:public-domain)))
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
;;; Copyright © 2015, 2016 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
|
||||
;;; Copyright © 2015, 2018 David Thompson <dthompson2@worcester.edu>
|
||||
;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
|
||||
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017, 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2017, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com>
|
||||
|
@ -279,6 +279,64 @@ SoundBlaster/Gravis Ultra Sound card for excellent sound compatibility with
|
|||
older games.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public qtmips
|
||||
(package
|
||||
(name "qtmips")
|
||||
(version "0.7.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/cvut/QtMips")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1khvwgqz4h6q6mhbbq0yx43ajz8gx9wmwzs8784vmfrglndbxgax"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(invoke "qmake"
|
||||
(string-append "PREFIX=" (assoc-ref outputs "out"))
|
||||
"qtmips.pro")))
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(substitute* "tests/test.sh"
|
||||
(("qtchooser.*") ""))
|
||||
(substitute* '("tests/cpu_trap/test.sh"
|
||||
"tests/registers/test.sh")
|
||||
(("sub-qtmips_cli") "qtmips_cli"))
|
||||
(if tests?
|
||||
(invoke "tests/run-all.sh")
|
||||
#t)))
|
||||
(replace 'install
|
||||
;; There is no install target.
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin"))
|
||||
(apps (string-append out "/share/applications"))
|
||||
(icons (string-append out "/share/icons/hicolor")))
|
||||
(install-file "qtmips_gui/qtmips_gui" bin)
|
||||
(install-file "qtmips_cli/qtmips_cli" bin)
|
||||
(install-file "data/qtmips.desktop" apps)
|
||||
(install-file "data/icons/qtmips_gui.svg"
|
||||
(string-append icons "/scalable/apps"))
|
||||
(install-file "data/icons/qtmips_gui.png"
|
||||
(string-append icons "/48x48/apps"))
|
||||
#t))))
|
||||
#:tests? #f)) ; test suite wants mips toolchain
|
||||
(inputs
|
||||
`(("elfutils" ,elfutils)
|
||||
("qtbase" ,qtbase)))
|
||||
(home-page "https://github.com/cvut/QtMips")
|
||||
(synopsis "MIPS CPU emulator")
|
||||
(description "This package contains a MIPS CPU emulator. The simulator
|
||||
accepts ELF statically linked executables compiled for 32-bit big-endian
|
||||
MIPS target, targeting mips-linux-gnu or mips-elf.")
|
||||
(license license:gpl2+))) ; License file says GPL3
|
||||
|
||||
(define-public emulation-station
|
||||
;; No release for a long time, new commits fix build issues
|
||||
(let ((commit "9cc42adff67946175d2b7e25c6ae69cc374e98a0")
|
||||
|
@ -479,7 +537,7 @@ The following systems are supported:
|
|||
(define-public mgba
|
||||
(package
|
||||
(name "mgba")
|
||||
(version "0.8.2")
|
||||
(version "0.8.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -488,7 +546,7 @@ The following systems are supported:
|
|||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0dlwhn3hrpaqnl5hjs53y8j2i16idxrg3gy688gcwrc9z1a6bkn2"))
|
||||
(base32 "0rwlfjdr0rzbq4kaplvwsgyb8xq6nrzxss2c8xrgw9hqw3ymx4s3"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Make sure we don't use the bundled software.
|
||||
|
@ -535,7 +593,7 @@ and Game Boy Color games.")
|
|||
(define-public sameboy
|
||||
(package
|
||||
(name "sameboy")
|
||||
(version "0.13.3")
|
||||
(version "0.13.6")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -544,7 +602,7 @@ and Game Boy Color games.")
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1mv5a7p6plz0359l3z9g232rgaq2h3yby5949ps0s88cxj94w9qm"))))
|
||||
(base32 "04w8lybi7ssnax37ka4qw7pmcm7cgnmk90p9m73zbyp5chgpqqzc"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("rgbds" ,rgbds)
|
||||
|
@ -1339,7 +1397,7 @@ play them on systems for which they were never designed!")
|
|||
(define-public mame
|
||||
(package
|
||||
(name "mame")
|
||||
(version "0.222")
|
||||
(version "0.224")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -1348,7 +1406,7 @@ play them on systems for which they were never designed!")
|
|||
(commit (apply string-append "mame" (string-split version #\.)))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1bfnwfxsnmza4s77ca0cyx4b290dwadkbbc2lyd7xa0yqrh7vvlx"))
|
||||
(base32 "0dpg4hz2f1wlp0rmk5c5xq57fy0sblh97z3l66p814wkgzap4bhx"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Remove bundled libraries.
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Reference in a new issue