Merge branch 'master' into core-updates
This commit is contained in:
commit
3b458d5462
|
@ -28,6 +28,7 @@
|
|||
/configure
|
||||
/doc/*.1
|
||||
/doc/.dirstamp
|
||||
/doc/contributing.*.texi
|
||||
/doc/guix.*.aux
|
||||
/doc/guix.*.cp
|
||||
/doc/guix.*.cps
|
||||
|
@ -43,6 +44,7 @@
|
|||
/doc/guix.*.tp
|
||||
/doc/guix.*.vr
|
||||
/doc/guix.*.vrs
|
||||
/doc/guix.*.texi
|
||||
/doc/guix.aux
|
||||
/doc/guix.cp
|
||||
/doc/guix.cps
|
||||
|
|
33
Makefile.am
33
Makefile.am
|
@ -54,6 +54,7 @@ nodist_noinst_SCRIPTS = \
|
|||
# Modules that are not compiled but are installed nonetheless, such as
|
||||
# build-side modules with unusual dependencies.
|
||||
MODULES_NOT_COMPILED = \
|
||||
guix/build/po.scm \
|
||||
guix/man-db.scm
|
||||
|
||||
include gnu/local.mk
|
||||
|
@ -120,6 +121,7 @@ MODULES = \
|
|||
guix/build-system/gnu.scm \
|
||||
guix/build-system/guile.scm \
|
||||
guix/build-system/haskell.scm \
|
||||
guix/build-system/linux-module.scm \
|
||||
guix/build-system/perl.scm \
|
||||
guix/build-system/python.scm \
|
||||
guix/build-system/ocaml.scm \
|
||||
|
@ -138,6 +140,7 @@ MODULES = \
|
|||
guix/store.scm \
|
||||
guix/cvs-download.scm \
|
||||
guix/svn-download.scm \
|
||||
guix/colors.scm \
|
||||
guix/i18n.scm \
|
||||
guix/ui.scm \
|
||||
guix/status.scm \
|
||||
|
@ -172,6 +175,7 @@ MODULES = \
|
|||
guix/build/texlive-build-system.scm \
|
||||
guix/build/waf-build-system.scm \
|
||||
guix/build/haskell-build-system.scm \
|
||||
guix/build/linux-module-build-system.scm \
|
||||
guix/build/store-copy.scm \
|
||||
guix/build/utils.scm \
|
||||
guix/build/union.scm \
|
||||
|
@ -220,6 +224,10 @@ MODULES = \
|
|||
guix/scripts/archive.scm \
|
||||
guix/scripts/import.scm \
|
||||
guix/scripts/package.scm \
|
||||
guix/scripts/install.scm \
|
||||
guix/scripts/remove.scm \
|
||||
guix/scripts/upgrade.scm \
|
||||
guix/scripts/search.scm \
|
||||
guix/scripts/gc.scm \
|
||||
guix/scripts/hash.scm \
|
||||
guix/scripts/pack.scm \
|
||||
|
@ -276,7 +284,8 @@ endif BUILD_DAEMON_OFFLOAD
|
|||
# Scheme implementation of the build daemon and related functionality.
|
||||
STORE_MODULES = \
|
||||
guix/store/database.scm \
|
||||
guix/store/deduplication.scm
|
||||
guix/store/deduplication.scm \
|
||||
guix/store/roots.scm
|
||||
|
||||
MODULES += $(STORE_MODULES)
|
||||
|
||||
|
@ -292,6 +301,7 @@ AUX_FILES = \
|
|||
gnu/packages/aux-files/linux-libre/5.0-i686.conf \
|
||||
gnu/packages/aux-files/linux-libre/5.0-x86_64.conf \
|
||||
gnu/packages/aux-files/linux-libre/4.19-arm.conf \
|
||||
gnu/packages/aux-files/linux-libre/5.0-arm-veyron.conf \
|
||||
gnu/packages/aux-files/linux-libre/4.19-arm64.conf \
|
||||
gnu/packages/aux-files/linux-libre/4.19-i686.conf \
|
||||
gnu/packages/aux-files/linux-libre/4.19-x86_64.conf \
|
||||
|
@ -306,6 +316,7 @@ AUX_FILES = \
|
|||
|
||||
# Templates, examples.
|
||||
EXAMPLES = \
|
||||
gnu/system/examples/asus-c201.tmpl \
|
||||
gnu/system/examples/bare-bones.tmpl \
|
||||
gnu/system/examples/beaglebone-black.tmpl \
|
||||
gnu/system/examples/desktop.tmpl \
|
||||
|
@ -405,7 +416,8 @@ SCM_TESTS = \
|
|||
tests/pypi.scm \
|
||||
tests/import-utils.scm \
|
||||
tests/store-database.scm \
|
||||
tests/store-deduplication.scm
|
||||
tests/store-deduplication.scm \
|
||||
tests/store-roots.scm
|
||||
|
||||
SH_TESTS = \
|
||||
tests/guix-build.sh \
|
||||
|
@ -417,6 +429,7 @@ SH_TESTS = \
|
|||
tests/guix-pack-localstatedir.sh \
|
||||
tests/guix-pack-relocatable.sh \
|
||||
tests/guix-package.sh \
|
||||
tests/guix-package-aliases.sh \
|
||||
tests/guix-package-net.sh \
|
||||
tests/guix-system.sh \
|
||||
tests/guix-archive.sh \
|
||||
|
@ -677,6 +690,13 @@ GUIX_SYSTEM_IMAGE_BASE = guix-system-install-$(PACKAGE_VERSION)
|
|||
# Prefix of the Guix VM image file name.
|
||||
GUIX_SYSTEM_VM_IMAGE_BASE = guix-system-vm-image-$(PACKAGE_VERSION)
|
||||
|
||||
# Flags for 'guix system vm-image'. By default create a VM image that appears
|
||||
# to have a 20G hard disk.
|
||||
GUIX_SYSTEM_VM_IMAGE_FLAGS ?= --image-size=30G
|
||||
|
||||
# Return the sequence of '-s' flags for the given systems.
|
||||
system_flags = $(foreach system,$(1),-s $(system))
|
||||
|
||||
# The release process works in several phases:
|
||||
#
|
||||
# 0. We assume the developer created a 'vX.Y' tag.
|
||||
|
@ -694,6 +714,7 @@ GUIX_SYSTEM_VM_IMAGE_BASE = guix-system-vm-image-$(PACKAGE_VERSION)
|
|||
# issue described at <https://savannah.gnu.org/bugs/index.php?51027>.
|
||||
release: dist
|
||||
cd po; git checkout .
|
||||
cd doc; git checkout .
|
||||
@if ! git diff-index --quiet HEAD; then \
|
||||
echo "There are uncommitted changes; stopping." >&2 ; \
|
||||
exit 1 ; \
|
||||
|
@ -706,6 +727,9 @@ release: dist
|
|||
"`git rev-parse HEAD`" "$(PACKAGE_VERSION)"
|
||||
git add $(top_srcdir)/gnu/packages/package-management.scm
|
||||
git commit -m "gnu: guix: Update to $(PACKAGE_VERSION)."
|
||||
$(top_builddir)/pre-inst-env guix build guix \
|
||||
$(call system_flags,$(SUPPORTED_SYSTEMS)) \
|
||||
-v1 --no-grafts -K
|
||||
rm -f $(BINARY_TARBALLS)
|
||||
$(MAKE) $(BINARY_TARBALLS)
|
||||
for system in $(SUPPORTED_SYSTEMS) ; do \
|
||||
|
@ -717,6 +741,9 @@ release: dist
|
|||
"`git rev-parse HEAD`"
|
||||
git add $(top_srcdir)/gnu/packages/package-management.scm
|
||||
git commit -m "gnu: guix: Update to `git rev-parse HEAD | cut -c1-7`."
|
||||
$(top_builddir)/pre-inst-env guix build guix \
|
||||
$(call system_flags,$(GUIX_SYSTEM_SUPPORTED_SYSTEMS)) \
|
||||
-v1 --no-grafts -K
|
||||
for system in $(GUIX_SYSTEM_SUPPORTED_SYSTEMS) ; do \
|
||||
image=`$(top_builddir)/pre-inst-env \
|
||||
guix system disk-image \
|
||||
|
@ -733,7 +760,7 @@ release: dist
|
|||
done
|
||||
for system in $(GUIX_SYSTEM_VM_SYSTEMS) ; do \
|
||||
image=`$(top_builddir)/pre-inst-env \
|
||||
guix system vm-image \
|
||||
guix system vm-image $(GUIX_SYSTEM_VM_IMAGE_FLAGS) \
|
||||
--system=$$system \
|
||||
gnu/system/examples/vm-image.tmpl` ; \
|
||||
if [ ! -f "$$image" ] ; then \
|
||||
|
|
84
NEWS
84
NEWS
|
@ -2,7 +2,7 @@
|
|||
#+TITLE: Guix NEWS – history of user-visible changes
|
||||
#+STARTUP: content hidestars
|
||||
|
||||
Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
|
||||
Copying and distribution of this file, with or without modification,
|
||||
|
@ -11,6 +11,88 @@ Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
|
|||
|
||||
Please send Guix bug reports to bug-guix@gnu.org.
|
||||
|
||||
* Changes in 1.0.0 (since 0.16.0)
|
||||
** Package management
|
||||
*** New ‘-v’/‘--verbosity’ option for all commands
|
||||
*** Most commands now default to verbosity level 1 (“quiet”)
|
||||
*** New ‘guix package’ aliases: ‘install’, ‘remove’, ‘upgrade’, and ‘search’
|
||||
*** ‘guix pack -RR’ produces PRoot-enabled relocatable binaries
|
||||
*** New ‘--save-provenance’ option for ‘guix pack’
|
||||
*** CLI diagnostics use colors; more operations show progress bars
|
||||
*** New ‘--news’ option for ‘guix pull’
|
||||
*** New ‘--preserve’ option for ‘guix environment’
|
||||
*** ‘guix environment -C’ creates containers with a non-zero UID
|
||||
*** Channels can now specify dependencies in a ‘.guix-channel’ file
|
||||
*** New ‘reverse-bag’ graph type for ‘guix graph’
|
||||
*** New ‘--with-git-url’ package transformation option
|
||||
*** The ‘--with-branch’ package transformation option fetches Git sub-modules
|
||||
*** New ‘guix system delete-generations’ command
|
||||
*** New ‘--list-roots’ and ‘--delete-generations’ options for ‘guix gc’
|
||||
*** New ‘--coverage’ option for ‘guix weather’
|
||||
*** ‘guix pull’ computes a package cache to speed up package lookups by name
|
||||
*** ‘guix pull’ now embeds ‘glibc-utf8-locales’
|
||||
*** ‘guix refresh -l’ better estimates dependents
|
||||
*** ‘guix build’ can take multiple ‘--system’ flags
|
||||
*** ‘guix offload’ avoids build machines with too little free disk space
|
||||
*** ‘guix offload’ now uses (guix inferior) to communicate with remote hosts
|
||||
*** Guix can no longer be built with Guile 2.0
|
||||
** Distribution
|
||||
*** New text-mode graphical installer
|
||||
*** New virtual machine (VM) image
|
||||
*** New ‘keyboard-layout’ field for the OS, bootloader, and Xorg configuration
|
||||
*** New ‘xorg-configuration’ record type for Xorg server configuration
|
||||
*** ‘%desktop-services’ now includes GDM instead of SLiM for graphical log-in
|
||||
*** New ‘label’ and ‘essential-services’ fields for <operation-system>
|
||||
*** The manual has been restructured for clarity
|
||||
*** New ‘remote-inferior’ procedure in (guix ssh)
|
||||
*** New (gnu ci) module for continuous integration jobs
|
||||
*** (gnu services shepherd) now supports one-shot services
|
||||
*** New services
|
||||
|
||||
cups-pk-helper, imap4d, inputattach, localed, nslcd, zabbix-agent,
|
||||
zabbix-server
|
||||
|
||||
*** XXX new packages
|
||||
*** XXX package updates
|
||||
** Programming interfaces
|
||||
*** New ‘this-package’, ‘this-origin’, and ‘this-operating-system’ macros
|
||||
*** The ‘self-native-input?’ field was removed from <package>
|
||||
*** New ‘package-input-rewriting/spec’ procedure for graph rewriting
|
||||
*** New ‘package-closure’ procedure in (guix packages)
|
||||
*** New UI helper modules (guix colors) and (guix deprecation)
|
||||
*** New (gnu build accounts) module to manage /etc/{passwd,shadow,group}
|
||||
*** ‘nix-*’ bindings in (guix store) replaced by ‘store-connection-*’
|
||||
*** Records created by ‘define-record-type*’ report duplicate fields
|
||||
** Noteworthy bug fixes
|
||||
*** ISO images produced by ‘guix system’ are now reproducible bit-for-bit
|
||||
(<https://bugs.gnu.org/35283>)
|
||||
*** ‘guix pack -f squashfs’ produces relative symlinks
|
||||
(<https://bugs.gnu.org/34913>)
|
||||
*** ‘guix package -r something-not-installed’ now raises an error
|
||||
*** Fix multi-threaded miscompilation issue with syntax parameters
|
||||
(<https://bugs.gnu.org/27476>)
|
||||
*** file-systems: Spawn a REPL only when interaction is possible
|
||||
(<https://bugs.gnu.org/23697>)
|
||||
*** ‘guix environment’ supports package transformation options
|
||||
(<https://bugs.gnu.org/33776>)
|
||||
*** ‘guix substitute’ now ignores irrelevant narinfo signatures
|
||||
(<https://bugs.gnu.org/33733>)
|
||||
*** On Guix System, guix-daemon now runs in a UTF-8 locale
|
||||
(<https://bugs.gnu.org/32942>)
|
||||
*** Fix relative file name canonicalization for '--root'
|
||||
(<https://bugs.gnu.org/35271>)
|
||||
*** vm: Do not mount /xchg with "cache=loose"
|
||||
(<https://bugs.gnu.org/33639>)
|
||||
*** build-system/go: Build with a filesystem union of Go dependencies
|
||||
(<https://bugs.gnu.org/33620>)
|
||||
*** 'containerized-operating-system' removes "useless" services
|
||||
(<https://bugs.gnu.org/34211>)
|
||||
** Native language support
|
||||
*** The manual is now fully translated in French and Spanish
|
||||
*** The manual is also partly translated in German and in Simplified Chinese
|
||||
*** Updated translations: da, de, es, fr
|
||||
*** New translations: sv
|
||||
|
||||
* Changes in 0.16.0 (since 0.15.0)
|
||||
|
||||
** Package management
|
||||
|
|
14
bootstrap
14
bootstrap
|
@ -2,4 +2,18 @@
|
|||
# Create the build system.
|
||||
|
||||
set -e -x
|
||||
|
||||
# Generate stubs for translations.
|
||||
langs=`find po/doc -type f -name '*.po' \
|
||||
| sed -e 's,guix-manual\.,,' \
|
||||
| xargs -n 1 -I{} basename {} .po`
|
||||
for lang in ${langs}; do
|
||||
if [ ! -e "doc/guix.${lang}.texi" ]; then
|
||||
echo "@setfilename guix.${lang}.info" > "doc/guix.${lang}.texi"
|
||||
echo "@include version-${lang}.texi" >> "doc/guix.${lang}.texi"
|
||||
# Ensure .po file is newer.
|
||||
touch "po/doc/guix-manual.${lang}.po"
|
||||
fi
|
||||
done
|
||||
|
||||
exec autoreconf -vfi
|
||||
|
|
|
@ -54,10 +54,6 @@
|
|||
;;; available at this point.
|
||||
;;;
|
||||
|
||||
(define %dependency-variables
|
||||
;; (guix config) variables corresponding to dependencies.
|
||||
'(%libgcrypt %libz %xz %gzip %bzip2))
|
||||
|
||||
(define %persona-variables
|
||||
;; (guix config) variables that define Guix's persona.
|
||||
'(%guix-package-name
|
||||
|
@ -313,7 +309,11 @@ interface (FFI) of Guile.")
|
|||
(cons (string-append #$guile-gcrypt "/lib/guile/"
|
||||
(effective-version)
|
||||
"/site-ccache")
|
||||
%load-compiled-path)))
|
||||
%load-compiled-path))
|
||||
|
||||
;; Disable position recording to save time and space
|
||||
;; when loading the package modules.
|
||||
(read-disable 'positions))
|
||||
|
||||
(use-modules (guix store)
|
||||
(guix self)
|
||||
|
@ -399,6 +399,9 @@ files."
|
|||
(mlet %store-monad ((build (build-program source version guile-version
|
||||
#:pull-version pull-version))
|
||||
(system (if system (return system) (current-system)))
|
||||
|
||||
;; Note: Use the deprecated names here because the
|
||||
;; caller might be Guix <= 0.16.0.
|
||||
(port ((store-lift nix-server-socket)))
|
||||
(major ((store-lift nix-server-major-version)))
|
||||
(minor ((store-lift nix-server-minor-version))))
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2016 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
|
||||
;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -17,7 +17,8 @@
|
|||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(use-modules (ice-9 match)
|
||||
(use-modules (ice-9 format)
|
||||
(ice-9 match)
|
||||
(ice-9 threads)
|
||||
(srfi srfi-1)
|
||||
(guix build compile)
|
||||
|
@ -78,6 +79,10 @@ to 'make'."
|
|||
(current-processor-count))))
|
||||
(loop tail)))))))))
|
||||
|
||||
(define (% completed total)
|
||||
"Return the completion percentage of COMPLETED over TOTAL as an integer."
|
||||
(inexact->exact (round (* 100. (/ completed total)))))
|
||||
|
||||
;; Install a SIGINT handler to give unwind handlers in 'compile-file' an
|
||||
;; opportunity to run upon SIGINT and to remove temporary output files.
|
||||
(sigaction SIGINT
|
||||
|
@ -92,10 +97,14 @@ to 'make'."
|
|||
#:host host
|
||||
#:report-load (lambda (file total completed)
|
||||
(when file
|
||||
(format #t " LOAD ~a~%" file)
|
||||
(format #t "[~3d%] LOAD ~a~%"
|
||||
(% (+ 1 completed) (* 2 total))
|
||||
file)
|
||||
(force-output)))
|
||||
#:report-compilation (lambda (file total completed)
|
||||
(when file
|
||||
(format #t " GUILEC ~a~%"
|
||||
(format #t "[~3d%] GUILEC ~a~%"
|
||||
(% (+ total completed 1)
|
||||
(* 2 total))
|
||||
(scm->go file))
|
||||
(force-output))))))
|
||||
|
|
|
@ -202,7 +202,6 @@ else
|
|||
AC_MSG_RESULT([not found])
|
||||
fi
|
||||
|
||||
LIBGCRYPT="libgcrypt"
|
||||
LIBGCRYPT_LIBDIR="no"
|
||||
LIBGCRYPT_PREFIX="no"
|
||||
|
||||
|
@ -212,7 +211,6 @@ AC_ARG_WITH([libgcrypt-prefix],
|
|||
yes|no)
|
||||
;;
|
||||
*)
|
||||
LIBGCRYPT="$withval/lib/libgcrypt"
|
||||
LIBGCRYPT_PREFIX="$withval"
|
||||
LIBGCRYPT_LIBDIR="$withval/lib"
|
||||
;;
|
||||
|
@ -223,11 +221,9 @@ AC_ARG_WITH([libgcrypt-libdir],
|
|||
[search for GNU libgcrypt's shared library in DIR])],
|
||||
[case "$withval" in
|
||||
yes|no)
|
||||
LIBGCRYPT="libgcrypt"
|
||||
LIBGCRYPT_LIBDIR="no"
|
||||
;;
|
||||
*)
|
||||
LIBGCRYPT="$withval/libgcrypt"
|
||||
LIBGCRYPT_LIBDIR="$withval"
|
||||
;;
|
||||
esac])
|
||||
|
@ -240,10 +236,6 @@ case "x$LIBGCRYPT_PREFIX$LIBGCRYPT_LIBDIR" in
|
|||
;;
|
||||
esac
|
||||
|
||||
dnl Library name suitable for `dynamic-link'.
|
||||
AC_MSG_CHECKING([for libgcrypt shared library name])
|
||||
AC_MSG_RESULT([$LIBGCRYPT])
|
||||
AC_SUBST([LIBGCRYPT])
|
||||
AC_SUBST([LIBGCRYPT_PREFIX])
|
||||
AC_SUBST([LIBGCRYPT_LIBDIR])
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -827,7 +827,7 @@ your @code{operating-system} configuration:
|
|||
@example
|
||||
(service qemu-binfmt-service-type
|
||||
(qemu-binfmt-configuration
|
||||
(platforms (lookup-qemu-platforms "arm" "aarch64" "ppc" "mips64el"))
|
||||
(platforms (lookup-qemu-platforms "arm" "aarch64" "mips64el"))
|
||||
(guix-support? #t)))
|
||||
@end example
|
||||
|
||||
|
@ -835,12 +835,11 @@ Then reconfigure your system.
|
|||
|
||||
You can then build packages for different platforms by specifying the
|
||||
@code{--system} option. For example, to build the "hello" package for
|
||||
the armhf, aarch64, powerpc, or mips64 architectures, you would run the
|
||||
following commands, respectively:
|
||||
the armhf, aarch64, or mips64 architectures, you would run the following
|
||||
commands, respectively:
|
||||
@example
|
||||
guix build --system=armhf-linux --rounds=2 hello
|
||||
guix build --system=aarch64-linux --rounds=2 hello
|
||||
guix build --system=powerpc-linux --rounds=2 hello
|
||||
guix build --system=mips64el-linux --rounds=2 hello
|
||||
@end example
|
||||
|
||||
|
|
25126
doc/guix.de.texi
25126
doc/guix.de.texi
File diff suppressed because it is too large
Load Diff
25303
doc/guix.fr.texi
25303
doc/guix.fr.texi
File diff suppressed because it is too large
Load Diff
991
doc/guix.texi
991
doc/guix.texi
File diff suppressed because it is too large
Load Diff
10
doc/local.mk
10
doc/local.mk
|
@ -22,8 +22,10 @@
|
|||
# along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
info_TEXINFOS = %D%/guix.texi \
|
||||
%D%/guix.es.texi \
|
||||
%D%/guix.fr.texi \
|
||||
%D%/guix.de.texi
|
||||
%D%/guix.de.texi \
|
||||
%D%/guix.zh_CN.texi
|
||||
|
||||
%C%_guix_TEXINFOS = \
|
||||
%D%/contributing.texi \
|
||||
|
@ -57,9 +59,13 @@ OS_CONFIG_EXAMPLES_TEXI = \
|
|||
|
||||
TRANSLATED_INFO = \
|
||||
%D%/guix.de.texi \
|
||||
%D%/guix.es.texi \
|
||||
%D%/guix.fr.texi \
|
||||
%D%/guix.zh_CN.texi \
|
||||
%D%/contributing.de.texi \
|
||||
%D%/contributing.fr.texi
|
||||
%D%/contributing.es.texi \
|
||||
%D%/contributing.fr.texi \
|
||||
%D%/contributing.zh_CN.texi
|
||||
|
||||
# Bundle this file so that makeinfo finds it in out-of-source-tree builds.
|
||||
BUILT_SOURCES += $(OS_CONFIG_EXAMPLES_TEXI) $(TRANSLATED_INFO)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# GNU Guix --- Functional package management for GNU
|
||||
# Copyright © 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
# Copyright © 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
#
|
||||
# This file is part of GNU Guix.
|
||||
#
|
||||
|
@ -167,6 +167,15 @@ _guix_complete ()
|
|||
else
|
||||
_guix_complete_available_package "$word_at_point"
|
||||
fi
|
||||
elif _guix_is_command "install"
|
||||
then
|
||||
_guix_complete_available_package "$word_at_point"
|
||||
elif _guix_is_command "remove"
|
||||
then
|
||||
_guix_complete_installed_package "$word_at_point"
|
||||
elif _guix_is_command "upgrade"
|
||||
then
|
||||
_guix_complete_installed_package "$word_at_point"
|
||||
elif _guix_is_command "build"
|
||||
then
|
||||
if _guix_is_dash_L
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
# -*- mode: snippet -*-
|
||||
# name: guix-commit-message-rename-package
|
||||
# key: rename
|
||||
# condition: git-commit-mode
|
||||
# --
|
||||
gnu: ${1:`(with-temp-buffer
|
||||
(magit-git-wash #'magit-diff-wash-diffs
|
||||
"diff" "--staged")
|
||||
(beginning-of-buffer)
|
||||
(when (search-forward "-(define-public " nil 'noerror)
|
||||
(thing-at-point 'sexp 'no-properties)))`}: Rename package to ${2:`(with-temp-buffer
|
||||
(magit-git-wash #'magit-diff-wash-diffs
|
||||
"diff" "--staged")
|
||||
(beginning-of-buffer)
|
||||
(when (search-forward "+(define-public " nil 'noerror)
|
||||
(thing-at-point 'sexp 'no-properties)))`}.
|
||||
|
||||
* `(car (magit-staged-files))` ($1): Define in terms of
|
||||
'deprecated-package'.
|
||||
($2): New variable, formerly known as "$1".
|
3
gnu.scm
3
gnu.scm
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014, 2015, 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015 Joshua S. Grant <jgrant@parenthetical.io>
|
||||
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;;
|
||||
|
@ -45,6 +45,7 @@
|
|||
(gnu system file-systems)
|
||||
(gnu bootloader)
|
||||
(gnu bootloader grub)
|
||||
(gnu system keyboard)
|
||||
(gnu system pam)
|
||||
(gnu system shadow) ; 'user-account'
|
||||
(gnu system linux-initrd)
|
||||
|
|
|
@ -47,6 +47,7 @@
|
|||
bootloader-configuration-menu-entries
|
||||
bootloader-configuration-default-entry
|
||||
bootloader-configuration-timeout
|
||||
bootloader-configuration-keyboard-layout
|
||||
bootloader-configuration-theme
|
||||
bootloader-configuration-terminal-outputs
|
||||
bootloader-configuration-terminal-inputs
|
||||
|
@ -104,26 +105,26 @@
|
|||
(define-record-type* <bootloader-configuration>
|
||||
bootloader-configuration make-bootloader-configuration
|
||||
bootloader-configuration?
|
||||
(bootloader bootloader-configuration-bootloader) ; <bootloader>
|
||||
(target bootloader-configuration-target ; string
|
||||
(bootloader bootloader-configuration-bootloader) ;<bootloader>
|
||||
(target bootloader-configuration-target ;string
|
||||
(default #f))
|
||||
(menu-entries bootloader-configuration-menu-entries ; list of <boot-parameters>
|
||||
(menu-entries bootloader-configuration-menu-entries ;list of <boot-parameters>
|
||||
(default '()))
|
||||
(default-entry bootloader-configuration-default-entry ; integer
|
||||
(default-entry bootloader-configuration-default-entry ;integer
|
||||
(default 0))
|
||||
(timeout bootloader-configuration-timeout ; seconds as integer
|
||||
(timeout bootloader-configuration-timeout ;seconds as integer
|
||||
(default 5))
|
||||
(theme bootloader-configuration-theme ; bootloader-specific theme
|
||||
(keyboard-layout bootloader-configuration-keyboard-layout ;<keyboard-layout> | #f
|
||||
(default #f))
|
||||
(terminal-outputs bootloader-configuration-terminal-outputs ; list of symbols
|
||||
(theme bootloader-configuration-theme ;bootloader-specific theme
|
||||
(default #f))
|
||||
(terminal-outputs bootloader-configuration-terminal-outputs ;list of symbols
|
||||
(default '(gfxterm)))
|
||||
(terminal-inputs bootloader-configuration-terminal-inputs ; list of symbols
|
||||
(terminal-inputs bootloader-configuration-terminal-inputs ;list of symbols
|
||||
(default '()))
|
||||
(serial-unit bootloader-configuration-serial-unit ; integer | #f
|
||||
(serial-unit bootloader-configuration-serial-unit ;integer | #f
|
||||
(default #f))
|
||||
(serial-speed bootloader-configuration-serial-speed ; integer | #f
|
||||
(default #f))
|
||||
(additional-configuration bootloader-configuration-additional-configuration ; record
|
||||
(serial-speed bootloader-configuration-serial-speed ;integer | #f
|
||||
(default #f)))
|
||||
|
||||
|
||||
|
|
|
@ -0,0 +1,107 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2019 Timothy Sample <samplet@ngyro.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 bootloader depthcharge)
|
||||
#:use-module (gnu bootloader extlinux)
|
||||
#:use-module (gnu bootloader)
|
||||
#:use-module (gnu packages bootloaders)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (ice-9 match)
|
||||
#:export (depthcharge-bootloader))
|
||||
|
||||
(define (signed-kernel kernel kernel-arguments initrd)
|
||||
(define builder
|
||||
(with-imported-modules '((guix build utils))
|
||||
#~(begin
|
||||
(use-modules (guix build utils)
|
||||
(ice-9 binary-ports)
|
||||
(rnrs bytevectors))
|
||||
(set-path-environment-variable "PATH" '("bin") (list #$dtc))
|
||||
|
||||
;; TODO: These files have to be writable, so we copy them.
|
||||
;; This can probably be fixed by using a ".its" file, just
|
||||
;; be careful not to break initrd loading.
|
||||
(copy-file #$kernel "zImage")
|
||||
(chmod "zImage" #o755)
|
||||
(copy-file (string-append (dirname #$kernel) "/lib/dtbs/"
|
||||
"rk3288-veyron-speedy.dtb")
|
||||
"rk3288-veyron-speedy.dtb")
|
||||
(chmod "rk3288-veyron-speedy.dtb" #o644)
|
||||
(copy-file #$initrd "initrd")
|
||||
(chmod "initrd" #o644)
|
||||
|
||||
(invoke (string-append #$u-boot-tools "/bin/mkimage")
|
||||
"-D" "-I dts -O dtb -p 2048"
|
||||
"-f" "auto"
|
||||
"-A" "arm"
|
||||
"-O" "linux"
|
||||
"-T" "kernel"
|
||||
"-C" "None"
|
||||
"-d" "zImage"
|
||||
"-a" "0"
|
||||
"-b" "rk3288-veyron-speedy.dtb"
|
||||
"-i" "initrd"
|
||||
"image.itb")
|
||||
(call-with-output-file "bootloader.bin"
|
||||
(lambda (port)
|
||||
(put-bytevector port (make-bytevector 512 0))))
|
||||
(with-output-to-file "kernel-arguments"
|
||||
(lambda ()
|
||||
(display (string-join (list #$@kernel-arguments)))))
|
||||
(invoke (string-append #$vboot-utils "/bin/vbutil_kernel")
|
||||
"--pack" #$output
|
||||
"--version" "1"
|
||||
"--vmlinuz" "image.itb"
|
||||
"--arch" "arm"
|
||||
"--keyblock" (string-append #$vboot-utils
|
||||
"/share/vboot-utils/devkeys/"
|
||||
"kernel.keyblock")
|
||||
"--signprivate" (string-append #$vboot-utils
|
||||
"/share/vboot-utils/devkeys/"
|
||||
"kernel_data_key.vbprivk")
|
||||
"--config" "kernel-arguments"
|
||||
"--bootloader" "bootloader.bin"))))
|
||||
(computed-file "vmlinux.kpart" builder))
|
||||
|
||||
(define* (depthcharge-configuration-file config entries
|
||||
#:key
|
||||
(system (%current-system))
|
||||
(old-entries '()))
|
||||
(match entries
|
||||
((entry)
|
||||
(let ((kernel (menu-entry-linux entry))
|
||||
(kernel-arguments (menu-entry-linux-arguments entry))
|
||||
(initrd (menu-entry-initrd entry)))
|
||||
;; XXX: Make this a symlink.
|
||||
(signed-kernel kernel kernel-arguments initrd)))
|
||||
(_ (error "Too many bootloader menu entries!"))))
|
||||
|
||||
(define install-depthcharge
|
||||
#~(lambda (bootloader device mount-point)
|
||||
(let ((kpart (string-append mount-point
|
||||
"/boot/depthcharge/vmlinux.kpart")))
|
||||
(write-file-on-device kpart (stat:size (stat kpart)) device 0))))
|
||||
|
||||
(define depthcharge-bootloader
|
||||
(bootloader
|
||||
(name 'depthcharge)
|
||||
(package #f)
|
||||
(installer install-depthcharge)
|
||||
(configuration-file "/boot/depthcharge/vmlinux.kpart")
|
||||
(configuration-file-generator depthcharge-configuration-file)))
|
|
@ -27,8 +27,10 @@
|
|||
#:use-module (gnu bootloader)
|
||||
#:use-module (gnu system uuid)
|
||||
#:use-module (gnu system file-systems)
|
||||
#:use-module (gnu system keyboard)
|
||||
#:autoload (gnu packages bootloaders) (grub)
|
||||
#:autoload (gnu packages gtk) (guile-cairo guile-rsvg)
|
||||
#:autoload (gnu packages xorg) (xkeyboard-config)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (ice-9 regex)
|
||||
#:use-module (srfi srfi-1)
|
||||
|
@ -219,6 +221,26 @@ fi~%"
|
|||
;;; Configuration file.
|
||||
;;;
|
||||
|
||||
(define* (keyboard-layout-file layout
|
||||
#:key
|
||||
(grub grub))
|
||||
"Process the X keyboard layout description LAYOUT, a <keyboard-layout> record,
|
||||
and return a file in the format for GRUB keymaps. LAYOUT must be present in
|
||||
the 'share/X11/xkb/symbols/' directory of 'xkeyboard-config'."
|
||||
(define builder
|
||||
(with-imported-modules '((guix build utils))
|
||||
#~(begin
|
||||
(use-modules (guix build utils))
|
||||
|
||||
;; 'grub-kbdcomp' passes all its arguments but '-o' to 'ckbcomp'
|
||||
;; (from the 'console-setup' package).
|
||||
(invoke #$(file-append grub "/bin/grub-mklayout")
|
||||
"-i" #+(keyboard-layout->console-keymap layout)
|
||||
"-o" #$output))))
|
||||
|
||||
(computed-file (string-append "grub-keymap." (keyboard-layout-name layout))
|
||||
builder))
|
||||
|
||||
(define (grub-setup-io config)
|
||||
"Return GRUB commands to configure the input / output interfaces. The result
|
||||
is a string that can be inserted in grub.cfg."
|
||||
|
@ -330,6 +352,18 @@ entries corresponding to old generations of the system."
|
|||
#:system system
|
||||
#:port #~port))
|
||||
|
||||
(define keyboard-layout-config
|
||||
(let ((layout (bootloader-configuration-keyboard-layout config))
|
||||
(grub (bootloader-package
|
||||
(bootloader-configuration-bootloader config))))
|
||||
#~(let ((keymap #$(and layout
|
||||
(keyboard-layout-file layout #:grub grub))))
|
||||
(when keymap
|
||||
(format port "\
|
||||
terminal_input at_keyboard
|
||||
insmod keylayouts
|
||||
keymap ~a~%" keymap)))))
|
||||
|
||||
(define builder
|
||||
#~(call-with-output-file #$output
|
||||
(lambda (port)
|
||||
|
@ -338,6 +372,7 @@ entries corresponding to old generations of the system."
|
|||
# will be lost upon reconfiguration.
|
||||
")
|
||||
#$sugar
|
||||
#$keyboard-layout-config
|
||||
(format port "
|
||||
set default=~a
|
||||
set timeout=~a~%"
|
||||
|
|
|
@ -106,7 +106,7 @@
|
|||
(define u-boot-beaglebone-black-bootloader
|
||||
(bootloader
|
||||
(inherit u-boot-bootloader)
|
||||
(package u-boot-beagle-bone-black)
|
||||
(package u-boot-am335x-boneblack)
|
||||
(installer install-beaglebone-black-u-boot)))
|
||||
|
||||
(define u-boot-allwinner-bootloader
|
||||
|
|
|
@ -483,9 +483,12 @@ new UIDs."
|
|||
(real-name (if previous
|
||||
(password-entry-real-name previous)
|
||||
real-name))
|
||||
(shell (if previous
|
||||
(password-entry-shell previous)
|
||||
shell)))
|
||||
|
||||
;; Do not reuse the shell of PREVIOUS since (1)
|
||||
;; that could lead to confusion, and (2) the
|
||||
;; shell might have been GC'd. See
|
||||
;; <https://lists.gnu.org/archive/html/guix-devel/2019-04/msg00478.html>.
|
||||
(shell shell))
|
||||
result)
|
||||
allocation))))
|
||||
'()
|
||||
|
|
|
@ -575,6 +575,8 @@ corresponds to the symbols listed in FLAGS."
|
|||
(logior MS_NODEV (loop rest)))
|
||||
(('no-exec rest ...)
|
||||
(logior MS_NOEXEC (loop rest)))
|
||||
(('no-atime rest ...)
|
||||
(logior MS_NOATIME (loop rest)))
|
||||
(()
|
||||
0))))
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
|
@ -437,6 +437,7 @@ bailing out.~%root contents: ~s~%" (scandir "/"))
|
|||
(define* (boot-system #:key
|
||||
(linux-modules '())
|
||||
linux-module-directory
|
||||
keymap-file
|
||||
qemu-guest-networking?
|
||||
volatile-root?
|
||||
pre-mount
|
||||
|
@ -444,7 +445,8 @@ bailing out.~%root contents: ~s~%" (scandir "/"))
|
|||
(on-error 'debug))
|
||||
"This procedure is meant to be called from an initrd. Boot a system by
|
||||
first loading LINUX-MODULES (a list of module names) from
|
||||
LINUX-MODULE-DIRECTORY, then setting up QEMU guest networking if
|
||||
LINUX-MODULE-DIRECTORY, then installing KEYMAP-FILE with 'loadkeys' (if
|
||||
KEYMAP-FILE is true), then setting up QEMU guest networking if
|
||||
QEMU-GUEST-NETWORKING? is true, calling PRE-MOUNT, mounting the file systems
|
||||
specified in MOUNTS, and finally booting into the new root if any. The initrd
|
||||
supports kernel command-line options '--load', '--root', and '--repl'.
|
||||
|
@ -491,6 +493,15 @@ upon error."
|
|||
#:lookup-module lookup-module)
|
||||
(map lookup-module linux-modules))
|
||||
|
||||
(when keymap-file
|
||||
(let ((status (system* "loadkeys" keymap-file)))
|
||||
(unless (zero? status)
|
||||
;; Emit a warning rather than abort when we cannot load
|
||||
;; KEYMAP-FILE.
|
||||
(format (current-error-port)
|
||||
"warning: 'loadkeys' exited with status ~a~%"
|
||||
status))))
|
||||
|
||||
(when qemu-guest-networking?
|
||||
(unless (configure-qemu-networking)
|
||||
(display "network interface is DOWN\n")))
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2015 David Thompson <davet@gnu.org>
|
||||
;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -168,9 +168,12 @@ for the process."
|
|||
(umount "real-root" MNT_DETACH)
|
||||
(rmdir "real-root")))
|
||||
|
||||
(define (initialize-user-namespace pid host-uids)
|
||||
(define* (initialize-user-namespace pid host-uids
|
||||
#:key (guest-uid 0) (guest-gid 0))
|
||||
"Configure the user namespace for PID. HOST-UIDS specifies the number of
|
||||
host user identifiers to map into the user namespace."
|
||||
host user identifiers to map into the user namespace. GUEST-UID and GUEST-GID
|
||||
specify the first UID (respectively GID) that host UIDs (respectively GIDs)
|
||||
map to in the namespace."
|
||||
(define proc-dir
|
||||
(string-append "/proc/" (number->string pid)))
|
||||
|
||||
|
@ -191,10 +194,10 @@ host user identifiers to map into the user namespace."
|
|||
;; within the container.
|
||||
(call-with-output-file (scope "/uid_map")
|
||||
(lambda (port)
|
||||
(format port "0 ~d ~d" uid host-uids)))
|
||||
(format port "~d ~d ~d" guest-uid uid host-uids)))
|
||||
(call-with-output-file (scope "/gid_map")
|
||||
(lambda (port)
|
||||
(format port "0 ~d ~d" gid host-uids)))))
|
||||
(format port "~d ~d ~d" guest-gid gid host-uids)))))
|
||||
|
||||
(define (namespaces->bit-mask namespaces)
|
||||
"Return the number suitable for the 'flags' argument of 'clone' that
|
||||
|
@ -210,13 +213,17 @@ corresponds to the symbols in NAMESPACES."
|
|||
('net CLONE_NEWNET))
|
||||
namespaces)))
|
||||
|
||||
(define (run-container root mounts namespaces host-uids thunk)
|
||||
(define* (run-container root mounts namespaces host-uids thunk
|
||||
#:key (guest-uid 0) (guest-gid 0))
|
||||
"Run THUNK in a new container process and return its PID. ROOT specifies
|
||||
the root directory for the container. MOUNTS is a list of <file-system>
|
||||
objects that specify file systems to mount inside the container. NAMESPACES
|
||||
is a list of symbols that correspond to the possible Linux namespaces: mnt,
|
||||
ipc, uts, user, and net. HOST-UIDS specifies the number of
|
||||
host user identifiers to map into the user namespace."
|
||||
ipc, uts, user, and net.
|
||||
|
||||
HOST-UIDS specifies the number of host user identifiers to map into the user
|
||||
namespace. GUEST-UID and GUEST-GID specify the first UID (respectively GID)
|
||||
that host UIDs (respectively GIDs) map to in the namespace."
|
||||
;; The parent process must initialize the user namespace for the child
|
||||
;; before it can boot. To negotiate this, a pipe is used such that the
|
||||
;; child process blocks until the parent writes to it.
|
||||
|
@ -254,7 +261,9 @@ host user identifiers to map into the user namespace."
|
|||
(pid
|
||||
(close-port child)
|
||||
(when (memq 'user namespaces)
|
||||
(initialize-user-namespace pid host-uids))
|
||||
(initialize-user-namespace pid host-uids
|
||||
#:guest-uid guest-uid
|
||||
#:guest-gid guest-gid))
|
||||
;; TODO: Initialize cgroups.
|
||||
(write 'ready parent)
|
||||
(newline parent)
|
||||
|
@ -271,23 +280,30 @@ host user identifiers to map into the user namespace."
|
|||
#f)))))))))
|
||||
|
||||
(define* (call-with-container mounts thunk #:key (namespaces %namespaces)
|
||||
(host-uids 1))
|
||||
(host-uids 1) (guest-uid 0) (guest-gid 0))
|
||||
"Run THUNK in a new container process and return its exit status.
|
||||
MOUNTS is a list of <file-system> objects that specify file systems to mount
|
||||
inside the container. NAMESPACES is a list of symbols corresponding to
|
||||
the identifiers for Linux namespaces: mnt, ipc, uts, pid, user, and net. By
|
||||
default, all namespaces are used. HOST-UIDS is the number of host user
|
||||
identifiers to map into the container's user namespace, if there is one. By
|
||||
default, only a single uid/gid, that of the current user, is mapped into the
|
||||
container. The host user that creates the container is the root user (uid/gid
|
||||
0) within the container. Only root can map more than a single uid/gid.
|
||||
default, all namespaces are used.
|
||||
|
||||
HOST-UIDS is the number of host user identifiers to map into the container's
|
||||
user namespace, if there is one. By default, only a single uid/gid, that of
|
||||
the current user, is mapped into the container. The host user that creates
|
||||
the container is the root user (uid/gid 0) within the container. Only root
|
||||
can map more than a single uid/gid.
|
||||
|
||||
GUEST-UID and GUEST-GID specify the first UID (respectively GID) that host
|
||||
UIDs (respectively GIDs) map to in the namespace.
|
||||
|
||||
Note that if THUNK needs to load any additional Guile modules, the relevant
|
||||
module files must be present in one of the mappings in MOUNTS and the Guile
|
||||
load path must be adjusted as needed."
|
||||
(call-with-temporary-directory
|
||||
(lambda (root)
|
||||
(let ((pid (run-container root mounts namespaces host-uids thunk)))
|
||||
(let ((pid (run-container root mounts namespaces host-uids thunk
|
||||
#:guest-uid guest-uid
|
||||
#:guest-gid guest-gid)))
|
||||
;; Catch SIGINT and kill the container process.
|
||||
(sigaction SIGINT
|
||||
(lambda (signum)
|
||||
|
|
|
@ -37,6 +37,7 @@
|
|||
#:use-module (ice-9 popen)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-9)
|
||||
#:use-module (srfi srfi-19)
|
||||
#:use-module (srfi srfi-26)
|
||||
#:export (qemu-command
|
||||
load-in-linux-vm
|
||||
|
@ -144,6 +145,7 @@ the #:references-graphs parameter of 'derivation'."
|
|||
(_ #f))
|
||||
|
||||
(apply invoke qemu "-nographic" "-no-reboot"
|
||||
"-smp" (number->string (parallel-job-count))
|
||||
"-m" (number->string memory-size)
|
||||
"-object" "rng-random,filename=/dev/urandom,id=guixsd-vm-rng"
|
||||
"-device" "virtio-rng-pci,rng=guixsd-vm-rng"
|
||||
|
@ -458,6 +460,29 @@ GRUB configuration and OS-DRV as the stuff in it."
|
|||
closures)
|
||||
(register-bootcfg-root "/tmp/root" config-file))
|
||||
|
||||
;; 'grub-mkrescue' calls out to mtools programs to create 'efi.img', a FAT
|
||||
;; file system image, and mtools honors SOURCE_DATE_EPOCH for the mtime of
|
||||
;; those files. The epoch for FAT is Jan. 1st 1980, not 1970, so choose
|
||||
;; that.
|
||||
(setenv "SOURCE_DATE_EPOCH"
|
||||
(number->string
|
||||
(time-second
|
||||
(date->time-utc (make-date 0 0 0 0 1 1 1980 0)))))
|
||||
|
||||
;; Our patched 'grub-mkrescue' honors this environment variable and passes
|
||||
;; it to 'mformat', which makes it the serial number of 'efi.img'. This
|
||||
;; allows for deterministic builds.
|
||||
(setenv "GRUB_FAT_SERIAL_NUMBER"
|
||||
(number->string (if volume-uuid
|
||||
|
||||
;; On 32-bit systems the 2nd argument must be
|
||||
;; lower than 2^32.
|
||||
(string-hash (iso9660-uuid->string volume-uuid)
|
||||
(- (expt 2 32) 1))
|
||||
|
||||
#x77777777)
|
||||
16))
|
||||
|
||||
(let ((pipe
|
||||
(apply open-pipe* OPEN_WRITE
|
||||
grub-mkrescue "-o" target
|
||||
|
@ -472,9 +497,8 @@ GRUB configuration and OS-DRV as the stuff in it."
|
|||
"-path-list" "-"
|
||||
"--"
|
||||
|
||||
;; XXX: Add padding to avoid I/O errors on i686:
|
||||
;; <https://bugs.gnu.org/33639>.
|
||||
"-padding" "10m"
|
||||
;; Set all timestamps to 1.
|
||||
"-volume_date" "all_file_dates" "=1"
|
||||
|
||||
"-volid" (string-upcase volume-id)
|
||||
(if volume-uuid
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -42,13 +43,17 @@
|
|||
#:use-module (srfi srfi-1)
|
||||
#:export (installer-program))
|
||||
|
||||
(define not-config?
|
||||
;; Select (guix …) and (gnu …) modules, except (guix config).
|
||||
(define module-to-import?
|
||||
;; Return true for modules that should be imported. For (gnu system …) and
|
||||
;; (gnu packages …) modules, we simply add the whole 'guix' package via
|
||||
;; 'with-extensions' (to avoid having to rebuild it all), which is why these
|
||||
;; modules are excluded here.
|
||||
(match-lambda
|
||||
(('guix 'config) #f)
|
||||
(('guix rest ...) #t)
|
||||
(('gnu rest ...) #t)
|
||||
(rest #f)))
|
||||
(('gnu 'installer _ ...) #t)
|
||||
(('gnu 'build _ ...) #t)
|
||||
(('guix 'build _ ...) #t)
|
||||
(_ #f)))
|
||||
|
||||
(define* (build-compiled-file name locale-builder)
|
||||
"Return a file-like object that evalutes the gexp LOCALE-BUILDER and store
|
||||
|
@ -86,9 +91,17 @@ version of this file."
|
|||
|
||||
(define apply-locale
|
||||
;; Install the specified locale.
|
||||
#~(lambda (locale-name)
|
||||
(with-imported-modules (source-module-closure '((gnu services herd)))
|
||||
#~(lambda (locale)
|
||||
(false-if-exception
|
||||
(setlocale LC_ALL locale-name))))
|
||||
(setlocale LC_ALL locale))
|
||||
|
||||
;; Restart the documentation viewer so it displays the manual in
|
||||
;; language that corresponds to LOCALE.
|
||||
(with-error-to-port (%make-void-port "w")
|
||||
(lambda ()
|
||||
(stop-service 'term-tty2)
|
||||
(start-service 'term-tty2 (list locale)))))))
|
||||
|
||||
(define* (compute-locale-step #:key
|
||||
locales-name
|
||||
|
@ -156,7 +169,8 @@ selected keymap."
|
|||
(lambda (models layouts)
|
||||
((installer-keymap-page current-installer)
|
||||
layouts)))))
|
||||
(#$apply-keymap result))))
|
||||
(#$apply-keymap result)
|
||||
result)))
|
||||
|
||||
(define (installer-steps)
|
||||
(let ((locale-step (compute-locale-step
|
||||
|
@ -168,14 +182,6 @@ selected keymap."
|
|||
"/share/zoneinfo/zone.tab")))
|
||||
#~(lambda (current-installer)
|
||||
(list
|
||||
;; Welcome the user and ask him to choose between manual
|
||||
;; installation and graphical install.
|
||||
(installer-step
|
||||
(id 'welcome)
|
||||
(compute (lambda _
|
||||
((installer-welcome-page current-installer)
|
||||
#$(local-file "installer/aux-files/logo.txt")))))
|
||||
|
||||
;; Ask the user to choose a locale among those supported by
|
||||
;; the glibc. Install the selected locale right away, so that
|
||||
;; the user may benefit from any available translation for the
|
||||
|
@ -187,6 +193,14 @@ selected keymap."
|
|||
(#$locale-step current-installer)))
|
||||
(configuration-formatter locale->configuration))
|
||||
|
||||
;; Welcome the user and ask them to choose between manual
|
||||
;; installation and graphical install.
|
||||
(installer-step
|
||||
(id 'welcome)
|
||||
(compute (lambda _
|
||||
((installer-welcome-page current-installer)
|
||||
#$(local-file "installer/aux-files/logo.txt")))))
|
||||
|
||||
;; Ask the user to select a timezone under glibc format.
|
||||
(installer-step
|
||||
(id 'timezone)
|
||||
|
@ -208,7 +222,8 @@ selected keymap."
|
|||
(id 'keymap)
|
||||
(description (G_ "Keyboard mapping selection"))
|
||||
(compute (lambda _
|
||||
(#$keymap-step current-installer))))
|
||||
(#$keymap-step current-installer)))
|
||||
(configuration-formatter keyboard-layout->configuration))
|
||||
|
||||
;; Run a partitioning tool allowing the user to modify
|
||||
;; partition tables, partitions and their mount points.
|
||||
|
@ -249,8 +264,7 @@ selected keymap."
|
|||
(description (G_ "Services"))
|
||||
(compute (lambda _
|
||||
((installer-services-page current-installer))))
|
||||
(configuration-formatter
|
||||
desktop-environments->configuration))
|
||||
(configuration-formatter system-services->configuration))
|
||||
|
||||
(installer-step
|
||||
(id 'final)
|
||||
|
@ -293,13 +307,16 @@ selected keymap."
|
|||
"gnu/installer"))
|
||||
|
||||
(define installer-builder
|
||||
;; Note: Include GUIX as an extension to get all the (gnu system …), (gnu
|
||||
;; packages …), etc. modules.
|
||||
(with-extensions (list guile-gcrypt guile-newt
|
||||
guile-parted guile-bytestructures
|
||||
guile-json)
|
||||
guile-json guile-git guix)
|
||||
(with-imported-modules `(,@(source-module-closure
|
||||
`(,@modules
|
||||
(gnu services herd)
|
||||
(guix build utils))
|
||||
#:select? not-config?)
|
||||
#:select? module-to-import?)
|
||||
((guix config) => ,(make-config.scm)))
|
||||
#~(begin
|
||||
(use-modules (gnu installer record)
|
||||
|
@ -313,6 +330,9 @@ selected keymap."
|
|||
(gnu installer timezone)
|
||||
(gnu installer user)
|
||||
(gnu installer newt)
|
||||
((gnu installer newt keymap)
|
||||
#:select (keyboard-layout->configuration))
|
||||
(gnu services herd)
|
||||
(guix i18n)
|
||||
(guix build utils)
|
||||
(ice-9 match))
|
||||
|
@ -324,16 +344,40 @@ selected keymap."
|
|||
;; Add some binaries used by the installers to PATH.
|
||||
#$set-installer-path
|
||||
|
||||
;; Arrange for language and territory name translations to be
|
||||
;; available. We need them at run time, not just compile time,
|
||||
;; because some territories have several corresponding languages
|
||||
;; (e.g., "French" is always displayed as "français", but
|
||||
;; "Belgium" could be translated to Dutch, French, or German.)
|
||||
(bindtextdomain "iso_639-3" ;languages
|
||||
#+(file-append iso-codes "/share/locale"))
|
||||
(bindtextdomain "iso_3166-1" ;territories
|
||||
#+(file-append iso-codes "/share/locale"))
|
||||
|
||||
;; Likewise for XKB keyboard layout names.
|
||||
(bindtextdomain "xkeyboard-config"
|
||||
#+(file-append xkeyboard-config "/share/locale"))
|
||||
|
||||
(let* ((current-installer newt-installer)
|
||||
(steps (#$steps current-installer)))
|
||||
((installer-init current-installer))
|
||||
|
||||
(catch #t
|
||||
(lambda ()
|
||||
(define results
|
||||
(run-installer-steps
|
||||
#:rewind-strategy 'menu
|
||||
#:menu-proc (installer-menu-page current-installer)
|
||||
#:steps steps))
|
||||
|
||||
(match (result-step results 'final)
|
||||
('success
|
||||
;; We did it! Let's reboot!
|
||||
(sync)
|
||||
(stop-service 'root))
|
||||
(_ ;installation failed
|
||||
;; TODO: Honor the result of 'run-install-failed-page'.
|
||||
#f)))
|
||||
(const #f)
|
||||
(lambda (key . args)
|
||||
(let ((error-file "/tmp/last-installer-error"))
|
||||
|
@ -356,4 +400,5 @@ selected keymap."
|
|||
;; some reason, unicode support is not correctly installed
|
||||
;; when calling this in 'installer-builder'.
|
||||
(setenv "LANG" "en_US.UTF-8")
|
||||
(system #$(program-file "installer-real" installer-builder)))))
|
||||
(execl #$(program-file "installer-real" installer-builder)
|
||||
"installer-real"))))
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -20,17 +21,98 @@
|
|||
#:use-module (gnu installer newt page)
|
||||
#:use-module (gnu installer steps)
|
||||
#:use-module (gnu installer utils)
|
||||
#:use-module (gnu installer user)
|
||||
#:use-module (gnu services herd)
|
||||
#:use-module (guix build utils)
|
||||
#:use-module (gnu build accounts)
|
||||
#:use-module ((gnu system shadow) #:prefix sys:)
|
||||
#:use-module (rnrs io ports)
|
||||
#:export (install-system))
|
||||
|
||||
(define (install-system)
|
||||
"Start COW-STORE service on target directory and launch guix install command
|
||||
in a subshell."
|
||||
(define %seed
|
||||
(seed->random-state
|
||||
(logxor (getpid) (car (gettimeofday)))))
|
||||
|
||||
(define (integer->alphanumeric-char n)
|
||||
"Map N, an integer in the [0..62] range, to an alphanumeric character."
|
||||
(cond ((< n 10)
|
||||
(integer->char (+ (char->integer #\0) n)))
|
||||
((< n 36)
|
||||
(integer->char (+ (char->integer #\A) (- n 10))))
|
||||
((< n 62)
|
||||
(integer->char (+ (char->integer #\a) (- n 36))))
|
||||
(else
|
||||
(error "integer out of bounds" n))))
|
||||
|
||||
(define (random-string len)
|
||||
"Compute a random string of size LEN where each character is alphanumeric."
|
||||
(let loop ((chars '())
|
||||
(len len))
|
||||
(if (zero? len)
|
||||
(list->string chars)
|
||||
(let ((n (random 62 %seed)))
|
||||
(loop (cons (integer->alphanumeric-char n) chars)
|
||||
(- len 1))))))
|
||||
|
||||
(define (create-user-database users root)
|
||||
"Create /etc/passwd, /etc/shadow, and /etc/group under ROOT for the given
|
||||
USERS."
|
||||
(define etc
|
||||
(string-append root "/etc"))
|
||||
|
||||
(define (salt)
|
||||
;; "$6" gives us a SHA512 password hash; the random string must be taken
|
||||
;; from the './0-9A-Za-z' alphabet (info "(libc) Passphrase Storage").
|
||||
(string-append "$6$" (random-string 10)))
|
||||
|
||||
(define users*
|
||||
(map (lambda (user)
|
||||
(define root?
|
||||
(string=? "root" (user-name user)))
|
||||
|
||||
(sys:user-account (name (user-name user))
|
||||
(comment (user-real-name user))
|
||||
(group "users")
|
||||
(uid (if root? 0 #f))
|
||||
(home-directory
|
||||
(user-home-directory user))
|
||||
(password (crypt (user-password user)
|
||||
(salt)))
|
||||
|
||||
;; We need a string here, not a file-like, hence
|
||||
;; this choice.
|
||||
(shell
|
||||
"/run/current-system/profile/bin/bash")))
|
||||
users))
|
||||
|
||||
(define-values (group password shadow)
|
||||
(user+group-databases users* sys:%base-groups
|
||||
#:current-passwd '()
|
||||
#:current-groups '()
|
||||
#:current-shadow '()))
|
||||
|
||||
(mkdir-p etc)
|
||||
(write-group group (string-append etc "/group"))
|
||||
(write-passwd password (string-append etc "/passwd"))
|
||||
(write-shadow shadow (string-append etc "/shadow")))
|
||||
|
||||
(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."
|
||||
(let ((install-command
|
||||
(format #f "guix system init ~a ~a"
|
||||
(%installer-configuration-file)
|
||||
(%installer-target-dir))))
|
||||
(mkdir-p (%installer-target-dir))
|
||||
|
||||
;; We want to initialize user passwords but we don't want to store them in
|
||||
;; the config file since the password hashes would end up world-readable
|
||||
;; in the store. Thus, create /etc/shadow & co. here such that, on the
|
||||
;; first boot, the activation snippet that creates accounts will reuse the
|
||||
;; passwords that we've put in there.
|
||||
(create-user-database users (%installer-target-dir))
|
||||
|
||||
(start-service 'cow-store (list (%installer-target-dir)))
|
||||
(false-if-exception (run-shell-command install-command))))
|
||||
(run-shell-command install-command #:locale locale)))
|
||||
|
|
|
@ -36,6 +36,7 @@
|
|||
make-x11-keymap-layout
|
||||
x11-keymap-layout?
|
||||
x11-keymap-layout-name
|
||||
x11-keymap-layout-synopsis
|
||||
x11-keymap-layout-description
|
||||
x11-keymap-layout-variants
|
||||
|
||||
|
@ -60,7 +61,8 @@
|
|||
x11-keymap-layout make-x11-keymap-layout
|
||||
x11-keymap-layout?
|
||||
(name x11-keymap-layout-name) ;string
|
||||
(description x11-keymap-layout-description) ;string
|
||||
(synopsis x11-keymap-layout-synopsis) ;string (e.g., "en")
|
||||
(description x11-keymap-layout-description) ;string (a whole phrase)
|
||||
(variants x11-keymap-layout-variants)) ;list of <x11-keymap-variant>
|
||||
|
||||
(define-record-type* <x11-keymap-variant>
|
||||
|
@ -117,6 +119,8 @@ Configuration Database, describing possible XKB configurations."
|
|||
(variantList ,[variant -> v] ...))
|
||||
(x11-keymap-layout
|
||||
(name name)
|
||||
(synopsis (car
|
||||
(assoc-ref rest-layout 'shortDescription)))
|
||||
(description (car
|
||||
(assoc-ref rest-layout 'description)))
|
||||
(variants (list v ...)))]
|
||||
|
@ -126,6 +130,8 @@ Configuration Database, describing possible XKB configurations."
|
|||
. ,rest-layout))
|
||||
(x11-keymap-layout
|
||||
(name name)
|
||||
(synopsis (car
|
||||
(assoc-ref rest-layout 'shortDescription)))
|
||||
(description (car
|
||||
(assoc-ref rest-layout 'description)))
|
||||
(variants '()))]))
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -69,6 +70,24 @@
|
|||
(codeset . ,(match:substring matches 5))
|
||||
(modifier . ,(match:substring matches 7)))))
|
||||
|
||||
(define (normalize-codeset codeset)
|
||||
"Compute the \"normalized\" variant of CODESET."
|
||||
;; info "(libc) Using gettextized software", for the algorithm used to
|
||||
;; compute the normalized codeset.
|
||||
(letrec-syntax ((-> (syntax-rules ()
|
||||
((_ proc value)
|
||||
(proc value))
|
||||
((_ proc rest ...)
|
||||
(proc (-> rest ...))))))
|
||||
(-> (lambda (str)
|
||||
(if (string-every char-set:digit str)
|
||||
(string-append "iso" str)
|
||||
str))
|
||||
string-downcase
|
||||
(lambda (str)
|
||||
(string-filter char-set:letter+digit str))
|
||||
codeset)))
|
||||
|
||||
(define (locale->locale-string locale)
|
||||
"Reverse operation of locale-string->locale."
|
||||
(let ((language (locale-language locale))
|
||||
|
@ -81,7 +100,7 @@
|
|||
`("_" ,territory)
|
||||
'())
|
||||
,@(if codeset
|
||||
`("." ,codeset)
|
||||
`("." ,(normalize-codeset codeset))
|
||||
'())
|
||||
,@(if modifier
|
||||
`("@" ,modifier)
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -29,15 +30,24 @@
|
|||
#:use-module (newt)
|
||||
#:export (run-final-page))
|
||||
|
||||
(define* (strip-prefix file #:optional (prefix (%installer-target-dir)))
|
||||
"Strip PREFIX from FILE, if PREFIX actually is a prefix of FILE."
|
||||
(if (string-prefix? prefix file)
|
||||
(string-drop file (string-length prefix))
|
||||
file))
|
||||
|
||||
(define (run-config-display-page)
|
||||
(let ((width (%configuration-file-width))
|
||||
(height (nearest-exact-integer
|
||||
(/ (screen-rows) 2))))
|
||||
(run-file-textbox-page
|
||||
#:info-text (G_ "We're now ready to proceed with the installation! \
|
||||
#:info-text (format #f (G_ "\
|
||||
We're now ready to proceed with the installation! \
|
||||
A system configuration file has been generated, it is displayed below. \
|
||||
This file will be available as '~a' on the installed system. \
|
||||
The new system will be created from this file once you've pressed OK. \
|
||||
This will take a few minutes.")
|
||||
(strip-prefix (%installer-configuration-file)))
|
||||
#:title (G_ "Configuration file")
|
||||
#:file (%installer-configuration-file)
|
||||
#:info-textbox-width width
|
||||
|
@ -55,7 +65,10 @@ This will take a few minutes.")
|
|||
(G_ "Reboot")
|
||||
(G_ "Congratulations! Installation is now complete. \
|
||||
You may remove the device containing the installation image and \
|
||||
press the button to reboot.")))
|
||||
press the button to reboot."))
|
||||
|
||||
;; Return success so that the installer happily reboots.
|
||||
'success)
|
||||
|
||||
(define (run-install-failed-page)
|
||||
(choice-window
|
||||
|
@ -65,22 +78,25 @@ press the button to reboot.")))
|
|||
(G_ "The final system installation step failed. You can retry the \
|
||||
last step, or restart the installer.")))
|
||||
|
||||
(define (run-install-shell)
|
||||
(define* (run-install-shell locale
|
||||
#:key (users '()))
|
||||
(clear-screen)
|
||||
(newt-suspend)
|
||||
(let ((install-ok? (install-system)))
|
||||
(let ((install-ok? (install-system locale #:users users)))
|
||||
(newt-resume)
|
||||
install-ok?))
|
||||
|
||||
(define (run-final-page result prev-steps)
|
||||
(let* ((configuration (format-configuration prev-steps result))
|
||||
(user-partitions (result-step result 'partition))
|
||||
(locale (result-step result 'locale))
|
||||
(users (result-step result 'user))
|
||||
(install-ok?
|
||||
(with-mounted-partitions
|
||||
user-partitions
|
||||
(configuration->file configuration)
|
||||
(run-config-display-page)
|
||||
(run-install-shell))))
|
||||
(run-install-shell locale #:users users))))
|
||||
(if install-ok?
|
||||
(run-install-success-page)
|
||||
(run-install-failed-page))))
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -27,7 +28,10 @@
|
|||
#:use-module (srfi srfi-26)
|
||||
#:use-module (srfi srfi-34)
|
||||
#:use-module (srfi srfi-35)
|
||||
#:export (run-keymap-page))
|
||||
#:use-module (ice-9 i18n)
|
||||
#:use-module (ice-9 match)
|
||||
#:export (run-keymap-page
|
||||
keyboard-layout->configuration))
|
||||
|
||||
(define (run-layout-page layouts layout->text)
|
||||
(let ((title (G_ "Layout")))
|
||||
|
@ -61,14 +65,29 @@
|
|||
|
||||
(define (sort-layouts layouts)
|
||||
"Sort LAYOUTS list by putting the US layout ahead and return it."
|
||||
(define (layout<? layout1 layout2)
|
||||
(let ((text1 (x11-keymap-layout-description layout1))
|
||||
(text2 (x11-keymap-layout-description layout2)))
|
||||
;; XXX: We're calling 'gettext' more than once per item.
|
||||
(string-locale<? (gettext text1 "xkeyboard-config")
|
||||
(gettext text2 "xkeyboard-config"))))
|
||||
|
||||
(define preferred
|
||||
;; Two-letter language tag for the preferred keyboard layout.
|
||||
(or (getenv "LANGUAGE") "us"))
|
||||
|
||||
(call-with-values
|
||||
(lambda ()
|
||||
(partition
|
||||
(lambda (layout)
|
||||
(let ((name (x11-keymap-layout-name layout)))
|
||||
(string=? name "us")))
|
||||
;; The 'synopsis' field is usually a language code (e.g., "en")
|
||||
;; while the 'name' field is a country code (e.g., "us").
|
||||
(or (string=? (x11-keymap-layout-name layout) preferred)
|
||||
(string=? (x11-keymap-layout-synopsis layout) preferred)))
|
||||
layouts))
|
||||
(cut append <> <>)))
|
||||
(lambda (main others)
|
||||
(append (sort main layout<?)
|
||||
(sort others layout<?)))))
|
||||
|
||||
(define (sort-variants variants)
|
||||
"Sort VARIANTS list by putting the international variant ahead and return it."
|
||||
|
@ -94,7 +113,8 @@ names of the selected keyboard layout and variant."
|
|||
(run-layout-page
|
||||
(sort-layouts layouts)
|
||||
(lambda (layout)
|
||||
(x11-keymap-layout-description layout))))))
|
||||
(gettext (x11-keymap-layout-description layout)
|
||||
"xkeyboard-config"))))))
|
||||
;; Propose the user to select a variant among those supported by the
|
||||
;; previously selected layout.
|
||||
(installer-step
|
||||
|
@ -108,15 +128,24 @@ names of the selected keyboard layout and variant."
|
|||
(run-variant-page
|
||||
(sort-variants variants)
|
||||
(lambda (variant)
|
||||
(x11-keymap-variant-description
|
||||
variant))))))))))
|
||||
(gettext (x11-keymap-variant-description variant)
|
||||
"xkeyboard-config"))))))))))
|
||||
|
||||
(define (format-result result)
|
||||
(let ((layout (x11-keymap-layout-name
|
||||
(result-step result 'layout)))
|
||||
(variant (and=> (result-step result 'variant)
|
||||
(lambda (variant)
|
||||
(x11-keymap-variant-name variant)))))
|
||||
(gettext (x11-keymap-variant-name variant)
|
||||
"xkeyboard-config")))))
|
||||
(list layout (or variant ""))))
|
||||
(format-result
|
||||
(run-installer-steps #:steps keymap-steps)))
|
||||
|
||||
(define (keyboard-layout->configuration keymap)
|
||||
"Return the operating system configuration snippet to install KEYMAP."
|
||||
(match keymap
|
||||
((name "")
|
||||
`((keyboard-layout (keyboard-layout ,name))))
|
||||
((name variant)
|
||||
`((keyboard-layout (keyboard-layout ,name ,variant))))))
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -30,17 +31,11 @@
|
|||
#:export (run-locale-page))
|
||||
|
||||
(define (run-language-page languages language->text)
|
||||
(let ((title (G_ "Locale language")))
|
||||
(define result
|
||||
(run-listbox-selection-page
|
||||
#:title title
|
||||
#:info-text (G_ "Choose the locale's language to be used for the \
|
||||
installation process. A locale is a regional variant of your language \
|
||||
encompassing number, date and currency format, among other details.
|
||||
|
||||
Based on the language you choose, you will possibly be asked to \
|
||||
select a locale's territory, codeset and modifier in the next \
|
||||
steps. The locale will also be used as the default one for the \
|
||||
installed system.")
|
||||
#:title (G_ "Locale language")
|
||||
#:info-text (G_ "Choose the language to use for the \
|
||||
installation process and for the installed system.")
|
||||
#:info-textbox-width 70
|
||||
#:listbox-items languages
|
||||
#:listbox-item->text language->text
|
||||
|
@ -50,14 +45,19 @@ installed system.")
|
|||
(lambda _
|
||||
(raise
|
||||
(condition
|
||||
(&installer-step-abort)))))))
|
||||
(&installer-step-abort))))))
|
||||
|
||||
;; Immediately install the chosen language so that the territory page that
|
||||
;; comes after (optionally) is displayed in the chosen language.
|
||||
(setenv "LANGUAGE" result)
|
||||
|
||||
result)
|
||||
|
||||
(define (run-territory-page territories territory->text)
|
||||
(let ((title (G_ "Locale location")))
|
||||
(run-listbox-selection-page
|
||||
#:title title
|
||||
#:info-text (G_ "Choose your locale's location. This is a shortlist of \
|
||||
locations based on the language you selected.")
|
||||
#:info-text (G_ "Choose a territory for this language.")
|
||||
#:listbox-items territories
|
||||
#:listbox-item->text territory->text
|
||||
#:button-text (G_ "Back")
|
||||
|
@ -71,8 +71,7 @@ locations based on the language you selected.")
|
|||
(let ((title (G_ "Locale codeset")))
|
||||
(run-listbox-selection-page
|
||||
#:title title
|
||||
#:info-text (G_ "Choose your locale's codeset. If UTF-8 is available, \
|
||||
it should be preferred.")
|
||||
#:info-text (G_ "Choose the locale encoding.")
|
||||
#:listbox-items codesets
|
||||
#:listbox-item->text identity
|
||||
#:listbox-default-item "UTF-8"
|
||||
|
@ -163,7 +162,13 @@ glibc locale string and return it."
|
|||
(run-language-page
|
||||
(sort-languages
|
||||
(delete-duplicates (map locale-language supported-locales)))
|
||||
(cut language-code->language-name iso639-languages <>)))))
|
||||
(lambda (language)
|
||||
(let ((english (language-code->language-name iso639-languages
|
||||
language)))
|
||||
(setenv "LANGUAGE" language)
|
||||
(let ((native (gettext english "iso_639-3")))
|
||||
(unsetenv "LANGUAGE")
|
||||
native)))))))
|
||||
(installer-step
|
||||
(id 'territory)
|
||||
(compute
|
||||
|
@ -177,10 +182,11 @@ glibc locale string and return it."
|
|||
;; supported by the previously selected language.
|
||||
(run-territory-page
|
||||
(delete-duplicates (map locale-territory locales))
|
||||
(lambda (territory-code)
|
||||
(if territory-code
|
||||
(territory-code->territory-name iso3166-territories
|
||||
territory-code)
|
||||
(lambda (territory)
|
||||
(if territory
|
||||
(let ((english (territory-code->territory-name
|
||||
iso3166-territories territory)))
|
||||
(gettext english "iso_3166-1"))
|
||||
(G_ "No location"))))))))
|
||||
(installer-step
|
||||
(id 'codeset)
|
||||
|
@ -191,9 +197,11 @@ glibc locale string and return it."
|
|||
;; narrow down the search of a locale.
|
||||
(break-on-locale-found locales)
|
||||
|
||||
;; Otherwise, ask for a codeset.
|
||||
(run-codeset-page
|
||||
(delete-duplicates (map locale-codeset locales)))))))
|
||||
;; Otherwise, choose a codeset.
|
||||
(let ((codesets (delete-duplicates (map locale-codeset locales))))
|
||||
(if (member "UTF-8" codesets)
|
||||
"UTF-8" ;don't even ask
|
||||
(run-codeset-page codesets)))))))
|
||||
(installer-step
|
||||
(id 'modifier)
|
||||
(compute
|
||||
|
|
|
@ -59,7 +59,7 @@ Internet and return the selected technology. For now, only technologies with
|
|||
(G_ "Internet access")
|
||||
(G_ "Continue")
|
||||
(G_ "Exit")
|
||||
(G_ "The install process requires an internet access, but no \
|
||||
(G_ "The install process requires Internet access but no \
|
||||
network device were found. Do you want to continue anyway?"))
|
||||
((1) (raise
|
||||
(condition
|
||||
|
@ -68,7 +68,7 @@ network device were found. Do you want to continue anyway?"))
|
|||
(condition
|
||||
(&installer-step-abort)))))
|
||||
(run-listbox-selection-page
|
||||
#:info-text (G_ "The install process requires an internet access.\
|
||||
#:info-text (G_ "The install process requires Internet access.\
|
||||
Please select a network device.")
|
||||
#:title (G_ "Internet access")
|
||||
#:listbox-items items
|
||||
|
@ -93,7 +93,8 @@ network device were found. Do you want to continue anyway?"))
|
|||
(full-value 5))
|
||||
(run-scale-page
|
||||
#:title (G_ "Powering technology")
|
||||
#:info-text (format #f "Waiting for technology ~a to be powered." name)
|
||||
#:info-text (format #f (G_ "Waiting for technology ~a to be powered.")
|
||||
name)
|
||||
#:scale-full-value full-value
|
||||
#:scale-update-proc
|
||||
(lambda (value)
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -20,6 +21,7 @@
|
|||
#:use-module (gnu installer utils)
|
||||
#:use-module (gnu installer newt utils)
|
||||
#:use-module (guix i18n)
|
||||
#:use-module (ice-9 i18n)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (ice-9 receive)
|
||||
#:use-module (srfi srfi-1)
|
||||
|
@ -29,6 +31,7 @@
|
|||
draw-connecting-page
|
||||
run-input-page
|
||||
run-error-page
|
||||
run-confirmation-page
|
||||
run-listbox-selection-page
|
||||
run-scale-page
|
||||
run-checkbox-tree-page
|
||||
|
@ -72,17 +75,20 @@ this page to TITLE."
|
|||
#:key
|
||||
(allow-empty-input? #f)
|
||||
(default-text #f)
|
||||
(input-field-width 40))
|
||||
(input-field-width 40)
|
||||
(input-flags 0))
|
||||
"Run a page to prompt user for an input. The given TEXT will be displayed
|
||||
above the input field. The page title is set to TITLE. Unless
|
||||
allow-empty-input? is set to #t, an error page will be displayed if the user
|
||||
enters an empty input."
|
||||
enters an empty input. INPUT-FLAGS is a bitwise-or'd set of flags for the
|
||||
input box, such as FLAG-PASSWORD."
|
||||
(let* ((text-box
|
||||
(make-reflowed-textbox -1 -1 text
|
||||
input-field-width
|
||||
#:flags FLAG-BORDER))
|
||||
(grid (make-grid 1 3))
|
||||
(input-entry (make-entry -1 -1 20))
|
||||
(input-entry (make-entry -1 -1 20
|
||||
#:flags input-flags))
|
||||
(ok-button (make-button -1 -1 (G_ "OK")))
|
||||
(form (make-form)))
|
||||
|
||||
|
@ -141,6 +147,42 @@ of the page is set to TITLE."
|
|||
(newt-set-color COLORSET-ROOT "white" "blue")
|
||||
(destroy-form-and-pop form)))
|
||||
|
||||
(define* (run-confirmation-page text title
|
||||
#:key (exit-button-procedure (const #f)))
|
||||
"Run a page to inform the user of an error. The page contains the given TEXT
|
||||
to explain the error and an \"OK\" button to acknowledge the error. The title
|
||||
of the page is set to TITLE."
|
||||
(let* ((text-box
|
||||
(make-reflowed-textbox -1 -1 text 40
|
||||
#:flags FLAG-BORDER))
|
||||
(ok-button (make-button -1 -1 (G_ "Continue")))
|
||||
(exit-button (make-button -1 -1 (G_ "Exit")))
|
||||
(grid (vertically-stacked-grid
|
||||
GRID-ELEMENT-COMPONENT text-box
|
||||
GRID-ELEMENT-SUBGRID
|
||||
(horizontal-stacked-grid
|
||||
GRID-ELEMENT-COMPONENT ok-button
|
||||
GRID-ELEMENT-COMPONENT exit-button)))
|
||||
(form (make-form)))
|
||||
|
||||
(add-form-to-grid grid form #t)
|
||||
(make-wrapped-grid-window grid title)
|
||||
|
||||
(receive (exit-reason argument)
|
||||
(run-form form)
|
||||
(dynamic-wind
|
||||
(const #t)
|
||||
(lambda ()
|
||||
(case exit-reason
|
||||
((exit-component)
|
||||
(cond
|
||||
((components=? argument ok-button)
|
||||
#t)
|
||||
((components=? argument exit-button)
|
||||
(exit-button-procedure))))))
|
||||
(lambda ()
|
||||
(destroy-form-and-pop form))))))
|
||||
|
||||
(define* (run-listbox-selection-page #:key
|
||||
info-text
|
||||
title
|
||||
|
@ -185,7 +227,7 @@ be selected (using the <SPACE> key). It that case, a list containing the
|
|||
selected items will be returned.
|
||||
|
||||
If SORT-LISTBOX-ITEMS? is set to #t, the listbox items are sorted using
|
||||
'string<=' procedure (after being converted to text).
|
||||
'string-locale<?' procedure (after being converted to text).
|
||||
|
||||
If ALLOW-DELETE? is #t, the form will return if the <DELETE> key is pressed,
|
||||
otherwise nothing will happen.
|
||||
|
@ -211,7 +253,7 @@ ITEM was inserted into LISTBOX."
|
|||
items))
|
||||
|
||||
(define (sort-listbox-items listbox-items)
|
||||
"Return LISTBOX-ITEMS sorted using the 'string<=' procedure on the text
|
||||
"Return LISTBOX-ITEMS sorted using the 'string-locale<?' procedure on the text
|
||||
corresponding to each item in the list."
|
||||
(let* ((items (map (lambda (item)
|
||||
(cons item (listbox-item->text item)))
|
||||
|
@ -220,7 +262,7 @@ corresponding to each item in the list."
|
|||
(sort items (lambda (a b)
|
||||
(let ((text-a (cdr a))
|
||||
(text-b (cdr b)))
|
||||
(string<= text-a text-b))))))
|
||||
(string-locale<? text-a text-b))))))
|
||||
(map car sorted-items)))
|
||||
|
||||
;; Store the last selected listbox item's key.
|
||||
|
@ -395,10 +437,14 @@ error is raised if the MAX-SCALE-UPDATE limit is reached."
|
|||
(lambda ()
|
||||
(destroy-form-and-pop form)))))
|
||||
|
||||
(define %none-selected
|
||||
(circular-list #f))
|
||||
|
||||
(define* (run-checkbox-tree-page #:key
|
||||
info-text
|
||||
title
|
||||
items
|
||||
(selection %none-selected)
|
||||
item->text
|
||||
(info-textbox-width 50)
|
||||
(checkbox-tree-height 10)
|
||||
|
@ -411,7 +457,8 @@ a checkbox list. The page contains vertically stacked from the top to the
|
|||
bottom, an informative text set to INFO-TEXT, the checkbox list and two
|
||||
buttons, 'Ok' and 'Exit'. The page title's is set to TITLE. ITEMS are
|
||||
converted to text using ITEM->TEXT before being displayed in the checkbox
|
||||
list.
|
||||
list. SELECTION is a list of Booleans of the same length as ITEMS that
|
||||
specifies which items are initially checked.
|
||||
|
||||
INFO-TEXTBOX-WIDTH is the width of the textbox where INFO-TEXT will be
|
||||
displayed. CHECKBOX-TREE-HEIGHT is the height of the checkbox list.
|
||||
|
@ -423,12 +470,15 @@ pressed.
|
|||
This procedure returns the list of checked items in the checkbox list among
|
||||
ITEMS when 'Ok' is pressed."
|
||||
(define (fill-checkbox-tree checkbox-tree items)
|
||||
(map
|
||||
(lambda (item)
|
||||
(map (lambda (item selected?)
|
||||
(let* ((item-text (item->text item))
|
||||
(key (add-entry-to-checkboxtree checkbox-tree item-text 0)))
|
||||
(key (add-entry-to-checkboxtree checkbox-tree item-text
|
||||
(if selected?
|
||||
FLAG-SELECTED
|
||||
0))))
|
||||
(cons key item)))
|
||||
items))
|
||||
items
|
||||
selection))
|
||||
|
||||
(let* ((checkbox-tree
|
||||
(make-checkboxtree -1 -1
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -41,8 +42,8 @@
|
|||
(define (run-scheme-page)
|
||||
"Run a page asking the user for a partitioning scheme."
|
||||
(let* ((items
|
||||
'((root . "Everything is one partition")
|
||||
(root-home . "Separate /home partition")))
|
||||
`((root . ,(G_ "Everything is one partition"))
|
||||
(root-home . ,(G_ "Separate /home partition"))))
|
||||
(result (run-listbox-selection-page
|
||||
#:info-text (G_ "Please select a partitioning scheme.")
|
||||
#:title (G_ "Partition scheme")
|
||||
|
@ -53,7 +54,12 @@
|
|||
(car result)))
|
||||
|
||||
(define (draw-formatting-page)
|
||||
"Draw a page to indicate partitions are being formated."
|
||||
"Draw a page asking for confirmation, and then indicating that partitions
|
||||
are being formatted."
|
||||
(run-confirmation-page (G_ "We are about to format your hard disk. All \
|
||||
its data will be lost. Do you wish to continue?")
|
||||
(G_ "Format disk?")
|
||||
#:exit-button-procedure button-exit-action)
|
||||
(draw-info-page
|
||||
(format #f (G_ "Partition formatting is in progress, please wait."))
|
||||
(G_ "Preparing partitions")))
|
||||
|
@ -146,6 +152,10 @@ USER-PARTITIONS list. Return this list with password fields filled-in."
|
|||
(file-name (user-partition-file-name user-part))
|
||||
(password-page
|
||||
(lambda ()
|
||||
;; Note: Don't use FLAG-PASSWORD here because this is the
|
||||
;; first bit of text that the user types in, so it's
|
||||
;; probably safer if they can see that the keyboard layout
|
||||
;; they chose is in effect.
|
||||
(run-input-page
|
||||
(format #f (G_ "Please enter the password for the \
|
||||
encryption of partition ~a (label: ~a).") file-name crypt-label)
|
||||
|
@ -155,7 +165,8 @@ encryption of partition ~a (label: ~a).") file-name crypt-label)
|
|||
(run-input-page
|
||||
(format #f (G_ "Please confirm the password for the \
|
||||
encryption of partition ~a (label: ~a).") file-name crypt-label)
|
||||
(G_ "Password confirmation required")))))
|
||||
(G_ "Password confirmation required")
|
||||
#:input-flags FLAG-PASSWORD))))
|
||||
(if crypt-label
|
||||
(let loop ()
|
||||
(let ((password (password-page))
|
||||
|
@ -418,10 +429,10 @@ partition. Leave this field empty if you don't want to set a mounting point.")
|
|||
(run-listbox-selection-page
|
||||
#:info-text
|
||||
(if creation?
|
||||
(G_ (format #f "Creating ~a partition starting at ~a of ~a."
|
||||
type-str start file-name))
|
||||
(G_ (format #f "You are currently editing partition ~a."
|
||||
number-str)))
|
||||
(format #f (G_ "Creating ~a partition starting at ~a of ~a.")
|
||||
type-str start file-name)
|
||||
(format #f (G_ "You are currently editing partition ~a.")
|
||||
number-str))
|
||||
#:title (if creation?
|
||||
(G_ "Partition creation")
|
||||
(G_ "Partition edit"))
|
||||
|
@ -662,7 +673,8 @@ by pressing the Exit button.~%~%")))
|
|||
#:title (if guided?
|
||||
(G_ "Guided partitioning")
|
||||
(G_ "Manual partitioning"))
|
||||
#:info-textbox-width 70
|
||||
#:info-textbox-width 76 ;we need a lot of room for INFO-TEXT
|
||||
#:listbox-height 12
|
||||
#:listbox-items (disk-items)
|
||||
#:listbox-item->text cdr
|
||||
#:sort-listbox-items? #f
|
||||
|
@ -713,9 +725,9 @@ by pressing the Exit button.~%~%")))
|
|||
"Run a page asking the user for a partitioning method."
|
||||
(define (run-page devices)
|
||||
(let* ((items
|
||||
'((entire . "Guided - using the entire disk")
|
||||
(entire-encrypted . "Guided - using the entire disk with encryption")
|
||||
(manual . "Manual")))
|
||||
`((entire . ,(G_ "Guided - using the entire disk"))
|
||||
(entire-encrypted . ,(G_ "Guided - using the entire disk with encryption"))
|
||||
(manual . ,(G_ "Manual"))))
|
||||
(result (run-listbox-selection-page
|
||||
#:info-text (G_ "Please select a partitioning method.")
|
||||
#:title (G_ "Partitioning method")
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -30,19 +31,70 @@
|
|||
(define (run-desktop-environments-cbt-page)
|
||||
"Run a page allowing the user to choose between various desktop
|
||||
environments."
|
||||
(let ((items (filter desktop-system-service? %system-services)))
|
||||
(run-checkbox-tree-page
|
||||
#:info-text (G_ "Please select the desktop(s) environment(s) you wish to \
|
||||
install. If you select multiple desktops environments, we will be able to \
|
||||
choose the one to use on the log-in screen with F1.")
|
||||
install. If you select multiple desktops environments, you will be able to \
|
||||
choose the one to use on the log-in screen.")
|
||||
#:title (G_ "Desktop environment")
|
||||
#:items %desktop-environments
|
||||
#:item->text desktop-environment-name
|
||||
#:items items
|
||||
#:selection (map system-service-recommended? items)
|
||||
#:item->text system-service-name ;no i18n for DE names
|
||||
#:checkbox-tree-height 8
|
||||
#:exit-button-callback-procedure
|
||||
(lambda ()
|
||||
(raise
|
||||
(condition
|
||||
(&installer-step-abort)))))))
|
||||
|
||||
(define (run-networking-cbt-page)
|
||||
"Run a page allowing the user to select networking services."
|
||||
(let ((items (filter (lambda (service)
|
||||
(eq? 'networking (system-service-type service)))
|
||||
%system-services)))
|
||||
(run-checkbox-tree-page
|
||||
#:info-text (G_ "You can now select networking services to run on your \
|
||||
system.")
|
||||
#:title (G_ "Network service")
|
||||
#:items items
|
||||
#:selection (map system-service-recommended? items)
|
||||
#:item->text (compose G_ system-service-name)
|
||||
#:checkbox-tree-height 5
|
||||
#:exit-button-callback-procedure
|
||||
(lambda ()
|
||||
(raise
|
||||
(condition
|
||||
(&installer-step-abort))))))
|
||||
(&installer-step-abort)))))))
|
||||
|
||||
(define (run-network-management-page)
|
||||
"Run a page to select among several network management methods."
|
||||
(let ((title (G_ "Network management")))
|
||||
(run-listbox-selection-page
|
||||
#:title title
|
||||
#:info-text (G_ "Choose the method to manage network connections.
|
||||
|
||||
We recommend NetworkManager or Connman for a WiFi-capable laptop; the DHCP \
|
||||
client may be enough for a server.")
|
||||
#:info-textbox-width 70
|
||||
#:listbox-items (filter (lambda (service)
|
||||
(eq? 'network-management
|
||||
(system-service-type service)))
|
||||
%system-services)
|
||||
#:listbox-item->text (compose G_ system-service-name)
|
||||
#:sort-listbox-items? #f
|
||||
#:button-text (G_ "Exit")
|
||||
#:button-callback-procedure
|
||||
(lambda _
|
||||
(raise
|
||||
(condition
|
||||
(&installer-step-abort)))))))
|
||||
|
||||
(define (run-services-page)
|
||||
(run-desktop-environments-cbt-page))
|
||||
(let ((desktop (run-desktop-environments-cbt-page)))
|
||||
;; When the user did not select any desktop services, and thus didn't get
|
||||
;; '%desktop-services', offer network management services.
|
||||
(append desktop
|
||||
(run-networking-cbt-page)
|
||||
(if (null? desktop)
|
||||
(list (run-network-management-page))
|
||||
'()))))
|
||||
|
|
|
@ -50,12 +50,15 @@ returned."
|
|||
|
||||
(define (run-page timezone-tree)
|
||||
(define (loop path)
|
||||
;; XXX: Translation of time zones isn't perfect here because the
|
||||
;; "iso_3166-1" domain contains translation for "territories" (like
|
||||
;; "Antarctic") but not for continents (like "Africa").
|
||||
(let ((timezones (locate-children timezone-tree path)))
|
||||
(run-listbox-selection-page
|
||||
#:title (G_ "Timezone")
|
||||
#:info-text (G_ "Please select a timezone.")
|
||||
#:listbox-items timezones
|
||||
#:listbox-item->text identity
|
||||
#:listbox-item->text (cut gettext <> "iso_3166-1")
|
||||
#:button-text (if (null? path)
|
||||
(G_ "Exit")
|
||||
(G_ "Back"))
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -28,18 +29,31 @@
|
|||
#:use-module (srfi srfi-26)
|
||||
#:export (run-user-page))
|
||||
|
||||
(define (run-user-add-page)
|
||||
(define* (run-user-add-page #:key (name "") (real-name "")
|
||||
(home-directory ""))
|
||||
"Run a form to enter the user name, home directory, and password. Use NAME,
|
||||
REAL-NAME, and HOME-DIRECTORY as the initial values in the form."
|
||||
(define (pad-label label)
|
||||
(string-pad-right label 20))
|
||||
|
||||
(let* ((label-name
|
||||
(make-label -1 -1 (pad-label (G_ "Name"))))
|
||||
(label-real-name
|
||||
(make-label -1 -1 (pad-label (G_ "Real name"))))
|
||||
(label-home-directory
|
||||
(make-label -1 -1 (pad-label (G_ "Home directory"))))
|
||||
(label-password
|
||||
(make-label -1 -1 (pad-label (G_ "Password"))))
|
||||
(entry-width 30)
|
||||
(entry-name (make-entry -1 -1 entry-width))
|
||||
(entry-home-directory (make-entry -1 -1 entry-width))
|
||||
(entry-grid (make-grid 2 2))
|
||||
(entry-name (make-entry -1 -1 entry-width
|
||||
#:initial-value name))
|
||||
(entry-real-name (make-entry -1 -1 entry-width
|
||||
#:initial-value real-name))
|
||||
(entry-home-directory (make-entry -1 -1 entry-width
|
||||
#:initial-value home-directory))
|
||||
(entry-password (make-entry -1 -1 entry-width
|
||||
#:flags FLAG-PASSWORD))
|
||||
(entry-grid (make-grid 2 5))
|
||||
(button-grid (make-grid 1 1))
|
||||
(ok-button (make-button -1 -1 (G_ "OK")))
|
||||
(grid (make-grid 1 2))
|
||||
|
@ -50,8 +64,12 @@
|
|||
|
||||
(set-entry-grid-field 0 0 label-name)
|
||||
(set-entry-grid-field 1 0 entry-name)
|
||||
(set-entry-grid-field 0 1 label-home-directory)
|
||||
(set-entry-grid-field 1 1 entry-home-directory)
|
||||
(set-entry-grid-field 0 1 label-real-name)
|
||||
(set-entry-grid-field 1 1 entry-real-name)
|
||||
(set-entry-grid-field 0 2 label-home-directory)
|
||||
(set-entry-grid-field 1 2 entry-home-directory)
|
||||
(set-entry-grid-field 0 3 label-password)
|
||||
(set-entry-grid-field 1 3 entry-password)
|
||||
|
||||
(set-grid-field button-grid 0 0 GRID-ELEMENT-COMPONENT ok-button)
|
||||
|
||||
|
@ -59,11 +77,17 @@
|
|||
entry-name
|
||||
(lambda (component)
|
||||
(set-entry-text entry-home-directory
|
||||
(string-append "/home/" (entry-value entry-name)))))
|
||||
(string-append "/home/" (entry-value entry-name)))
|
||||
|
||||
(when (string-null? (entry-value entry-real-name))
|
||||
(set-entry-text entry-real-name
|
||||
(string-titlecase (entry-value entry-name))))))
|
||||
|
||||
(add-components-to-form form
|
||||
label-name label-home-directory
|
||||
entry-name entry-home-directory
|
||||
label-name label-real-name
|
||||
label-home-directory label-password
|
||||
entry-name entry-real-name
|
||||
entry-home-directory entry-password
|
||||
ok-button)
|
||||
|
||||
(make-wrapped-grid-window (vertically-stacked-grid
|
||||
|
@ -83,18 +107,56 @@
|
|||
(cond
|
||||
((components=? argument ok-button)
|
||||
(let ((name (entry-value entry-name))
|
||||
(home-directory (entry-value entry-home-directory)))
|
||||
(real-name (entry-value entry-real-name))
|
||||
(home-directory (entry-value entry-home-directory))
|
||||
(password (entry-value entry-password)))
|
||||
(if (or (string=? name "")
|
||||
(string=? home-directory ""))
|
||||
(begin
|
||||
(error-page)
|
||||
(run-user-add-page))
|
||||
(let ((password (confirm-password password)))
|
||||
(if password
|
||||
(user
|
||||
(name name)
|
||||
(home-directory home-directory))))))))
|
||||
(real-name real-name)
|
||||
(home-directory home-directory)
|
||||
(password password))
|
||||
(run-user-add-page #:name name
|
||||
#:real-name real-name
|
||||
#:home-directory
|
||||
home-directory)))))))))
|
||||
(lambda ()
|
||||
(destroy-form-and-pop form)))))))
|
||||
|
||||
(define* (confirm-password password #:optional (try-again (const #f)))
|
||||
"Ask the user to confirm PASSWORD, a possibly empty string. Call TRY-AGAIN,
|
||||
a thunk, if the confirmation doesn't match PASSWORD, and return its result."
|
||||
(define confirmation
|
||||
(run-input-page (G_ "Please confirm the password.")
|
||||
(G_ "Password confirmation required")
|
||||
#:allow-empty-input? #t
|
||||
#:input-flags FLAG-PASSWORD))
|
||||
|
||||
(if (string=? password confirmation)
|
||||
password
|
||||
(begin
|
||||
(run-error-page
|
||||
(G_ "Password mismatch, please try again.")
|
||||
(G_ "Password error"))
|
||||
(try-again))))
|
||||
|
||||
(define (run-root-password-page)
|
||||
;; TRANSLATORS: Leave "root" untranslated: it refers to the name of the
|
||||
;; system administrator account.
|
||||
(define password
|
||||
(run-input-page (G_ "Please choose a password for the system \
|
||||
administrator (\"root\").")
|
||||
(G_ "System administrator password")
|
||||
#:input-flags FLAG-PASSWORD))
|
||||
|
||||
(confirm-password password run-root-password-page))
|
||||
|
||||
(define (run-user-page)
|
||||
(define (run users)
|
||||
(let* ((listbox (make-listbox
|
||||
|
@ -169,7 +231,12 @@
|
|||
(run-error-page (G_ "Please create at least one user.")
|
||||
(G_ "No user"))
|
||||
(run users))
|
||||
users))))
|
||||
(reverse users)))))
|
||||
(lambda ()
|
||||
(destroy-form-and-pop form))))))
|
||||
(run '()))
|
||||
|
||||
;; Add a "root" user simply to convey the root password.
|
||||
(cons (user (name "root")
|
||||
(home-directory "/root")
|
||||
(password (run-root-password-page)))
|
||||
(run '())))
|
||||
|
|
|
@ -95,9 +95,11 @@ installation and reboot."
|
|||
(G_ "GNU Guix install")
|
||||
(G_ "Welcome to GNU Guix system installer!
|
||||
|
||||
Please note that the present graphical installer is still under heavy \
|
||||
development, so you might want to prefer using the shell based process. \
|
||||
The documentation is accessible at any time by pressing CTRL-ALT-F2.")
|
||||
You will be guided through a graphical installation program.
|
||||
|
||||
If you are familiar with GNU/Linux and you want tight control over \
|
||||
the installation process, you can instead choose manual installation. \
|
||||
Documentation is accessible at any time by pressing Ctrl-Alt-F2.")
|
||||
logo
|
||||
#:listbox-items
|
||||
`((,(G_ "Graphical install using a terminal based interface")
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2019 Meiyo Peng <meiyo@riseup.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -80,7 +81,7 @@ nmc_wifi_strength_bars."
|
|||
(message (G_ "Unable to find a wifi technology"))))))))
|
||||
|
||||
(define (draw-scanning-page)
|
||||
"Draw a page to indicate a wifi scan in in progress."
|
||||
"Draw a page to indicate a wifi scan in progress."
|
||||
(draw-info-page (G_ "Scanning wifi for available networks, please wait.")
|
||||
(G_ "Scan in progress")))
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2018, 2019 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -24,6 +25,10 @@
|
|||
#:use-module ((gnu build file-systems)
|
||||
#:select (read-partition-uuid
|
||||
read-luks-partition-uuid))
|
||||
#:use-module ((gnu build linux-modules)
|
||||
#:select (missing-modules))
|
||||
#:use-module ((gnu system linux-initrd)
|
||||
#:select (%base-initrd-modules))
|
||||
#:use-module (guix build syscalls)
|
||||
#:use-module (guix build utils)
|
||||
#:use-module (guix records)
|
||||
|
@ -1243,14 +1248,15 @@ from (gnu system mapped-devices) and return it."
|
|||
(target ,label)
|
||||
(type luks-device-mapping))))
|
||||
|
||||
(define (bootloader-configuration user-partitions)
|
||||
"Return the bootloader configuration field for USER-PARTITIONS."
|
||||
(let* ((root-partition
|
||||
(find (lambda (user-partition)
|
||||
(let ((mount-point
|
||||
(user-partition-mount-point user-partition)))
|
||||
(define (root-user-partition? partition)
|
||||
"Return true if PARTITION is the root partition."
|
||||
(let ((mount-point (user-partition-mount-point partition)))
|
||||
(and mount-point
|
||||
(string=? mount-point "/"))))
|
||||
|
||||
(define (bootloader-configuration user-partitions)
|
||||
"Return the bootloader configuration field for USER-PARTITIONS."
|
||||
(let* ((root-partition (find root-user-partition?
|
||||
user-partitions))
|
||||
(root-partition-disk (user-partition-disk-file-name root-partition)))
|
||||
`((bootloader-configuration
|
||||
|
@ -1258,7 +1264,35 @@ from (gnu system mapped-devices) and return it."
|
|||
`((bootloader grub-efi-bootloader)
|
||||
(target ,(default-esp-mount-point)))
|
||||
`((bootloader grub-bootloader)
|
||||
(target ,root-partition-disk)))))))
|
||||
(target ,root-partition-disk)))
|
||||
|
||||
;; XXX: Assume we defined the 'keyboard-layout' field of
|
||||
;; <operating-system> right above.
|
||||
(keyboard-layout keyboard-layout)))))
|
||||
|
||||
(define (user-partition-missing-modules user-partitions)
|
||||
"Return the list of kernel modules missing from the default set of kernel
|
||||
modules to access USER-PARTITIONS."
|
||||
(let ((devices (filter user-partition-crypt-label user-partitions))
|
||||
(root (find root-user-partition? user-partitions)))
|
||||
(delete-duplicates
|
||||
(append-map (lambda (device)
|
||||
(catch 'system-error
|
||||
(lambda ()
|
||||
(missing-modules device %base-initrd-modules))
|
||||
(const '())))
|
||||
(delete-duplicates
|
||||
(map user-partition-file-name
|
||||
(cons root devices)))))))
|
||||
|
||||
(define (initrd-configuration user-partitions)
|
||||
"Return an 'initrd-modules' field with everything needed for
|
||||
USER-PARTITIONS, or return nothing."
|
||||
(match (user-partition-missing-modules user-partitions)
|
||||
(()
|
||||
'())
|
||||
((modules ...)
|
||||
`((initrd-modules ',modules)))))
|
||||
|
||||
(define (user-partitions->configuration user-partitions)
|
||||
"Return the configuration field for USER-PARTITIONS."
|
||||
|
@ -1266,10 +1300,11 @@ from (gnu system mapped-devices) and return it."
|
|||
(swap-devices (map user-partition-file-name swap-user-partitions))
|
||||
(encrypted-partitions
|
||||
(filter user-partition-crypt-label user-partitions)))
|
||||
`(,@(if (null? swap-devices)
|
||||
`((bootloader ,@(bootloader-configuration user-partitions))
|
||||
,@(initrd-configuration user-partitions)
|
||||
,@(if (null? swap-devices)
|
||||
'()
|
||||
`((swap-devices (list ,@swap-devices))))
|
||||
(bootloader ,@(bootloader-configuration user-partitions))
|
||||
,@(if (null? encrypted-partitions)
|
||||
'()
|
||||
`((mapped-devices
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -18,42 +19,129 @@
|
|||
|
||||
(define-module (gnu installer services)
|
||||
#:use-module (guix records)
|
||||
#:export (<desktop-environment>
|
||||
desktop-environment
|
||||
make-desktop-environment
|
||||
desktop-environment-name
|
||||
desktop-environment-snippet
|
||||
#:use-module (srfi srfi-1)
|
||||
#:export (system-service?
|
||||
system-service-name
|
||||
system-service-type
|
||||
system-service-recommended?
|
||||
system-service-snippet
|
||||
system-service-packages
|
||||
|
||||
%desktop-environments
|
||||
desktop-environments->configuration))
|
||||
desktop-system-service?
|
||||
networking-system-service?
|
||||
|
||||
(define-record-type* <desktop-environment>
|
||||
desktop-environment make-desktop-environment
|
||||
desktop-environment?
|
||||
(name desktop-environment-name) ;string
|
||||
(snippet desktop-environment-snippet)) ;symbol
|
||||
%system-services
|
||||
system-services->configuration))
|
||||
|
||||
(define-record-type* <system-service>
|
||||
system-service make-system-service
|
||||
system-service?
|
||||
(name system-service-name) ;string
|
||||
(type system-service-type) ;'desktop | 'networking
|
||||
(recommended? system-service-recommended? ;Boolean
|
||||
(default #f))
|
||||
(snippet system-service-snippet ;list of sexps
|
||||
(default '()))
|
||||
(packages system-service-packages ;list of sexps
|
||||
(default '())))
|
||||
|
||||
;; This is the list of desktop environments supported as services.
|
||||
(define %desktop-environments
|
||||
(define %system-services
|
||||
(let-syntax ((desktop-environment (syntax-rules ()
|
||||
((_ fields ...)
|
||||
(system-service
|
||||
(type 'desktop)
|
||||
fields ...))))
|
||||
(G_ (syntax-rules () ;for xgettext
|
||||
((_ str) str))))
|
||||
(list
|
||||
(desktop-environment
|
||||
(name "GNOME")
|
||||
(snippet '(gnome-desktop-service)))
|
||||
(snippet '((service gnome-desktop-service-type))))
|
||||
(desktop-environment
|
||||
(name "Xfce")
|
||||
(snippet '(xfce-desktop-service)))
|
||||
(snippet '((service xfce-desktop-service-type))))
|
||||
(desktop-environment
|
||||
(name "MATE")
|
||||
(snippet '(mate-desktop-service)))
|
||||
(snippet '((service mate-desktop-service-type))))
|
||||
(desktop-environment
|
||||
(name "Enlightenment")
|
||||
(snippet '(service enlightenment-desktop-service-type)))))
|
||||
(snippet '((service enlightenment-desktop-service-type))))
|
||||
(desktop-environment
|
||||
(name "Openbox")
|
||||
(packages '((specification->package "openbox"))))
|
||||
(desktop-environment
|
||||
(name "awesome")
|
||||
(packages '((specification->package "awesome"))))
|
||||
(desktop-environment
|
||||
(name "i3")
|
||||
(packages '((specification->package "i3-wm"))))
|
||||
(desktop-environment
|
||||
(name "ratpoison")
|
||||
(packages '((specification->package "ratpoison"))))
|
||||
|
||||
(define (desktop-environments->configuration desktop-environments)
|
||||
"Return the configuration field for DESKTOP-ENVIRONMENTS."
|
||||
(let ((snippets
|
||||
(map desktop-environment-snippet desktop-environments)))
|
||||
`(,@(if (null? snippets)
|
||||
;; Networking.
|
||||
(system-service
|
||||
(name (G_ "OpenSSH secure shell daemon (sshd)"))
|
||||
(type 'networking)
|
||||
(snippet '((service openssh-service-type))))
|
||||
(system-service
|
||||
(name (G_ "Tor anonymous network router"))
|
||||
(type 'networking)
|
||||
(snippet '((service tor-service-type))))
|
||||
(system-service
|
||||
(name (G_ "Mozilla NSS certificates, for HTTPS access"))
|
||||
(type 'networking)
|
||||
(packages '((specification->package "nss-certs")))
|
||||
(recommended? #t))
|
||||
|
||||
;; Network connectivity management.
|
||||
(system-service
|
||||
(name (G_ "NetworkManager network connection manager"))
|
||||
(type 'network-management)
|
||||
(snippet '((service network-manager-service-type)
|
||||
(service wpa-supplicant-service-type))))
|
||||
(system-service
|
||||
(name (G_ "Connman network connection manager"))
|
||||
(type 'network-management)
|
||||
(snippet '((service connman-service-type)
|
||||
(service wpa-supplicant-service-type))))
|
||||
(system-service
|
||||
(name (G_ "DHCP client (dynamic IP address assignment)"))
|
||||
(type 'network-management)
|
||||
(snippet '((service dhcp-client-service-type)))))))
|
||||
|
||||
(define (desktop-system-service? service)
|
||||
"Return true if SERVICE is a desktop environment service."
|
||||
(eq? 'desktop (system-service-type service)))
|
||||
|
||||
(define (networking-system-service? service)
|
||||
"Return true if SERVICE is a desktop environment service."
|
||||
(eq? 'networking (system-service-type service)))
|
||||
|
||||
(define (system-services->configuration services)
|
||||
"Return the configuration field for SERVICES."
|
||||
(let* ((snippets (append-map system-service-snippet services))
|
||||
(packages (append-map system-service-packages services))
|
||||
(desktop? (find desktop-system-service? services))
|
||||
(base (if desktop?
|
||||
'%desktop-services
|
||||
'%base-services)))
|
||||
(if (null? snippets)
|
||||
`(,@(if (null? packages)
|
||||
'()
|
||||
`((services (cons* ,@snippets
|
||||
%desktop-services)))))))
|
||||
`((packages (list ,@packages))))
|
||||
(services ,base))
|
||||
`(,@(if (null? packages)
|
||||
'()
|
||||
`((packages (list ,@packages))))
|
||||
(services (append (list ,@snippets
|
||||
|
||||
,@(if desktop?
|
||||
;; XXX: Assume 'keyboard-layout' is in
|
||||
;; scope.
|
||||
'((set-xorg-configuration
|
||||
(xorg-configuration
|
||||
(keyboard-layout keyboard-layout))))
|
||||
'()))
|
||||
,base))))))
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2018, 2019 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -113,16 +113,24 @@ return the accumalated result so far."
|
|||
|
||||
(define* (skip-to-step step result
|
||||
#:key todo-steps done-steps)
|
||||
(match (list todo-steps done-steps)
|
||||
(((todo . rest-todo) (prev-done ... last-done))
|
||||
(if (eq? (installer-step-id todo)
|
||||
(installer-step-id step))
|
||||
(match todo-steps
|
||||
((todo . rest-todo)
|
||||
(let ((found? (eq? (installer-step-id todo)
|
||||
(installer-step-id step))))
|
||||
(cond
|
||||
(found?
|
||||
(run result
|
||||
#:todo-steps todo-steps
|
||||
#:done-steps done-steps)
|
||||
#:done-steps done-steps))
|
||||
((and (not found?)
|
||||
(null? done-steps))
|
||||
(error (format #f "Step ~a not found" (installer-step-id step))))
|
||||
(else
|
||||
(match done-steps
|
||||
((prev-done ... last-done)
|
||||
(skip-to-step step (pop-result result)
|
||||
#:todo-steps (cons last-done todo-steps)
|
||||
#:done-steps prev-done)))))
|
||||
#:done-steps prev-done)))))))))
|
||||
|
||||
(define* (run result #:key todo-steps done-steps)
|
||||
(match todo-steps
|
||||
|
@ -215,7 +223,7 @@ found in RESULTS."
|
|||
'())))
|
||||
steps))
|
||||
(modules '((use-modules (gnu))
|
||||
(use-service-modules desktop))))
|
||||
(use-service-modules desktop networking ssh xorg))))
|
||||
`(,@modules
|
||||
()
|
||||
(operating-system ,@configuration))))
|
||||
|
|
|
@ -18,12 +18,15 @@
|
|||
|
||||
(define-module (gnu installer user)
|
||||
#:use-module (guix records)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:export (<user>
|
||||
user
|
||||
make-user
|
||||
user-name
|
||||
user-real-name
|
||||
user-group
|
||||
user-home-directory
|
||||
user-password
|
||||
|
||||
users->configuration))
|
||||
|
||||
|
@ -31,20 +34,28 @@
|
|||
user make-user
|
||||
user?
|
||||
(name user-name)
|
||||
(real-name user-real-name
|
||||
(default ""))
|
||||
(group user-group
|
||||
(default "users"))
|
||||
(password user-password)
|
||||
(home-directory user-home-directory))
|
||||
|
||||
(define (users->configuration users)
|
||||
"Return the configuration field for USERS."
|
||||
`((users (cons*
|
||||
,@(map (lambda (user)
|
||||
(define (user->sexp user)
|
||||
`(user-account
|
||||
(name ,(user-name user))
|
||||
(comment ,(user-real-name user))
|
||||
(group ,(user-group user))
|
||||
(home-directory ,(user-home-directory user))
|
||||
(supplementary-groups
|
||||
(quote ("wheel" "netdev"
|
||||
"audio" "video")))))
|
||||
(supplementary-groups '("wheel" "netdev"
|
||||
"audio" "video"))))
|
||||
|
||||
`((users (cons*
|
||||
,@(filter-map (lambda (user)
|
||||
;; Do not emit a 'user-account' form for "root".
|
||||
(and (not (string=? (user-name user) "root"))
|
||||
(user->sexp user)))
|
||||
users)
|
||||
%base-user-accounts))))
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -19,6 +20,8 @@
|
|||
(define-module (gnu installer utils)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build utils)
|
||||
#:use-module (guix i18n)
|
||||
#:use-module (srfi srfi-34)
|
||||
#:use-module (ice-9 rdelim)
|
||||
#:use-module (ice-9 regex)
|
||||
#:use-module (ice-9 textual-ports)
|
||||
|
@ -54,10 +57,37 @@ number. If no percentage is found, return #f"
|
|||
(and result
|
||||
(string->number (match:substring result 1)))))
|
||||
|
||||
(define (run-shell-command command)
|
||||
(define* (run-shell-command command #:key locale)
|
||||
"Run COMMAND, a string, with Bash, and in the given LOCALE. Return true if
|
||||
COMMAND exited successfully, #f otherwise."
|
||||
(define (pause)
|
||||
(format #t (G_ "Press Enter to continue.~%"))
|
||||
(read-line (current-input-port)))
|
||||
|
||||
(call-with-temporary-output-file
|
||||
(lambda (file port)
|
||||
(format port "~a~%" command)
|
||||
;; (format port "exit~%")
|
||||
(when locale
|
||||
(let ((supported? (false-if-exception
|
||||
(setlocale LC_ALL locale))))
|
||||
;; If LOCALE is not supported, then set LANGUAGE, which might at
|
||||
;; least give us translated messages.
|
||||
(if supported?
|
||||
(format port "export LC_ALL=\"~a\"~%" locale)
|
||||
(format port "export LANGUAGE=\"~a\"~%"
|
||||
(string-take locale
|
||||
(string-index locale #\_))))))
|
||||
|
||||
(format port "exec ~a~%" command)
|
||||
(close port)
|
||||
(invoke "bash" "--init-file" file))))
|
||||
|
||||
(guard (c ((invoke-error? c)
|
||||
(newline)
|
||||
(format (current-error-port)
|
||||
(G_ "Command failed with exit code ~a.~%")
|
||||
(invoke-error-exit-status c))
|
||||
(pause)
|
||||
#f))
|
||||
(invoke "bash" "--init-file" file)
|
||||
(newline)
|
||||
(pause)
|
||||
#t))))
|
||||
|
|
56
gnu/local.mk
56
gnu/local.mk
|
@ -46,6 +46,7 @@ GNU_SYSTEM_MODULES = \
|
|||
%D%/bootloader/grub.scm \
|
||||
%D%/bootloader/extlinux.scm \
|
||||
%D%/bootloader/u-boot.scm \
|
||||
%D%/bootloader/depthcharge.scm \
|
||||
%D%/ci.scm \
|
||||
%D%/packages.scm \
|
||||
%D%/packages/abduco.scm \
|
||||
|
@ -230,6 +231,7 @@ GNU_SYSTEM_MODULES = \
|
|||
%D%/packages/gxmessage.scm \
|
||||
%D%/packages/hardware.scm \
|
||||
%D%/packages/haskell.scm \
|
||||
%D%/packages/haskell-apps.scm \
|
||||
%D%/packages/haskell-check.scm \
|
||||
%D%/packages/haskell-crypto.scm \
|
||||
%D%/packages/haskell-web.scm \
|
||||
|
@ -341,6 +343,7 @@ GNU_SYSTEM_MODULES = \
|
|||
%D%/packages/ninja.scm \
|
||||
%D%/packages/node.scm \
|
||||
%D%/packages/noweb.scm \
|
||||
%D%/packages/nss.scm \
|
||||
%D%/packages/ntp.scm \
|
||||
%D%/packages/nutrition.scm \
|
||||
%D%/packages/nvi.scm \
|
||||
|
@ -371,6 +374,7 @@ GNU_SYSTEM_MODULES = \
|
|||
%D%/packages/php.scm \
|
||||
%D%/packages/pkg-config.scm \
|
||||
%D%/packages/plotutils.scm \
|
||||
%D%/packages/poedit.scm \
|
||||
%D%/packages/polkit.scm \
|
||||
%D%/packages/popt.scm \
|
||||
%D%/packages/printers.scm \
|
||||
|
@ -538,6 +542,7 @@ GNU_SYSTEM_MODULES = \
|
|||
%D%/system/accounts.scm \
|
||||
%D%/system/file-systems.scm \
|
||||
%D%/system/install.scm \
|
||||
%D%/system/keyboard.scm \
|
||||
%D%/system/linux-container.scm \
|
||||
%D%/system/linux-initrd.scm \
|
||||
%D%/system/locale.scm \
|
||||
|
@ -582,9 +587,7 @@ GNU_SYSTEM_MODULES = \
|
|||
%D%/tests/virtualization.scm \
|
||||
%D%/tests/web.scm
|
||||
|
||||
if ENABLE_INSTALLER
|
||||
|
||||
GNU_SYSTEM_MODULES += \
|
||||
INSTALLER_MODULES = \
|
||||
%D%/installer.scm \
|
||||
%D%/installer/connman.scm \
|
||||
%D%/installer/final.scm \
|
||||
|
@ -616,13 +619,19 @@ GNU_SYSTEM_MODULES += \
|
|||
%D%/installer/newt/welcome.scm \
|
||||
%D%/installer/newt/wifi.scm
|
||||
|
||||
# Always ship the installer modules but compile them only when
|
||||
# ENABLE_INSTALLER is true.
|
||||
if ENABLE_INSTALLER
|
||||
GNU_SYSTEM_MODULES += $(INSTALLER_MODULES)
|
||||
else !ENABLE_INSTALLER
|
||||
MODULES_NOT_COMPILED += $(INSTALLER_MODULES)
|
||||
endif
|
||||
|
||||
installerdir = $(guilemoduledir)/%D%/installer
|
||||
dist_installer_DATA = \
|
||||
%D%/installer/aux-files/logo.txt \
|
||||
%D%/installer/aux-files/SUPPORTED
|
||||
|
||||
endif ENABLE_INSTALLER
|
||||
|
||||
# Modules that do not need to be compiled.
|
||||
MODULES_NOT_COMPILED += \
|
||||
%D%/build/shepherd.scm \
|
||||
|
@ -674,6 +683,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/beignet-correct-file-names.patch \
|
||||
%D%/packages/patches/binutils-boot-2.20.1a.patch \
|
||||
%D%/packages/patches/biber-fix-encoding-write.patch \
|
||||
%D%/packages/patches/bind-fix-unused-pk11-ecc-constants.patch \
|
||||
%D%/packages/patches/binutils-loongson-workaround.patch \
|
||||
%D%/packages/patches/blender-2.79-newer-ffmpeg.patch \
|
||||
%D%/packages/patches/blender-2.79-python-3.7-fix.patch \
|
||||
|
@ -728,6 +738,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/doc++-segfault-fix.patch \
|
||||
%D%/packages/patches/docker-engine-test-noinstall.patch \
|
||||
%D%/packages/patches/docker-fix-tests.patch \
|
||||
%D%/packages/patches/docker-use-fewer-modprobes.patch \
|
||||
%D%/packages/patches/dovecot-trees-support-dovecot-2.3.patch \
|
||||
%D%/packages/patches/doxygen-test.patch \
|
||||
%D%/packages/patches/dvd+rw-tools-add-include.patch \
|
||||
|
@ -742,7 +753,9 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch \
|
||||
%D%/packages/patches/emacs-source-date-epoch.patch \
|
||||
%D%/packages/patches/emacs-realgud-fix-configure-ac.patch \
|
||||
%D%/packages/patches/emacs-undohist-ignored.patch \
|
||||
%D%/packages/patches/emacs-wordnut-require-adaptive-wrap.patch \
|
||||
%D%/packages/patches/emacs-zones-called-interactively.patch \
|
||||
%D%/packages/patches/enlightenment-fix-setuid-path.patch \
|
||||
%D%/packages/patches/erlang-man-path.patch \
|
||||
%D%/packages/patches/eudev-rules-directory.patch \
|
||||
|
@ -767,6 +780,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/findutils-localstatedir.patch \
|
||||
%D%/packages/patches/findutils-makedev.patch \
|
||||
%D%/packages/patches/findutils-test-xargs.patch \
|
||||
%D%/packages/patches/flac-CVE-2017-6888.patch \
|
||||
%D%/packages/patches/flann-cmake-3.11.patch \
|
||||
%D%/packages/patches/flint-ldconfig.patch \
|
||||
%D%/packages/patches/foomatic-filters-CVE-2015-8327.patch \
|
||||
|
@ -862,6 +876,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/groovy-add-exceptionutilsgenerator.patch \
|
||||
%D%/packages/patches/grub-binutils-compat.patch \
|
||||
%D%/packages/patches/grub-check-error-efibootmgr.patch \
|
||||
%D%/packages/patches/grub-efi-fat-serial-number.patch \
|
||||
%D%/packages/patches/gsl-test-i686.patch \
|
||||
%D%/packages/patches/gspell-dash-test.patch \
|
||||
%D%/packages/patches/gst-plugins-good-libvpx-compat.patch \
|
||||
|
@ -909,6 +924,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/icedtea-6-hotspot-gcc-segfault-workaround.patch \
|
||||
%D%/packages/patches/icedtea-7-hotspot-gcc-segfault-workaround.patch \
|
||||
%D%/packages/patches/id3lib-CVE-2007-4460.patch \
|
||||
%D%/packages/patches/idris-test-no-node.patch \
|
||||
%D%/packages/patches/ilmbase-fix-tests.patch \
|
||||
%D%/packages/patches/inkscape-poppler-compat3.patch \
|
||||
%D%/packages/patches/intltool-perl-compatibility.patch \
|
||||
|
@ -928,6 +944,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/kdbusaddons-kinit-file-name.patch \
|
||||
%D%/packages/patches/khmer-use-libraries.patch \
|
||||
%D%/packages/patches/libziparchive-add-includes.patch \
|
||||
%D%/packages/patches/localed-xorg-keyboard.patch \
|
||||
%D%/packages/patches/kiki-level-selection-crash.patch \
|
||||
%D%/packages/patches/kiki-makefile.patch \
|
||||
%D%/packages/patches/kiki-missing-includes.patch \
|
||||
|
@ -937,7 +954,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/kio-search-smbd-on-PATH.patch \
|
||||
%D%/packages/patches/kmod-module-directory.patch \
|
||||
%D%/packages/patches/kmscon-runtime-keymap-switch.patch \
|
||||
%D%/packages/patches/knot-include-system-lmdb-header.patch \
|
||||
%D%/packages/patches/kpackage-allow-external-paths.patch \
|
||||
%D%/packages/patches/kobodeluxe-paths.patch \
|
||||
%D%/packages/patches/kobodeluxe-enemies-pipe-decl.patch \
|
||||
|
@ -945,11 +961,12 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/kobodeluxe-manpage-minus-not-hyphen.patch \
|
||||
%D%/packages/patches/kobodeluxe-midicon-segmentation-fault.patch \
|
||||
%D%/packages/patches/kobodeluxe-graphics-window-signed-char.patch \
|
||||
%D%/packages/patches/kodi-set-libcurl-ssl-parameters.patch \
|
||||
%D%/packages/patches/kodi-skip-test-449.patch \
|
||||
%D%/packages/patches/laby-make-install.patch \
|
||||
%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/ledger-fix-uninitialized.patch \
|
||||
%D%/packages/patches/liba52-enable-pic.patch \
|
||||
%D%/packages/patches/liba52-link-with-libm.patch \
|
||||
%D%/packages/patches/liba52-set-soname.patch \
|
||||
|
@ -982,8 +999,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/libffi-3.2.1-complex-alpha.patch \
|
||||
%D%/packages/patches/libjxr-fix-function-signature.patch \
|
||||
%D%/packages/patches/libjxr-fix-typos.patch \
|
||||
%D%/packages/patches/libopenshot-fixup-tests.patch \
|
||||
%D%/packages/patches/libopenshot-tests-with-system-libs.patch \
|
||||
%D%/packages/patches/libotr-test-auth-fix.patch \
|
||||
%D%/packages/patches/libmad-armv7-thumb-pt1.patch \
|
||||
%D%/packages/patches/libmad-armv7-thumb-pt2.patch \
|
||||
|
@ -1017,7 +1032,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/lierolibre-newer-libconfig.patch \
|
||||
%D%/packages/patches/lierolibre-remove-arch-warning.patch \
|
||||
%D%/packages/patches/lierolibre-try-building-other-arch.patch \
|
||||
%D%/packages/patches/linkchecker-mark-more-tests-that-require-the-network.patch \
|
||||
%D%/packages/patches/linkchecker-tests-require-network.patch \
|
||||
%D%/packages/patches/linux-pam-no-setfsuid.patch \
|
||||
%D%/packages/patches/lirc-localstatedir.patch \
|
||||
%D%/packages/patches/lirc-reproducible-build.patch \
|
||||
|
@ -1065,6 +1080,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/mozjs38-version-detection.patch \
|
||||
%D%/packages/patches/mrrescue-support-love-11.patch \
|
||||
%D%/packages/patches/mrustc-0.8.0-fix-variable-length-integer-receiving.patch \
|
||||
%D%/packages/patches/mtools-mformat-uninitialized.patch \
|
||||
%D%/packages/patches/mumble-1.2.19-abs.patch \
|
||||
%D%/packages/patches/mumps-build-parallelism.patch \
|
||||
%D%/packages/patches/mupen64plus-ui-console-notice.patch \
|
||||
|
@ -1083,6 +1099,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/ngircd-handle-zombies.patch \
|
||||
%D%/packages/patches/nss-increase-test-timeout.patch \
|
||||
%D%/packages/patches/nss-pkgconfig.patch \
|
||||
%D%/packages/patches/ntfs-3g-CVE-2019-9755.patch \
|
||||
%D%/packages/patches/nvi-assume-preserve-path.patch \
|
||||
%D%/packages/patches/nvi-dbpagesize-binpower.patch \
|
||||
%D%/packages/patches/nvi-db4.patch \
|
||||
|
@ -1093,6 +1110,10 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/ocaml-CVE-2015-8869.patch \
|
||||
%D%/packages/patches/ocaml-Add-a-.file-directive.patch \
|
||||
%D%/packages/patches/ocaml-enable-ocamldoc-reproducibility.patch \
|
||||
%D%/packages/patches/ocaml-dose3-add-unix-dependency.patch \
|
||||
%D%/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch \
|
||||
%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 \
|
||||
|
@ -1102,7 +1123,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/openjdk-10-idlj-reproducibility.patch \
|
||||
%D%/packages/patches/openocd-nrf52.patch \
|
||||
%D%/packages/patches/opensmtpd-fix-crash.patch \
|
||||
%D%/packages/patches/openssh-CVE-2018-20685.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 \
|
||||
|
@ -1181,6 +1201,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/python2-larch-coverage-4.0a6-compatibility.patch \
|
||||
%D%/packages/patches/python-configobj-setuptools.patch \
|
||||
%D%/packages/patches/python-faker-fix-build-32bit.patch \
|
||||
%D%/packages/patches/python-pyfakefs-remove-bad-test.patch \
|
||||
%D%/packages/patches/python-flint-includes.patch \
|
||||
%D%/packages/patches/python-mox3-python3.6-compat.patch \
|
||||
%D%/packages/patches/python-testtools.patch \
|
||||
|
@ -1188,6 +1209,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/python-pycrypto-CVE-2013-7459.patch \
|
||||
%D%/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \
|
||||
%D%/packages/patches/python-pygpgme-fix-pinentry-tests.patch \
|
||||
%D%/packages/patches/python-robotframework-honor-source-date-epoch.patch \
|
||||
%D%/packages/patches/python2-subprocess32-disable-input-test.patch \
|
||||
%D%/packages/patches/python-unittest2-python3-compat.patch \
|
||||
%D%/packages/patches/python-unittest2-remove-argparse.patch \
|
||||
|
@ -1201,9 +1223,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/qtscript-disable-tests.patch \
|
||||
%D%/packages/patches/quagga-reproducible-build.patch \
|
||||
%D%/packages/patches/quickswitch-fix-dmenu-check.patch \
|
||||
%D%/packages/patches/quilt-test-fix-regex.patch \
|
||||
%D%/packages/patches/quilt-getopt-nondigit-param.patch \
|
||||
%D%/packages/patches/quilt-getopt-second-separator.patch \
|
||||
%D%/packages/patches/qtwebkit-pbutils-include.patch \
|
||||
%D%/packages/patches/randomjungle-disable-static-build.patch \
|
||||
%D%/packages/patches/rapicorn-isnan.patch \
|
||||
|
@ -1215,7 +1234,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/readline-6.2-CVE-2014-2524.patch \
|
||||
%D%/packages/patches/red-eclipse-remove-gamma-name-hack.patch \
|
||||
%D%/packages/patches/reposurgeon-add-missing-docbook-files.patch \
|
||||
%D%/packages/patches/reptyr-fix-gcc-7.patch \
|
||||
%D%/packages/patches/ripperx-missing-file.patch \
|
||||
%D%/packages/patches/rpcbind-CVE-2017-8779.patch \
|
||||
%D%/packages/patches/rtags-separate-rct.patch \
|
||||
|
@ -1252,8 +1270,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/snappy-add-O2-flag-in-CmakeLists.txt.patch \
|
||||
%D%/packages/patches/sooperlooper-build-with-wx-30.patch \
|
||||
%D%/packages/patches/soundconverter-remove-gconf-dependency.patch \
|
||||
%D%/packages/patches/soundtouch-CVE-2018-14044-14045.patch \
|
||||
%D%/packages/patches/soundtouch-CVE-2018-1000223.patch \
|
||||
%D%/packages/patches/sssd-curl-compat.patch \
|
||||
%D%/packages/patches/steghide-fixes.patch \
|
||||
%D%/packages/patches/streamlink-update-test.patch \
|
||||
|
@ -1263,7 +1279,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/swig-guile-gc.patch \
|
||||
%D%/packages/patches/swish-e-search.patch \
|
||||
%D%/packages/patches/swish-e-format-security.patch \
|
||||
%D%/packages/patches/synfigstudio-fix-ui-with-gtk3.patch \
|
||||
%D%/packages/patches/stumpwm-fix-broken-read-one-line.patch \
|
||||
%D%/packages/patches/t1lib-CVE-2010-2642.patch \
|
||||
%D%/packages/patches/t1lib-CVE-2011-0764.patch \
|
||||
|
@ -1277,9 +1292,8 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/teensy-loader-cli-help.patch \
|
||||
%D%/packages/patches/teeworlds-use-latest-wavpack.patch \
|
||||
%D%/packages/patches/texinfo-5-perl-compat.patch \
|
||||
%D%/packages/patches/texlive-bin-CVE-2018-17407.patch \
|
||||
%D%/packages/patches/texlive-bin-luatex-poppler-compat.patch \
|
||||
%D%/packages/patches/texlive-bin-pdftex-poppler-compat.patch \
|
||||
%D%/packages/patches/texlive-bin-xetex-poppler-compat.patch \
|
||||
%D%/packages/patches/telegram-purple-adjust-test.patch \
|
||||
%D%/packages/patches/texi2html-document-encoding.patch \
|
||||
%D%/packages/patches/texi2html-i18n.patch \
|
||||
|
@ -1296,6 +1310,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/totem-meson-easy-codec.patch \
|
||||
%D%/packages/patches/tuxpaint-stamps-path.patch \
|
||||
%D%/packages/patches/twinkle-include-qregexpvalidator.patch \
|
||||
%D%/packages/patches/u-boot-fix-mkimage-header-verification.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 \
|
||||
|
@ -1329,6 +1344,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/wavpack-CVE-2018-6767.patch \
|
||||
%D%/packages/patches/wavpack-CVE-2018-7253.patch \
|
||||
%D%/packages/patches/wavpack-CVE-2018-7254.patch \
|
||||
%D%/packages/patches/webkitgtk-sse2.patch \
|
||||
%D%/packages/patches/weechat-python.patch \
|
||||
%D%/packages/patches/wicd-bitrate-none-fix.patch \
|
||||
%D%/packages/patches/wicd-get-selected-profile-fix.patch \
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
mkdir-p))
|
||||
#:autoload (guix profiles) (packages->manifest)
|
||||
#:use-module (guix describe)
|
||||
#:use-module (guix deprecation)
|
||||
#:use-module (ice-9 vlist)
|
||||
#:use-module (ice-9 match)
|
||||
#:autoload (ice-9 binary-ports) (put-bytevector)
|
||||
|
@ -55,6 +56,7 @@
|
|||
fold-packages
|
||||
fold-available-packages
|
||||
|
||||
find-newest-available-packages
|
||||
find-packages-by-name
|
||||
find-package-locations
|
||||
find-best-packages-by-name
|
||||
|
@ -190,6 +192,29 @@ flags."
|
|||
directory))
|
||||
%load-path)))
|
||||
|
||||
;; This procedure is used by Emacs-Guix up to 0.5.1.1, so keep it for now.
|
||||
;; See <https://github.com/alezost/guix.el/issues/30>.
|
||||
(define-deprecated find-newest-available-packages
|
||||
find-packages-by-name
|
||||
(mlambda ()
|
||||
"Return a vhash keyed by package names, and with
|
||||
associated values of the form
|
||||
|
||||
(newest-version newest-package ...)
|
||||
|
||||
where the preferred package is listed first."
|
||||
(fold-packages (lambda (p r)
|
||||
(let ((name (package-name p))
|
||||
(version (package-version p)))
|
||||
(match (vhash-assoc name r)
|
||||
((_ newest-so-far . pkgs)
|
||||
(case (version-compare version newest-so-far)
|
||||
((>) (vhash-cons name `(,version ,p) r))
|
||||
((=) (vhash-cons name `(,version ,p ,@pkgs) r))
|
||||
((<) r)))
|
||||
(#f (vhash-cons name `(,version ,p) r)))))
|
||||
vlist-null)))
|
||||
|
||||
(define (fold-available-packages proc init)
|
||||
"Fold PROC over the list of available packages. For each available package,
|
||||
PROC is called along these lines:
|
||||
|
|
|
@ -181,14 +181,14 @@ and provides a \"top-like\" mode (monitoring).")
|
|||
(define-public shepherd
|
||||
(package
|
||||
(name "shepherd")
|
||||
(version "0.5.0")
|
||||
(version "0.6.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://alpha.gnu.org/gnu/shepherd/shepherd-"
|
||||
(uri (string-append "mirror://gnu/shepherd/shepherd-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1wmciqml9yplnx1s4ynn00giqyk06rbrcsgvpjj2df47sawk2jp8"))))
|
||||
"1ys2w83vm62spr8bx38sccfdpy9fqmj7wfywm5k8ihsy2k61da2i"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags '("--localstatedir=/var")))
|
||||
|
@ -211,8 +211,68 @@ the execution of system services, replacing similar functionality found in
|
|||
typical init systems. It provides dependency-handling through a convenient
|
||||
interface and is based on GNU Guile.")
|
||||
(license license:gpl3+)
|
||||
(home-page "https://www.gnu.org/software/shepherd/")
|
||||
(properties '((ftp-server . "alpha.gnu.org")))))
|
||||
(home-page "https://www.gnu.org/software/shepherd/")))
|
||||
|
||||
(define-public cloud-utils
|
||||
(package
|
||||
(name "cloud-utils")
|
||||
(version "0.31")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://launchpad.net/cloud-utils/trunk/"
|
||||
version "/+download/cloud-utils-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"07fl3dlqwdzw4xx7mcxhpkks6dnmaxha80zgs9f6wmibgzni8z0r"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:make-flags
|
||||
(let ((out (assoc-ref %outputs "out")))
|
||||
(list (string-append "BINDIR=" out "/bin")
|
||||
(string-append "MANDIR=" out "/share/man/man1")
|
||||
(string-append "DOCDIR=" out "/share/doc")))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(delete 'check)
|
||||
(add-after 'install 'wrap
|
||||
(lambda* (#:key outputs inputs #:allow-other-keys)
|
||||
(let ((growpart (string-append (assoc-ref outputs "out")
|
||||
"/bin/growpart")))
|
||||
(wrap-program growpart
|
||||
`("PATH" ":" prefix (,(dirname (which "sfdisk"))
|
||||
,(dirname (which "readlink"))))))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("python" ,python)
|
||||
("util-linux" ,util-linux))) ; contains sfdisk for growpart
|
||||
(home-page "https://launchpad.net/cloud-utils")
|
||||
(synopsis "Set of utilities for cloud computing environments")
|
||||
(description
|
||||
"This package contains a set of utilities for cloud computing
|
||||
environments:
|
||||
|
||||
@itemize @bullet
|
||||
@item @command{cloud-localds} Create a disk for cloud-init to utilize nocloud
|
||||
@item @command{cloud-publish-image} Wrapper for cloud image publishing
|
||||
@item @command{cloud-publish-tarball} Wrapper for publishing cloud tarballs
|
||||
@item @command{cloud-publish-ubuntu} Import a Ubuntu cloud image
|
||||
@item @command{ec2metadata} Query and display @acronym{EC2,Amazon Elastic
|
||||
Compute Cloud} metadata
|
||||
@item @command{growpart} Grow a partition to fill the device
|
||||
@item @command{mount-image-callback} Mount a file and run a command
|
||||
@item @command{resize-part-image} Resize a partition image to a new size
|
||||
@item @command{ubuntu-cloudimg-query} Get the latest Ubuntu
|
||||
@acronym{AMI,Amazon Machine Image}
|
||||
@item @command{ubuntu-ec2-run} Run a @acronym{EC2,Amazon Elastic Compute
|
||||
Cloud} instance using Ubuntu
|
||||
@item @command{vcs-run} Obtain a repository, and run a command
|
||||
@item @command{write-mime-multipart} Handle multipart
|
||||
@acronym{MIME,Multipurpose Internet Mail Extensions} messages
|
||||
@end itemize")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public daemontools
|
||||
(package
|
||||
|
@ -475,8 +535,8 @@ login, passwd, su, groupadd, and useradd.")
|
|||
(synopsis "Getty for the text console")
|
||||
(description
|
||||
"Small console getty that is started on the Linux text console,
|
||||
asks for a login name and then transfers over to 'login'. It is extended to
|
||||
allow automatic login and starting any app.")
|
||||
asks for a login name and then transfers over to @code{login}. It is extended
|
||||
to allow automatic login and starting any app.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public net-base
|
||||
|
@ -1140,7 +1200,8 @@ the client stations. It implements key negotiation with a WPA Authenticator
|
|||
and it controls the roaming and IEEE 802.11 authentication/association of the
|
||||
WLAN driver.
|
||||
|
||||
This package provides the 'wpa_supplicant' daemon and the 'wpa_cli' command.")
|
||||
This package provides the @code{wpa_supplicant} daemon and the @code{wpa_cli}
|
||||
command.")
|
||||
|
||||
;; In practice, this is linked against Readline, which makes it GPLv3+.
|
||||
(license license:bsd-3)
|
||||
|
@ -1286,7 +1347,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
|
|||
(define-public acpica
|
||||
(package
|
||||
(name "acpica")
|
||||
(version "20190215")
|
||||
(version "20190405")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -1294,7 +1355,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1iy2zwi8aicq0b5a0phfacvk1f9z1d89cx43adcf0qh82gb9m4wg"))))
|
||||
"0hv6r65l8vk3f6i3by7i47vc1917qm47838bpq80lfn22784y53y"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("flex" ,flex)
|
||||
("bison" ,bison)))
|
||||
|
@ -1598,13 +1659,13 @@ of supported upstream metrics systems simultaneously.")
|
|||
(define-public ansible
|
||||
(package
|
||||
(name "ansible")
|
||||
(version "2.7.9")
|
||||
(version "2.7.10")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "ansible" version))
|
||||
(sha256
|
||||
(base32 "19vyf60zfmnv7frwm96bzqzvia69dysy9apk8bl84vr03ib9vrbf"))))
|
||||
(base32 "15721d0bxymghxnlnknq43lszlxg3ybbcp2p5v424hhw6wg2v944"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
`(("python-bcrypt" ,python-bcrypt)
|
||||
|
@ -1735,18 +1796,18 @@ limits.")
|
|||
(define-public autojump
|
||||
(package
|
||||
(name "autojump")
|
||||
(version "22.5.1")
|
||||
(version "22.5.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/wting/autojump/archive/"
|
||||
"release-v" version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/wting/autojump.git")
|
||||
(commit (string-append "release-v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"17z9j9936x0nizwrzf664bngh60x5qbvrrf1s5qdzd0f2gdanpvn"))))
|
||||
(base32 "1rgpsh70manr2dydna9da4x7p8ahii7dgdgwir5fka340n1wrcws"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs ;for tests
|
||||
(native-inputs ; for tests
|
||||
`(("python-mock" ,python-mock)
|
||||
("python-pytest" ,python-pytest)))
|
||||
(inputs
|
||||
|
@ -1754,6 +1815,11 @@ limits.")
|
|||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'make-git-checkout-writable
|
||||
;; ‘install.py’ modifies files before installing them.
|
||||
(lambda _
|
||||
(for-each make-file-writable (find-files "."))
|
||||
#t))
|
||||
(delete 'configure)
|
||||
(delete 'build)
|
||||
(replace 'check
|
||||
|
@ -2076,7 +2142,7 @@ a new command using the matched rule, and runs it.")
|
|||
(home-page "https://www.gentoo.com/di/")
|
||||
(synopsis "Advanced df like disk information utility")
|
||||
(description
|
||||
"'di' is a disk information utility, displaying everything that your
|
||||
"@code{di} is a disk information utility, displaying everything that your
|
||||
@code{df} command does and more. It features the ability to display your disk
|
||||
usage in whatever format you prefer. It is designed to be highly portable and
|
||||
produce uniform output across heterogeneous networks.")
|
||||
|
@ -2699,7 +2765,7 @@ Python loading in HPC environments.")
|
|||
(let ((real-name "inxi"))
|
||||
(package
|
||||
(name "inxi-minimal")
|
||||
(version "3.0.32-1")
|
||||
(version "3.0.33-1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -2708,7 +2774,7 @@ Python loading in HPC environments.")
|
|||
(commit version)))
|
||||
(file-name (git-file-name real-name version))
|
||||
(sha256
|
||||
(base32 "171xdip2alkp3g0k0sanaavvdcz6d0wlldj9lgj11xsdbhaaknnv"))))
|
||||
(base32 "19bfdid4zp39irsdq3m6yyqf2336c30da35qgslrzcr2vh815g8c"))))
|
||||
(build-system trivial-build-system)
|
||||
(inputs
|
||||
`(("bash" ,bash-minimal)
|
||||
|
@ -2918,7 +2984,8 @@ Logitech Unifying Receiver.")
|
|||
(define-public lynis
|
||||
(package
|
||||
(name "lynis")
|
||||
(version "2.7.2")
|
||||
;; Also update the ‘lynis-sdk’ input to the commit matching this release.
|
||||
(version "2.7.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -2927,7 +2994,7 @@ Logitech Unifying Receiver.")
|
|||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0dbbfk47dpxx7zpb98n4w3ls3z5di57qnr2nsgxjvp49gk9j3f6k"))
|
||||
(base32 "1jjk5hcxmp4f4ppsljiq95l2ln6b03azydap3b35lsvxkjybv88k"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
@ -2944,11 +3011,10 @@ Logitech Unifying Receiver.")
|
|||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/CISOfy/lynis-sdk")
|
||||
(commit "3310aef4f2b3dd97d166c96ad0253c89c4ad390d")))
|
||||
(commit "90f301e21c204792cf372f1cf05890a562f2e31b")))
|
||||
(file-name (git-file-name "lynis-sdk" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0sqsrm5wal742yrwps8bqb8a8lxd93n4b93n3kkm1b30nbs25g7y"))))))
|
||||
(base32 "1d0smr1fxrvbc3hl8lzy33im9ahzr0hgs3kk09r8g8xccjkcm52l"))))))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
;;; 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, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2017, 2019 Eric Bavier <bavier@member.fsf.org>
|
||||
;;;
|
||||
|
@ -27,6 +27,7 @@
|
|||
(define-module (gnu packages algebra)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages cpp)
|
||||
|
@ -42,6 +43,7 @@
|
|||
#:use-module (gnu packages mpi)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pulseaudio)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages readline)
|
||||
|
@ -56,6 +58,7 @@
|
|||
#:use-module (guix build-system python)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix hg-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils))
|
||||
|
@ -245,10 +248,10 @@ precision.")
|
|||
(license license:gpl3+)
|
||||
(home-page "http://cmh.gforge.inria.fr/")))
|
||||
|
||||
(define-public giac-xcas
|
||||
(define-public giac
|
||||
(package
|
||||
(name "giac-xcas")
|
||||
(version "1.5.0-43")
|
||||
(name "giac")
|
||||
(version "1.5.0-49")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
;; "~parisse/giac" is not used because the maintainer regularly
|
||||
|
@ -260,9 +263,8 @@ precision.")
|
|||
"source/giac_" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1j58cvpiddzxswfdh4ixyj1xsva7qwk8xjls29nqvryyykdfm4dp"))))
|
||||
"0f4pkand9vmqfayw18jm5qxbhcwi1405qfd7ibzh9lwzz6amkm3l"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" "doc")) ;77MiB of documentation
|
||||
(arguments
|
||||
`(#:modules ((ice-9 ftw)
|
||||
(guix build utils)
|
||||
|
@ -281,36 +283,36 @@ precision.")
|
|||
(substitute* "check/Makefile.in"
|
||||
(("chk_fhan11") ""))
|
||||
#t))
|
||||
(add-after 'install 'install-doc
|
||||
;; Setting --docdir to "doc" output isn't sufficient as
|
||||
;; documentation and examples are scattered throughout the source.
|
||||
(add-after 'install 'fix-doc
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(doc (assoc-ref outputs "doc"))
|
||||
(docdir (string-append doc
|
||||
"/share/doc/"
|
||||
(string-append ,name "-" ,version))))
|
||||
;; For some reason, the install process moves
|
||||
;; "share/giac/examples" instead of "share/giac/doc" to
|
||||
;; "$(docdir)". Clean up the mess and start over.
|
||||
(delete-file-recursively (string-append doc "/share"))
|
||||
(mkdir-p docdir)
|
||||
(with-directory-excursion out
|
||||
(for-each (lambda (f)
|
||||
(unless (member f '("." ".."))
|
||||
(copy-recursively (string-append "share/giac/" f)
|
||||
(string-append docdir "/" f))))
|
||||
(scandir "share/giac"))
|
||||
(delete-file-recursively "share/giac")))
|
||||
#t)))))
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
;; Most French documentation has a non-commercial
|
||||
;; license, so we need to remove it.
|
||||
(with-directory-excursion (string-append out "/share/giac/doc/fr")
|
||||
(for-each delete-file-recursively
|
||||
'("cascas" "casexo" "casgeo" "casrouge" "cassim"
|
||||
"castor")))
|
||||
;; Remove duplicate documentation in
|
||||
;; "%out/share/doc/giac/", where Xcas does not expect
|
||||
;; to find it.
|
||||
(delete-file-recursively (string-append out "/share/doc/giac"))
|
||||
#t)))
|
||||
(add-after 'install 'remove-unnecessary-executable
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(delete-file (string-append out "/bin/xcasnew"))
|
||||
#t))))))
|
||||
(inputs
|
||||
;;; TODO: Add libnauty.
|
||||
`(("fltk" ,fltk)
|
||||
("glpk" ,glpk)
|
||||
("gmp" ,gmp)
|
||||
("gsl" ,gsl)
|
||||
("lapack" ,lapack)
|
||||
("libao" ,ao)
|
||||
("libjpeg" ,libjpeg)
|
||||
("libpng" ,libpng)
|
||||
("libsamplerate" ,libsamplerate)
|
||||
("libx11" ,libx11)
|
||||
("libxinerama" ,libxinerama)
|
||||
("libxft" ,libxft)
|
||||
|
@ -321,9 +323,12 @@ precision.")
|
|||
("ntl" ,ntl)
|
||||
("perl" ,perl)
|
||||
("pari-gp" ,pari-gp)
|
||||
("tcsh" ,tcsh)
|
||||
("tcsh" ,tcsh)))
|
||||
(native-inputs
|
||||
`(("bison" ,bison)
|
||||
("flex" ,flex)
|
||||
("readline" ,readline)
|
||||
("texlive" ,texlive-tiny)))
|
||||
(native-inputs `(("readline" ,readline)))
|
||||
(home-page "https://www-fourier.ujf-grenoble.fr/~parisse/giac.html")
|
||||
(synopsis "Computer algebra system")
|
||||
(description
|
||||
|
@ -332,6 +337,9 @@ maple, mupad and the TI89. It is available as a standalone program (graphic
|
|||
or text interfaces) or as a C++ library.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public giac-xcas
|
||||
(deprecated-package "giac-xcas" giac))
|
||||
|
||||
(define-public flint
|
||||
(package
|
||||
(name "flint")
|
||||
|
@ -498,7 +506,7 @@ matrices, and polynomials over the integers and over finite fields.")
|
|||
(define-public singular
|
||||
(package
|
||||
(name "singular")
|
||||
(version "4.1.1p3")
|
||||
(version "4.1.2p1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -512,7 +520,7 @@ matrices, and polynomials over the integers and over finite fields.")
|
|||
#\.) "-")
|
||||
"/singular-" version ".tar.gz"))
|
||||
(sha256 (base32
|
||||
"1qqj9bm9pkzm0iyycpvm8x6s79wws3nq60lz25h8x1q61h3426sm"))))
|
||||
"0kvd55353fiqyq1msmi0kka66n5h0aqs7m3km60r01b1w2f8085m"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("doxygen" ,doxygen)
|
||||
|
@ -857,6 +865,32 @@ features, and more.")
|
|||
;; See 'COPYING.README' for details.
|
||||
(license license:mpl2.0)))
|
||||
|
||||
(define-public eigen-for-tensorflow
|
||||
(let ((changeset "fd6845384b86")
|
||||
(revision "1"))
|
||||
(package (inherit eigen)
|
||||
(name "eigen-for-tensorflow")
|
||||
(version (string-append "3.3.5-" revision "." changeset))
|
||||
(source (origin
|
||||
(method hg-fetch)
|
||||
(uri (hg-reference
|
||||
(url "https://bitbucket.org/eigen/eigen")
|
||||
(changeset changeset)))
|
||||
(sha256
|
||||
(base32
|
||||
"12cwgah63wqwb66xji048hcxc1z5zjg8a7701zlia5zbilnnk1n5"))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; There are 3 test failures in the "unsupported" directory,
|
||||
;; but maintainers say it's a known issue and it's unsupported
|
||||
;; anyway, so just skip them.
|
||||
'(begin
|
||||
(substitute* "unsupported/CMakeLists.txt"
|
||||
(("add_subdirectory\\(test.*")
|
||||
"# Do not build the tests for unsupported features.\n"))
|
||||
#t)))))))
|
||||
|
||||
(define-public xtensor
|
||||
(package
|
||||
(name "xtensor")
|
||||
|
|
|
@ -538,7 +538,7 @@ that is safe to use for user space. It also includes
|
|||
(native-inputs
|
||||
`(("android-core" ,(android-platform-system-core version))))
|
||||
(home-page "https://developer.android.com/")
|
||||
(synopsis "Android ext4 filesystem utils")
|
||||
(synopsis "Android ext4 file system utilities")
|
||||
(description "@code{android-ext4-utils} is a library in common use by the
|
||||
Android core.")
|
||||
(license license:asl2.0)))
|
||||
|
|
|
@ -41,18 +41,20 @@
|
|||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages video))
|
||||
|
||||
;; ETL, synfig, and Synfig Studio are updated in tandem.
|
||||
(define synfig-version "1.2.2")
|
||||
|
||||
(define-public etl
|
||||
(package
|
||||
(name "etl")
|
||||
(version "0.04.22")
|
||||
(version synfig-version)
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
;; Keep this synchronized with the synfig release version.
|
||||
(uri (string-append "mirror://sourceforge/synfig/releases/"
|
||||
"1.2.0/source/ETL-" version ".tar.gz"))
|
||||
version "/source/ETL-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0ii73nsd3xzkhz6w1rnxwphl637j9w82xiy6apa9vin2isdynnmc"))))
|
||||
"12sd8pz8l5xcxcmapkvih3brihdhdb6xmxisr9a415lydid9rh8d"))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "https://www.synfig.org")
|
||||
(synopsis "Extended C++ template library")
|
||||
|
@ -65,7 +67,7 @@ C++ @dfn{Standard Template Library} (STL).")
|
|||
(define-public synfig
|
||||
(package
|
||||
(name "synfig")
|
||||
(version "1.2.0")
|
||||
(version synfig-version)
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/synfig/releases/"
|
||||
|
@ -73,7 +75,7 @@ C++ @dfn{Standard Template Library} (STL).")
|
|||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1gqx4gn4c73rqwhsgzx0a460gr9hadmi28csp75rx30qavqsj7k1"))))
|
||||
"1vy27kl68sbg41sfasa58k3p2nc1xfalvzk3k9gich9h90rpnpsz"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
@ -131,7 +133,8 @@ C++ @dfn{Standard Template Library} (STL).")
|
|||
("openexr" ,openexr)
|
||||
("pango" ,pango)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
`(("intltool" ,intltool)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(home-page "https://www.synfig.org")
|
||||
(synopsis "Vector-based 2D animation renderer")
|
||||
(description
|
||||
|
@ -143,7 +146,7 @@ for tweening, preventing the need to hand-draw each frame.")
|
|||
(define-public synfigstudio
|
||||
(package
|
||||
(name "synfigstudio")
|
||||
(version "1.2.0")
|
||||
(version synfig-version)
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/synfig/releases/"
|
||||
|
@ -151,16 +154,14 @@ for tweening, preventing the need to hand-draw each frame.")
|
|||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0fbckfbw8dzf0m2wv7vlmw492k1dqa3zf510z019d0as3zpnp6qm"))
|
||||
"1ql92kh9z8w2j9yi3pr7hn7wh2r2j35xynwv9xlwyd7niackgykn"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
(substitute* "src/synfigapp/pluginmanager.cpp"
|
||||
(("xmlpp::Node\\* n =") "const xmlpp::Node* n =")
|
||||
(("xmlpp::Node::NodeList") "xmlpp::Node::const_NodeList"))
|
||||
#t))
|
||||
(patches
|
||||
(search-patches "synfigstudio-fix-ui-with-gtk3.patch"))))
|
||||
#t))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
|
|
@ -44,14 +44,14 @@
|
|||
(define-public clamav
|
||||
(package
|
||||
(name "clamav")
|
||||
(version "0.101.1")
|
||||
(version "0.101.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.clamav.net/downloads/production/"
|
||||
"clamav-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"01mq3z04fjbq5iq8wfwfim72iv3dn04d3ishc5lkhxpmnalqydps"))
|
||||
"0d3n4y8i5q594h4cjglmvpk4jd73r9ajpp1bvq5lr9zpdzgyn4ha"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
|
|
@ -129,14 +129,14 @@ to the clients.")
|
|||
(define-public fasm
|
||||
(package
|
||||
(name "fasm")
|
||||
(version "1.73.09")
|
||||
(version "1.73.10")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://flatassembler.net/fasm-"
|
||||
version ".tgz"))
|
||||
(sha256
|
||||
(base32 "197bcj9aa5wpkvrlaafc1smxjss0fwdspq5fwhwgyy9cc7z5g0ym"))))
|
||||
(base32 "1lk8vlr0vg7h8lhiav99paa5a1mi0r2m8agxjmczhhavqhx44c32"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no tests exist
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -23,6 +23,7 @@
|
|||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages gettext)
|
||||
|
@ -103,7 +104,7 @@ header.")
|
|||
(define-public gnuastro
|
||||
(package
|
||||
(name "gnuastro")
|
||||
(version "0.8")
|
||||
(version "0.9")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -111,7 +112,7 @@ header.")
|
|||
version ".tar.lz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0gx6iar3z07k9sdvpa6kchsz6fpk94xn5vcvbcigssl2dwqmlnkb"))))
|
||||
"1c1894ixz3l8p1nmzkysgl9lz8vpqbfw1dd404kh6lvrpml7jzig"))))
|
||||
(inputs
|
||||
`(("cfitsio" ,cfitsio)
|
||||
("gsl" ,gsl)
|
||||
|
@ -120,7 +121,8 @@ header.")
|
|||
("wcslib" ,wcslib)
|
||||
("zlib" ,zlib)))
|
||||
(native-inputs
|
||||
`(("lzip" ,lzip)))
|
||||
`(("libtool" ,libtool)
|
||||
("lzip" ,lzip)))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "https://www.gnu.org/software/gnuastro/")
|
||||
(synopsis "Astronomy utilities")
|
||||
|
@ -131,7 +133,7 @@ programs for the manipulation and analysis of astronomical data.")
|
|||
(define-public stellarium
|
||||
(package
|
||||
(name "stellarium")
|
||||
(version "0.18.3")
|
||||
(version "0.19.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/Stellarium/" name
|
||||
|
@ -139,7 +141,7 @@ programs for the manipulation and analysis of astronomical data.")
|
|||
"/" name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1mm8rjcb8j56m3kfigpix5vxviw1616kvl9ws2s3s5gdyngljrc3"))))
|
||||
"1mjjqcpgm5a1022x0mpqj3v6qkvpm9wqm1hqyg0mlypc5681va8a"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs
|
||||
`(("qtbase" ,qtbase)
|
||||
|
@ -161,13 +163,6 @@ programs for the manipulation and analysis of astronomical data.")
|
|||
(assoc-ref %build-inputs "qtserialport")
|
||||
"/include/qt5"))
|
||||
#:phases (modify-phases %standard-phases
|
||||
;; Skip a test that assumes Stellarium is "installed":
|
||||
;; https://bugs.gentoo.org/674472
|
||||
(add-after 'unpack 'patch-tests
|
||||
(lambda _
|
||||
(substitute* "src/tests/testEphemeris.cpp"
|
||||
(("ifndef Q_OS_WIN") "if 0"))
|
||||
#t))
|
||||
(add-before 'check 'set-offscreen-display
|
||||
(lambda _
|
||||
;; make Qt render "offscreen", required for tests
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
|
||||
;;; Copyright © 2015, 2016 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017 Alex Griffin <a@ajgrf.com>
|
||||
;;; Copyright © 2016 ng0 <ng0@n0.is>
|
||||
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
|
||||
|
@ -547,14 +547,14 @@ plugins are provided.")
|
|||
(define-public calf
|
||||
(package
|
||||
(name "calf")
|
||||
(version "0.90.1")
|
||||
(version "0.90.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://calf-studio-gear.org/files/calf-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0znwx5gidr5n503gya9n8gagr8cfym6cwlbiv2r6iksji7jc4fpb"))))
|
||||
"0bn4j1klw2yfxz8clbmasaydifq25rdfsv0n6iisxrzcj1lx7sgh"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("fluidsynth" ,fluidsynth)
|
||||
|
@ -713,7 +713,7 @@ emulation (valve, tape), bit fiddling (decimator, pointer-cast), etc.")
|
|||
(define-public csound
|
||||
(package
|
||||
(name "csound")
|
||||
(version "6.12.0")
|
||||
(version "6.12.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -722,7 +722,7 @@ emulation (valve, tape), bit fiddling (decimator, pointer-cast), etc.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0pv4s54cayvavdp6y30n3r1l5x83x9whyyd2v24y0dh224v3hbxi"))))
|
||||
"01krxcf0alw9k7p5sv0s707600an4sl7lhw3bymbwgqrj0v2p9z2"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs
|
||||
`(("alsa-lib" ,alsa-lib)
|
||||
|
@ -943,7 +943,7 @@ gain controls. There is also a global bypass switch and gain control.
|
|||
The 2nd order resonant filters are implemented using a Mitra-Regalia style
|
||||
lattice filter, which is stable even while parameters are being changed.
|
||||
|
||||
All switches and controls are internally smoothed, so they can be used 'live'
|
||||
All switches and controls are internally smoothed, so they can be used @code{live}
|
||||
without any clicks or zipper noises. This makes this plugin suitable for use
|
||||
in systems that allow automation of plugin control ports, such as Ardour, or
|
||||
for stage use.")
|
||||
|
@ -1104,7 +1104,7 @@ follower.")
|
|||
(define-public fluidsynth
|
||||
(package
|
||||
(name "fluidsynth")
|
||||
(version "2.0.4")
|
||||
(version "2.0.5")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -1113,7 +1113,7 @@ follower.")
|
|||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"1v2vji02fbrjgypwb4fw2r90hnfwfbfh3d24j8vjwlbqxhxp16s0"))))
|
||||
"0rv0apxbj0cgm8f8sqf5xr6kdi4q58ph92ip6cg716ha0ca5lr8y"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; no check target
|
||||
|
@ -1307,7 +1307,7 @@ patches that can be used with softsynths such as Timidity and WildMidi.")
|
|||
(define-public guitarix
|
||||
(package
|
||||
(name "guitarix")
|
||||
(version "0.37.3")
|
||||
(version "0.38.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -1315,7 +1315,7 @@ patches that can be used with softsynths such as Timidity and WildMidi.")
|
|||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1wfm8wrwrnqpb4ihy75n7l9i6vml536jlq9pdx2pblbc4ba3paac"))))
|
||||
"0bw7xnrx062nwb1bfj9x660h7069ncmz77szcs8icpqxrvhs7z80"))))
|
||||
(build-system waf-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no "check" target
|
||||
|
@ -2120,21 +2120,17 @@ different audio devices such as ALSA or PulseAudio.")
|
|||
(define-public qjackctl
|
||||
(package
|
||||
(name "qjackctl")
|
||||
(version "0.5.6")
|
||||
(version "0.5.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/qjackctl/qjackctl/"
|
||||
version "/qjackctl-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0wlmbb9m7cf3wr7c2h2hji18592x2b119m7mx85wksjs6rjaq2mj"))))
|
||||
"1g6a5j74p45yisl28bw4fcc9nr6b710ikk459p4mp6djh9gs8v95"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; no check target
|
||||
;; Disable xunique to prevent X hanging when starting qjackctl in
|
||||
;; tiling window managers such as StumpWM or i3
|
||||
;; (see https://github.com/rncbc/qjackctl/issues/13).
|
||||
#:configure-flags '("--disable-xunique")))
|
||||
'(#:tests? #f)) ; no check target
|
||||
(inputs
|
||||
`(("jack" ,jack-1)
|
||||
("alsa-lib" ,alsa-lib)
|
||||
|
@ -2320,7 +2316,7 @@ aimed at audio/musical applications.")
|
|||
(define-public rubberband
|
||||
(package
|
||||
(name "rubberband")
|
||||
(version "1.8.1")
|
||||
(version "1.8.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
|
@ -2330,9 +2326,19 @@ aimed at audio/musical applications.")
|
|||
(file-name (string-append name "-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"05amrbrxx0da3w7m237q51799r8xgs4ffqabi2qv06hq8dpcj386"))))
|
||||
"0462fmjnfqpv2qi0s6ny42drqarkr0xy9lw8frjmfgzyzl5n9294"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments `(#:tests? #f)) ; no check target
|
||||
(arguments
|
||||
`(#:tests? #f ; no check target
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'skip-jni-installation
|
||||
;; ‘make install’ unconditionally installs librubberband-jni.so,
|
||||
;; which is never built by ‘make all’. Skip it.
|
||||
(lambda _
|
||||
(substitute* "Makefile.in"
|
||||
((".*cp -f \\$\\(JNI_TARGET\\).*") ""))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("ladspa" ,ladspa)
|
||||
("libsamplerate" ,libsamplerate)
|
||||
|
@ -2685,18 +2691,16 @@ Tracker 3 S3M and Impulse Tracker IT files.")
|
|||
(define-public soundtouch
|
||||
(package
|
||||
(name "soundtouch")
|
||||
(version "2.0.0")
|
||||
(version "2.1.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append
|
||||
"http://www.surina.net/soundtouch/soundtouch-" version ".tar.gz"))
|
||||
(patches (search-patches "soundtouch-CVE-2018-14044-14045.patch"
|
||||
"soundtouch-CVE-2018-1000223.patch"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.com/soundtouch/soundtouch.git")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"09cxr02mfyj2bg731bj0i9hh565x8l9p91aclxs8wpqv8b8zf96j"))))
|
||||
(base32 "0p6jzgfgqw061702dmd2b6r4arz48ac3mmx2qkvvzf8s5jjzykdh"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
|
@ -2865,14 +2869,14 @@ interface.")
|
|||
(define-public qsynth
|
||||
(package
|
||||
(name "qsynth")
|
||||
(version "0.5.5")
|
||||
(version "0.5.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/qsynth/qsynth/" version
|
||||
"/qsynth-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "08x7znvbwi9miavcarymi7dsv8njmxzwzma20dbmz8j2aswm53w5"))))
|
||||
(base32 "0h4hhja8qbyzd6v24flw9wr4mwl03nplryx1gyrppn7sg13l1sx6"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no "check" phase
|
||||
|
@ -3379,14 +3383,14 @@ on the ALSA software PCM plugin.")
|
|||
(define-public snd
|
||||
(package
|
||||
(name "snd")
|
||||
(version "19.2")
|
||||
(version "19.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "ftp://ccrma-ftp.stanford.edu/pub/Lisp/"
|
||||
"snd-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1a6ls2hyvggss12idca22hq5vsq4jw2xkwrx22dx29i9926gdr6h"))))
|
||||
"16j3fqyw361wdsr1076f0p3va2y7wdzq1lvr4ijz1ajmbxdlc723"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no tests
|
||||
|
@ -3662,7 +3666,7 @@ surround).")
|
|||
(define-public libopenshot-audio
|
||||
(package
|
||||
(name "libopenshot-audio")
|
||||
(version "0.1.7")
|
||||
(version "0.1.8")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -3671,7 +3675,7 @@ surround).")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"08a8wbi28kwrdz4h0rs1b9vsr28ldfi8g75q54rj676y1vwg3qys"))))
|
||||
"1fvp6nmf30xzkmcznakh8dv5vn9d7nq051pqcqv638hsfppkmcrl"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs
|
||||
`(("alsa-lib" ,alsa-lib)
|
||||
|
@ -3697,7 +3701,7 @@ library.")
|
|||
(define-public faudio
|
||||
(package
|
||||
(name "faudio")
|
||||
(version "19.03")
|
||||
(version "19.04")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -3706,7 +3710,7 @@ library.")
|
|||
(commit version)))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32 "0v5l67ixr5kd9jz5sza8xgzxamqnlgn3gs1q8gg6ir60g0jvzbd4"))))
|
||||
(base32 "00lqf8bjcwm4k8yky9jmqghkxijcm2lxspb9zyl1270yqmj05kiw"))))
|
||||
(arguments
|
||||
'(#:tests? #f ; No tests.
|
||||
#:configure-flags '("-DFFMPEG=ON")))
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -73,7 +73,7 @@
|
|||
(define-public duplicity
|
||||
(package
|
||||
(name "duplicity")
|
||||
(version "0.7.18.1")
|
||||
(version "0.7.18.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -82,8 +82,7 @@
|
|||
"-series/" version "/+download/duplicity-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"17c0203y5qz9w8iyhs26l44qf6a1vp26b5ykz1ypdr2kv6g02df9"))))
|
||||
(base32 "0j37dgyji36hvb5dbzlmh5rj83jwhni02yq16g6rd3hj8f7qhdn2"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
`(("util-linux" ,util-linux) ; setsid command, for the tests
|
||||
|
@ -980,14 +979,14 @@ precious backup space.
|
|||
(define-public burp
|
||||
(package
|
||||
(name "burp")
|
||||
(version "2.3.2")
|
||||
(version "2.3.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/burp/burp-" version
|
||||
"/burp-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1nkkn0nfydn39cl5rxd1wbmzizird6z05j9h2xr7xczdlhhjnaai"))))
|
||||
"0r82mmfjm57yr4f34za3x3rkgc5z2c7nwbnsjjki16qfc9kjyai3"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("librsync" ,librsync)
|
||||
|
|
|
@ -553,9 +553,9 @@ wrapper for the cross-linker for that target, called 'TARGET-ld'."
|
|||
#t)))))
|
||||
(synopsis "The linker wrapper")
|
||||
(description
|
||||
"The linker wrapper (or 'ld-wrapper') wraps the linker to add any
|
||||
missing '-rpath' flags, and to detect any misuse of libraries outside of the
|
||||
store.")
|
||||
"The linker wrapper (or @code{ld-wrapper}) wraps the linker to add any
|
||||
missing @code{-rpath} flags, and to detect any misuse of libraries outside of
|
||||
the store.")
|
||||
(home-page "https://www.gnu.org/software/guix//")
|
||||
(license gpl3+)))
|
||||
|
||||
|
@ -961,8 +961,8 @@ with the Linux kernel.")
|
|||
(synopsis "All the locales supported by the GNU C Library")
|
||||
(description
|
||||
"This package provides all the locales supported by the GNU C Library,
|
||||
more than 400 in total. To use them set the 'LOCPATH' environment variable to
|
||||
the 'share/locale' sub-directory of this package.")
|
||||
more than 400 in total. To use them set the @code{LOCPATH} environment variable
|
||||
to the @code{share/locale} sub-directory of this package.")
|
||||
(outputs '("out")) ;110+ MiB
|
||||
(native-search-paths '())
|
||||
(arguments
|
||||
|
@ -1099,7 +1099,7 @@ command.")
|
|||
(define-public tzdata
|
||||
(package
|
||||
(name "tzdata")
|
||||
(version "2018i")
|
||||
(version "2019a")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -1107,7 +1107,7 @@ command.")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1n80ih8agibagic401smqscz3xxqvs5bm5x3lk803g539kw5xi42"))))
|
||||
"0wlpqm4asvi0waaz24xj20iq40gqfypmb4nldjhkfgm09bgnsdlh"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f
|
||||
|
@ -1157,7 +1157,7 @@ command.")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1p1jxlnryaxknj0l768h3dmlk2jpqz5n5d24w9c9vyx6dj3xpb5a"))))))
|
||||
"1x9z8fpgnhzlsnps0hamb54ymaskjab7ys9m4i4gpk9hpiig2fc7"))))))
|
||||
(home-page "https://www.iana.org/time-zones")
|
||||
(synopsis "Database of current and historical time zones")
|
||||
(description "The Time Zone Database (often called tz or zoneinfo)
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -2325,23 +2325,21 @@ files. The code was previously part of the cutadapt tool.")
|
|||
(define-public cutadapt
|
||||
(package
|
||||
(name "cutadapt")
|
||||
(version "1.18")
|
||||
(version "2.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/marcelm/cutadapt.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "cutadapt" version))
|
||||
(sha256
|
||||
(base32
|
||||
"08bbfwyc0kvcd95jf2s95xiv9s3cbsxm39ydl0qck3fw3cviwxpg"))))
|
||||
"1vqmsfkm6llxzmsz9wcfcvzx9a9f8iabvwik2rbyn7nc4wm25z89"))))
|
||||
(build-system python-build-system)
|
||||
(inputs
|
||||
`(("python-dnaio" ,python-dnaio)
|
||||
("python-xopen" ,python-xopen)))
|
||||
(native-inputs
|
||||
`(("python-cython" ,python-cython)
|
||||
("python-pytest" ,python-pytest)))
|
||||
("python-pytest" ,python-pytest)
|
||||
("python-setuptools-scm" ,python-setuptools-scm)))
|
||||
(home-page "https://cutadapt.readthedocs.io/en/stable/")
|
||||
(synopsis "Remove adapter sequences from nucleotide sequencing reads")
|
||||
(description
|
||||
|
@ -6792,14 +6790,14 @@ databases. Packages produced are intended to be used with AnnotationDbi.")
|
|||
(define-public r-rbgl
|
||||
(package
|
||||
(name "r-rbgl")
|
||||
(version "1.58.1")
|
||||
(version "1.58.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "RBGL" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1l5x2icv9di1lr3gqfi0vjnyd9xc3l77yc42ippqd4cadj3d1pzf"))))
|
||||
"0vhnh47pswnp27c0zqcbnnsayfmq3cxcgrs9g860555ldqfl4cyl"))))
|
||||
(properties `((upstream-name . "RBGL")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs `(("r-graph" ,r-graph)))
|
||||
|
@ -7014,29 +7012,6 @@ annotation infrastructure.")
|
|||
"This package provides a pipeline for the analysis of GRO-seq data.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public r-sparql
|
||||
(package
|
||||
(name "r-sparql")
|
||||
(version "1.16")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "SPARQL" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0gak1q06yyhdmcxb2n3v0h9gr1vqd0viqji52wpw211qp6r6dcrc"))))
|
||||
(properties `((upstream-name . "SPARQL")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-rcurl" ,r-rcurl)
|
||||
("r-xml" ,r-xml)))
|
||||
(home-page "https://cran.r-project.org/web/packages/SPARQL")
|
||||
(synopsis "SPARQL client for R")
|
||||
(description "This package provides an interface to use SPARQL to pose
|
||||
SELECT or UPDATE queries to an end-point.")
|
||||
;; The only license indication is found in the DESCRIPTION file,
|
||||
;; which states GPL-3. So we cannot assume GPLv3+.
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public vsearch
|
||||
(package
|
||||
(name "vsearch")
|
||||
|
@ -7243,32 +7218,6 @@ BLAST, KEGG, GenBank, MEDLINE and GO.")
|
|||
;; (LGPLv2.1+) and scripts in samples (which have GPL2 and GPL2+)
|
||||
(license (list license:ruby license:lgpl2.1+ license:gpl2+ ))))
|
||||
|
||||
(define-public r-acsnminer
|
||||
(package
|
||||
(name "r-acsnminer")
|
||||
(version "0.16.8.25")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "ACSNMineR" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0gh604s8qall6zfjlwcg2ilxjvz08dplf9k5g47idhv43scm748l"))))
|
||||
(properties `((upstream-name . "ACSNMineR")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-ggplot2" ,r-ggplot2)
|
||||
("r-gridextra" ,r-gridextra)))
|
||||
(home-page "https://cran.r-project.org/web/packages/ACSNMineR")
|
||||
(synopsis "Gene enrichment analysis")
|
||||
(description
|
||||
"This package provides tools to compute and represent gene set enrichment
|
||||
or depletion from your data based on pre-saved maps from the @dfn{Atlas of
|
||||
Cancer Signalling Networks} (ACSN) or user imported maps. The gene set
|
||||
enrichment can be run with hypergeometric test or Fisher exact test, and can
|
||||
use multiple corrections. Visualization of data can be done either by
|
||||
barplots or heatmaps.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public r-biocinstaller
|
||||
(package
|
||||
(name "r-biocinstaller")
|
||||
|
@ -7315,30 +7264,6 @@ categorize packages in a Bioconductor package repository according to keywords,
|
|||
also known as views, in a controlled vocabulary.")
|
||||
(license license:artistic2.0)))
|
||||
|
||||
(define-public r-bookdown
|
||||
(package
|
||||
(name "r-bookdown")
|
||||
(version "0.9")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "bookdown" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0vg1s1w0l9pm95asqb21yf39mfk1nc9rdhmlys9xwr7p7i7rsz32"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-htmltools" ,r-htmltools)
|
||||
("r-knitr" ,r-knitr)
|
||||
("r-rmarkdown" ,r-rmarkdown)
|
||||
("r-tinytex" ,r-tinytex)
|
||||
("r-yaml" ,r-yaml)
|
||||
("r-xfun" ,r-xfun)))
|
||||
(home-page "https://github.com/rstudio/bookdown")
|
||||
(synopsis "Authoring books and technical documents with R markdown")
|
||||
(description "This package provides output formats and utilities for
|
||||
authoring books and technical documents with R Markdown.")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public r-biocstyle
|
||||
(package
|
||||
(name "r-biocstyle")
|
||||
|
@ -7412,29 +7337,6 @@ functionality.")
|
|||
checks on R packages that are to be submitted to the Bioconductor repository.")
|
||||
(license license:artistic2.0)))
|
||||
|
||||
(define-public r-optparse
|
||||
(package
|
||||
(name "r-optparse")
|
||||
(version "1.6.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "optparse" version))
|
||||
(sha256
|
||||
(base32
|
||||
"04vyb6dhcga30mvghsg1p052jmf69xqxkvh3hzqz7dscyppy76w1"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-getopt" ,r-getopt)))
|
||||
(home-page
|
||||
"https://github.com/trevorld/optparse")
|
||||
(synopsis "Command line option parser")
|
||||
(description
|
||||
"This package provides a command line parser inspired by Python's
|
||||
@code{optparse} library to be used with Rscript to write shebang scripts
|
||||
that accept short and long options.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public r-s4vectors
|
||||
(package
|
||||
(name "r-s4vectors")
|
||||
|
@ -7462,31 +7364,6 @@ In addition, a few low-level concrete subclasses of general interest (e.g.
|
|||
S4Vectors package itself.")
|
||||
(license license:artistic2.0)))
|
||||
|
||||
(define-public r-seqinr
|
||||
(package
|
||||
(name "r-seqinr")
|
||||
(version "3.4-5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "seqinr" version))
|
||||
(sha256
|
||||
(base32
|
||||
"17zv0n5cji17izwmwg0jcbxbjl3w5rls91w15svcnlpxjms38ahn"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-ade4" ,r-ade4)
|
||||
("r-segmented" ,r-segmented)))
|
||||
(inputs
|
||||
`(("zlib" ,zlib)))
|
||||
(home-page "http://seqinr.r-forge.r-project.org/")
|
||||
(synopsis "Biological sequences retrieval and analysis")
|
||||
(description
|
||||
"This package provides tools for exploratory data analysis and data
|
||||
visualization of biological sequence (DNA and protein) data. It also includes
|
||||
utilities for sequence data management under the ACNUC system.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public r-iranges
|
||||
(package
|
||||
(name "r-iranges")
|
||||
|
@ -7888,10 +7765,10 @@ biological sequences or sets of sequences.")
|
|||
(home-page "https://bioconductor.org/packages/release/bioc/html/Rsamtools.html")
|
||||
(synopsis "Interface to samtools, bcftools, and tabix")
|
||||
(description
|
||||
"This package provides an interface to the 'samtools', 'bcftools', and
|
||||
'tabix' utilities for manipulating SAM (Sequence Alignment / Map), FASTA,
|
||||
binary variant call (BCF) and compressed indexed tab-delimited (tabix)
|
||||
files.")
|
||||
"This package provides an interface to the @code{samtools},
|
||||
@code{bcftools}, and @code{tabix} utilities for manipulating SAM (Sequence
|
||||
Alignment / Map), FASTA, binary variant call (BCF) and compressed indexed
|
||||
tab-delimited (tabix) files.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public r-delayedarray
|
||||
|
@ -8039,13 +7916,13 @@ as well as query and modify the browser state, such as the current viewport.")
|
|||
(define-public r-genomicfeatures
|
||||
(package
|
||||
(name "r-genomicfeatures")
|
||||
(version "1.34.6")
|
||||
(version "1.34.8")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "GenomicFeatures" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1cz7qx324dmsrkzyhm956cfgr08gpily5rpym7hc8zz5kbl6i3ra"))))
|
||||
"1sxp86hdsg32l2c85jgic65gy92d8kxsm01264hrx6yikdhicjax"))))
|
||||
(properties
|
||||
`((upstream-name . "GenomicFeatures")))
|
||||
(build-system r-build-system)
|
||||
|
@ -8413,6 +8290,9 @@ secondary structure and comparative analysis in R.")
|
|||
"13fv78sk5g0gqfl3ks3rps3zc1k66a4lzxvgn36r7ix43yxk7hnr"))))
|
||||
(properties `((upstream-name . "Rhtslib")))
|
||||
(build-system r-build-system)
|
||||
;; Without this a temporary directory ends up in the Rhtslib.so binary,
|
||||
;; which makes R abort the build.
|
||||
(arguments '(#:configure-flags '("--no-staged-install")))
|
||||
(propagated-inputs
|
||||
`(("r-zlibbioc" ,r-zlibbioc)))
|
||||
(inputs
|
||||
|
@ -8467,6 +8347,7 @@ paired-end data.")
|
|||
(sha256
|
||||
(base32
|
||||
"0ss5hcg2m7gjji6dd23zxa5bd5a7knwcnada4qs5q2l4clgk39ad"))))
|
||||
(properties `((upstream-name . "RCAS")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-annotationdbi" ,r-annotationdbi)
|
||||
|
@ -8587,45 +8468,6 @@ characterization and visualization of a wide range of mutational patterns
|
|||
in SNV base substitution data.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public r-wgcna
|
||||
(package
|
||||
(name "r-wgcna")
|
||||
(version "1.66")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "WGCNA" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0rhnyhzfn93yp24jz9v6dzrmyizwzdw070a7idm0k33w1cm8sjqv"))))
|
||||
(properties `((upstream-name . "WGCNA")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-annotationdbi" ,r-annotationdbi)
|
||||
("r-doparallel" ,r-doparallel)
|
||||
("r-dynamictreecut" ,r-dynamictreecut)
|
||||
("r-fastcluster" ,r-fastcluster)
|
||||
("r-foreach" ,r-foreach)
|
||||
("r-go-db" ,r-go-db)
|
||||
("r-hmisc" ,r-hmisc)
|
||||
("r-impute" ,r-impute)
|
||||
("r-rcpp" ,r-rcpp)
|
||||
("r-robust" ,r-robust)
|
||||
("r-survival" ,r-survival)
|
||||
("r-matrixstats" ,r-matrixstats)
|
||||
("r-preprocesscore" ,r-preprocesscore)))
|
||||
(home-page
|
||||
"http://www.genetics.ucla.edu/labs/horvath/CoexpressionNetwork/Rpackages/WGCNA/")
|
||||
(synopsis "Weighted correlation network analysis")
|
||||
(description
|
||||
"This package provides functions necessary to perform Weighted
|
||||
Correlation Network Analysis on high-dimensional data. It includes functions
|
||||
for rudimentary data cleaning, construction and summarization of correlation
|
||||
networks, module identification and functions for relating both variables and
|
||||
modules to sample traits. It also includes a number of utility functions for
|
||||
data manipulation and visualization.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public r-chipkernels
|
||||
(let ((commit "c9cfcacb626b1221094fb3490ea7bac0fd625372")
|
||||
(revision "1"))
|
||||
|
@ -8693,39 +8535,6 @@ bound and non bound genomic regions to accurately identify transcription
|
|||
factors bound at the specific regions.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public r-gkmsvm
|
||||
(package
|
||||
(name "r-gkmsvm")
|
||||
(version "0.79.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "gkmSVM" version))
|
||||
(sha256
|
||||
(base32
|
||||
"04dakbgfvfalz4rm4fvvybp506dn5fbj5g86ybfhrc6wywjllsz3"))))
|
||||
(properties `((upstream-name . "gkmSVM")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-biocgenerics" ,r-biocgenerics)
|
||||
("r-biostrings" ,r-biostrings)
|
||||
("r-genomeinfodb" ,r-genomeinfodb)
|
||||
("r-genomicranges" ,r-genomicranges)
|
||||
("r-iranges" ,r-iranges)
|
||||
("r-kernlab" ,r-kernlab)
|
||||
("r-rcpp" ,r-rcpp)
|
||||
("r-rocr" ,r-rocr)
|
||||
("r-rtracklayer" ,r-rtracklayer)
|
||||
("r-s4vectors" ,r-s4vectors)
|
||||
("r-seqinr" ,r-seqinr)))
|
||||
(home-page "https://cran.r-project.org/web/packages/gkmSVM")
|
||||
(synopsis "Gapped-kmer support vector machine")
|
||||
(description
|
||||
"This R package provides tools for training gapped-kmer SVM classifiers
|
||||
for DNA and protein sequences. This package supports several sequence
|
||||
kernels, including: gkmSVM, kmer-SVM, mismatch kernel and wildcard kernel.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public r-tximport
|
||||
(package
|
||||
(name "r-tximport")
|
||||
|
@ -9632,40 +9441,33 @@ and irregular enzymatic cleavages, mass measurement accuracy, etc.")
|
|||
(define-public r-seurat
|
||||
(package
|
||||
(name "r-seurat")
|
||||
(version "2.3.4")
|
||||
(version "3.0.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "Seurat" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0l8bv4i9nzz26mirnva10mq6pimibj24vk7vpvfypgn7xk4942hd"))))
|
||||
"183lm2wk0i3g114jbdf7pb4ssizr48qzqv3cknbsiackr8kvpsvc"))))
|
||||
(properties `((upstream-name . "Seurat")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-ape" ,r-ape)
|
||||
("r-cluster" ,r-cluster)
|
||||
("r-cowplot" ,r-cowplot)
|
||||
("r-dosnow" ,r-dosnow)
|
||||
("r-dplyr" ,r-dplyr)
|
||||
("r-dtw" ,r-dtw)
|
||||
("r-fitdistrplus" ,r-fitdistrplus)
|
||||
("r-foreach" ,r-foreach)
|
||||
("r-fpc" ,r-fpc)
|
||||
("r-future" ,r-future)
|
||||
("r-future-apply" ,r-future-apply)
|
||||
("r-ggplot2" ,r-ggplot2)
|
||||
("r-ggrepel" ,r-ggrepel)
|
||||
("r-ggridges" ,r-ggridges)
|
||||
("r-gplots" ,r-gplots)
|
||||
("r-hdf5r" ,r-hdf5r)
|
||||
("r-hmisc" ,r-hmisc)
|
||||
("r-httr" ,r-httr)
|
||||
("r-ica" ,r-ica)
|
||||
("r-igraph" ,r-igraph)
|
||||
("r-irlba" ,r-irlba)
|
||||
("r-lars" ,r-lars)
|
||||
("r-kernsmooth" ,r-kernsmooth)
|
||||
("r-lmtest" ,r-lmtest)
|
||||
("r-mass" ,r-mass)
|
||||
("r-matrix" ,r-matrix)
|
||||
("r-metap" ,r-metap)
|
||||
("r-mixtools" ,r-mixtools)
|
||||
("r-pbapply" ,r-pbapply)
|
||||
("r-plotly" ,r-plotly)
|
||||
("r-png" ,r-png)
|
||||
|
@ -9674,12 +9476,14 @@ and irregular enzymatic cleavages, mass measurement accuracy, etc.")
|
|||
("r-rcpp" ,r-rcpp)
|
||||
("r-rcppeigen" ,r-rcppeigen)
|
||||
("r-rcppprogress" ,r-rcppprogress)
|
||||
("r-reshape2" ,r-reshape2)
|
||||
("r-reticulate" ,r-reticulate)
|
||||
("r-rlang" ,r-rlang)
|
||||
("r-rocr" ,r-rocr)
|
||||
("r-rsvd" ,r-rsvd)
|
||||
("r-rtsne" ,r-rtsne)
|
||||
("r-scales" ,r-scales)
|
||||
("r-sctransform" ,r-sctransform)
|
||||
("r-sdmtools" ,r-sdmtools)
|
||||
("r-tidyr" ,r-tidyr)
|
||||
("r-tsne" ,r-tsne)))
|
||||
(home-page "http://www.satijalab.org/seurat")
|
||||
(synopsis "Seurat is an R toolkit for single cell genomics")
|
||||
|
@ -10026,14 +9830,14 @@ originally made available by Holmes, Harris, and Quince, 2012, PLoS ONE 7(2):
|
|||
(define-public r-ensembldb
|
||||
(package
|
||||
(name "r-ensembldb")
|
||||
(version "2.6.7")
|
||||
(version "2.6.8")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "ensembldb" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1wqq0m1fgvgkzq5zr2s9cj2s7qkg9lx3dwwsqixzs5fn52p4dn7f"))))
|
||||
"0gijx2l2y00h6gfj3gfr7rd4vva6qf2vkfdfy5gdmvqlxy84ka38"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-annotationdbi" ,r-annotationdbi)
|
||||
|
@ -10152,6 +9956,16 @@ effort and encourages consistency.")
|
|||
(base32
|
||||
"0wq49qqzkcn8s19xgaxf2s1j1a563d7pbhhvris6fhxfdjsz4934"))))
|
||||
(build-system r-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; See https://github.com/tengfei/ggbio/issues/117
|
||||
;; This fix will be included in the next release.
|
||||
(add-after 'unpack 'fix-typo
|
||||
(lambda _
|
||||
(substitute* "R/GGbio-class.R"
|
||||
(("fechable") "fetchable"))
|
||||
#t)))))
|
||||
(propagated-inputs
|
||||
`(("r-annotationdbi" ,r-annotationdbi)
|
||||
("r-annotationfilter" ,r-annotationfilter)
|
||||
|
@ -10352,14 +10166,14 @@ by Ernst and Kellis.")
|
|||
(define-public r-ldblock
|
||||
(package
|
||||
(name "r-ldblock")
|
||||
(version "1.12.0")
|
||||
(version "1.12.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "ldblock" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0xbf4pmhrk5fnd1iz5wzjvdr75v114bwpznhcig4wiqmxc27sips"))))
|
||||
"01lf74pby7si2g3kgc10qzr6lkcbigqcgqs2j3anc38vzxv0zhwv"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-biocgenerics" ,r-biocgenerics)
|
||||
|
@ -10384,14 +10198,14 @@ defining LD blocks.")
|
|||
(define-public r-gqtlstats
|
||||
(package
|
||||
(name "r-gqtlstats")
|
||||
(version "1.14.0")
|
||||
(version "1.14.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "gQTLstats" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1sg9kw59dlayj7qxql9pd93d4hmml504sa3kkfpzfh3xri7m5pxf"))))
|
||||
"1rkbnb3h02fdksc4nacqvmq4jgbj9fz4hm7j51yr2ggcgcykwraa"))))
|
||||
(properties `((upstream-name . "gQTLstats")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -10625,14 +10439,14 @@ block processing.")
|
|||
(define-public r-rhdf5lib
|
||||
(package
|
||||
(name "r-rhdf5lib")
|
||||
(version "1.4.2")
|
||||
(version "1.4.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "Rhdf5lib" version))
|
||||
(sha256
|
||||
(base32
|
||||
"06bxd3wz8lrvh2hzvmjpdv4lvzj5lz9353bw5b3zb98cb8w9r2j5"))
|
||||
"0hjhjvg2kss71fkmxlbgnyyy1agwzgq57rxkgkm4riw82x2rvw7q"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
@ -10861,14 +10675,14 @@ memory usage and processing time is minimized.")
|
|||
(define-public r-phangorn
|
||||
(package
|
||||
(name "r-phangorn")
|
||||
(version "2.4.0")
|
||||
(version "2.5.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "phangorn" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0xc8k552nxczy19jr0xjjagrzc8x6lafasgk2c099ls8bc1yml1i"))))
|
||||
"1bv86yfk5r015s7ij6v4zz7bagwrw9m13yfs5853drxb19d5h1m3"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-ape" ,r-ape)
|
||||
|
@ -11075,23 +10889,31 @@ with narrow binding events such as transcription factor ChIP-seq.")
|
|||
(define-public trim-galore
|
||||
(package
|
||||
(name "trim-galore")
|
||||
(version "0.4.5")
|
||||
(version "0.6.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/FelixKrueger/TrimGalore.git")
|
||||
(commit version)))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0x5892l48c816pf00wmnz5vq0zq6170d3xc8zrxncd4jcz7h1p71"))))
|
||||
"1y31wbxwkm9xqzr5zv1pk5q418whnmlmgmfyxxpnl12h83m2i9iv"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no tests
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(replace 'configure
|
||||
(lambda _
|
||||
;; Trim Galore tries to figure out what version of Python
|
||||
;; cutadapt is using by looking at the shebang. Of course that
|
||||
;; doesn't work, because cutadapt is wrapped in a shell script.
|
||||
(substitute* "trim_galore"
|
||||
(("my \\$python_return.*")
|
||||
"my $python_return = \"Python 3.999\";\n"))
|
||||
#t))
|
||||
(delete 'build)
|
||||
(add-after 'unpack 'hardcode-tool-references
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
|
@ -11100,14 +10922,18 @@ with narrow binding events such as transcription factor ChIP-seq.")
|
|||
(string-append "$path_to_cutadapt = '"
|
||||
(assoc-ref inputs "cutadapt")
|
||||
"/bin/cutadapt'"))
|
||||
(("\\| gzip")
|
||||
(string-append "| "
|
||||
(("\\$compression_path = \"gzip\"")
|
||||
(string-append "$compression_path = \""
|
||||
(assoc-ref inputs "gzip")
|
||||
"/bin/gzip"))
|
||||
"/bin/gzip\""))
|
||||
(("\"gunzip")
|
||||
(string-append "\""
|
||||
(assoc-ref inputs "gzip")
|
||||
"/bin/gunzip")))
|
||||
"/bin/gunzip"))
|
||||
(("\"pigz")
|
||||
(string-append "\""
|
||||
(assoc-ref inputs "pigz")
|
||||
"/bin/pigz")))
|
||||
#t))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
|
@ -11119,6 +10945,7 @@ with narrow binding events such as transcription factor ChIP-seq.")
|
|||
(inputs
|
||||
`(("gzip" ,gzip)
|
||||
("perl" ,perl)
|
||||
("pigz" ,pigz)
|
||||
("cutadapt" ,cutadapt)))
|
||||
(native-inputs
|
||||
`(("unzip" ,unzip)))
|
||||
|
@ -12220,6 +12047,23 @@ graphs. This library makes it easy to work with @file{.loom} files for
|
|||
single-cell RNA-seq data.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
;; pigx-scrnaseq does not work with the latest version of loompy.
|
||||
(define-public python-loompy-for-pigx-scrnaseq
|
||||
(package (inherit python-loompy)
|
||||
(name "python-loompy")
|
||||
(version "2.0.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/linnarsson-lab/loompy.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0pjyl532pl8sbv71yci6h0agchn0naw2qjcwj50n6afrsahbsag3"))))
|
||||
;; There are none.
|
||||
(arguments '(#:tests? #f))))
|
||||
|
||||
;; We cannot use the latest commit because it requires Java 9.
|
||||
(define-public java-forester
|
||||
(let ((commit "86b07efe302d5094b42deed9260f719a4c4ac2e6")
|
||||
|
@ -12833,7 +12677,7 @@ expression report comparing samples in an easily configurable manner.")
|
|||
(define-public pigx-chipseq
|
||||
(package
|
||||
(name "pigx-chipseq")
|
||||
(version "0.0.31")
|
||||
(version "0.0.40")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/BIMSBbioinfo/pigx_chipseq/"
|
||||
|
@ -12841,7 +12685,7 @@ expression report comparing samples in an easily configurable manner.")
|
|||
"/pigx_chipseq-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0l3vd9xwqzap3mmyj8xwqp84kj7scbq308diqnwg2albphl75xqs"))))
|
||||
"0y9x62cfwzhsp82imnawyamxp58bcb00yjxdy44spylqnjdlsaj8"))))
|
||||
(build-system gnu-build-system)
|
||||
;; parts of the tests rely on access to the network
|
||||
(arguments '(#:tests? #f))
|
||||
|
@ -12990,7 +12834,7 @@ methylation and segmentation.")
|
|||
("python-pandas" ,python-pandas)
|
||||
("python-magic" ,python-magic)
|
||||
("python-numpy" ,python-numpy)
|
||||
("python-loompy" ,python-loompy)
|
||||
("python-loompy" ,python-loompy-for-pigx-scrnaseq)
|
||||
("ghc-pandoc" ,ghc-pandoc)
|
||||
("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc)
|
||||
("samtools" ,samtools)
|
||||
|
@ -13461,31 +13305,57 @@ in RNA-seq data.")
|
|||
(define-public python-scanpy
|
||||
(package
|
||||
(name "python-scanpy")
|
||||
(version "1.2.2")
|
||||
(version "1.4")
|
||||
;; Fetch from git because the pypi tarball does not include tests.
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "scanpy" version))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/theislab/scanpy.git")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ak7bxms5a0yvf65prppq2g38clkv7c7jnjbnfpkh3xxv7q512jz"))))
|
||||
"0zn6x6c0cnm1a20i6isigwb51g3pr9zpjk8r1minjqnxi5yc9pm4"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; These tests require Internet access.
|
||||
(delete-file-recursively "scanpy/tests/notebooks")
|
||||
(delete-file "scanpy/tests/test_clustering.py")
|
||||
|
||||
;; TODO: I can't get the plotting tests to work, even with Xvfb.
|
||||
(delete-file "scanpy/tests/test_plotting.py")
|
||||
(delete-file "scanpy/tests/test_preprocessing.py")
|
||||
(delete-file "scanpy/tests/test_read_10x.py")
|
||||
|
||||
(setenv "PYTHONPATH"
|
||||
(string-append (getcwd) ":"
|
||||
(getenv "PYTHONPATH")))
|
||||
(invoke "pytest")
|
||||
#t)))))
|
||||
(propagated-inputs
|
||||
`(("python-anndata" ,python-anndata)
|
||||
("python-h5py" ,python-h5py)
|
||||
("python-igraph" ,python-igraph)
|
||||
("python-numba" ,python-numba)
|
||||
("python-joblib" ,python-joblib)
|
||||
("python-louvain" ,python-louvain)
|
||||
("python-matplotlib" ,python-matplotlib)
|
||||
("python-natsort" ,python-natsort)
|
||||
("python-networkx" ,python-networkx)
|
||||
("python-statsmodels" ,python-statsmodels)
|
||||
("python-scikit-learn" ,python-scikit-learn)
|
||||
("python-matplotlib" ,python-matplotlib)
|
||||
("python-numba" ,python-numba)
|
||||
("python-pandas" ,python-pandas)
|
||||
("python-scikit-learn" ,python-scikit-learn)
|
||||
("python-scipy" ,python-scipy)
|
||||
("python-seaborn" ,python-seaborn)
|
||||
("python-h5py" ,python-h5py)
|
||||
("python-statsmodels" ,python-statsmodels)
|
||||
("python-tables" ,python-tables)))
|
||||
(home-page "http://github.com/theislab/scanpy")
|
||||
(native-inputs
|
||||
`(("python-pytest" ,python-pytest)))
|
||||
(home-page "https://github.com/theislab/scanpy")
|
||||
(synopsis "Single-Cell Analysis in Python.")
|
||||
(description "Scanpy is a scalable toolkit for analyzing single-cell gene
|
||||
expression data. It includes preprocessing, visualization, clustering,
|
||||
|
@ -13494,6 +13364,38 @@ Python-based implementation efficiently deals with datasets of more than one
|
|||
million cells.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python-bbknn
|
||||
(package
|
||||
(name "python-bbknn")
|
||||
(version "1.3.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "bbknn" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1qgdganvj3lyxj84v7alm23b9vqhwpn8z0115qndpnpy90qxynwz"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
`(("python-annoy" ,python-annoy)
|
||||
("python-cython" ,python-cython)
|
||||
("python-faiss" ,python-faiss)
|
||||
("python-numpy" ,python-numpy)
|
||||
("python-scanpy" ,python-scanpy)))
|
||||
(home-page "https://github.com/Teichlab/bbknn")
|
||||
(synopsis "Batch balanced KNN")
|
||||
(description "BBKNN is a batch effect removal tool that can be directly
|
||||
used in the Scanpy workflow. It serves as an alternative to
|
||||
@code{scanpy.api.pp.neighbors()}, with both functions creating a neighbour
|
||||
graph for subsequent use in clustering, pseudotime and UMAP visualisation. If
|
||||
technical artifacts are present in the data, they will make it challenging to
|
||||
link corresponding cell types across different batches. BBKNN actively
|
||||
combats this effect by splitting your data into batches and finding a smaller
|
||||
number of neighbours for each cell within each of the groups. This helps
|
||||
create connections between analogous cells in different batches without
|
||||
altering the counts or PCA space.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public gffcompare
|
||||
(let ((commit "be56ef4349ea3966c12c6397f85e49e047361c41")
|
||||
(revision "1"))
|
||||
|
@ -14661,3 +14563,227 @@ overlapping paired-ended reads into (longer) consensus sequences.
|
|||
Additionally, the AdapterRemoval may be used to recover a consensus adapter
|
||||
sequence for paired-ended data, for which this information is not available.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public pplacer
|
||||
(let ((commit "807f6f3"))
|
||||
(package
|
||||
(name "pplacer")
|
||||
;; The commit should be updated with each version change.
|
||||
(version "1.1.alpha19")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/matsen/pplacer.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "11ppbbbx20p2g9wj3ff64dhnarb12q79v7qh4rk0gj6lkbz4n7cn"))))
|
||||
(build-system ocaml-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build ocaml-build-system)
|
||||
(guix build utils)
|
||||
(ice-9 ftw))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(add-after 'unpack 'fix-build-with-latest-ocaml
|
||||
(lambda _
|
||||
(substitute* "myocamlbuild.ml"
|
||||
(("dep \\[\"c_pam\"\\]" m)
|
||||
(string-append "flag [\"ocaml\"; \"compile\"] (A \"-unsafe-string\");\n"
|
||||
m))
|
||||
(("let run_and_read" m)
|
||||
(string-append "
|
||||
let split s ch =
|
||||
let x = ref [] in
|
||||
let rec go s =
|
||||
let pos = String.index s ch in
|
||||
x := (String.before s pos)::!x;
|
||||
go (String.after s (pos + 1))
|
||||
in
|
||||
try go s
|
||||
with Not_found -> !x
|
||||
let split_nl s = split s '\\n'
|
||||
let before_space s =
|
||||
try String.before s (String.index s ' ')
|
||||
with Not_found -> s
|
||||
|
||||
" m))
|
||||
(("run_and_read \"ocamlfind list \\| cut -d' ' -f1\"" m)
|
||||
(string-append "List.map before_space (split_nl & " m ")"))
|
||||
((" blank_sep_strings &") "")
|
||||
((" Lexing.from_string &") ""))
|
||||
#t))
|
||||
(add-after 'unpack 'replace-bundled-cddlib
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let* ((cddlib-src (assoc-ref inputs "cddlib-src"))
|
||||
(local-dir "cddlib_guix"))
|
||||
(mkdir local-dir)
|
||||
(with-directory-excursion local-dir
|
||||
(invoke "tar" "xvf" cddlib-src))
|
||||
(let ((cddlib-src-folder
|
||||
(string-append local-dir "/"
|
||||
(list-ref (scandir local-dir) 2)
|
||||
"/lib-src")))
|
||||
(for-each make-file-writable (find-files "cdd_src" ".*"))
|
||||
(for-each
|
||||
(lambda (file)
|
||||
(copy-file file
|
||||
(string-append "cdd_src/" (basename file))))
|
||||
(find-files cddlib-src-folder ".*[ch]$")))
|
||||
#t)))
|
||||
(add-after 'unpack 'fix-makefile
|
||||
(lambda _
|
||||
;; Remove system calls to 'git'.
|
||||
(substitute* "Makefile"
|
||||
(("^DESCRIPT:=pplacer-.*")
|
||||
(string-append
|
||||
"DESCRIPT:=pplacer-$(shell uname)-v" ,version "\n")))
|
||||
(substitute* "myocamlbuild.ml"
|
||||
(("git describe --tags --long .*\\\" with")
|
||||
(string-append
|
||||
"echo -n v" ,version "-" ,commit "\" with")))
|
||||
#t))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin")))
|
||||
(copy-recursively "bin" bin))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("zlib" ,zlib "static")
|
||||
("gsl" ,gsl)
|
||||
("ocaml-ounit" ,ocaml-ounit)
|
||||
("ocaml-batteries" ,ocaml-batteries)
|
||||
("ocaml-camlzip" ,camlzip)
|
||||
("ocaml-csv" ,ocaml-csv)
|
||||
("ocaml-sqlite3" ,ocaml-sqlite3)
|
||||
("ocaml-xmlm" ,ocaml-xmlm)
|
||||
("ocaml-mcl" ,ocaml-mcl)
|
||||
("ocaml-gsl" ,ocaml-gsl-1)))
|
||||
(native-inputs
|
||||
`(("cddlib-src" ,(package-source cddlib))
|
||||
("ocamlbuild" ,ocamlbuild)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(propagated-inputs
|
||||
`(("pplacer-scripts" ,pplacer-scripts)))
|
||||
(synopsis "Phylogenetic placement of biological sequences")
|
||||
(description
|
||||
"Pplacer places query sequences on a fixed reference phylogenetic tree
|
||||
to maximize phylogenetic likelihood or posterior probability according to a
|
||||
reference alignment. Pplacer is designed to be fast, to give useful
|
||||
information about uncertainty, and to offer advanced visualization and
|
||||
downstream analysis.")
|
||||
(home-page "http://matsen.fhcrc.org/pplacer")
|
||||
(license license:gpl3))))
|
||||
|
||||
;; This package is installed alongside 'pplacer'. It is a separate package so
|
||||
;; that it can use the python-build-system for the scripts that are
|
||||
;; distributed alongside the main OCaml binaries.
|
||||
(define pplacer-scripts
|
||||
(package
|
||||
(inherit pplacer)
|
||||
(name "pplacer-scripts")
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:python ,python-2
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'enter-scripts-dir
|
||||
(lambda _ (chdir "scripts") #t))
|
||||
(replace 'check
|
||||
(lambda _ (invoke "python" "-m" "unittest" "discover" "-v") #t))
|
||||
(add-after 'install 'wrap-executables
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin")))
|
||||
(let ((path (string-append
|
||||
(assoc-ref inputs "hmmer") "/bin:"
|
||||
(assoc-ref inputs "infernal") "/bin")))
|
||||
(display path)
|
||||
(wrap-program (string-append bin "/refpkg_align.py")
|
||||
`("PATH" ":" prefix (,path))))
|
||||
(let ((path (string-append
|
||||
(assoc-ref inputs "hmmer") "/bin")))
|
||||
(wrap-program (string-append bin "/hrefpkg_query.py")
|
||||
`("PATH" ":" prefix (,path)))))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("infernal" ,infernal)
|
||||
("hmmer" ,hmmer)))
|
||||
(propagated-inputs
|
||||
`(("python-biopython" ,python2-biopython)
|
||||
("taxtastic" ,taxtastic)))
|
||||
(synopsis "Pplacer Python scripts")))
|
||||
|
||||
(define-public python2-checkm-genome
|
||||
(package
|
||||
(name "python2-checkm-genome")
|
||||
(version "1.0.13")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "checkm-genome" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0bm8gpxjmzxsxxl8lzwqhgx8g1dlnmp6znz7wv3hgb0gdjbf9dzz"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:python ,python-2
|
||||
#:tests? #f)) ; some tests are interactive
|
||||
(propagated-inputs
|
||||
`(("python-dendropy" ,python2-dendropy)
|
||||
("python-matplotlib" ,python2-matplotlib)
|
||||
("python-numpy" ,python2-numpy)
|
||||
("python-pysam" ,python2-pysam)
|
||||
("python-scipy" ,python2-scipy)))
|
||||
(home-page "http://pypi.python.org/pypi/checkm/")
|
||||
(synopsis "Assess the quality of putative genome bins")
|
||||
(description
|
||||
"CheckM provides a set of tools for assessing the quality of genomes
|
||||
recovered from isolates, single cells, or metagenomes. It provides robust
|
||||
estimates of genome completeness and contamination by using collocated sets of
|
||||
genes that are ubiquitous and single-copy within a phylogenetic lineage.
|
||||
Assessment of genome quality can also be examined using plots depicting key
|
||||
genomic characteristics (e.g., GC, coding density) which highlight sequences
|
||||
outside the expected distributions of a typical genome. CheckM also provides
|
||||
tools for identifying genome bins that are likely candidates for merging based
|
||||
on marker set compatibility, similarity in genomic characteristics, and
|
||||
proximity within a reference genome.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public umi-tools
|
||||
(package
|
||||
(name "umi-tools")
|
||||
(version "1.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "umi_tools" version))
|
||||
(sha256
|
||||
(base32
|
||||
"08y3vz1vcx09whmbsn722lcs6jl9wyrh9i4p3k8j4cb1i32bij4a"))))
|
||||
(build-system python-build-system)
|
||||
(inputs
|
||||
`(("python-setuptools" ,python-setuptools)
|
||||
("python-pandas" ,python-pandas)
|
||||
("python-future" ,python-future)
|
||||
("python-scipy" ,python-scipy)
|
||||
("python-matplotlib" ,python-matplotlib)
|
||||
("python-regex" ,python-regex)
|
||||
("python-pysam" ,python-pysam)))
|
||||
(native-inputs
|
||||
`(("python-setuptools" ,python-setuptools)
|
||||
("python-cython" ,python-cython)))
|
||||
(home-page "https://github.com/CGATOxford/UMI-tools")
|
||||
(synopsis "Tools for analyzing unique modular identifiers")
|
||||
(description "This package provides tools for dealing with @dfn{Unique
|
||||
Molecular Identifiers} (UMIs) and @dfn{Random Molecular Tags} (RMTs) in
|
||||
genetic sequences. There are six tools: the @code{extract} and
|
||||
@code{whitelist} commands are used to prepare a fastq containg UMIs @code{+/-}
|
||||
cell barcodes for alignment. The remaining commands, @code{group},
|
||||
@code{dedup}, and @{count}/@code{count_tab}, are used to identify PCR
|
||||
duplicates using the UMIs and perform different levels of analysis depending
|
||||
on the needs of the user.")
|
||||
(license license:expat)))
|
||||
|
|
|
@ -90,7 +90,8 @@
|
|||
(base32
|
||||
"03vvdfhdmf16121v7xs8is2krwnv15wpkhkf16a4yf8nsfc3f2w1"))
|
||||
(patches (search-patches "grub-check-error-efibootmgr.patch"
|
||||
"grub-binutils-compat.patch"))))
|
||||
"grub-binutils-compat.patch"
|
||||
"grub-efi-fat-serial-number.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
|
@ -378,7 +379,7 @@ tree binary files. These are board description files used by Linux and BSD.")
|
|||
(define u-boot
|
||||
(package
|
||||
(name "u-boot")
|
||||
(version "2019.01")
|
||||
(version "2019.04")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -386,7 +387,10 @@ tree binary files. These are board description files used by Linux and BSD.")
|
|||
"u-boot-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"08hwsmh5xsb1gcxsv8gvx00bai938dm5y3889n8jif3a8rd7xgah"))))
|
||||
"1vwv4bgbl7fjcm073zrphn17hnz5h5h778f88ivdsgbb2lnpgdvn"))
|
||||
(patches
|
||||
(search-patches
|
||||
"u-boot-fix-mkimage-header-verification.patch"))))
|
||||
(native-inputs
|
||||
`(("bc" ,bc)
|
||||
("bison" ,bison)
|
||||
|
@ -441,6 +445,10 @@ also initializes the boards (RAM etc).")
|
|||
(("def test_ctrl_c")
|
||||
"@pytest.mark.skip(reason='Guix has problems with SIGINT')
|
||||
def test_ctrl_c"))
|
||||
;; Test against the tools being installed rather than tools built
|
||||
;; for "sandbox" target.
|
||||
(substitute* "test/image/test-imagetools.sh"
|
||||
(("BASEDIR=sandbox") "BASEDIR=."))
|
||||
(for-each (lambda (file)
|
||||
(substitute* file
|
||||
;; Disable signatures, due to GPL/Openssl
|
||||
|
@ -482,13 +490,20 @@ def test_ctrl_c"))
|
|||
#t)))
|
||||
(delete 'check)
|
||||
(add-after 'install 'check
|
||||
(lambda* (#:key make-flags test-target #:allow-other-keys)
|
||||
(invoke "test/image/test-imagetools.sh")))
|
||||
;; Only run full test suite on x86_64 systems, as many tests
|
||||
;; assume x86_64.
|
||||
,@(if (string-match "^x86_64-linux"
|
||||
(or (%current-target-system)
|
||||
(%current-system)))
|
||||
'((add-after 'check 'check-x86
|
||||
(lambda* (#:key make-flags test-target #:allow-other-keys)
|
||||
(apply invoke "make" "mrproper" make-flags)
|
||||
(setenv "SDL_VIDEODRIVER" "dummy")
|
||||
(setenv "PAGER" "cat")
|
||||
(apply invoke "make" test-target make-flags)
|
||||
(symlink "build-sandbox_spl" "sandbox")
|
||||
(invoke "test/image/test-imagetools.sh"))))))
|
||||
(apply invoke "make" test-target make-flags))))
|
||||
'()))))
|
||||
(description "U-Boot is a bootloader used mostly for ARM boards. It
|
||||
also initializes the boards (RAM etc). This package provides its
|
||||
board-independent tools.")))
|
||||
|
@ -577,8 +592,32 @@ board-independent tools.")))
|
|||
(define-public u-boot-malta
|
||||
(make-u-boot-package "malta" "mips64el-linux-gnuabi64"))
|
||||
|
||||
(define-public u-boot-beagle-bone-black
|
||||
(make-u-boot-package "am335x_boneblack" "arm-linux-gnueabihf"))
|
||||
(define-public u-boot-am335x-boneblack
|
||||
(let ((base (make-u-boot-package "am335x_evm" "arm-linux-gnueabihf")))
|
||||
(package
|
||||
(inherit base)
|
||||
(name "u-boot-am335x-boneblack")
|
||||
(description "U-Boot is a bootloader used mostly for ARM boards. It
|
||||
also initializes the boards (RAM etc).
|
||||
|
||||
This U-Boot is built for the BeagleBone Black, which was removed upstream,
|
||||
adjusted from the am335x_evm build with several device trees removed so that
|
||||
it fits within common partitioning schemes.")
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments base)
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(add-after 'unpack 'patch-defconfig
|
||||
;; Patch out other devicetrees to build image small enough to
|
||||
;; fit within typical partitioning schemes where the first
|
||||
;; partition begins at sector 2048.
|
||||
(lambda _
|
||||
(substitute* "configs/am335x_evm_defconfig"
|
||||
(("CONFIG_OF_LIST=.*$") "CONFIG_OF_LIST=\"am335x-evm am335x-boneblack\"\n"))
|
||||
#t)))))))))
|
||||
|
||||
(define-public u-boot-am335x-evm
|
||||
(make-u-boot-package "am335x_evm" "arm-linux-gnueabihf"))
|
||||
|
||||
(define-public (make-u-boot-sunxi64-package board triplet)
|
||||
(let ((base (make-u-boot-package board triplet)))
|
||||
|
@ -637,7 +676,7 @@ board-independent tools.")))
|
|||
also initializes the boards (RAM etc).
|
||||
|
||||
This U-Boot is built for Novena. Be advised that this version, contrary
|
||||
to Novena upstream, does not load u-boot.img from the first patition.")
|
||||
to Novena upstream, does not load u-boot.img from the first partition.")
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments base)
|
||||
((#:phases phases)
|
||||
|
@ -647,7 +686,7 @@ to Novena upstream, does not load u-boot.img from the first patition.")
|
|||
;; allowing it to be installed at a device offset.
|
||||
(lambda _
|
||||
(substitute* "configs/novena_defconfig"
|
||||
(("CONFIG_SPL_FAT_SUPPORT=y") "# CONFIG_SPL_FAT_SUPPORT is not set"))
|
||||
(("CONFIG_SPL_FS_FAT=y") "# CONFIG_SPL_FS_FAT is not set"))
|
||||
#t)))))))))
|
||||
|
||||
(define-public u-boot-cubieboard
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2016, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
|
||||
;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
|
@ -38,7 +38,8 @@
|
|||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages pkg-config))
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages xml))
|
||||
|
||||
(define-public tcc
|
||||
(package
|
||||
|
@ -257,3 +258,32 @@ typing conventions?
|
|||
every project that needs to deal with sizes in bytes. It is written in the C
|
||||
language with thin bindings for other languages.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public udunits
|
||||
(package
|
||||
(name "udunits")
|
||||
(version "2.2.26")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "ftp://ftp.unidata.ucar.edu/pub/udunits/"
|
||||
"udunits-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0v9mqw4drnkzkm57331ail6yvs9485jmi37s40lhvmf7r5lli3rn"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("expat" ,expat)))
|
||||
(home-page "https://www.unidata.ucar.edu/software/udunits/")
|
||||
(synopsis "C library for units of physical quantities and value-conversion utils")
|
||||
(description
|
||||
"The UDUNITS-2 package provides support for units of physical quantities.
|
||||
Its three main components are:
|
||||
|
||||
@enumerate
|
||||
@item @code{udunits2lib}, a C library for units of physical quantities;
|
||||
@item @code{udunits2prog}, a utility for obtaining the definition of a unit
|
||||
and for converting numeric values between compatible units; and
|
||||
@item an extensive database of units.
|
||||
@end enumerate\n")
|
||||
;; Like the BSD-3 license but with an extra anti patent clause.
|
||||
(license (license:non-copyleft "file://COPYRIGHT"))))
|
||||
|
|
|
@ -96,13 +96,13 @@ data units.")
|
|||
(define-public khal
|
||||
(package
|
||||
(name "khal")
|
||||
(version "0.9.10")
|
||||
(version "0.10.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "khal" version))
|
||||
(sha256
|
||||
(base32
|
||||
"03h0j0d3xyqh98x5v2gv63wv3g91hip3vsaxvybsn5iz331d23h4"))))
|
||||
"1r8bkgjwkh7i8ygvsv51h1cnax50sb183vafg66x5snxf3dgjl6l"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
|
@ -122,22 +122,14 @@ data units.")
|
|||
(setenv "TZ"
|
||||
(string-append (assoc-ref inputs "tzdata")
|
||||
"/share/zoneinfo/Zulu"))
|
||||
(invoke "py.test" "tests" "-k"
|
||||
(string-append
|
||||
;; These tests are known to fail in when not
|
||||
;; running in a TTY:
|
||||
;; https://github.com/pimutils/khal/issues/683
|
||||
"not test_printics_read_from_stdin "
|
||||
"and not test_import_from_stdin "
|
||||
;; https://github.com/pimutils/khal/issues/825
|
||||
"and not test_description_and_location_and_categories")))))))
|
||||
(invoke "py.test" "tests"))))))
|
||||
(native-inputs
|
||||
`(("python-pytest" ,python-pytest)
|
||||
("python-pytest-cov" ,python-pytest-cov)
|
||||
("python-setuptools-scm" ,python-setuptools-scm)
|
||||
;; Required for tests
|
||||
("python-freezegun" ,python-freezegun)
|
||||
("tzdata" ,tzdata)
|
||||
("tzdata" ,tzdata-for-tests)
|
||||
("vdirsyncer" ,vdirsyncer)
|
||||
;; Required to build manpage
|
||||
("python-sphinxcontrib-newsfeed" ,python-sphinxcontrib-newsfeed)
|
||||
|
@ -154,7 +146,7 @@ data units.")
|
|||
(synopsis "Console calendar program")
|
||||
(description "Khal is a standards based console calendar program,
|
||||
able to synchronize with CalDAV servers through vdirsyncer.")
|
||||
(home-page "http://lostpackets.de/khal/")
|
||||
(home-page "https://lostpackets.de/khal/")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public remind
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2017 John Darrington <jmd@gnu.org>
|
||||
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
|
||||
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017 ng0 <ng0@n0.is>
|
||||
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
|
||||
|
@ -336,13 +336,15 @@ or @command{xorrisofs} to create ISO 9660 images.")
|
|||
(package
|
||||
(name "dvdisaster")
|
||||
(version "0.79.5")
|
||||
(source (origin
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://dvdisaster.net/downloads/dvdisaster-"
|
||||
;; Update this (and update HOME-PAGE) when/if one reappears.
|
||||
(uri (string-append "https://web.archive.org/web/20180428070843/"
|
||||
"http://dvdisaster.net/downloads/dvdisaster-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0f8gjnia2fxcbmhl8b3qkr5b7idl8m855dw7xw2fnmbqwvcm6k4w"))))
|
||||
(base32 "0f8gjnia2fxcbmhl8b3qkr5b7idl8m855dw7xw2fnmbqwvcm6k4w"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("gtk+" ,gtk+-2)))
|
||||
|
@ -384,7 +386,8 @@ or @command{xorrisofs} to create ISO 9660 images.")
|
|||
(copy-file "contrib/dvdisaster48.xpm"
|
||||
(string-append datadir "/pixmaps/dvdisaster.xpm"))
|
||||
#t))))))
|
||||
(home-page "http://dvdisaster.net/en/index.html")
|
||||
(home-page (string-append "https://web.archive.org/web/20180428070843/"
|
||||
"http://dvdisaster.net/en/index.html"))
|
||||
(synopsis "Error correcting codes for optical media images")
|
||||
(description "Optical media (CD,DVD,BD) keep their data only for a
|
||||
finite time (typically for many years). After that time, data loss develops
|
||||
|
@ -656,7 +659,7 @@ information is written to standard error.")
|
|||
(define-public asunder
|
||||
(package
|
||||
(name "asunder")
|
||||
(version "2.8")
|
||||
(version "2.9.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
|
@ -665,7 +668,7 @@ information is written to standard error.")
|
|||
".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1nq9kd4rd4k2kibf57gdbm0zw2gxa234vvvdhxkm8g5bhx5h3iyq"))))
|
||||
"1630i1df06y840v3fgdf75jxw1s8kwbfn5bhi0686viah0scccw5"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(arguments
|
||||
'(#:out-of-source? #f
|
||||
|
@ -860,3 +863,108 @@ Supported extensions to ISO 9660 are Rock Ridge, Joliet, AAIP, zisofs.")
|
|||
blanking CD-RW media, creating ISO-9660 file system images, extracting audio
|
||||
CD data, and more. It's mostly compatible with @code{cdrtools}.")
|
||||
(license gpl2+)))
|
||||
|
||||
(define-public libmirage
|
||||
(package
|
||||
(name "libmirage")
|
||||
(version "3.2.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://downloads.sourceforge.net/cdemu/libmirage-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1ydph33sfxplp4872dp8ghp574jk5d4qr8hqz61qnznq1b11cnbr"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("intltool" ,intltool)))
|
||||
(inputs
|
||||
`(("glib" ,glib)))
|
||||
(arguments
|
||||
;; No tests.
|
||||
'(#:tests? #f))
|
||||
(home-page "https://cdemu.sourceforge.io/")
|
||||
(synopsis "CD-ROM image access library")
|
||||
(description "libMirage is a CD-ROM image access library. It supports the
|
||||
following formats: B6T, C2D, CCD, CDI, CIF, CUE, ISO, MDS, MDX, NRG, TOC. It
|
||||
is written in C and based on GLib. Its aim is to provide uniform access to
|
||||
the data stored in various image formats.")
|
||||
(license gpl2+)))
|
||||
|
||||
(define-public cdemu-daemon
|
||||
(package
|
||||
(name "cdemu-daemon")
|
||||
(version "3.2.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://downloads.sourceforge.net/cdemu/cdemu-daemon/cdemu-daemon-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"171qqcziqgf6dd9n8xs9hc71krhjiyx9qr767s8znidyjj88hbc4"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("intltool" ,intltool)))
|
||||
(inputs
|
||||
`(("libmirage" ,libmirage)
|
||||
("glib" ,glib)
|
||||
("ao" ,ao)))
|
||||
(arguments
|
||||
;; No tests.
|
||||
'(#:tests? #f))
|
||||
(home-page "https://cdemu.sourceforge.io/")
|
||||
(synopsis "CD/DVD-ROM device emulator")
|
||||
(description "CDemu is a software suite designed to emulate an optical
|
||||
drive and disc (including CD-ROMs and DVD-ROMs).")
|
||||
(license gpl2+)))
|
||||
|
||||
(define-public cdemu-client
|
||||
(package
|
||||
(name "cdemu-client")
|
||||
(version "3.2.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://downloads.sourceforge.net/cdemu/cdemu-client-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1zwz987pb2pakfk9kz8a6xa9hq1ip48cn4ryl9z85dik8k2sizm9"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("intltool" ,intltool)))
|
||||
(inputs
|
||||
`(("python" ,python)
|
||||
("python-pygobject" ,python-pygobject)
|
||||
("cdemu-daemon" ,cdemu-daemon)))
|
||||
(arguments
|
||||
;; No tests.
|
||||
`(#:tests? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'install 'patch-shebang
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(patch-shebang (string-append (assoc-ref outputs "out")
|
||||
"/bin/cdemu"))
|
||||
#t))
|
||||
(add-after 'patch-shebang 'wrap-program
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((prog (string-append (assoc-ref outputs "out")
|
||||
"/bin/cdemu")))
|
||||
(wrap-program prog
|
||||
`("PYTHONPATH" = (,(getenv "PYTHONPATH"))))
|
||||
#t))))))
|
||||
(home-page "https://cdemu.sourceforge.io/")
|
||||
(synopsis "Command-line client for controlling cdemu-daemon")
|
||||
(description "CDEmu client is a simple command-line client for controlling
|
||||
CDEmu daemon.
|
||||
|
||||
It provides a way to perform the key tasks related to controlling the CDEmu
|
||||
daemon, such as loading and unloading devices, displaying devices' status and
|
||||
retrieving/setting devices' debug masks.")
|
||||
(license gpl2+)))
|
||||
|
|
|
@ -29,6 +29,7 @@
|
|||
;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
|
||||
;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
|
||||
;;; Copyright © 2019 Chris Marusich <cmmarusich@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -468,13 +469,14 @@ test coverage and has a web user interface that will refresh automatically.")
|
|||
(version "1.8.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/google/googletest/archive/"
|
||||
"release-" version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/google/googletest.git")
|
||||
(commit (string-append "release-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1n5p1m2m3fjrjdj752lf92f9wq3pl5cbsfrb49jqbg52ghkz99jq"))))
|
||||
"0bjlljmbf8glnd9qjabx73w6pd7ibv43yiyngqvmvgxsabzr8399"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags '("-DBUILD_SHARED_LIBS=ON")))
|
||||
|
@ -2004,13 +2006,13 @@ create data based on random numbers and yet remain repeatable.")
|
|||
(define-public python-nose-timer
|
||||
(package
|
||||
(name "python-nose-timer")
|
||||
(version "0.7.4")
|
||||
(version "0.7.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "nose-timer" version))
|
||||
(sha256
|
||||
(base32 "04inck7l1sgkjbiinhifxk45wk2b3czbwh1x2a390hi183fq1q12"))))
|
||||
(base32 "05wzkc88vbzw62pqkvhl33211b90kns0lny70b7qw62rcg4flzk4"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
`(("python-nose" ,python-nose)
|
||||
|
@ -2246,3 +2248,52 @@ record the properties and behaviour of particular devices, and to run a
|
|||
program or test suite under a test bed with the previously recorded devices
|
||||
loaded.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public python-pyfakefs
|
||||
(package
|
||||
(name "python-pyfakefs")
|
||||
(version "3.5.8")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
;; We use the PyPI URL because there is no proper release
|
||||
;; available from GitHub. The GitHub project only provides
|
||||
;; autogenerated tarballs, which are known to change in place.
|
||||
(uri (pypi-uri "pyfakefs" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0qb9jp0bqhc0dv0rn805fv99029fvx135f3bvka6scfkcl6jgllc"))
|
||||
(patches (search-patches
|
||||
"python-pyfakefs-remove-bad-test.patch"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; The default test suite does not run these extra tests.
|
||||
(add-after 'check 'check-pytest-plugin
|
||||
(lambda _
|
||||
(invoke
|
||||
"python" "-m" "pytest"
|
||||
"pyfakefs/pytest_tests/pytest_plugin_test.py")
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("python-pytest" ,python-pytest)))
|
||||
(build-system python-build-system)
|
||||
;; Guix lint doesn't like that this is a permanent redirect to the GitHub
|
||||
;; page, but the pyfakefs documentation asks us to use this specific URL
|
||||
;; when linking to the project. Honor their request.
|
||||
(home-page "http://pyfakefs.org/")
|
||||
;; TRANSLATORS: In the synopsis, "Mock" is a verb.
|
||||
(synopsis "Mock file system interactions in tests")
|
||||
(description
|
||||
"This package provides a Python library intended for use in automated
|
||||
tests. One difficulty when testing software is that the code under test might
|
||||
need to read or write to files in the local file system. If the file system
|
||||
is not set up in just the right way, it might cause a spurious error during
|
||||
the test. The pyfakefs library provides a solution to problems like this by
|
||||
mocking file system interactions. In other words, it arranges for the code
|
||||
under test to interact with a fake file system instead of the real file
|
||||
system. The code under test requires no modification to work with pyfakefs.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python2-pyfakefs
|
||||
(package-with-python2 python-pyfakefs))
|
||||
|
|
|
@ -558,7 +558,7 @@ strings.")
|
|||
(synopsis "MIT/GNU Scheme compatibility library for Chez Scheme")
|
||||
(description "This package provides a set of MIT/GNU Scheme compatibility
|
||||
libraries for Chez Scheme. The main goal was to provide the functionality
|
||||
required to port the program 'Scmutils' to Chez Scheme.")
|
||||
required to port the program @code{Scmutils} to Chez Scheme.")
|
||||
(license gpl3+)))
|
||||
|
||||
(define-public chez-scmutils
|
||||
|
|
|
@ -40,7 +40,6 @@
|
|||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages gnuzilla)
|
||||
#:use-module (gnu packages gperf)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages icu4c)
|
||||
|
@ -51,6 +50,7 @@
|
|||
#:use-module (gnu packages kerberos)
|
||||
#:use-module (gnu packages ninja)
|
||||
#:use-module (gnu packages node)
|
||||
#:use-module (gnu packages nss)
|
||||
#:use-module (gnu packages pciutils)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages pulseaudio)
|
||||
|
@ -80,11 +80,9 @@
|
|||
"chrome/third_party/mozilla_security_manager" ;MPL-1.1/GPL2+/LGPL2.1+
|
||||
"courgette/third_party/bsdiff" ;BSD-2, BSD protection license
|
||||
"courgette/third_party/divsufsort" ;Expat
|
||||
"net/third_party/http2" ;BSD-3
|
||||
"net/third_party/mozilla_security_manager" ;MPL-1.1/GPL2+/LGPL2.1+
|
||||
"net/third_party/nss" ;MPL-2.0
|
||||
"net/third_party/quic" ;BSD-3
|
||||
"net/third_party/spdy" ;BSD-3
|
||||
"net/third_party/uri_template" ;ASL2.0
|
||||
"third_party/abseil-cpp" ;ASL2.0
|
||||
"third_party/adobe/flash/flapper_version.h" ;no license, trivial
|
||||
|
@ -95,9 +93,6 @@
|
|||
"third_party/angle/src/third_party/compiler" ;BSD-2
|
||||
"third_party/angle/src/third_party/libXNVCtrl" ;Expat
|
||||
"third_party/angle/src/third_party/trace_event" ;BSD-3
|
||||
"third_party/angle/third_party/glslang" ;BSD-3
|
||||
"third_party/angle/third_party/spirv-headers" ;Expat
|
||||
"third_party/angle/third_party/spirv-tools" ;Expat
|
||||
"third_party/angle/third_party/vulkan-headers" ;ASL2.0
|
||||
"third_party/angle/third_party/vulkan-loader" ;ASL2.0
|
||||
"third_party/angle/third_party/vulkan-tools" ;ASL2.0
|
||||
|
@ -125,9 +120,12 @@
|
|||
"third_party/crashpad/crashpad/third_party/zlib/zlib_crashpad.h" ;Zlib
|
||||
"third_party/crc32c" ;BSD-3
|
||||
"third_party/cros_system_api" ;BSD-3
|
||||
"third_party/dav1d" ;BSD-2
|
||||
"third_party/dom_distiller_js" ;BSD-3
|
||||
"third_party/emoji-segmenter" ;ASL2.0
|
||||
"third_party/fips181" ;BSD-3
|
||||
"third_party/flatbuffers" ;ASL2.0
|
||||
"third_party/glslang" ;BSD-3, Expat, ASL2.0
|
||||
"third_party/google_input_tools" ;ASL2.0
|
||||
"third_party/google_input_tools/third_party/closure_library" ;ASL2.0
|
||||
"third_party/google_input_tools/third_party/closure_library/third_party/closure" ;Expat
|
||||
|
@ -206,6 +204,7 @@
|
|||
"third_party/yasm/run_yasm.py" ;BSD-2 or BSD-3
|
||||
"third_party/zlib/google" ;BSD-3
|
||||
"url/third_party/mozilla" ;BSD-3, MPL1.1/GPL2+/LGPL2.1+
|
||||
"v8/src/third_party/siphash" ;Public domain
|
||||
"v8/src/third_party/utf8-decoder" ;Expat
|
||||
"v8/src/third_party/valgrind" ;BSD-4
|
||||
"v8/third_party/inspector_protocol" ;BSD-3
|
||||
|
@ -224,8 +223,9 @@ from forcing GEXP-PROMISE."
|
|||
#:system system
|
||||
#:guile-for-build guile)))
|
||||
|
||||
(define %chromium-version "72.0.3626.121")
|
||||
(define %ungoogled-revision "a80839c418de8843dfcd6c13a557f12d26a0a17a")
|
||||
(define %chromium-version "74.0.3729.131")
|
||||
(define %ungoogled-revision "9e33022f3ac7de2a12e3c7a7923799c9bbbf8194")
|
||||
(define %debian-revision "debian/74.0.3729.108-1")
|
||||
(define package-revision "0")
|
||||
|
||||
(define %package-version (string-append %chromium-version "-"
|
||||
|
@ -233,11 +233,12 @@ from forcing GEXP-PROMISE."
|
|||
(string-take %ungoogled-revision 7)))
|
||||
|
||||
;; This is a "computed" origin that does the following:
|
||||
;; 1) Runs the Ungoogled scripts on a pristine Chromium tarball.
|
||||
;; 2) Prunes all third_party folders that are not explicitly preserved.
|
||||
;; 3) Adjusts "GN" build files such that system libraries are preferred.
|
||||
;; *) Runs the Ungoogled scripts on a pristine Chromium tarball.
|
||||
;; *) Applies Debians Chromium patches, for their unbundling and GCC work.
|
||||
;; *) Prunes all third_party directories that are not explicitly preserved.
|
||||
;; *) Adjusts "GN" build files such that system libraries are preferred.
|
||||
(define ungoogled-chromium-source
|
||||
(let* ((chromium-source
|
||||
(let ((chromium-source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://commondatastorage.googleapis.com"
|
||||
|
@ -245,7 +246,7 @@ from forcing GEXP-PROMISE."
|
|||
%chromium-version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"07xwmlvmzfga61nrimqmzl7s29jb4kc94nkzwwlb7sh6nr55a7jc"))))
|
||||
"11m9mlzrqzmz7rhl0ff7lry2s4yjrdkfi36qfv48m1cg5y2cfy6i"))))
|
||||
(ungoogled-source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -255,7 +256,20 @@ from forcing GEXP-PROMISE."
|
|||
(string-take %ungoogled-revision 7)))
|
||||
(sha256
|
||||
(base32
|
||||
"0rgirbxbgjdm3s2kzgj101rjq0clr7x2a7b37kfx2q629z4qlrpc")))))
|
||||
"08whx582p3a2nivkj7kwin09a8acybr00z6344smb9xjlxy9rkp4"))))
|
||||
(debian-source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://salsa.debian.org/chromium-team/chromium.git")
|
||||
(commit %debian-revision)))
|
||||
(file-name (git-file-name "debian-chromium-packaging"
|
||||
(if (string-prefix? "debian/" %debian-revision)
|
||||
(cadr (string-split %debian-revision #\/))
|
||||
(string-take %debian-revision 7))))
|
||||
(sha256
|
||||
(base32
|
||||
"1bn0c86sxkkxgdz0i88y0zh4zr39l6379r2rhgk3b3qbvwz25s3j")))))
|
||||
|
||||
(origin
|
||||
(method computed-origin-method)
|
||||
|
@ -265,7 +279,10 @@ from forcing GEXP-PROMISE."
|
|||
(delay
|
||||
(with-imported-modules '((guix build utils))
|
||||
#~(begin
|
||||
(use-modules (guix build utils))
|
||||
(use-modules (guix build utils)
|
||||
(ice-9 rdelim)
|
||||
(srfi srfi-1)
|
||||
(srfi srfi-26))
|
||||
(let ((chromium-dir (string-append "chromium-" #$%chromium-version))
|
||||
(preserved-files (list #$@%preserved-third-party-files)))
|
||||
|
||||
|
@ -281,36 +298,57 @@ from forcing GEXP-PROMISE."
|
|||
|
||||
(with-directory-excursion "/tmp/ungoogled"
|
||||
|
||||
;; Create a custom "bundle" that inherits from linux_rooted
|
||||
;; and adds an additional patch.
|
||||
(format #t "Creating Guix config bundle...~%")
|
||||
(force-output)
|
||||
(mkdir-p "config_bundles/guix")
|
||||
(call-with-output-file "config_bundles/guix/bundlemeta.ini"
|
||||
(lambda (port)
|
||||
(format port
|
||||
"[bundle]
|
||||
display_name = GNU Guix
|
||||
depends = linux_rooted\n")))
|
||||
(call-with-output-file "config_bundles/guix/patch_order.list"
|
||||
(lambda (port)
|
||||
(format port "debian_buster/system/openjpeg.patch\n")))
|
||||
|
||||
(format #t "Unpacking chromium tarball...~%")
|
||||
(force-output)
|
||||
(invoke "tar" "xf" #+chromium-source)
|
||||
|
||||
(format #t "Ungooglifying...~%")
|
||||
(force-output)
|
||||
(invoke "python3" "run_buildkit_cli.py" "prune"
|
||||
"-b" "config_bundles/guix" chromium-dir)
|
||||
(invoke "python3" "run_buildkit_cli.py" "patches" "apply"
|
||||
"-b" "config_bundles/guix" chromium-dir)
|
||||
(invoke "python3" "run_buildkit_cli.py" "domains" "apply"
|
||||
"-b" "config_bundles/linux_rooted"
|
||||
(invoke "python3" "utils/prune_binaries.py" chromium-dir
|
||||
"pruning.list")
|
||||
(invoke "python3" "utils/patches.py" "apply"
|
||||
chromium-dir "patches")
|
||||
(invoke "python3" "utils/domain_substitution.py" "apply" "-r"
|
||||
"domain_regex.list" "-f" "domain_substitution.list"
|
||||
"-c" "/tmp/domainscache.tar.gz" chromium-dir)
|
||||
|
||||
(with-directory-excursion chromium-dir
|
||||
|
||||
(format #t "applying Debian patches...~%")
|
||||
(force-output)
|
||||
(let* ((debian #+debian-source)
|
||||
(patches (string-append debian "/debian/patches"))
|
||||
(series (string-append patches "/series"))
|
||||
(grep-q (lambda (query file)
|
||||
(with-input-from-file file
|
||||
(lambda ()
|
||||
(let loop ((line (read-line))
|
||||
(match #f))
|
||||
(if (or match (eof-object? line))
|
||||
(if match #t #f)
|
||||
(loop (read-line)
|
||||
(string-contains line query)))))))))
|
||||
(with-input-from-file series
|
||||
(lambda ()
|
||||
(let loop ((line (read-line)))
|
||||
(unless (eof-object? line)
|
||||
(when (and (> (string-length line) 1)
|
||||
;; Skip the Debian-specific ones.
|
||||
(not (string-prefix? "debianization/" line))
|
||||
(not (string-prefix? "gcc6/" line))
|
||||
;; And those that conflict with Ungoogled.
|
||||
(not (any (cute string-suffix? <> line)
|
||||
'("widevine-buildflag.patch"
|
||||
"signin.patch"
|
||||
"third-party-cookies.patch")))
|
||||
;; Ungoogled includes a subset of the Debian
|
||||
;; patches. Exclude those already present.
|
||||
(not (grep-q line "../patches/series")))
|
||||
(invoke "patch" "--force" "-p1" "--input"
|
||||
(string-append patches "/" line)
|
||||
"--no-backup-if-mismatch"))
|
||||
(loop (read-line)))))))
|
||||
|
||||
(format #t "Pruning third party files...~%")
|
||||
(force-output)
|
||||
(apply invoke "python"
|
||||
|
@ -421,13 +459,19 @@ depends = linux_rooted\n")))
|
|||
"use_system_lcms2=true"
|
||||
"use_system_libdrm=true"
|
||||
"use_system_libjpeg=true"
|
||||
"use_system_libopenjpeg2=true"
|
||||
"use_system_libpng=true"
|
||||
"use_system_zlib=true"
|
||||
"use_gnome_keyring=false" ;deprecated by libsecret
|
||||
"use_openh264=true"
|
||||
"use_pulseaudio=true"
|
||||
"link_pulseaudio=true"
|
||||
"use_vaapi=true"
|
||||
|
||||
;; VA-API acceleration is currently only supported on x86_64-linux.
|
||||
,@(if (string-prefix? "x86_64" (or (%current-target-system)
|
||||
(%current-system)))
|
||||
'("use_vaapi=true")
|
||||
'())
|
||||
|
||||
;; Don't arbitrarily restrict formats supported by system ffmpeg.
|
||||
"proprietary_codecs=true"
|
||||
|
@ -502,12 +546,13 @@ depends = linux_rooted\n")))
|
|||
(substitute* "third_party/webrtc/rtc_base/strings/json.h"
|
||||
(("#include \"third_party/jsoncpp/") "#include \"json/"))
|
||||
|
||||
(substitute* "media/base/decode_capabilities.cc"
|
||||
(("third_party/libvpx/source/libvpx/") ""))
|
||||
|
||||
(substitute* "ui/gfx/skia_util.h"
|
||||
(substitute* '("ui/gfx/skia_util.h"
|
||||
"components/viz/common/resources/resource_format_utils.h")
|
||||
(("third_party/vulkan/include/") ""))
|
||||
|
||||
(substitute* "third_party/skia/include/gpu/vk/GrVkVulkan.h"
|
||||
(("\\.\\./\\.\\./include/third_party/vulkan/") ""))
|
||||
|
||||
;; Building chromedriver embeds some files using the ZIP
|
||||
;; format which doesn't support timestamps before
|
||||
;; 1980. Therefore, advance the timestamps of the files
|
||||
|
|
|
@ -2449,7 +2449,7 @@ COREUTILS-FINAL vs. COREUTILS, etc."
|
|||
(description
|
||||
"This package provides a complete GCC tool chain for C/C++ development to
|
||||
be installed in user profiles. This includes GCC, as well as libc (headers
|
||||
and binaries, plus debugging symbols in the 'debug' output), and Binutils.")
|
||||
and binaries, plus debugging symbols in the @code{debug} output), and Binutils.")
|
||||
(home-page "https://gcc.gnu.org/")
|
||||
(outputs '("out" "debug" "static"))
|
||||
|
||||
|
|
|
@ -158,8 +158,8 @@ the @code{zlib} source.")
|
|||
(home-page "https://savannah.nongnu.org/projects/fastjar")
|
||||
(synopsis "Replacement for Sun's 'jar' utility")
|
||||
(description
|
||||
"FastJar is an attempt to create a much faster replacement for Sun's 'jar'
|
||||
utility. Instead of being written in Java, FastJar is written in C.")
|
||||
"FastJar is an attempt to create a much faster replacement for Sun's
|
||||
@code{jar} utility. Instead of being written in Java, FastJar is written in C.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public libtar
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2015 Siniša Biđin <sinisa@bidin.eu>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
|
@ -37,16 +37,16 @@
|
|||
(package
|
||||
(name "conky")
|
||||
(home-page "https://github.com/brndnmtthws/conky")
|
||||
(version "1.11.2")
|
||||
(version "1.11.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0yalcpwx85smh6nnvxxsgqi344nk7jzlkkam7yjghm87df4v7xmx"))))
|
||||
(base32 "0pdl31xvmy8niagzqx9sd2b6hc6lzwfiaz66m4djf1gz9bksc8qv"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; there are no tests
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -44,15 +44,14 @@
|
|||
(define-public connman
|
||||
(package
|
||||
(name "connman")
|
||||
(version "1.36")
|
||||
(version "1.37")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://kernel.org/linux/network/connman/"
|
||||
name "-" version ".tar.xz"))
|
||||
"connman-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0x00dq5c2frz06md3g5y0jh5kbcj2hrfl5qjcqga8gs4ri0xp2f7"))))
|
||||
(base32 "05kfjiqhqfmbbwc4snnyvi5hc4zxanac62f6gcwaf5mvn0z9pqkc"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
@ -63,8 +62,6 @@
|
|||
"--enable-vpnc"
|
||||
"--enable-pptp"
|
||||
"--enable-l2tp"
|
||||
;; location for daemon state files and internal configuration
|
||||
;; needs to be writeable
|
||||
"--localstatedir=/var"
|
||||
(string-append
|
||||
"--with-dbusconfdir=" (assoc-ref %outputs "out") "/etc")
|
||||
|
|
|
@ -72,16 +72,14 @@ operating system functions.")
|
|||
|
||||
(define-public rct
|
||||
(let* ((commit "b3e6f41d9844ef64420e628e0c65ed98278a843a")
|
||||
(revision "2")
|
||||
(version (git-version "0.0.0" revision commit)))
|
||||
(revision "2"))
|
||||
(package
|
||||
(name "rct")
|
||||
(version version)
|
||||
(home-page "https://github.com/Andersbakken/rct")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(url "https://github.com/Andersbakken/rct")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
|
@ -99,6 +97,7 @@ operating system functions.")
|
|||
(inputs
|
||||
`(("openssl" ,openssl)
|
||||
("zlib" ,zlib)))
|
||||
(home-page "https://github.com/Andersbakken/rct")
|
||||
(synopsis "C++ library providing Qt-like APIs on top of the STL")
|
||||
(description "Rct is a set of C++ tools that provide nicer (more Qt-like)
|
||||
APIs on top of Standard Template Library (@dfn{STL}) classes.")
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -131,15 +131,16 @@ communication, encryption, decryption, signatures, etc.")
|
|||
(define-public signify
|
||||
(package
|
||||
(name "signify")
|
||||
(version "24")
|
||||
(version "25")
|
||||
(home-page "https://github.com/aperezdc/signify")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/aperezdc/signify/"
|
||||
"archive/v" version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference (url home-page)
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0594vyvkq176xxzaz9xbq8qs0xdnr8s9gkd1prblwpdvnzmw0xvc"))))
|
||||
"0zg0rffxwj2a71s1bllhrn491xsmirg9sshpq8f3vl25lv4c2cnq"))))
|
||||
(build-system gnu-build-system)
|
||||
;; TODO Build with libwaive (described in README.md), to implement something
|
||||
;; like OpenBSD's pledge().
|
||||
|
@ -159,7 +160,6 @@ communication, encryption, decryption, signatures, etc.")
|
|||
(description "The signify utility creates and verifies cryptographic
|
||||
signatures using the elliptic curve Ed25519. This is a Linux port of the
|
||||
OpenBSD tool of the same name.")
|
||||
(home-page "https://github.com/aperezdc/signify")
|
||||
;; This package includes third-party code that was originally released under
|
||||
;; various non-copyleft licenses. See the source files for clarification.
|
||||
(license (list license:bsd-3 license:bsd-4 license:expat license:isc
|
||||
|
@ -208,9 +208,9 @@ OpenBSD tool of the same name.")
|
|||
(add-after 'unpack 'unpack-googletest
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(mkdir-p "vendor/github.com/google/googletest")
|
||||
(invoke "tar" "xvf" (assoc-ref inputs "googletest-source")
|
||||
"-C" "vendor/github.com/google/googletest"
|
||||
"--strip-components=1")))
|
||||
(copy-recursively (assoc-ref inputs "googletest-source")
|
||||
"vendor/github.com/google/googletest")
|
||||
#t))
|
||||
(add-before 'check 'make-unittests
|
||||
(lambda _
|
||||
(invoke "make" "unittests"))))))
|
||||
|
|
|
@ -57,7 +57,7 @@
|
|||
(define-public cups-filters
|
||||
(package
|
||||
(name "cups-filters")
|
||||
(version "1.22.2")
|
||||
(version "1.22.3")
|
||||
(source(origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
|
@ -65,7 +65,7 @@
|
|||
"cups-filters-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"06gy3wv6p7kswz3mjn17f17mqpadvqj2riwc42kksnvp8x0h08cw"))
|
||||
"11vilv80l3q7hz8vyhclvjcnlgk93r7p9dvg634186iddjzls0j3"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; install backends, banners and filters to cups-filters output
|
||||
|
@ -639,14 +639,14 @@ printer/driver specific, but spooler-independent PPD file.")
|
|||
(define-public foo2zjs
|
||||
(package
|
||||
(name "foo2zjs")
|
||||
(version "20180910")
|
||||
(version "20190413")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
;; XXX: This is an unversioned URL!
|
||||
(uri "http://foo2zjs.rkkda.com/foo2zjs.tar.gz")
|
||||
(sha256
|
||||
(base32
|
||||
"1clddqy4y4vvws0lllv1v90dfiihihdc23bn93c544yb3fvmwmr6"))))
|
||||
"00k22vmghxls7rk2hrbz9v17wi5z8vdk3fmsp2lrfghfcad8nhpx"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases (modify-phases %standard-phases
|
||||
|
|
|
@ -48,24 +48,6 @@
|
|||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages web))
|
||||
|
||||
;; XXX A hidden special obsolete libssh2 for temporary use in the curl package.
|
||||
;; <https://bugs.gnu.org/34927>
|
||||
(define-public libssh2-1.8.0
|
||||
(hidden-package
|
||||
(package
|
||||
(inherit libssh2)
|
||||
(version "1.8.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://www.libssh2.org/download/libssh2-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1m3n8spv79qhjq4yi0wgly5s5rc8783jb1pyra9bkx1md0plxwrr"))
|
||||
(patches
|
||||
(search-patches "libssh2-fix-build-failure-with-gcrypt.patch")))))))
|
||||
|
||||
(define-public curl
|
||||
(package
|
||||
(name "curl")
|
||||
|
|
|
@ -82,6 +82,7 @@
|
|||
#:use-module (gnu packages pcre)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages perl-check)
|
||||
#:use-module (gnu packages perl-web)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages popt)
|
||||
#:use-module (gnu packages python)
|
||||
|
@ -239,32 +240,19 @@ ElasticSearch server")
|
|||
(define-public leveldb
|
||||
(package
|
||||
(name "leveldb")
|
||||
(version "1.20")
|
||||
(version "1.21")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/google/leveldb"
|
||||
"/archive/v" version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/google/leveldb")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0r36bcrj6b2afsp4aw1gjai3jbs1c7734pxpc1jz7hh9nasyiazm"))))
|
||||
(build-system gnu-build-system)
|
||||
"00v0w6883z7a6204894j59nd5v6dazn3c8hvh3sbczv4wiabppw2"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:make-flags (list "CC=gcc")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(replace 'install
|
||||
;; There is no install target, so we do it here.
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(lib (string-append out "/lib"))
|
||||
(include (string-append out "/include")))
|
||||
(for-each (lambda (file)
|
||||
(install-file file lib))
|
||||
(find-files "out-shared" "^libleveldb\\.so.*$"))
|
||||
(copy-recursively "include" include)
|
||||
#t))))))
|
||||
`(#:configure-flags '("-DBUILD_SHARED_LIBS=ON" "-DLEVELDB_BUILD_TESTS=ON")))
|
||||
(inputs
|
||||
`(("snappy" ,snappy)))
|
||||
(home-page "http://leveldb.org/")
|
||||
|
@ -277,14 +265,14 @@ mapping from string keys to string values.")
|
|||
(define-public memcached
|
||||
(package
|
||||
(name "memcached")
|
||||
(version "1.5.12")
|
||||
(version "1.5.13")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://memcached.org/files/memcached-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0aav15f0lh8k4i62aza2bdv4s8vv65j38pz2zc4v45snd3arfby0"))))
|
||||
(base32 "0qsdkjrns4f02lmabq8c7mzl5n4382q2p6a0dvmsjdcpjisagqb1"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("libevent" ,libevent)
|
||||
|
@ -987,7 +975,7 @@ data in a single database. RocksDB is partially based on @code{LevelDB}.")
|
|||
(home-page "https://github.com/tialaramex/sparql-query/")
|
||||
(synopsis "Command-line tool for accessing SPARQL endpoints over HTTP")
|
||||
(description "Sparql-query is a command-line tool for accessing SPARQL
|
||||
endpoints over HTTP. It has been intentionally designed to 'feel' similar to
|
||||
endpoints over HTTP. It has been intentionally designed to @code{feel} similar to
|
||||
tools for interrogating SQL databases. For example, you can enter a query over
|
||||
several lines, using a semi-colon at the end of a line to indicate the end of
|
||||
your query. It also supports readline so that you can more easily recall and
|
||||
|
@ -997,6 +985,92 @@ for example from a shell script.")
|
|||
;; others (like sparql-query.c) contain a GPLv2+ license header.
|
||||
(license (list license:gpl3+))))
|
||||
|
||||
(define-public sqitch
|
||||
(package
|
||||
(name "sqitch")
|
||||
(version "0.9999")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://cpan/authors/id/D/DW/DWHEELER/App-Sqitch-"
|
||||
version
|
||||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1cvj8grs3bzc4g7dw1zc26g4biv1frav18sq0fkvi2kk0q1aigzm"))))
|
||||
(build-system perl-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'check 'set-check-environment
|
||||
(lambda _
|
||||
(setenv "TZ" "UTC")
|
||||
(setenv "HOME" "/tmp")
|
||||
#t))
|
||||
(add-after 'install 'wrap-program
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(path (getenv "PERL5LIB")))
|
||||
(wrap-program (string-append out "/bin/sqitch")
|
||||
`("PERL5LIB" ":" prefix
|
||||
(,(string-append out "/lib/perl5/site_perl"
|
||||
":"
|
||||
path)))))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("perl-capture-tiny" ,perl-capture-tiny)
|
||||
("perl-io-pager" ,perl-io-pager)
|
||||
("perl-module-build" ,perl-module-build)
|
||||
("perl-module-runtime" ,perl-module-runtime)
|
||||
("perl-path-class" ,perl-path-class)
|
||||
("perl-test-deep" ,perl-test-deep)
|
||||
("perl-test-dir" ,perl-test-dir)
|
||||
("perl-test-exception" ,perl-test-exception)
|
||||
("perl-test-file" ,perl-test-file)
|
||||
("perl-test-file-contents" ,perl-test-file-contents)
|
||||
("perl-test-mockmodule" ,perl-test-mockmodule)
|
||||
("perl-test-nowarnings" ,perl-test-nowarnings)
|
||||
("perl-test-warn" ,perl-test-warn)))
|
||||
(inputs
|
||||
`(("perl-class-xsaccessor" ,perl-class-xsaccessor)
|
||||
("perl-clone" ,perl-clone)
|
||||
("perl-config-gitlike" ,perl-config-gitlike)
|
||||
("perl-datetime" ,perl-datetime)
|
||||
("perl-datetime-timezone" ,perl-datetime-timezone)
|
||||
("perl-dbd-pg" ,perl-dbd-pg)
|
||||
("perl-dbi" ,perl-dbi)
|
||||
("perl-devel-stacktrace" ,perl-devel-stacktrace)
|
||||
("perl-encode-locale" ,perl-encode-locale)
|
||||
("perl-file-homedir" ,perl-file-homedir)
|
||||
("perl-hash-merge" ,perl-hash-merge)
|
||||
("perl-ipc-run3" ,perl-ipc-run3)
|
||||
("perl-ipc-system-simple" ,perl-ipc-system-simple)
|
||||
("perl-libintl-perl" ,perl-libintl-perl)
|
||||
("perl-list-moreutils" ,perl-list-moreutils)
|
||||
("perl-moo" ,perl-moo)
|
||||
("perl-mysql-config" ,perl-mysql-config)
|
||||
("perl-namespace-autoclean" ,perl-namespace-autoclean)
|
||||
("perl-path-class" ,perl-path-class)
|
||||
("perl-perlio-utf8_strict" ,perl-perlio-utf8_strict)
|
||||
("perl-string-formatter" ,perl-string-formatter)
|
||||
("perl-string-shellquote" ,perl-string-shellquote)
|
||||
("perl-sub-exporter" ,perl-sub-exporter)
|
||||
("perl-template-tiny" ,perl-template-tiny)
|
||||
("perl-template-toolkit" ,perl-template-toolkit)
|
||||
("perl-throwable" ,perl-throwable)
|
||||
("perl-try-tiny" ,perl-try-tiny)
|
||||
("perl-type-tiny" ,perl-type-tiny)
|
||||
("perl-type-tiny-xs" ,perl-type-tiny-xs)
|
||||
("perl-uri" ,perl-uri)
|
||||
("perl-uri-db" ,perl-uri-db)))
|
||||
(home-page "https://sqitch.org/")
|
||||
(synopsis "Database change management tool")
|
||||
(description
|
||||
"Sqitch is a standalone change management system for database schemas,
|
||||
which uses SQL to describe changes.")
|
||||
(license license:x11)))
|
||||
|
||||
(define-public sqlcrush
|
||||
;; Unfortunately, there is no proper upstream release and may never be.
|
||||
(let ((commit "b5f6868f189566a26eecc78d0f0659813c1aa98a")
|
||||
|
@ -1332,6 +1406,29 @@ module, and nothing else.")
|
|||
(license license:perl-license)
|
||||
(home-page "https://metacpan.org/release/DBD-SQLite")))
|
||||
|
||||
(define-public perl-mysql-config
|
||||
(package
|
||||
(name "perl-mysql-config")
|
||||
(version "1.04")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://cpan/authors/id/D/DA/DARREN/MySQL-Config-"
|
||||
version
|
||||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1svn7ccw2gc4cazvc58j84rxhnc9vs01zpird0l8460598j475qr"))))
|
||||
(build-system perl-build-system)
|
||||
(home-page "https://metacpan.org/release/MySQL-Config")
|
||||
(synopsis "Parse and utilize MySQL's /etc/my.cnf and ~/.my.cnf files")
|
||||
(description
|
||||
"@code{MySQL::Config} emulates the @code{load_defaults} function from
|
||||
libmysqlclient. It will fill an aray with long options, ready to be parsed by
|
||||
@code{Getopt::Long}.")
|
||||
(license license:perl-license)))
|
||||
|
||||
(define-public perl-sql-abstract
|
||||
(package
|
||||
(name "perl-sql-abstract")
|
||||
|
@ -1845,13 +1942,13 @@ for ODBC.")
|
|||
(define-public python-pyodbc
|
||||
(package
|
||||
(name "python-pyodbc")
|
||||
(version "4.0.25")
|
||||
(version "4.0.26")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pyodbc" version))
|
||||
(sha256
|
||||
(base32 "1bbwrb812w5i0x56jfn0l86mxc2ck904hl8y87mziay96znwia0f"))
|
||||
(base32 "1qrxnf7ji5hml7z4y669k4wmk3iz2pcsr05bnn1n912asash09z5"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))))
|
||||
(build-system python-build-system)
|
||||
(inputs
|
||||
|
@ -2092,13 +2189,13 @@ Database API 2.0T.")
|
|||
(define-public python-sqlalchemy
|
||||
(package
|
||||
(name "python-sqlalchemy")
|
||||
(version "1.3.1")
|
||||
(version "1.3.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "SQLAlchemy" version))
|
||||
(sha256
|
||||
(base32 "12sr36646sipf9ac3n2xh8z0w5pz4d3dvw5qjv2kzvcls6wvf7vq"))))
|
||||
(base32 "06c3lcv7nijsgqsjaaa4djrwlzgh9f910zlqxkmgq22h6jl4rici"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
`(("python-cython" ,python-cython) ; for C extensions
|
||||
|
@ -2474,15 +2571,15 @@ reasonable substitute.")
|
|||
(define-public python-redis
|
||||
(package
|
||||
(name "python-redis")
|
||||
(version "3.2.0")
|
||||
(version "3.2.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "redis" version))
|
||||
(sha256
|
||||
(base32 "0m1b88wg1w6xdwg0siky5k86x8sh6smhbr42ixz41ra81lv34jbj"))))
|
||||
(base32 "0wwj8il4c3aff15xwwcjfci367zxsakq05ps1a2il6yavp91i94c"))))
|
||||
(build-system python-build-system)
|
||||
;; Tests require a running Redis server
|
||||
;; Tests require a running Redis server.
|
||||
(arguments '(#:tests? #f))
|
||||
;; As long as we are not running test, we do not need this input :-)
|
||||
;;(native-inputs
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014 Sree Harsha Totakura <sreeharsha@totakura.in>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -33,14 +33,14 @@
|
|||
(define-public ncdc
|
||||
(package
|
||||
(name "ncdc")
|
||||
(version "1.20")
|
||||
(version "1.21")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://dev.yorhel.nl/download/ncdc-" version
|
||||
".tar.gz"))
|
||||
(sha256 (base32
|
||||
"0ccn7dqbqpqsbglqyalz32c20rjvf1pw0zr88jyvd2b2vxbqi6ca"))))
|
||||
"10hrk7pcvfl9cj6d0kr4qf3l068ikqhccbg7lf25pr2kln9lz412"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("bzip2" ,bzip2)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014, 2015, 2016, 2017 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2014, 2015, 2016, 2017, 2019 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018, 2019 Rutger Helling <rhelling@mykolab.com>
|
||||
|
@ -92,11 +92,10 @@ program to exhibit a bug.")
|
|||
;; home-page pointing to a bsd-2 license.
|
||||
(license bsd-3)))
|
||||
|
||||
;; Newer versions depend on LLVM and Clang >= 4, which have yet to be packaged.
|
||||
(define-public c-reduce
|
||||
(package
|
||||
(name "c-reduce")
|
||||
(version "2.6.0")
|
||||
(version "2.8.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -105,12 +104,12 @@ program to exhibit a bug.")
|
|||
"creduce-" version ".tar.gz")))
|
||||
(sha256
|
||||
(base32
|
||||
"0pf5q0n8vkdcr1wrkxn2jzxv0xkrir13bwmqfw3jpbm3dh2c3b6d"))))
|
||||
"1vqx73ymfscvlyig03972a5m7ar3gx2yv6m8c6h2mibz792j5xkp"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("astyle" ,astyle)
|
||||
("llvm" ,llvm-3.9.1)
|
||||
("clang" ,clang-3.9.1)
|
||||
("llvm" ,llvm-6)
|
||||
("clang" ,clang-6)
|
||||
("flex" ,flex)
|
||||
("indent" ,indent)
|
||||
("perl" ,perl)
|
||||
|
@ -118,11 +117,16 @@ program to exhibit a bug.")
|
|||
("file-which" ,perl-file-which)
|
||||
("getopt-tabular" ,perl-getopt-tabular)
|
||||
("regex-common" ,perl-regexp-common)
|
||||
("sys-cpu" ,perl-sys-cpu)
|
||||
("term-readkey" ,perl-term-readkey)))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(with-directory-excursion "tests"
|
||||
;; Running all tests can take a looong time, and tests 4 and 5
|
||||
;; require frama-c or kcc. So run just one for sanity.
|
||||
(invoke "./run_tests" "1"))))
|
||||
(add-after 'install 'set-load-paths
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
;; Tell creduce where to find the perl modules it needs.
|
||||
|
@ -137,7 +141,7 @@ program to exhibit a bug.")
|
|||
,(package-version perl)))
|
||||
'("term-readkey" "exporter-lite"
|
||||
"file-which" "getopt-tabular"
|
||||
"regex-common" "sys-cpu")))))
|
||||
"regex-common")))))
|
||||
#t)))))
|
||||
(home-page "https://embed.cs.utah.edu/creduce")
|
||||
(synopsis "Reducer for interesting code")
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
|
||||
;;; Copyright © 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr>
|
||||
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;;
|
||||
|
@ -218,15 +218,15 @@ It comes with a German-English dictionary with approximately 270,000 entries.")
|
|||
(define-public grammalecte
|
||||
(package
|
||||
(name "grammalecte")
|
||||
(version "0.6.5")
|
||||
(version "1.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch/zipbomb)
|
||||
(uri (string-append "https://www.dicollecte.org/grammalecte/zip/"
|
||||
(uri (string-append "https://grammalecte.net/grammalecte/zip/"
|
||||
"Grammalecte-fr-v" version ".zip"))
|
||||
(sha256
|
||||
(base32
|
||||
"11byjs3ggdhia5f4vyfqfvbbczsfqimll98h98g7hlsrm7vrifb0"))))
|
||||
"0p005mqgmckkbif3syv3d90rr1zsm5n5vvac5b29nn8g4v8jjpfs"))))
|
||||
(build-system python-build-system)
|
||||
(home-page "https://grammalecte.net")
|
||||
(synopsis "French spelling and grammar checker")
|
||||
|
@ -245,7 +245,7 @@ and a Python library.")
|
|||
(define-public translate-shell
|
||||
(package
|
||||
(name "translate-shell")
|
||||
(version "0.9.6.9")
|
||||
(version "0.9.6.10")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -254,13 +254,12 @@ and a Python library.")
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1xyf0vdxmbgqcgsr1gvgwh1q4fh080h68radkim6pfcwzffliszm"))))
|
||||
(base32 "1dmh3flldfhnqfay3a6c5hanqcjwrmbly1bq8mlk022qfi1fv33y"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure) ; no configure phase
|
||||
(delete 'configure) ; no configure script
|
||||
(add-after 'unpack 'remove-unnecessary-file
|
||||
;; This file gets generated during the build phase.
|
||||
(lambda _
|
||||
|
|
|
@ -46,11 +46,11 @@
|
|||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages gnupg)
|
||||
#:use-module (gnu packages gnuzilla)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages nss)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages popt)
|
||||
|
@ -808,9 +808,9 @@ LVM D-Bus API).")
|
|||
("json-glib" ,json-glib)
|
||||
("libblkid" ,util-linux)))
|
||||
(home-page "https://rmlint.rtfd.org")
|
||||
(synopsis "Remove duplicates and other lint from the filesystem")
|
||||
(synopsis "Remove duplicates and other lint from the file system")
|
||||
(description "@command{rmlint} finds space waste and other broken things
|
||||
on your filesystem and offers to remove it. @command{rmlint} can find:
|
||||
on your file system and offers to remove it. @command{rmlint} can find:
|
||||
|
||||
@itemize
|
||||
@item duplicate files and duplicate directories,
|
||||
|
|
|
@ -49,92 +49,10 @@
|
|||
#:use-module (gnu packages xfce)
|
||||
#:use-module (gnu packages xorg))
|
||||
|
||||
(define-public greenisland
|
||||
(package
|
||||
(name "greenisland")
|
||||
(version "0.9.0.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/greenisland/greenisland"
|
||||
"/releases/download/v" version "/"
|
||||
"greenisland-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1flmha31hmii6m2mdvmn1q5dc0fhnvgc4lp1b4wgkz20y7x4f1fm"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
`(("extra-cmake-modules" ,extra-cmake-modules)
|
||||
("dbus" ,dbus)
|
||||
("glib:bin" ,glib "bin")
|
||||
("pkg-config" ,pkg-config)
|
||||
("xorg-server" ,xorg-server)))
|
||||
(inputs
|
||||
`(("elogind" ,elogind)
|
||||
("eudev" ,eudev)
|
||||
("fontconfig" ,fontconfig)
|
||||
("freetype" ,freetype)
|
||||
("glib" ,glib)
|
||||
("libdrm" ,libdrm)
|
||||
("libinput" ,libinput-minimal)
|
||||
("libxcursor" ,libxcursor)
|
||||
("libxkbcommon" ,libxkbcommon)
|
||||
("libx11" ,libx11)
|
||||
("mesa" ,mesa)
|
||||
("qtbase" ,qtbase)
|
||||
("qtdeclarative" ,qtdeclarative)
|
||||
("wayland" ,wayland)
|
||||
("wayland-protocols" ,wayland-protocols)
|
||||
("xcb-util-cursor" ,xcb-util-cursor)))
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list (string-append "-DPLUGIN_INSTALL_DIR="
|
||||
(assoc-ref %outputs "out") "/plugins")
|
||||
(string-append "-DQML_INSTALL_DIR="
|
||||
(assoc-ref %outputs "out") "/qml"))
|
||||
#:modules ((guix build cmake-build-system)
|
||||
(guix build qt-utils)
|
||||
(guix build utils))
|
||||
#:imported-modules (,@%cmake-build-system-modules
|
||||
(guix build qt-utils))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'disable-udev-tests
|
||||
(lambda _ ; FIXME: Build env doesn't contain /dev/sda
|
||||
(substitute* "tests/auto/platform/tst_udev.cpp"
|
||||
(("QVERIFY") "// QVERIFY")
|
||||
(("QCOMPARE") "// QCOMPARE"))))
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(setenv "DBUS_FATAL_WARNINGS" "0")
|
||||
(invoke "dbus-launch" "ctest" ".")))
|
||||
(add-before 'check 'check-setup
|
||||
(lambda _
|
||||
(setenv "CTEST_OUTPUT_ON_FAILURE" "1") ; Enable debug output
|
||||
;; make Qt render "offscreen", required for tests
|
||||
(setenv "QT_QPA_PLATFORM" "offscreen")
|
||||
(setenv "XDG_RUNTIME_DIR" (getcwd))
|
||||
#t))
|
||||
(add-after 'install 'wrap-programs
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(wrap-qt-program out "greenisland")
|
||||
(wrap-qt-program out "greenisland-launcher")
|
||||
(wrap-qt-program out "greenisland-screencaster")
|
||||
(wrap-qt-program out "greenisland-wayland-scanner")
|
||||
#t))))))
|
||||
(synopsis "QtQuick Wayland compositor and shell for desktop and mobile")
|
||||
(description "Green Island provides a full blown Wayland compositor for
|
||||
QtQuick as well as pluggable hardware abstraction, extensions, tools and a
|
||||
Qt-style API for Wayland clients.")
|
||||
(home-page "http://hawaiios.org")
|
||||
;; Choice of license at the user's opinion.
|
||||
(license (list license:gpl2 license:gpl3 license:lgpl2.1 license:lgpl3))))
|
||||
|
||||
(define-public sddm
|
||||
(package
|
||||
(name "sddm")
|
||||
(version "0.18.0")
|
||||
(version "0.18.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -143,7 +61,7 @@ Qt-style API for Wayland clients.")
|
|||
"sddm-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0icyi9nqgbp2v6dwh3n3jzff9jv2xy8d4rbsz89hd65x7c3hrv87"))))
|
||||
"0nilrhwlyvkngjgxfc08n73c16azgmw80pvx0a78xqww9y3hv4xh"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
`(("extra-cmake-modules" ,extra-cmake-modules)
|
||||
|
|
|
@ -519,9 +519,9 @@ project aims to bulk update given objects using one query over Django ORM.")
|
|||
(replace 'check
|
||||
(lambda _
|
||||
;; the next version will need "make test"
|
||||
(and (zero? (system* "flake8" "contact_form"))
|
||||
(zero? (system* "coverage" "run" "contact_form/runtests.py"))
|
||||
(zero? (system* "coverage" "report" "-m" "--fail-under" "0"))))))))
|
||||
(invoke "flake8" "contact_form")
|
||||
(invoke "coverage" "run" "contact_form/runtests.py")
|
||||
(invoke "coverage" "report" "-m" "--fail-under" "0"))))))
|
||||
(native-inputs
|
||||
`(("python-coverage" ,python-coverage)
|
||||
("python-flake8" ,python-flake8)))
|
||||
|
@ -577,8 +577,7 @@ entries, photos, book chapters, or anything else.")
|
|||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(zero? (system* "./test_project/manage.py" "test")))))))
|
||||
(lambda _ (invoke "./test_project/manage.py" "test"))))))
|
||||
(propagated-inputs
|
||||
`(("python-django" ,python-django)))
|
||||
(native-inputs
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
;;; Copyright © 2015, 2018 Pjotr Prins <pjotr.guix@thebird.nl>
|
||||
;;; Copyright © 2017 Frederick Muriithi <fredmanglis@gmail.com>
|
||||
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -81,15 +81,15 @@ and freshness without requiring additional information from the user.")
|
|||
(package
|
||||
(name "ldc")
|
||||
(version "0.17.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/ldc-developers/ldc/archive/v"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ldc-developers/ldc.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1kw0j378k6bh0k66dvx99bjq8ilp8bb24w3jrmibn8rhmqv0d5q8"))))
|
||||
(base32 "0nnrjavfmpfp7bib04isqlxvyzh6mlvsdan0gxysdz96hlg4hcq8"))))
|
||||
(build-system cmake-build-system)
|
||||
(supported-systems '("x86_64-linux" "i686-linux" "armhf-linux"))
|
||||
(properties
|
||||
|
@ -101,14 +101,19 @@ and freshness without requiring additional information from the user.")
|
|||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'unpack-submodule-sources
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((unpack (lambda (source target)
|
||||
(let ((unpack (lambda (input target)
|
||||
(let ((source (assoc-ref inputs input)))
|
||||
;; Git checkouts are directories as long as
|
||||
;; there are no patches; tarballs otherwise.
|
||||
(if (file-is-directory? source)
|
||||
(copy-recursively source target)
|
||||
(with-directory-excursion target
|
||||
(zero? (system* "tar" "xvf"
|
||||
(assoc-ref inputs source)
|
||||
"--strip-components=1"))))))
|
||||
(and (unpack "phobos-src" "runtime/phobos")
|
||||
(invoke "tar" "xvf" source
|
||||
"--strip-components=1")))))))
|
||||
(unpack "phobos-src" "runtime/phobos")
|
||||
(unpack "druntime-src" "runtime/druntime")
|
||||
(unpack "dmd-testsuite-src" "tests/d2/dmd-testsuite")))))
|
||||
(unpack "dmd-testsuite-src" "tests/d2/dmd-testsuite")
|
||||
#t)))
|
||||
(add-after 'unpack-submodule-sources 'patch-dmd2
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "dmd2/root/port.c"
|
||||
|
@ -146,32 +151,32 @@ and freshness without requiring additional information from the user.")
|
|||
("unzip" ,unzip)
|
||||
("phobos-src"
|
||||
,(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/ldc-developers/phobos/archive/ldc-v"
|
||||
version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ldc-developers/phobos.git")
|
||||
(commit (string-append "ldc-v" version))))
|
||||
(file-name (git-file-name "phobos" version))
|
||||
(sha256
|
||||
(base32
|
||||
"16x36kp46mqiihxx7jvr1d3mv3b96yfmhinb9lzinh2m4clr85wz"))
|
||||
(base32 "0i7gh99w4mi0hdv16261jcdiqyv1nkjdcwy9prw32s0lvplx8fdy"))
|
||||
(patches (search-patches "ldc-bootstrap-disable-tests.patch"))))
|
||||
("druntime-src"
|
||||
,(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/ldc-developers/druntime/archive/ldc-v"
|
||||
version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ldc-developers/druntime.git")
|
||||
(commit (string-append "ldc-v" version))))
|
||||
(file-name (git-file-name "druntime" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0iw2xxhcbsc5f1707dgdzhff528363l4faqdk513gaxs2dhfx8vx"))))
|
||||
(base32 "0alabm3bbvs94msvxz5psiwk4f51cw9h82z1p5hhsnf8ja6d0am7"))))
|
||||
("dmd-testsuite-src"
|
||||
,(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/ldc-developers/dmd-testsuite/archive/ldc-v"
|
||||
version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ldc-developers/dmd-testsuite.git")
|
||||
(commit (string-append "ldc-v" version))))
|
||||
(file-name (git-file-name "dmd-testsuite" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0z6ch930wjkg2vlnqkbliwxxxifad6ydsdpwdxwnajkb2kaxsjx4"))))))
|
||||
(base32 "05qr4cgb4scfqzbw1l5pk72kil074mvj9d55b165ljyr51sgwgbl"))))))
|
||||
(home-page "http://wiki.dlang.org/LDC")
|
||||
(synopsis "LLVM-based compiler for the D programming language")
|
||||
(description
|
||||
|
@ -194,28 +199,33 @@ bootstrapping more recent compilers written in D.")
|
|||
(inherit ldc-bootstrap)
|
||||
(name "ldc")
|
||||
(version "1.10.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/ldc-developers/ldc/archive/v"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ldc-developers/ldc.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"16b1h9kwfggjw6ykc6sfs26ak6vypylsx9wmvp5m6x3cvi6g70yi"))))
|
||||
(base32 "0qcb2rn01wql7y8qp31blbv3hwmnh3zjgzi2n7k168cxr6rrdhlp"))))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'unpack-submodule-sources
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((unpack (lambda (source target)
|
||||
(let ((unpack (lambda (input target)
|
||||
(let ((source (assoc-ref inputs input)))
|
||||
;; Git checkouts are directories as long as
|
||||
;; there are no patches; tarballs otherwise.
|
||||
(if (file-is-directory? source)
|
||||
(copy-recursively source target)
|
||||
(with-directory-excursion target
|
||||
(zero? (system* "tar" "xvf"
|
||||
(assoc-ref inputs source)
|
||||
"--strip-components=1"))))))
|
||||
(and (unpack "phobos-src" "runtime/phobos")
|
||||
(invoke "tar" "xvf" source
|
||||
"--strip-components=1")))))))
|
||||
(unpack "phobos-src" "runtime/phobos")
|
||||
(unpack "druntime-src" "runtime/druntime")
|
||||
(unpack "dmd-testsuite-src" "tests/d2/dmd-testsuite")))))
|
||||
(unpack "dmd-testsuite-src" "tests/d2/dmd-testsuite")
|
||||
#t)))
|
||||
(add-after 'unpack-submodule-sources 'patch-phobos
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* '("runtime/phobos/std/process.d"
|
||||
|
@ -258,13 +268,13 @@ bootstrapping more recent compilers written in D.")
|
|||
("gdb" ,gdb)
|
||||
("phobos-src"
|
||||
,(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/ldc-developers/phobos/archive/ldc-v"
|
||||
older-version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ldc-developers/phobos.git")
|
||||
(commit (string-append "ldc-v" older-version))))
|
||||
(file-name (git-file-name "phobos" older-version))
|
||||
(sha256
|
||||
(base32
|
||||
"0cpmrww00xf1qx38bcc22rr05qw41p00p45yb5fbwnfaccfwdn0s"))
|
||||
(base32 "1gmlwnjdcf6s5aahadxsif9l5nyaj0rrn379g6fmhcvdk64kf509"))
|
||||
;; This patch deactivates some tests that depend on network access
|
||||
;; to pass. It also deactivates some tests that have some reliance
|
||||
;; on timezone.
|
||||
|
@ -277,35 +287,36 @@ bootstrapping more recent compilers written in D.")
|
|||
(patches (search-patches "ldc-disable-phobos-tests.patch"))))
|
||||
("druntime-src"
|
||||
,(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/ldc-developers/druntime/archive/ldc-v"
|
||||
older-version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ldc-developers/druntime.git")
|
||||
(commit (string-append "ldc-v" older-version))))
|
||||
(file-name (git-file-name "druntime" older-version))
|
||||
(sha256
|
||||
(base32
|
||||
"1akh2vdi98jih8642yjbvv2vavxzrmq24kz8i3kfidg5ndqyv222"))))
|
||||
(base32 "0a3yyjcnpvm5fbdczf76fx08kl154w17w06hlxf0j3p1p4jc85aj"))))
|
||||
("dmd-testsuite-src"
|
||||
,(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/ldc-developers/dmd-testsuite/archive/ldc-v"
|
||||
older-version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ldc-developers/dmd-testsuite.git")
|
||||
(commit (string-append "ldc-v" older-version))))
|
||||
(file-name (git-file-name "dmd-testsuite" older-version))
|
||||
(sha256
|
||||
(base32
|
||||
"0z5x07qrbkpksshaymp11ir6jlmg9wjicxn6zhp8cya6i1ha9p99")))))))))
|
||||
(base32 "0mm3rliki1nqiqfaha7ssvm156aa398vpvf4v6895m7nn1mz7rss")))))))))
|
||||
|
||||
(define-public dub
|
||||
(package
|
||||
(name "dub")
|
||||
(version "1.7.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/dlang/dub/archive/"
|
||||
"v" version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/dlang/dub.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1jvr1mmq8j77wnsrsg7x2xv8yfljqd6x8gn6yy7dd6h6y3cf408q"))))
|
||||
(base32 "073ibvgm1gphcqs1yjrav9ryp677nh3b194nxmvicwgvdc0sb6w9"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; it would have tested itself by installing some packages (vibe etc)
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
;;; Copyright © 2017 Gregor Giesen <giesen@zaehlwerk.net>
|
||||
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2019 Chris Marusich <cmmarusich@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -51,6 +52,7 @@
|
|||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages protobuf)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages swig)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages web)
|
||||
|
@ -106,7 +108,7 @@ and BOOTP/TFTP for network booting of diskless machines.")
|
|||
(define-public isc-bind
|
||||
(package
|
||||
(name "bind")
|
||||
(version "9.12.3-P4")
|
||||
(version "9.12.4-P1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -114,7 +116,9 @@ and BOOTP/TFTP for network booting of diskless machines.")
|
|||
"/bind-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"01pj47z5582rd538dmbzf1msw4jc8j4zr0zx4ciy88r6qr9l80fi"))))
|
||||
"1if7zc5gzrfd28csc63v9bjwrc0rgvm1x9yx058946hc5gp5lyp2"))
|
||||
(patches
|
||||
(search-patches "bind-fix-unused-pk11-ecc-constants.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs `("out" "utils"))
|
||||
(inputs
|
||||
|
@ -122,7 +126,9 @@ and BOOTP/TFTP for network booting of diskless machines.")
|
|||
`(("libcap" ,libcap)
|
||||
("libxml2" ,libxml2)
|
||||
("openssl" ,openssl)
|
||||
("p11-kit" ,p11-kit)))
|
||||
("p11-kit" ,p11-kit)
|
||||
("python" ,python)
|
||||
("python-ply" ,python-ply)))
|
||||
(native-inputs `(("perl" ,perl)
|
||||
("net-tools" ,net-tools)))
|
||||
(arguments
|
||||
|
@ -294,14 +300,14 @@ asynchronous fashion.")
|
|||
(define-public nsd
|
||||
(package
|
||||
(name "nsd")
|
||||
(version "4.1.26")
|
||||
(version "4.1.27")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.nlnetlabs.nl/downloads/nsd/nsd-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1x0mvj4872dzj1rr9adnchdm4dhn41xmc459p5j4s0r13m1l32lz"))))
|
||||
(base32 "1sjfbwr4vq25304hr9vmd9j821g2vzv8lpy95hpsravc80q5zaqv"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
@ -569,16 +575,14 @@ Extensions} (DNSSEC).")
|
|||
(define-public knot
|
||||
(package
|
||||
(name "knot")
|
||||
(version "2.8.0")
|
||||
(source (origin
|
||||
(version "2.8.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://secure.nic.cz/files/knot-dns/"
|
||||
"knot-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1vw7xx7bm440jwrpvdd04vrp6ccz2b11swcn9msvs62hf0kdjjj9"))
|
||||
(patches
|
||||
(search-patches "knot-include-system-lmdb-header.patch"))
|
||||
(base32 "1im2wb8hl394mzni1wavmvfqd7il8s28kcz8w3s4v05nbhzg06xj"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
@ -809,3 +813,53 @@ mDNS resolver as well as an announcer. mDNS (Multicast Domain Name System) is
|
|||
a zero-config service that allows one to resolve host names to IP addresses in
|
||||
local networks.")
|
||||
(license license:lgpl2.1)))
|
||||
|
||||
(define-public public-suffix-list
|
||||
;; Mozilla releases the official list here:
|
||||
;;
|
||||
;; https://publicsuffix.org/list/public_suffix_list.dat
|
||||
;;
|
||||
;; However, Mozilla syncs that file from the GitHub repository periodically,
|
||||
;; so its contents will change over time. If you update this commit, please
|
||||
;; make sure that the new commit refers to a list which is identical to the
|
||||
;; officially published list available from the URL above.
|
||||
(let ((commit "9375b697baddb0827a5995c81bd3c75877a0b35d"))
|
||||
(package
|
||||
(name "public-suffix-list")
|
||||
(version (git-version "0" "1" commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/publicsuffix/list.git")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1sm7pni01rnl4ldzi8z8nc4cbgq8nxda9gwc68v0s3ij7jd1jmik"))))
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build utils))
|
||||
#:builder
|
||||
(begin
|
||||
(use-modules (guix build utils))
|
||||
(let* ((out (assoc-ref %outputs "out"))
|
||||
;; Install to /share because that is where "read-only
|
||||
;; architecture-independent data files" should go (see:
|
||||
;; (standards) Directory Variables). Include the version in
|
||||
;; the directory name so that if multiple versions are ever
|
||||
;; installed in the same profile, they will not conflict.
|
||||
(destination (string-append
|
||||
out "/share/public-suffix-list-" ,version))
|
||||
(source (assoc-ref %build-inputs "source")))
|
||||
(with-directory-excursion source
|
||||
(install-file "public_suffix_list.dat" destination)
|
||||
(install-file "LICENSE" destination))
|
||||
#t))))
|
||||
(home-page "https://publicsuffix.org/")
|
||||
(synopsis "Database of current and historical DNS suffixes")
|
||||
(description "This is the Public Suffix List maintained by Mozilla. A
|
||||
\"public suffix\" is one under which Internet users can (or historically
|
||||
could) directly register names in the Domain Name System (DNS). Some examples
|
||||
of public suffixes are .com, .co.uk and pvt.k12.ma.us. This is a list of all
|
||||
known public suffixes.")
|
||||
(license license:mpl2.0))))
|
||||
|
|
|
@ -43,7 +43,7 @@
|
|||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages virtualization))
|
||||
|
||||
(define %docker-version "18.09.3")
|
||||
(define %docker-version "18.09.5")
|
||||
|
||||
(define-public python-docker-py
|
||||
(package
|
||||
|
@ -227,6 +227,8 @@ network attachments.")
|
|||
(home-page "http://containerd.io/")
|
||||
(license license:asl2.0)))
|
||||
|
||||
;; TODO: Patch out modprobes for ip_vs, nf_conntrack,
|
||||
;; brige, nf_conntrack_netlink, aufs.
|
||||
(define-public docker
|
||||
(package
|
||||
(name "docker")
|
||||
|
@ -239,10 +241,11 @@ network attachments.")
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "06yr5xwr181lalh8z1lk07nxlp7hn38aq8cyqjk617dfy4lz0ixx"))
|
||||
(base32 "0cirpd9l2qazp2jyanwzvrkx2m98nksjdvn43ff38p89w6133ipb"))
|
||||
(patches
|
||||
(search-patches "docker-engine-test-noinstall.patch"
|
||||
"docker-fix-tests.patch"))))
|
||||
"docker-fix-tests.patch"
|
||||
"docker-use-fewer-modprobes.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:modules
|
||||
|
@ -484,7 +487,7 @@ provisioning etc.")
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "09j1i668p330gjz5vw5pss8ghxh1mz7rl2q9ykp02q9p112zhy4j"))))
|
||||
(base32 "0mxxjzkwdny8p2dmyjich7x1gn7hdlfppzjy2skk2k5bwv7nxpmi"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "github.com/docker/cli"
|
||||
|
|
|
@ -73,6 +73,6 @@
|
|||
(synopsis "Customizable and lightweight notification daemon")
|
||||
(description
|
||||
"Dunst is a highly configurable and minimalistic notification daemon.
|
||||
It provides 'org.freedesktop.Notifications' D-Bus service, so it is
|
||||
It provides @code{org.freedesktop.Notifications} D-Bus service, so it is
|
||||
started automatically on the first call via D-Bus.")
|
||||
(license license:bsd-3)))
|
||||
|
|
|
@ -96,14 +96,14 @@ Executable and Linkable Format (@dfn{ELF}). This includes @command{ld},
|
|||
(package
|
||||
(name "libabigail")
|
||||
(home-page "https://sourceware.org/libabigail/")
|
||||
(version "1.5")
|
||||
(version "1.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://sourceware.org/pub/" name
|
||||
"/" name "-" version ".tar.gz"))
|
||||
(uri (string-append "https://sourceware.org/pub/libabigail/"
|
||||
"libabigail-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0srfnkbm386sl2n85686nl28da6ksbs7jgnfks9k0n61c772aas4"))))
|
||||
"04j07lhvwbp6qp8pdwbf7iqnr7kgpabmqylsw4invpmzwnyp6g6g"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags '("--disable-static"
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -2,7 +2,7 @@
|
|||
;;; Copyright © 2013, 2014, 2015, 2016, 2017 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 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 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>
|
||||
|
@ -68,14 +68,14 @@
|
|||
(define-public emacs
|
||||
(package
|
||||
(name "emacs")
|
||||
(version "26.1")
|
||||
(version "26.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/emacs/emacs-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0b6k1wq44rc8gkvxhi1bbjxbz3cwg29qbq8mklq2az6p1hjgrx0w"))
|
||||
"13n5m60i47k96mpv5pp6km2ph9rv2m5lmbpzj929v02vpsfyc70m"))
|
||||
(patches (search-patches "emacs-exec-path.patch"
|
||||
"emacs-fix-scheme-indent-function.patch"
|
||||
"emacs-source-date-epoch.patch"))
|
||||
|
|
|
@ -1013,6 +1013,8 @@ SPI, I2C, JTAG.")
|
|||
"uptools/atcmd/atinterf.c")
|
||||
(("/opt/freecalypso/loadtools")
|
||||
(string-append (assoc-ref outputs "out") "/lib/freecalypso/loadtools"))
|
||||
(("\\$\\{INSTALL_PREFIX\\}/loadtools")
|
||||
(string-append (assoc-ref outputs "out") "/lib/freecalypso/loadtools"))
|
||||
(("/opt/freecalypso")
|
||||
(assoc-ref outputs "out")))
|
||||
#t)))))
|
||||
|
|
|
@ -460,13 +460,13 @@ and Game Boy Color games.")
|
|||
(version "2.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/mupen64plus/mupen64plus-core/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/mupen64plus/mupen64plus-core.git")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0dg2hksm5qni2hcha93k7n4fqr92888p946f7phb0ndschzfh9kk"))))
|
||||
(base32 "116fndl6652zrp1r6ag4xv3dzp1x52mlvadj8xwflq07fd5rhri1"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
|
@ -508,13 +508,13 @@ core library.")
|
|||
(version "2.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/mupen64plus/mupen64plus-audio-sdl/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/mupen64plus/mupen64plus-audio-sdl.git")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0ss6w92n2rpfnazhg9lbq0nvs3fqx93nliz3k3wjxdlx4dpi7h3a"))))
|
||||
(base32 "0z19amfg9vr2pqjjri1ipc7hs681fzjcnb0f9y7bjhp5n8d7p6bb"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
|
@ -554,13 +554,13 @@ SDL audio plugin.")
|
|||
(version "2.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/mupen64plus/mupen64plus-input-sdl/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/mupen64plus/mupen64plus-input-sdl.git")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "11sj5dbalp2nrlmki34vy7wy28vc175pnnkdk65p8599hnyq37ri"))))
|
||||
(base32 "1dyazfbdjycdfslq8jixqiqhziw0rlkvach2r9dz91229jmkyc9c"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("which" ,which)))
|
||||
|
@ -599,13 +599,13 @@ SDL input plugin.")
|
|||
(version "2.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/mupen64plus/mupen64plus-rsp-hle/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/mupen64plus/mupen64plus-rsp-hle.git")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "15h7mgz6xd2zjzm6l3f96sbs8kwr3xvbwzgikhnka79m6c69hsxv"))))
|
||||
(base32 "0pi31qzjjp7aypdvvnz6ms18g09c4gqzxi6328zj8sji94b75gf0"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("mupen64plus-core" ,mupen64plus-core)))
|
||||
|
@ -641,13 +641,13 @@ high-level emulation (HLE) RSP processor plugin.")
|
|||
(version "2.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/mupen64plus/mupen64plus-rsp-z64/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/mupen64plus/mupen64plus-rsp-z64.git")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "10jz1w2dhx5slhyk4m8mdqlpsd6cshchslr1fckb2ayzb1ls3ghi"))))
|
||||
(base32 "0nfyjns9k8xbg3aqs7593nfaxvlj72h3l8h467442xlk8ajfcylx"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("mupen64plus-core" ,mupen64plus-core)))
|
||||
|
@ -683,13 +683,13 @@ Z64 RSP processor plugin.")
|
|||
(version "2.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/mupen64plus/mupen64plus-video-arachnoid/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/mupen64plus/mupen64plus-video-arachnoid.git")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0jjwf144rihznm4lnqbhgigxw664v3v32wy94adaa6imk8z6gslh"))))
|
||||
(base32 "1v9fqwpb6pawr8z5cm2ki7bqkks4iyr5c4jy4v5khj6h8zcv55gc"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
|
@ -729,13 +729,13 @@ Arachnoid video plugin.")
|
|||
(version "2.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/mupen64plus/mupen64plus-video-glide64/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/mupen64plus/mupen64plus-video-glide64.git")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1rm55dbf6xgsq1blbzs6swa2ajv0qkn38acbljj346abnk6s3dla"))))
|
||||
(base32 "0qn5za7g7796kh2ag3xpmhbqg0yf71g9liz6ks0rha8pz73lgs01"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
|
@ -783,13 +783,13 @@ Glide64 video plugin.")
|
|||
(version "2.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/mupen64plus/mupen64plus-video-glide64mk2/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/mupen64plus/mupen64plus-video-glide64mk2.git")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1ihl4q293d6svba26b4mhapjcdg12p90gibz79b4mx423jlcxxj9"))))
|
||||
(base32 "08pm28a36dpr0cvr8pzw0n5ksdazp7jqvlmqfy2lwb4dm0cwhkqd"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
|
@ -833,13 +833,13 @@ Glide64MK2 video plugin.")
|
|||
(version "2.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/mupen64plus/mupen64plus-video-rice/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/mupen64plus/mupen64plus-video-rice.git")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0rd2scjmh285w61aj3mgx71whg5rqrjbry3cdgicczrnyvf8wdvk"))))
|
||||
(base32 "0rpmbcq67gsj5h5jjis146378qc1mskskvx20y1ikx59yhbamh13"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
|
@ -881,13 +881,13 @@ Rice Video plugin.")
|
|||
(version "2.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/mupen64plus/mupen64plus-video-z64/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/mupen64plus/mupen64plus-video-z64.git")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1x7wsjs5gx2iwx20p4cjcbf696zsjlh31qxmghwv0ifrq8x58s1b"))
|
||||
(base32 "04qa2fdd6dakpk2v0d4l80xh9b4h8gm71g80c0wyyxdhmhwk1r9c"))
|
||||
(patches (search-patches "mupen64plus-video-z64-glew-correct-path.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
|
@ -936,13 +936,13 @@ Z64 video plugin.")
|
|||
(version "2.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/mupen64plus/mupen64plus-ui-console/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/mupen64plus/mupen64plus-ui-console.git")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "04qkpd8ic7xsgnqz7spl00wxdygf79m7d1k8rabbygjk5lg6p8z2"))
|
||||
(base32 "0vrf98qa6a0y3647kslsv644fag233dxh5dcr1yncjiiwickcr5a"))
|
||||
(patches (search-patches "mupen64plus-ui-console-notice.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
|
@ -999,15 +999,15 @@ towards a working Mupen64Plus for casual users.")
|
|||
(package
|
||||
(name "nestopia-ue")
|
||||
(version "1.48")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/rdanbrook/nestopia/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/rdanbrook/nestopia.git")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"184y05z4k4a4m4022niy625kan0rklh8gcxyynxli1fss2sjjrpv"))
|
||||
(base32 "19c8vx5yxbysl0sszk5blfngwacshdgwbf44g1qaxvq8ywiyxmb4"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
@ -1185,7 +1185,7 @@ play them on systems for which they were never designed!")
|
|||
(define-public mame
|
||||
(package
|
||||
(name "mame")
|
||||
(version "0.206")
|
||||
(version "0.209")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -1195,7 +1195,7 @@ play them on systems for which they were never designed!")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0i01h5ars1yd96ndmzhk47931hf261m8frqz1ha7s2gy52f0q86y"))
|
||||
"08qvwmx8wbfkqxiccmcff86dsrlq6wjxf6blnhhrsbzic1ji99bh"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Remove bundled libraries.
|
||||
|
@ -1333,7 +1333,8 @@ play them on systems for which they were never designed!")
|
|||
#t))))))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("python-sphinx" ,python-sphinx)
|
||||
("sphinx" ,python-sphinx)
|
||||
("sphinxcontrib-svg2pdfconverter" ,python-sphinxcontrib-svg2pdfconverter)
|
||||
("texinfo" ,texinfo)))
|
||||
(inputs
|
||||
`(("alsa-lib" ,alsa-lib)
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2018, 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
||||
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2018, 2019 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2019 Tim Stahel <swedneck@swedneck.xyz>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
|
@ -85,6 +85,7 @@
|
|||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages tex)
|
||||
#:use-module (gnu packages version-control)
|
||||
#:use-module (gnu packages wxwidgets)
|
||||
#:use-module (gnu packages xorg))
|
||||
|
||||
|
@ -554,43 +555,65 @@ multipole-accelerated algorithm.")
|
|||
(define-public fritzing
|
||||
(package
|
||||
(name "fritzing")
|
||||
(version "0.9.2b")
|
||||
(version "0.9.3b")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/fritzing/"
|
||||
"fritzing-app/archive/" version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/fritzing/fritzing-app.git")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"15rwjp4xdj9w1z9f709rz9p0k2mi9k9idma9hvzkj5j8p04mg7yd"))))
|
||||
"0hpyc550xfhr6gmnc85nq60w00rm0ljm0y744dp0z88ikl04f4s3"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(and (zero? (system* "tar"
|
||||
"-xvf" (assoc-ref inputs "fritzing-parts-db")
|
||||
"-C" "parts"))
|
||||
(zero? (system* "qmake"
|
||||
(string-append "PREFIX="
|
||||
(assoc-ref outputs "out"))
|
||||
"phoenix.pro"))))))))
|
||||
(copy-recursively (assoc-ref inputs "fritzing-parts-db")
|
||||
"parts")
|
||||
;; Make compatible with libgit2 > 0.24
|
||||
(substitute* "src/version/partschecker.cpp"
|
||||
(("error = git_remote_connect\\(remote, GIT_DIRECTION_FETCH, &callbacks\\)")
|
||||
"error = git_remote_connect(remote, GIT_DIRECTION_FETCH, &callbacks, NULL, NULL)"))
|
||||
|
||||
;; Use system libgit2 and boost.
|
||||
(substitute* "phoenix.pro"
|
||||
(("^LIBGIT2INCLUDE =.*")
|
||||
(string-append "LIBGIT2INCLUDE="
|
||||
(assoc-ref inputs "libgit2") "/include\n"))
|
||||
(("^ LIBGIT2LIB =.*")
|
||||
(string-append " LIBGIT2LIB="
|
||||
(assoc-ref inputs "libgit2") "/lib\n")))
|
||||
;; This file checks for old versions of Boost, insisting on
|
||||
;; having us download the boost sources and placing them in the
|
||||
;; build directory.
|
||||
(substitute* "pri/utils.pri"
|
||||
(("error\\(") "message("))
|
||||
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(invoke "qmake"
|
||||
(string-append "QMAKE_LFLAGS_RPATH=-Wl,-rpath," out "/lib")
|
||||
(string-append "PREFIX=" out)
|
||||
"phoenix.pro")))))))
|
||||
(inputs
|
||||
`(("qtbase" ,qtbase)
|
||||
("qtserialport" ,qtserialport)
|
||||
("qtsvg" ,qtsvg)
|
||||
("libgit2" ,libgit2)
|
||||
("boost" ,boost)
|
||||
("zlib" ,zlib)
|
||||
("fritzing-parts-db"
|
||||
,(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/fritzing/"
|
||||
"fritzing-parts/archive/" version ".tar.gz"))
|
||||
(file-name (string-append "fritzing-parts-" version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/fritzing/fritzing-parts.git")
|
||||
(commit version)))
|
||||
(file-name (git-file-name "fritzing-parts" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0jqr8yjg7177f3pk1fcns584r0qavwpr280nggsi2ff3pwk5wpsz"))))))
|
||||
"1d2v8k7p176j0lczx4vx9n9gbg3vw09n2c4b6w0wj5wqmifywhc1"))))))
|
||||
(home-page "http://fritzing.org")
|
||||
(synopsis "Electronic circuit design")
|
||||
(description
|
||||
|
@ -1916,15 +1939,15 @@ simulator backends @code{Qucsator}, @code{ngspice} and @code{Xyce}.")
|
|||
(define-public librepcb
|
||||
(package
|
||||
(name "librepcb")
|
||||
(version "0.1.0")
|
||||
(version "0.1.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.librepcb.org/releases/0.1.0/librepcb-"
|
||||
version "-source.zip"))
|
||||
(uri (string-append "https://download.librepcb.org/releases/"
|
||||
version "/librepcb-" version "-source.zip"))
|
||||
(sha256
|
||||
(base32
|
||||
"0affvwwgs1j2wx6bb3zfa2jbfxpckklr8cka2nkswca0p82wd3dv"))))
|
||||
"08lm95kr5gqyqyy4hcii0micqa6ryhbv0harvdndmpvi4ix1ggi8"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("qtbase" ,qtbase)
|
||||
|
@ -1985,3 +2008,57 @@ editors.")
|
|||
slicing software to x3g files for standalone 3D printing on common 3D
|
||||
printers.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public gnucap
|
||||
(package
|
||||
(name "gnucap")
|
||||
(version "20171003")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://git.savannah.gnu.org/cgit/gnucap.git/snapshot/gnucap-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"16m09xa685qhj5fqq3bcgakrwnb74xhf5f7rpqkkf9fg8plzbb1g"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("readline" ,readline)))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
;; Set correct rpath so that gnucap finds libgnucap.so.
|
||||
(substitute* (list "apps/configure" "lib/configure"
|
||||
"main/configure" "modelgen/configure")
|
||||
(("LDFLAGS =")
|
||||
(string-append "LDFLAGS = -Wl,-rpath=" out "/lib")))
|
||||
;; gnucap uses a hand-written configure script that expects the
|
||||
;; --prefix argument to be the first argument passed to it.
|
||||
(invoke "./configure" (string-append "--prefix=" out)))))
|
||||
(replace 'check
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(libpath "../lib/O:../apps/O"))
|
||||
(with-directory-excursion "tests"
|
||||
;; Make test return non-zero exit code when a test fails.
|
||||
(substitute* "test"
|
||||
(("/bin/sh") "/bin/sh -e")
|
||||
(("\\|\\| echo \"\\*\\*\\*\\* \\$ii fails \\*\\*\\*\\*\"") ""))
|
||||
;; Fix expected plugin search path for test c_attach.1.gc
|
||||
(substitute* "==out/c_attach.1.gc.out"
|
||||
(("/usr/local/lib/gnucap")
|
||||
(string-append libpath ":" out "/lib/gnucap")))
|
||||
;; Set library path so that gnucap can find libgnucap.so
|
||||
;; while running the tests.
|
||||
(setenv "LD_LIBRARY_PATH" libpath)
|
||||
(invoke "./test" "../main/O/gnucap" "" "test-output" "==out"))))))))
|
||||
(home-page "https://www.gnu.org/software/gnucap/")
|
||||
(synopsis "Mixed analog and digital circuit simulator")
|
||||
(description "GNUcap is a circuit analysis package. It offers a general
|
||||
purpose circuit simulator and can perform DC and transient analyses, fourier
|
||||
analysis and AC analysis. The engine is designed to do true mixed-mode
|
||||
simulation.")
|
||||
(license license:gpl3+)))
|
||||
|
|
|
@ -185,7 +185,7 @@ removable devices or support for multimedia.")
|
|||
(define-public terminology
|
||||
(package
|
||||
(name "terminology")
|
||||
(version "1.3.2")
|
||||
(version "1.4.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
|
@ -193,7 +193,7 @@ removable devices or support for multimedia.")
|
|||
"terminology/terminology-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1kclxzadmk272s9spa7n704pcb1c611ixxrq88w5zk22va0i25xm"))
|
||||
"0q1y7fadj42n23aspx9y8hm4w4xlc316wc3415wnf75ibsx08ngd"))
|
||||
(modules '((guix build utils)))
|
||||
;; Remove the bundled fonts.
|
||||
(snippet
|
||||
|
@ -204,11 +204,24 @@ removable devices or support for multimedia.")
|
|||
#t))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
`(#:configure-flags '("-Dtests=true")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'set-home-directory
|
||||
;; FATAL: Cannot create run dir '/homeless-shelter/.run' - errno=2
|
||||
(lambda _ (setenv "HOME" "/tmp") #t)))))
|
||||
(lambda _ (setenv "HOME" "/tmp") #t))
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(with-directory-excursion
|
||||
(string-append "../" ,name "-" ,version "/tests")
|
||||
(invoke "sh" "run_tests.sh" "--verbose"
|
||||
"-t" "../../build/src/bin/tytest"))))
|
||||
(add-after 'install 'remove-test-binary
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; This file is not meant to be installed.
|
||||
(delete-file (string-append (assoc-ref outputs "out")
|
||||
"/bin/tytest"))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("gettext" ,gettext-minimal)
|
||||
("perl" ,perl)
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com>
|
||||
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -27,14 +28,14 @@
|
|||
(define-public entr
|
||||
(package
|
||||
(name "entr")
|
||||
(version "4.1")
|
||||
(version "4.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://entrproject.org/code/entr-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0y7gvyf0iykpf3gfw09m21hy51m6qn4cpkbrm4nnn7pwrwycj0y5"))))
|
||||
"0w2xkf77jikcjh15fp9g7661ss30pz3jbnh261vqpaqavwah4c17"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:test-target "test"
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
(define-module (gnu packages erlang)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system emacs)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix packages)
|
||||
|
@ -212,3 +213,21 @@ built-in support for concurrency, distribution and fault tolerance.")
|
|||
;; have other licenses. See 'system/COPYRIGHT' in the source distribution.
|
||||
(license (list license:asl2.0 license:bsd-2 license:bsd-3 license:expat
|
||||
license:lgpl2.0+ license:tcl/tk license:zlib))))
|
||||
|
||||
(define-public emacs-erlang
|
||||
(package
|
||||
(name "emacs-erlang")
|
||||
(version (package-version erlang))
|
||||
(source (package-source erlang))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'set-emacs-load-path 'change-working-directory
|
||||
(lambda _ (chdir "lib/tools/emacs") #t)))))
|
||||
(home-page "https://www.erlang.org/")
|
||||
(synopsis "Erlang major mode for Emacs")
|
||||
(description
|
||||
"This package provides an Emacs major mode for editing Erlang source
|
||||
files.")
|
||||
(license license:asl2.0)))
|
||||
|
|
|
@ -322,7 +322,7 @@ network. LIBNFS offers three different APIs, for different use :
|
|||
`(("bzip2" ,bzip2)
|
||||
("fuse" ,fuse)
|
||||
("zlib" ,zlib)))
|
||||
(synopsis "Read-only FUSE driver for the APFS filesystem")
|
||||
(synopsis "Read-only FUSE driver for the APFS file system")
|
||||
(description "APFS-FUSE is a read-only FUSE driver for the @dfn{Apple File
|
||||
System} (APFS). It is currently in an experimental state — it may not be able
|
||||
to read all files, and it does not support all the compression methods in
|
||||
|
|
|
@ -43,7 +43,9 @@
|
|||
|
||||
;; When cross-compiling, this package depends upon a native install of
|
||||
;; itself.
|
||||
(self-native-input? #t)
|
||||
(native-inputs (if (%current-target-system)
|
||||
`(("self" ,this-package))
|
||||
'()))
|
||||
|
||||
(synopsis "File type guesser")
|
||||
(description
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au>
|
||||
;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>
|
||||
;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
|
||||
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2018 Adriano Peluso <catonano@gmail.com>
|
||||
;;; Copyright © 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
|
@ -139,7 +139,7 @@ line client and a client based on Qt.")
|
|||
(define-public ledger
|
||||
(package
|
||||
(name "ledger")
|
||||
(version "3.1.2")
|
||||
(version "3.1.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -148,8 +148,7 @@ line client and a client based on Qt.")
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0hwnipj2m9p95hhyv6kyq54m27g14r58gnsy2my883kxhpcyb2vc"))
|
||||
(patches (search-patches "ledger-fix-uninitialized.patch"))))
|
||||
(base32 "0bfnrqrd6wqgsngfpqi30xh6yy86pwl25iwzrqy44q31r0zl4mm3"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
@ -242,6 +241,13 @@ in ability, and easy to use.")
|
|||
#:tests? #f ; there are none
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'build 'patch-path
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((ledger (assoc-ref inputs "ledger")))
|
||||
(make-file-writable "ledger-exec.el")
|
||||
(emacs-substitute-variables "ledger-exec.el"
|
||||
("ledger-binary-path" (string-append ledger "/bin/ledger"))))
|
||||
#t))
|
||||
(add-after 'build 'build-doc
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((target (string-append (assoc-ref outputs "out")
|
||||
|
@ -261,6 +267,8 @@ in ability, and easy to use.")
|
|||
(rename-file orig-dir dest-dir)
|
||||
(emacs-generate-autoloads ,name dest-dir)
|
||||
#t))))))
|
||||
(inputs
|
||||
`(("ledger" ,ledger)))
|
||||
(native-inputs
|
||||
`(("emacs-minimal" ,emacs-minimal)
|
||||
("texinfo" ,texinfo)))
|
||||
|
@ -391,7 +399,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.")
|
|||
(package
|
||||
(inherit electrum)
|
||||
(name "electron-cash")
|
||||
(version "3.3.6")
|
||||
(version "4.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -402,7 +410,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.")
|
|||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"110apc376wm4yd9ghpffiipwdn8rzyr3z7ncpp2516wbz4mmyhxc"))
|
||||
"16fi03f23yb5r9s64x1a9wrxnvivlbawvrbq4d486yclzl1r7y48"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
@ -628,7 +636,7 @@ Monero GUI client.")
|
|||
(define-public python-trezor-agent
|
||||
(package
|
||||
(name "python-trezor-agent")
|
||||
(version "0.13.0")
|
||||
(version "0.13.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -637,7 +645,7 @@ Monero GUI client.")
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0i4igkxi8fwdlbhg6nx27lhnc9v9nmrw4j5fvpnc202n6yjlc7x7"))))
|
||||
(base32 "0q99vbfd3h85s8rnjipnmldixabqmmlk5w9karv6f0rhyi54f4zv"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
@ -734,14 +742,14 @@ Ledger Blue/Nano S.")
|
|||
(define-public python-trezor
|
||||
(package
|
||||
(name "python-trezor")
|
||||
(version "0.11.1")
|
||||
(version "0.11.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "trezor" version))
|
||||
(sha256
|
||||
(base32
|
||||
"064yds8f4px0c6grkkanpdjx022g4q87ihzhkmdv9qanv0hz6hv0"))))
|
||||
"1f0zfki12mnhidkfxpx2lpq1xim8f35i2d64bx9lf4m26xxv9x56"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
@ -780,14 +788,14 @@ TREZOR Hardware Wallet.")
|
|||
(define-public python-keepkey
|
||||
(package
|
||||
(name "python-keepkey")
|
||||
(version "6.0.2")
|
||||
(version "6.0.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "keepkey" version))
|
||||
(sha256
|
||||
(base32
|
||||
"16j8hnxj9r4b2w6kfncmny09pb1al8ppmn59qxzl3qmh1xhpy45g"))))
|
||||
"0z3d0m6364v9dv0njs4cd5m5ai6j6v35xaaxfxl90m9vmyxy81vd"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
@ -926,7 +934,7 @@ Luhn and family of ISO/IEC 7064 check digit algorithms. ")
|
|||
(define-public python-duniterpy
|
||||
(package
|
||||
(name "python-duniterpy")
|
||||
(version "0.52.0")
|
||||
(version "0.53.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -937,7 +945,7 @@ Luhn and family of ISO/IEC 7064 check digit algorithms. ")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"07liba2d21hb8m3n6yccfamq9yq0ryywh18vs9g2sgywfsnv82lh"))))
|
||||
"1km585xlv6dm693s5x6apcnx3ixvz08g8yjfclszhy4jakhpv0ya"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
;; Tests fail with "AttributeError: module 'attr' has no attribute 's'".
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue