Merge remote-tracking branch 'origin/master' into staging
commit
de3c03a471
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
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)))
|
||||
|
|
|
@ -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 New Issue