Merge branch 'master' into staging

This commit is contained in:
Jakub Kądziołka 2020-04-29 11:08:42 +02:00
commit 4035c3e352
No known key found for this signature in database
GPG Key ID: E315A75846131564
354 changed files with 65988 additions and 34337 deletions

1
.gitignore vendored
View File

@ -138,6 +138,7 @@
/test-env
/test-tmp
/tests/*.trs
/tests/services/*.trs
GPATH
GRTAGS
GTAGS

View File

@ -662,11 +662,16 @@ AM_DISTCHECK_CONFIGURE_FLAGS = \
--enable-daemon \
ac_cv_guix_test_root="$(GUIX_TEST_ROOT)"
# Name of the 'guix' package shipped in the binary tarball.
GUIX_FOR_BINARY_TARBALL = guile3.0-guix
# The self-contained tarball.
guix-binary.%.tar.xz:
$(AM_V_GEN)GUIX_PACKAGE_PATH= \
tarball=`$(top_builddir)/pre-inst-env guix pack -K -C xz \
-s "$*" --localstatedir --profile-name=current-guix guix` ; \
tarball=`$(top_builddir)/pre-inst-env guix pack -C xz \
--fallback \
-s "$*" --localstatedir --profile-name=current-guix \
$(GUIX_FOR_BINARY_TARBALL)` ; \
cp "$$tarball" "$@.tmp" ; mv "$@.tmp" "$@"
@ -700,6 +705,16 @@ gen-AUTHORS:
"$(top_srcdir)" "$(distdir)/AUTHORS"; \
fi
# Like 'dist', but regenerate 'configure' so we get an up-to-date
# 'PACKAGE_VERSION' string. (In Gnulib, 'GNUmakefile' has a special trick to
# do that whenever a 'dist' target is used.)
dist-with-updated-version:
@echo "Running './bootstrap' for new version string..."
$(top_srcdir)/bootstrap
$(MAKE) $(AM_MAKEFLAGS) $(top_srcdir)/.version dist
.PHONY: dist-with-updated-version
#
# Release management.
@ -755,7 +770,7 @@ system_flags = $(foreach system,$(1),-s $(system))
#
# XXX: Depend on 'dist' rather than 'distcheck' to work around the Gettext
# issue described at <https://savannah.gnu.org/bugs/index.php?51027>.
release: dist
release: dist-with-updated-version
cd po; git checkout .
@if ! git diff-index --quiet HEAD; then \
echo "There are uncommitted changes; stopping." >&2 ; \
@ -769,9 +784,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 \
$(top_builddir)/pre-inst-env guix build $(GUIX_FOR_BINARY_TARBALL) \
$(call system_flags,$(SUPPORTED_SYSTEMS)) \
-v1 --no-grafts -K
-v1 --no-grafts --fallback
rm -f $(BINARY_TARBALLS)
$(MAKE) $(BINARY_TARBALLS)
for system in $(SUPPORTED_SYSTEMS) ; do \
@ -785,12 +800,12 @@ release: dist
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
-v1 --no-grafts --fallback
for system in $(GUIX_SYSTEM_SUPPORTED_SYSTEMS) ; do \
image=`$(top_builddir)/pre-inst-env \
guix system disk-image \
--file-system-type=iso9660 \
--system=$$system \
--system=$$system --fallback \
gnu/system/install.scm` ; \
if [ ! -f "$$image" ] ; then \
echo "failed to produced Guix installation image for $$system" >&2 ; \
@ -803,7 +818,8 @@ release: dist
for system in $(GUIX_SYSTEM_VM_SYSTEMS) ; do \
image=`$(top_builddir)/pre-inst-env \
guix system vm-image $(GUIX_SYSTEM_VM_IMAGE_FLAGS) \
--system=$$system \
--save-provenance \
--system=$$system --fallback \
gnu/system/examples/vm-image.tmpl` ; \
if [ ! -f "$$image" ] ; then \
echo "failed to produced Guix VM image for $$system" >&2 ; \

146
NEWS
View File

@ -2,7 +2,7 @@
#+TITLE: Guix NEWS history of user-visible changes
#+STARTUP: content hidestars
Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 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,150 @@ Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
Please send Guix bug reports to bug-guix@gnu.org.
* Changes in 1.1.0 (since 1.0.1)
** Package management
*** New guix deploy command to deploy several machines at once
*** Channels can now provide news, viewed with guix pull --news
*** guix system reconfigure saves provenance data
*** New guix system describe command to view system provenance info
*** New /run/current-system/{channels,configuration}.scm files
*** New guix time-machine command
*** guix pack has a new --entry-point option
*** guix pack saves environment variables for docker and singularity
*** guix pack provides a meaningful repository name for docker
*** New --target option for guix system
*** --no-build-hook was renamed to --no-offload
*** --keep-failed now implies --no-offload
*** --dry-run no longer implies --no-grafts
*** guix import crate has a new --recursive option
*** guix import crate can import a specific package version
*** guix pull returns Guix on Guile 3.0
*** guix pull and --with-git-url can clone repositories over SSH
*** --with-commit now accepts tags
*** guix challenge has a new --diff option to show differences
*** guix weather has a new --display-missing option
*** Guix can now fetch lzip-compressed substitutes in addition to gzip
*** guix publish supports lzip compression via -C
*** guix lint -c archival queries Software Heritage
*** guix archive has a new -t option to list archive contents
*** guix describe and similar commands emit terminal hyperlinks
*** guix build now attempts to substitute missing .drv files
*** guix package etc. now lock the profile they operate on
*** guix pull honors /etc/guix/channels.scm when it exists
*** New guix show command, synonymous with guix package --show
*** The --manifest option can be repeated to combine manifests
*** Some commands previously lacking --load-path now support it
** Distribution
*** The set of pre-built bootstrap “binary seeds” has been halved
*** Graphical installer has better support for non-Latin keyboard layouts
*** Graphical installer allows users to choose an HTTP/HTTPS proxy
*** Graphical installer allows users to edit the system configuration
*** New kernel-loadable-modules field in operating-system
*** rottlog service is now part of %base-services
*** %base-services now includes /usr/bin/env as a “special file”
*** herd set-http-proxy guix-daemon URL can be used to set a proxy
*** qemu-binfmt service now supports riscv32 and riscv64
*** File system UUIDs and labels are now supported for JFS
*** New services
auditd, fontconfig-file-system, getmail, gnome-keyring, kernel-module-loader,
knot-resolver, mumi, nfs, nftables, nix, pagekite, pam-mount, patchwork,
polkit-wheel, provenance, pulseaudio, sane, singularity, usb-modeswitch
*** 3514 new packages
*** 3368 package updates
Noteworthy updates:
bash 5.0.7, binutils 2.32, cups 2.3.1, emacs 26.3, enlightenment 0.23.1,
gcc-toolchain 9.3.0, gdb 9.1, ghc 8.6.5, gimp 2.10.18, glibc 2.29,
gnome 3.32.2, gnupg 2.2.20, go 1.13.9, guile 2.2.7,
icecat 68.7.0-guix0-preview1, icedtea 3.7.0, julia 1.3.1,
libreoffice 6.4.2.2, linux-libre 5.4.31, mate 1.24.0, ocaml 4.09.0,
octave 5.2.0, openjdk 12.33, perl 5.30.0, python2 2.7.16, python 3.7.4,
racket 7.6, rust 1.39.0, r 3.6.3, sbcl 2.0.3, shepherd 0.7.0, xfce 4.14.0,
xorg-server 1.20.7
** Programming interfaces
*** New build systems
copy-build-system, julia-build-system, node-build-system, qt-build-system
*** New with-build-handler and map/accumulate-builds in (guix store)
*** (guix gexp) has a new with-parameters form
*** New (guix remote) module for remote evaluation of gexps
*** New eval/container procedure in (gnu system linux-container)
*** (guix inferior) now reifies exceptions as &inferior-exception
*** (guix cve) uses the new NIST-provided JSON files instead of XML
*** New (guix json) module to map JSON objects to Scheme records
*** New (gnu installer tests) module to drive the graphical installer
*** New (guix diagnostics) module for consistent diagnostic messages
*** “Checkers” now live in (guix lint)
** Notewothy bug fixes
*** Grafts leads to inefficient substitute info retrieval
(<https://issues.guix.gnu.org/issue/22990>)
*** Grafting prevents build plan from being displayed upfront
(https://issues.guix.gnu.org/issue/28310)
*** Changing the HTTP/FTP proxy used by the daemon is inconvenient
(<https://issues.guix.gnu.org/issue/25569>)
*** guix system disk-image successfully builds a bad image
(<https://issues.guix.gnu.org/issue/34276>)
*** Installer cannot be restarted after a failed install
(<https://issues.guix.gnu.org/issue/35543>)
*** Null pointer error when partitioning with the graphical installer
(<https://issues.guix.gnu.org/issue/35858>)
*** 'guix upgrade' misdiagnoses upgrades in the presence of propagated inputs
(<https://issues.guix.gnu.org/issue/35872>)
*** mcron randomly stops running jobs
(<https://issues.guix.gnu.org/issue/37237>)
*** Mistaken warning "guix pull was never run"
(<https://issues.guix.gnu.org/issue/38196>)
*** `guix pack --format=squashfs` fails on CentOS7
(<https://issues.guix.gnu.org/issue/40043>)
*** installer: No way to input Latin characters with non-Latin keyboard layouts
(<https://issues.guix.gnu.org/issue/40273>)
*** installer: Always add '%base-initrd-modules' to 'initrd-modules'
(<https://issues.guix.gnu.org/issue/36099>)
*** [MATE] shutdown and reboot not possible from UI
(<https://issues.guix.gnu.org/issue/40327>)
*** 'guix-daemon' honors %localstatedir, %sysconfdir, and %storedir
(<https://issues.guix.gnu.org/issue/35874>)
*** Fix GUIX_LOCPATH quoting in guix-daemon.service (systemd)
(<https://issues.guix.gnu.org/issue/36074>)
*** Include USB_ModeSwitch in %desktop-services
(<https://issues.guix.gnu.org/issue/35640>)
*** linux-container: Mount a new /dev/pts instance in the container
(<https://issues.guix.gnu.org/issue/36463>)
*** system: Write the timezone to /etc/timezone
(<https://issues.guix.gnu.org/issue/35746>)
*** linux-modules: Define and use a module name database
(<https://issues.guix.gnu.org/issue/34902>)
*** pack: Create /tmp in Docker images
(<https://issues.guix.gnu.org/issue/37161>)
*** guix system: Reinstalling the bootloader preserves extra menu entries
(<https://issues.guix.gnu.org/issue/36876>)
*** system: Add 'mount' and 'umount' to '%setuid-programs'
(<https://issues.guix.gnu.org/issue/37569>)
*** linux-libre: Try to aggressively gather entropy during boot
(<https://issues.guix.gnu.org/issue/37501>)
*** daemon: Make 'profiles/per-user' non-world-writable
(<https://issues.guix.gnu.org/issue/37744>)
*** linux-boot: Don't ignore options when mounting root file system
(<https://issues.guix.gnu.org/issue/37977>)
*** Files produced by syslogd are no longer world-readable
(<https://issues.guix.gnu.org/issue/40405>)
** Native language support
*** Updated translations of the manual
The manual is fully translated into Spanish, more than 85% complete in French
and German, and has preliminary translations into Russian and Chinese.
*** Updated translations of messages
This version of Guix is fully translated in Brazilian Portuguese, French,
German, and Spanish, and partially translated in 10 other languages.
* Changes in 1.0.1 (since 1.0.0)
** Package management
*** The https_proxy environment variable is now honored

View File

@ -408,7 +408,11 @@ files."
(major ((store-lift nix-server-major-version)))
(minor ((store-lift nix-server-minor-version))))
(mbegin %store-monad
(show-what-to-build* (list build))
;; Before 'with-build-handler' was implemented and used, we had to
;; explicitly call 'show-what-to-build*'.
(munless (module-defined? (resolve-module '(guix store))
'with-build-handler)
(show-what-to-build* (list build)))
(built-derivations (list build))
;; Use the port beneath the current store as the stdin of BUILD. This

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2016, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -79,6 +79,14 @@ to 'make'."
(current-processor-count))))
(loop tail)))))))))
(define (parallel-job-count*)
;; XXX: Work around memory requirements not sustainable on i686 above '-j4'
;; or so: <https://bugs.gnu.org/40522>.
(let ((count (parallel-job-count)))
(if (string-prefix? "i686" %host-type)
(min count 4)
count)))
(define (% completed total)
"Return the completion percentage of COMPLETED over TOTAL as an integer."
(inexact->exact (round (* 100. (/ completed total)))))
@ -95,7 +103,7 @@ to 'make'."
(lambda ()
(compile-files srcdir (getcwd)
(filter file-needs-compilation? files)
#:workers (parallel-job-count)
#:workers (parallel-job-count*)
#:host host
#:report-load (lambda (file total completed)
(when file

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -147,11 +148,11 @@
("mthl"
"F2A3 8D7E EB2B 6640 5761 070D 0ADE E100 9460 4D37")
("nckx"
;; primary: "F5BC 5534 C36F 0087 B39D 36EF 1C9D C4FE B9DB 7C4B"
"7E8F AED0 0944 78EF 72E6 4D16 D889 B0F0 18C5 493C")
("nckx (2nd)"
;; primary: "F5BC 5534 C36F 0087 B39D 36EF 1C9D C4FE B9DB 7C4B"
"F5DA 2032 4B87 3D0B 7A38 7672 0DB0 FF88 4F55 6D79")
("nckx (revoked; not compromised)"
;; primary: "F5BC 5534 C36F 0087 B39D 36EF 1C9D C4FE B9DB 7C4B"
"7E8F AED0 0944 78EF 72E6 4D16 D889 B0F0 18C5 493C")
("niedzejkob"
"E576 BFB2 CF6E B13D F571 33B9 E315 A758 4613 1564")
("ngz"

View File

@ -26,6 +26,8 @@ AM_GNU_GETTEXT_VERSION([0.18.1])
GUIX_SYSTEM_TYPE
GUIX_ASSERT_SUPPORTED_SYSTEM
AM_CONDITIONAL([CROSS_COMPILING], [test "x$cross_compiling" = "xyes"])
AC_ARG_WITH(store-dir,
AC_HELP_STRING([--with-store-dir=PATH],
[file name of the store (defaults to /gnu/store)]),

View File

@ -142,7 +142,7 @@ as well as images, OS examples, and translations."
(for-each (lambda (texi)
(install-file texi #$output))
(append (find-files #$documentation "\\.(texi|scm)$")
(append (find-files #$documentation "\\.(texi|scm|json)$")
(find-files #$(translated-texi-manuals source)
"\\.texi$")))
@ -220,8 +220,11 @@ its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')."
(syntax-highlight scheme)
(syntax-highlight lexers)
(guix build utils)
(srfi srfi-1)
(srfi srfi-26)
(ice-9 match)
(ice-9 threads))
(ice-9 threads)
(ice-9 vlist))
(define (pair-open/close lst)
;; Pair 'open' and 'close' tags produced by 'highlights' and
@ -255,10 +258,11 @@ its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')."
level (reverse result)))
(values (reverse result) "" '())))))
(define (highlights->sxml* highlights)
(define (highlights->sxml* highlights anchors)
;; Like 'highlights->sxml', but handle nested 'paren tags. This
;; allows for paren matching highlights via appropriate CSS
;; "hover" properties.
;; "hover" properties. When a symbol is encountered, look it up
;; in ANCHORS, a vhash, and emit the corresponding href, if any.
(define (tag->class tag)
(string-append "syntax-" (symbol->string tag)))
@ -269,8 +273,16 @@ its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')."
(number->string level))))
,open
(span (@ (class "syntax-symbol"))
,@(highlights->sxml* body))
,@(highlights->sxml* body anchors))
,close))
(('symbol text)
;; Check whether we can emit a hyperlink for TEXT.
(match (vhash-assoc text anchors)
(#f
`(span (@ (class ,(tag->class 'symbol))) ,text))
((_ . target)
`(a (@ (class ,(tag->class 'symbol)) (href ,target))
,text))))
((tag text)
`(span (@ (class ,(tag->class tag))) ,text)))
highlights))
@ -301,35 +313,109 @@ its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')."
(pk 'unsupported-code-snippet something)
(primitive-exit 1)))))
(define (syntax-highlight sxml)
(define (syntax-highlight sxml anchors)
;; Recurse over SXML and syntax-highlight code snippets.
(match sxml
(('*TOP* decl body ...)
`(*TOP* ,decl ,@(map syntax-highlight body)))
(('head things ...)
`(head ,@things
(link (@ (rel "stylesheet")
(type "text/css")
(href #$syntax-css-url)))))
(('pre ('@ ('class "lisp")) code-snippet ...)
`(pre (@ (class "lisp"))
,@(highlights->sxml*
(pair-open/close
(highlight lex-scheme
(concatenate-snippets code-snippet))))))
((tag ('@ attributes ...) body ...)
`(,tag (@ ,@attributes) ,@(map syntax-highlight body)))
((tag body ...)
`(,tag ,@(map syntax-highlight body)))
((? string? str)
str)))
(let loop ((sxml sxml))
(match sxml
(('*TOP* decl body ...)
`(*TOP* ,decl ,@(map loop body)))
(('head things ...)
`(head ,@things
(link (@ (rel "stylesheet")
(type "text/css")
(href #$syntax-css-url)))))
(('pre ('@ ('class "lisp")) code-snippet ...)
`(pre (@ (class "lisp"))
,@(highlights->sxml*
(pair-open/close
(highlight lex-scheme
(concatenate-snippets code-snippet)))
anchors)))
((tag ('@ attributes ...) body ...)
`(,tag (@ ,@attributes) ,@(map loop body)))
((tag body ...)
`(,tag ,@(map loop body)))
((? string? str)
str))))
(define (process-html file)
(define (underscore-decode str)
;; Decode STR, an "underscore-encoded" string as produced by
;; makeinfo for indexes, such as "_0025base_002dservices" for
;; "%base-services".
(let loop ((str str)
(result '()))
(match (string-index str #\_)
(#f
(string-concatenate-reverse (cons str result)))
(index
(let ((char (string->number
(substring str (+ index 1) (+ index 5))
16)))
(loop (string-drop str (+ index 5))
(append (list (string (integer->char char))
(string-take str index))
result)))))))
(define (anchor-id->key id)
;; Convert ID, an anchor ID such as
;; "index-pam_002dlimits_002dservice" to the corresponding key,
;; "pam-limits-service" in this example. Drop the suffix of
;; duplicate anchor IDs like "operating_002dsystem-1".
(let ((id (if (any (cut string-suffix? <> id)
'("-1" "-2" "-3" "-4" "-5"))
(string-drop-right id 2)
id)))
(underscore-decode
(string-drop id (string-length "index-")))))
(define* (collect-anchors file #:optional (vhash vlist-null))
;; Collect the anchors that appear in FILE, a makeinfo-generated
;; file. Grab those from <dt> tags, which corresponds to
;; Texinfo @deftp, @defvr, etc. Return VHASH augmented with
;; more name/reference pairs.
(define string-or-entity?
(match-lambda
((? string?) #t)
(('*ENTITY* _ ...) #t)
(_ #f)))
(define (worthy-entry? lst)
;; Attempt to match:
;; Scheme Variable: <strong>x</strong>
;; but not:
;; <code>cups-configuration</code> parameter: …
(let loop ((lst lst))
(match lst
(((? string-or-entity?) rest ...)
(loop rest))
((('strong _ ...) _ ...)
#t)
(_ #f))))
(let ((shtml (call-with-input-file file html->shtml)))
(let loop ((shtml shtml)
(vhash vhash))
(match shtml
(('dt ('@ ('id id)) rest ...)
(if (and (string-prefix? "index-" id)
(worthy-entry? rest))
(vhash-cons (anchor-id->key id)
(string-append (basename file)
"#" id)
vhash)
vhash))
((tag ('@ _ ...) body ...)
(fold loop vhash body))
((tag body ...)
(fold loop vhash body))
(_ vhash)))))
(define (process-html file anchors)
;; Parse FILE and perform syntax highlighting for its Scheme
;; snippets. Install the result to #$output.
(format (current-error-port) "processing ~a...~%" file)
(let* ((shtml (call-with-input-file file html->shtml))
(highlighted (syntax-highlight shtml))
(highlighted (syntax-highlight shtml anchors))
(base (string-drop file (string-length #$input)))
(target (string-append #$output base)))
(mkdir-p (dirname target))
@ -352,17 +438,43 @@ its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')."
(pk 'error-link file target (strerror errno))
(primitive-exit 3))))))
(define (html? file stat)
(string-suffix? ".html" file))
;; Install a UTF-8 locale so we can process UTF-8 files.
(setenv "GUIX_LOCPATH"
#+(file-append glibc-utf8-locales "/lib/locale"))
(setlocale LC_ALL "en_US.utf8")
;; First process the mono-node 'guix.html' files.
(n-par-for-each (parallel-job-count)
(lambda (file)
(if (string-suffix? ".html" file)
(process-html file)
(copy-as-is file)))
(find-files #$input))))))
(lambda (mono)
(let ((anchors (collect-anchors mono)))
(process-html mono anchors)))
(find-files #$input "^guix(\\.[a-zA-Z_-]+)?\\.html$"))
;; Next process the multi-node HTML files in two phases: (1)
;; collect the list of anchors, and (2) perform
;; syntax-highlighting.
(let* ((multi (find-files #$input "^html_node$"
#:directories? #t))
(anchors (n-par-map (parallel-job-count)
(lambda (multi)
(cons multi
(fold collect-anchors vlist-null
(find-files multi html?))))
multi)))
(n-par-for-each (parallel-job-count)
(lambda (file)
(let ((anchors (assoc-ref anchors (dirname file))))
(process-html file anchors)))
(append-map (lambda (multi)
(find-files multi html?))
multi)))
;; Last, copy non-HTML files as is.
(for-each copy-as-is
(find-files #$input (negate html?)))))))
(computed-file name build))

View File

@ -11,6 +11,8 @@
Copyright @copyright{} 2019 Ricardo Wurmus@*
Copyright @copyright{} 2019 Efraim Flashner@*
Copyright @copyright{} 2019 Pierre Neidhardt@*
Copyright @copyright{} 2020 Oleg Pykhalov@*
Copyright @copyright{} 2020 Matthew Brooks@*
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
@ -579,7 +581,7 @@ packages.
Guix makes it possible to streamline the process by adding as many ``package
declaration directories'' as you want.
Create a directory, say @samp{~./guix-packages} and add it to the @samp{GUIX_PACKAGE_PATH}
Create a directory, say @file{~./guix-packages} and add it to the @samp{GUIX_PACKAGE_PATH}
environment variable:
@example
@ -849,7 +851,7 @@ version when packaging programs for a specific commit.
@subsubsection Snippets
Snippets are quoted (i.e. non-evaluated) Scheme code that are a means of patching
the source. They are a Guix-y alternative to the traditional @samp{.patch} files.
the source. They are a Guix-y alternative to the traditional @file{.patch} files.
Because of the quote, the code in only evaluated when passed to the Guix daemon
for building. There can be as many snippets as needed.
@ -953,7 +955,7 @@ $ make CC=gcc prefix=/gnu/store/...-<out>
This sets the C compiler to @code{gcc} and the @code{prefix} variable (the installation
directory in Make parlance) to @code{(assoc-ref %outputs "out")}, which is a build-stage
global variable pointing to the destination directory in the store (something like
@samp{/gnu/store/...-my-libgit2-20180408}).
@file{/gnu/store/...-my-libgit2-20180408}).
Similarly, it's possible to set the configure flags:
@ -1078,7 +1080,7 @@ mechanism of passing code around two running processes is called @uref{https://a
@subsubsection Utility functions
When customizing @code{phases}, we often need to write code that mimics the
equivalent system invocations (@code{make}, @code{mkdir}, @code{cp}, etc.) commonly used during
equivalent system invocations (@code{make}, @code{mkdir}, @code{cp}, etc.)@: commonly used during
regular ``Unix-style'' installations.
Some like @code{chmod} are native to Guile.
@ -1319,7 +1321,9 @@ chapter is to demonstrate some advanced configuration concepts.
reference.
@menu
* Customizing the Kernel:: Creating and using a custom Linux kernel on Guix System.
* Customizing the Kernel:: Creating and using a custom Linux kernel on Guix System.
* Customizing a Window Manager:: Handle customization of a Window manager on Guix System.
* Setting up a bind mount:: Setting up a bind mount in the file-systems definition.
@end menu
@node Customizing the Kernel
@ -1562,6 +1566,105 @@ likely that you'll need to modify the initrd on a machine using a custom
kernel, since certain modules which are expected to be built may not be
available for inclusion into the initrd.
@node Customizing a Window Manager
@section Customizing a Window Manager
@cindex wm
@node StumpWM
@subsection StumpWM
@cindex stumpwm
You could install StumpWM with a Guix system by adding
@code{stumpwm-checkout} and optionally @code{`(,stumpwm-checkout "lib")}
packages to a system configuration file, e.g.@: @file{/etc/config.scm}.
An example configuration can look like this:
@lisp
(use-modules (gnu))
(use-package-modules wm)
(operating-system
;; …
(packages (append (list sbcl stumpwm-checkout `(,stumpwm-checkout "lib"))
%base-packages)))
@end lisp
@cindex stumpwm fonts
By default StumpWM uses X11 fonts, which could be small or pixelated on
your system. You could fix this by installing StumpWM contrib Lisp
module @code{sbcl-stumpwm-ttf-fonts}, adding it to Guix system packages:
@lisp
(use-modules (gnu))
(use-package-modules fonts wm)
(operating-system
;; …
(packages (append (list sbcl stumpwm-checkout `(,stumpwm-checkout "lib"))
sbcl-stumpwm-ttf-fonts font-dejavu %base-packages)))
@end lisp
Then you need to add the following code to a StumpWM configuration file
@file{~/.stumpwm.d/init.lisp}:
@lisp
(require :ttf-fonts)
(setf xft:*font-dirs* '("/run/current-system/profile/share/fonts/"))
(setf clx-truetype:+font-cache-filename+ (concat (getenv "HOME") "/.fonts/font-cache.sexp"))
(xft:cache-fonts)
(set-font (make-instance 'xft:font :family "DejaVu Sans Mono" :subfamily "Book" :size 11))
@end lisp
@node Setting up a bind mount
@section Setting up a bind mount
To bind mount a file system, one must first set up some definitions
before the @code{operating-system} section of the system definition. In
this example we will bind mount a folder from a spinning disk drive to
@file{/tmp}, to save wear and tear on the primary SSD, without
dedicating an entire partition to be mounted as @file{/tmp}.
First, the source drive that hosts the folder we wish to bind mount
should be defined, so that the bind mount can depend on it.
@lisp
(define source-drive ;; "source-drive" can be named anything you want.
(file-system
(device (uuid "UUID goes here"))
(mount-point "/path-to-spinning-disk-goes-here")
(type "ext4"))) ;; Make sure to set this to the appropriate type for your drive.
@end lisp
The source folder must also be defined, so that guix will know it's not
a regular block device, but a folder.
@lisp
(define (%source-directory) "/path-to-spinning-disk-goes-here/tmp") ;; "source-directory" can be named any valid variable name.
@end lisp
Finally, inside the @code{file-systems} definition, we must add the
mount itself.
@lisp
(file-systems (cons*
...<other drives omitted for clarity>...
source-drive ;; Must match the name you gave the source drive in the earlier definition.
(file-system
(device (%source-directory)) ;; Make sure "source-directory" matches your earlier definition.
(mount-point "/tmp")
(type "none") ;; We are mounting a folder, not a partition, so this type needs to be "none"
(flags '(bind-mount))
(dependencies (list source-drive)) ;; Ensure "source-drive" matches what you've named the variable for the drive.
)
...<other drives omitted for clarity>...
))
@end lisp
@c *********************************************************************
@node Advanced package management
@chapter Advanced package management
@ -1688,8 +1791,8 @@ where we will store our profiles in the rest of this article.
Placing all your profiles in a single directory, with each profile getting its
own sub-directory, is somewhat cleaner. This way, each sub-directory will
contain all the symlinks for precisely one profile. Besides, "looping over
profiles" becomes obvious from any programming language (e.g. a shell script) by
contain all the symlinks for precisely one profile. Besides, ``looping over
profiles'' becomes obvious from any programming language (e.g.@: a shell script) by
simply looping over the sub-directories of @samp{$GUIX_EXTRA_PROFILES}.
Note that it's also possible to loop over the output of
@ -1698,9 +1801,9 @@ Note that it's also possible to loop over the output of
guix package --list-profiles
@end example
although you'll probably have to filter out @samp{~/.config/guix/current}.
although you'll probably have to filter out @file{~/.config/guix/current}.
To enable all profiles on login, add this to your @samp{~/.bash_profile} (or similar):
To enable all profiles on login, add this to your @file{~/.bash_profile} (or similar):
@example
for i in $GUIX_EXTRA_PROFILES/*; do
@ -1714,8 +1817,8 @@ done
@end example
Note to Guix System users: the above reflects how your default profile
@samp{~/.guix-profile} is activated from @samp{/etc/profile}, that latter being loaded by
@samp{~/.bashrc} by default.
@file{~/.guix-profile} is activated from @file{/etc/profile}, that latter being loaded by
@file{~/.bashrc} by default.
You can obviously choose to only enable a subset of them:
@ -1758,8 +1861,8 @@ guix package -m /path/to/guix-my-project-manifest.scm -p "$GUIX_EXTRA_PROFILES"/
To upgrade all profiles, it's easy enough to loop over them. For instance,
assuming your manifest specifications are stored in
@samp{~/.guix-manifests/guix-$profile-manifest.scm}, with @samp{$profile} being the name
of the profile (e.g. "project1"), you could do the following in Bourne shell:
@file{~/.guix-manifests/guix-$profile-manifest.scm}, with @samp{$profile} being the name
of the profile (e.g.@: "project1"), you could do the following in Bourne shell:
@example
for profile in "$GUIX_EXTRA_PROFILES"/*; do
@ -1818,12 +1921,12 @@ The same is true for @samp{INFOPATH} (you can install @samp{info-reader}),
@node Default profile
@subsection Default profile
What about the default profile that Guix keeps in @samp{~/.guix-profile}?
What about the default profile that Guix keeps in @file{~/.guix-profile}?
You can assign it the role you want. Typically you would install the manifest
of the packages you want to use all the time.
Alternatively, you could keep it "manifest-less" for throw-away packages
Alternatively, you could keep it ``manifest-less'' for throw-away packages
that you would just use for a couple of days.
This way makes it convenient to run
@ -1854,7 +1957,7 @@ Manifests come with multiple benefits. In particular, they ease maintenance:
@itemize
@item
When a profile is set up from a manifest, the manifest itself is
self-sufficient to keep a "package listing" around and reinstall the profile
self-sufficient to keep a ``package listing'' around and reinstall the profile
later or on a different system. For ad-hoc profiles, we would need to
generate a manifest specification manually and maintain the package versions
for the packages that don't use the default version.
@ -1891,7 +1994,7 @@ They can be manipulated in Scheme and passed to the various Guix @uref{https://e
It's important to understand that while manifests can be used to declare
profiles, they are not strictly equivalent: profiles have the side effect that
they "pin" packages in the store, which prevents them from being
they ``pin'' packages in the store, which prevents them from being
garbage-collected (@pxref{Invoking guix gc,,, guix, GNU Guix Reference Manual})
and ensures that they will still be available at any point in
the future.

View File

@ -63,7 +63,7 @@ Copyright @copyright{} 2018, 2019 Florian Pelz@*
Copyright @copyright{} 2018 Laura Lazzati@*
Copyright @copyright{} 2018 Alex Vong@*
Copyright @copyright{} 2019 Josh Holland@*
Copyright @copyright{} 2019 Diego Nicola Barbato@*
Copyright @copyright{} 2019, 2020 Diego Nicola Barbato@*
Copyright @copyright{} 2019 Ivan Petkov@*
Copyright @copyright{} 2019 Jakob L. Kreuze@*
Copyright @copyright{} 2019 Kyle Andrews@*
@ -76,6 +76,8 @@ Copyright @copyright{} 2020 Damien Cassou@*
Copyright @copyright{} 2020 Jakub Kądziołka@*
Copyright @copyright{} 2020 Jack Hill@*
Copyright @copyright{} 2020 Naga Malleswari@*
Copyright @copyright{} 2020 Brice Waegeneire@*
Copyright @copyright{} 2020 R Veera Kumar@*
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
@ -546,7 +548,14 @@ We recommend the use of this
@uref{https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh,
shell installer script}. The script automates the download, installation, and
initial configuration steps described below. It should be run as the root
user.
user. As root, you can thus run this:
@example
cd /tmp
wget https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh
chmod +x guix-install.sh
./guix-install.sh
@end example
@end quotation
Installing goes along these lines:
@ -650,7 +659,7 @@ with these commands:
@example
# cp ~root/.config/guix/current/lib/systemd/system/guix-daemon.service \
/etc/systemd/system/
# systemctl start guix-daemon && systemctl enable guix-daemon
# systemctl enable --now guix-daemon
@end example
If your host distro uses the Upstart init system:
@ -1682,7 +1691,18 @@ package in Guix looks for fonts in @file{$HOME/.guix-profile}
by default. Thus, to allow graphical applications installed with Guix
to display fonts, you have to install fonts with Guix as well.
Essential font packages include @code{gs-fonts}, @code{font-dejavu}, and
@code{font-gnu-freefont-ttf}.
@code{font-gnu-freefont}.
@cindex @code{fc-cache}
@cindex font cache
Once you have installed or removed fonts, or when you notice an
application that does not find fonts, you may need to install Fontconfig
and to force an update of its font cache by running:
@example
guix install fontconfig
fc-cache -rv
@end example
To display text written in Chinese languages, Japanese, or Korean in
graphical applications, consider installing
@ -1717,13 +1737,6 @@ xset +fp $(dirname $(readlink -f ~/.guix-profile/share/fonts/truetype/fonts.dir)
After that, you can run @code{xlsfonts} (from @code{xlsfonts} package)
to make sure your TrueType fonts are listed there.
@cindex @code{fc-cache}
@cindex font cache
After installing fonts you may have to refresh the font cache to use
them in applications. The same applies when applications installed via
Guix do not seem to find fonts. To force rebuilding of the font cache
run @code{fc-cache -rv}. The @code{fc-cache} command is provided by
the @code{fontconfig} package.
@subsection X.509 Certificates
@ -2198,6 +2211,18 @@ ping -c 3 gnu.org
Setting up network access is almost always a requirement because the
image does not contain all the software and tools that may be needed.
@cindex proxy, during system installation
If you need HTTP and HTTPS access to go through a proxy, run the
following command:
@example
herd set-http-proxy guix-daemon @var{URL}
@end example
@noindent
where @var{URL} is the proxy URL, for example
@code{http://example.org:8118}.
@cindex installing over SSH
If you want to, you can continue the installation remotely by starting
an SSH server:
@ -2806,6 +2831,15 @@ in the root of their project source tree that can be used to test
development snapshots and create reproducible development environments
(@pxref{Invoking guix environment}).
The @var{file} may also contain a JSON representation of one or more
package definitions. Running @code{guix package -f} on
@file{hello.json} with the following contents would result in installing
the package @code{greeter} after building @code{myhello}:
@example
@verbatiminclude package-hello.json
@end example
@item --remove=@var{package} @dots{}
@itemx -r @var{package} @dots{}
Remove the specified @var{package}s.
@ -4599,8 +4633,8 @@ served by @code{@value{SUBSTITUTE-SERVER}} to @file{/tmp/emacs}:
@example
$ wget -O - \
https://@value{SUBSTITUTE-SERVER}/nar/@dots{}-emacs-24.5 \
| bunzip2 | guix archive -x /tmp/emacs
https://@value{SUBSTITUTE-SERVER}/nar/gzip/@dots{}-emacs-24.5 \
| gunzip | guix archive -x /tmp/emacs
@end example
Single-item archives are different from multiple-item archives produced
@ -4610,7 +4644,8 @@ and they do @emph{not} embed a signature. Thus this operation does
unsafe.
The primary purpose of this operation is to facilitate inspection of
archive contents coming from possibly untrusted substitute servers.
archive contents coming from possibly untrusted substitute servers
(@pxref{Invoking guix challenge}).
@item --list
@itemx -t
@ -5083,7 +5118,7 @@ guix pack -f squashfs bash guile emacs geiser
@noindent
The result is a SquashFS file system image that can either be mounted or
directly be used as a file system container image with the
@uref{https://singularity.lbl.gov, Singularity container execution
@uref{https://www.sylabs.io/docs/, Singularity container execution
environment}, using commands like @command{singularity shell} or
@command{singularity exec}.
@ -5790,7 +5825,7 @@ or a list of such values.
@item @code{home-page}
The URL to the home-page of the package, as a string.
@item @code{supported-systems} (default: @var{%supported-systems})
@item @code{supported-systems} (default: @code{%supported-systems})
The list of systems supported by the package, as strings of the form
@code{architecture-kernel}, for example @code{"x86_64-linux"}.
@ -6064,8 +6099,8 @@ implements a build procedure for Android NDK (native development kit)
packages using a Guix-specific build process.
The build system assumes that packages install their public interface
(header) files to the subdirectory "include" of the "out" output and
their libraries to the subdirectory "lib" of the "out" output.
(header) files to the subdirectory @file{include} of the @code{out} output and
their libraries to the subdirectory @file{lib} the @code{out} output.
It's also assumed that the union of all the dependencies of a package
has no conflicting files.
@ -6154,7 +6189,6 @@ if they are defined by the crate.
@defvr {Scheme Variable} copy-build-system
@cindex (copy build system)
This variable is exported by @code{(guix build-system copy)}. It
supports builds of simple packages that don't require much compiling,
mostly just moving files around.
@ -6768,8 +6802,8 @@ kernel module.
@end table
It is possible and useful to specify the Linux kernel to use for building
the module (in the "arguments" form of a package using the
linux-module-build-system, use the key #:linux to specify it).
the module (in the @code{arguments} form of a package using the
@code{linux-module-build-system}, use the key @code{#:linux} to specify it).
@end defvr
@defvr {Scheme Variable} node-build-system
@ -7354,7 +7388,7 @@ increments the current state value:
@result{} 3
@end lisp
When ``run'' through @var{%state-monad}, we obtain that additional state
When ``run'' through @code{%state-monad}, we obtain that additional state
value, which is the number of @code{square} calls.
@end defvr
@ -7386,7 +7420,7 @@ The main interface to the store monad, provided by the @code{(guix
store)} module, is as follows.
@defvr {Scheme Variable} %store-monad
The store monad---an alias for @var{%state-monad}.
The store monad---an alias for @code{%state-monad}.
Values in the store monad encapsulate accesses to the store. When its
effect is needed, a value of the store monad must be ``evaluated'' by
@ -7449,6 +7483,10 @@ value in the absolute file name of @var{file} within the @var{output}
directory of @var{package}. When @var{file} is omitted, return the name
of the @var{output} directory of @var{package}. When @var{target} is
true, use it as a cross-compilation target triplet.
Note that this procedure does @emph{not} build @var{package}. Thus, the
result might or might not designate an existing file. We recommend not
using this procedure unless you know what you are doing.
@end deffn
@deffn {Monadic Procedure} package->derivation @var{package} [@var{system}]
@ -7747,7 +7785,7 @@ information about monads.)
[#:system (%current-system)] [#:target #f] [#:graft? #t] @
[#:hash #f] [#:hash-algo #f] @
[#:recursive? #f] [#:env-vars '()] [#:modules '()] @
[#:module-path @var{%load-path}] @
[#:module-path @code{%load-path}] @
[#:effective-version "2.2"] @
[#:references-graphs #f] [#:allowed-references #f] @
[#:disallowed-references #f] @
@ -7917,7 +7955,8 @@ The resulting file holds references to all the dependencies of @var{exp}
or a subset thereof.
@end deffn
@deffn {Scheme Procedure} scheme-file @var{name} @var{exp} [#:splice? #f]
@deffn {Scheme Procedure} scheme-file @var{name} @var{exp} @
[#:splice? #f] [#:set-load-path? #t]
Return an object representing the Scheme file @var{name} that contains
@var{exp}.
@ -8051,7 +8090,7 @@ item. This is achieved using the @code{lower-object} monadic procedure.
@deffn {Monadic Procedure} lower-object @var{obj} [@var{system}] @
[#:target #f]
Return as a value in @var{%store-monad} the derivation or store item
Return as a value in @code{%store-monad} the derivation or store item
corresponding to @var{obj} for @var{system}, cross-compiling for
@var{target} if @var{target} is true. @var{obj} must be an object that
has an associated gexp compiler, such as a @code{<package>}.
@ -8533,6 +8572,15 @@ As an example, @var{file} might contain a package definition like this
@include package-hello.scm
@end lisp
The @var{file} may also contain a JSON representation of one or more
package definitions. Running @code{guix build -f} on @file{hello.json}
with the following contents would result in building the packages
@code{myhello} and @code{greeter}:
@example
@verbatiminclude package-hello.json
@end example
@item --manifest=@var{manifest}
@itemx -m @var{manifest}
Build all packages listed in the given @var{manifest}
@ -8782,7 +8830,7 @@ $ guix environment --no-grafts -C foo --ad-hoc strace gdb
Here, @command{guix environment -C} creates a container and spawns a new
shell in it (@pxref{Invoking guix environment}). The @command{--ad-hoc
strace gdb} part adds the @command{strace} and @command{gdb} commands to
the container, which would may find handy while debugging. The
the container, which you may find handy while debugging. The
@option{--no-grafts} option makes sure we get the exact same
environment, with ungrafted packages (@pxref{Security Updates}, for more
info on grafts).
@ -10538,8 +10586,8 @@ Alternately, we can do something along these lines (@pxref{Invoking guix
archive}):
@example
$ wget -q -O - https://@value{SUBSTITUTE-SERVER}/nar/@dots{}-git-2.5.0 \
| guix archive -x /tmp/git
$ wget -q -O - https://@value{SUBSTITUTE-SERVER}/nar/lzip/@dots{}-git-2.5.0 \
| lzip -d | guix archive -x /tmp/git
$ diff -ur --no-dereference /gnu/store/@dots{}-git.2.5.0 /tmp/git
@end example
@ -11217,7 +11265,7 @@ By that, we mean all the global system configuration, not per-user
configuration (@pxref{Using the Configuration System}).
@table @asis
@item @code{kernel} (default: @var{linux-libre})
@item @code{kernel} (default: @code{linux-libre})
The package object of the operating system kernel to use@footnote{Currently
only the Linux-libre kernel is supported. In the future, it will be
possible to use the GNU@tie{}Hurd.}.
@ -11374,11 +11422,11 @@ As a user you should @emph{never} need to touch this field.
Linux @dfn{pluggable authentication module} (PAM) services.
@c FIXME: Add xref to PAM services section.
@item @code{setuid-programs} (default: @var{%setuid-programs})
@item @code{setuid-programs} (default: @code{%setuid-programs})
List of string-valued G-expressions denoting setuid programs.
@xref{Setuid Programs}.
@item @code{sudoers-file} (default: @var{%sudoers-specification})
@item @code{sudoers-file} (default: @code{%sudoers-specification})
@cindex sudoers file
The contents of the @file{/etc/sudoers} file as a file-like object
(@pxref{G-Expressions, @code{local-file} and @code{plain-file}}).
@ -11544,7 +11592,7 @@ variables.
@defvr {Scheme Variable} %base-file-systems
These are essential file systems that are required on normal systems,
such as @var{%pseudo-terminal-file-system} and @var{%immutable-store} (see
such as @code{%pseudo-terminal-file-system} and @code{%immutable-store} (see
below.) Operating system declarations should always contain at least
these.
@end defvr
@ -11915,6 +11963,9 @@ about. Here are a few example:
;; The Catalan layout.
(keyboard-layout "es" "cat")
;; Arabic layout with "Alt-Shift" to switch to US layout.
(keyboard-layout "ar,us" #:options '("grp:alt_shift_toggle"))
;; The Latin American Spanish layout. In addition, the
;; "Caps Lock" key is used as an additional "Ctrl" key,
;; and the "Menu" key is used as a "Compose" key to enter
@ -12376,7 +12427,7 @@ man page for more information.
@item @code{tty}
The name of the console this agetty runs on, as a string---e.g.,
@code{"ttyS0"}. This argument is optional, it will default to
@code{"ttyS0"}. This argument is optional, it will default to
a reasonable default serial port used by the kernel Linux.
For this, if there is a value for an option @code{agetty.tty} in the kernel
@ -12411,7 +12462,7 @@ in automatically without prompting for their login name or password.
When @code{#t}, don't reset terminal cflags (control modes).
@item @code{host} (default: @code{#f})
This accepts a string containing the "login_host", which will be written
This accepts a string containing the ``login_host'', which will be written
into the @file{/var/run/utmpx} file.
@item @code{remote?} (default: @code{#f})
@ -12517,8 +12568,8 @@ This option accepts a string of additional characters that should be
interpreted as backspace when the user types their login name.
@item @code{kill-characters} (default: @code{#f})
This option accepts a string that should be interpreted to mean "ignore
all previous characters" (also called a "kill" character) when the user
This option accepts a string that should be interpreted to mean ``ignore
all previous characters'' (also called a ``kill'' character) when the user
types their login name.
@item @code{chdir} (default: @code{#f})
@ -12534,7 +12585,7 @@ This option accepts, as an integer, the nice value with which to run the
@command{login} program.
@item @code{extra-options} (default: @code{'()})
This option provides an "escape hatch" for the user to provide arbitrary
This option provides an ``escape hatch'' for the user to provide arbitrary
command-line arguments to @command{agetty} as a list of strings.
@end table
@ -12608,7 +12659,7 @@ and caches.
@defvr {Scheme Variable} %nscd-default-configuration
This is the default @code{<nscd-configuration>} value (see below) used
by @code{nscd-service}. It uses the caches defined by
@var{%nscd-default-caches}; see below.
@code{%nscd-default-caches}; see below.
@end defvr
@deftp {Data Type} nscd-configuration
@ -12633,7 +12684,7 @@ Name of the nscd log file. This is where debugging output goes when
Integer denoting the debugging levels. Higher numbers mean that more
debugging output is logged.
@item @code{caches} (default: @var{%nscd-default-caches})
@item @code{caches} (default: @code{%nscd-default-caches})
List of @code{<nscd-cache>} objects denoting things to be cached; see
below.
@ -12771,9 +12822,24 @@ List of extra command-line options for @command{guix-daemon}.
File where @command{guix-daemon}'s standard output and standard error
are written.
@cindex HTTP proxy, for @code{guix-daemon}
@cindex proxy, for @code{guix-daemon} HTTP access
@item @code{http-proxy} (default: @code{#f})
The HTTP proxy used for downloading fixed-output derivations and
substitutes.
The URL of the HTTP and HTTPS proxy used for downloading fixed-output
derivations and substitutes.
It is also possible to change the daemon's proxy at run time through the
@code{set-http-proxy} action, which restarts it:
@example
herd set-http-proxy guix-daemon http://localhost:8118
@end example
To clear the proxy settings, run:
@example
herd set-http-proxy guix-daemon
@end example
@item @code{tmpdir} (default: @code{#f})
A directory path where the @command{guix-daemon} will perform builds.
@ -12784,8 +12850,12 @@ A directory path where the @command{guix-daemon} will perform builds.
@deffn {Scheme Procedure} udev-service [#:udev @var{eudev} #:rules @code{'()}]
Run @var{udev}, which populates the @file{/dev} directory dynamically.
udev rules can be provided as a list of files through the @var{rules}
variable. The procedures @code{udev-rule} and @code{file->udev-rule} from
@code{(gnu services base)} simplify the creation of such rule files.
variable. The procedures @code{udev-rule}, @code{udev-rules-service}
and @code{file->udev-rule} from @code{(gnu services base)} simplify the
creation of such rule files.
The @command{herd rules udev} command, as root, returns the name of the
directory containing all the active udev rules.
@end deffn
@deffn {Scheme Procedure} udev-rule [@var{file-name} @var{contents}]
@ -12804,23 +12874,27 @@ upon detecting a USB device with a given product identifier.
"ATTR@{product@}==\"Example\", "
"RUN+=\"/path/to/script\"")))
@end lisp
The @command{herd rules udev} command, as root, returns the name of the
directory containing all the active udev rules.
@end deffn
Here we show how the default @var{udev-service} can be extended with it.
@deffn {Scheme Procedure} udev-rules-service [@var{name} @var{rules}] @
[#:groups @var{groups}]
Return a service that extends @code{udev-service-type } with @var{rules}
and @code{account-service-type} with @var{groups} as system groups.
This works by creating a singleton service type
@code{@var{name}-udev-rules}, of which the returned service is an
instance.
Here we show how it can be used to extend @code{udev-service-type} with the
previously defined rule @code{%example-udev-rule}.
@lisp
(operating-system
;; @dots{}
(services
(modify-services %desktop-services
(udev-service-type config =>
(udev-configuration (inherit config)
(rules (append (udev-configuration-rules config)
(list %example-udev-rule))))))))
(cons (udev-rules-service 'usb-thing %example-udev-rule)
%desktop-services)))
@end lisp
@end deffn
@deffn {Scheme Procedure} file->udev-rule [@var{file-name} @var{file}]
Return a udev file named @var{file-name} containing the rules defined
@ -12857,10 +12931,10 @@ The following example shows how to use the @var{android-udev-rules}
package so that the Android tool @command{adb} can detect devices
without root privileges. It also details how to create the
@code{adbusers} group, which is required for the proper functioning of
the rules defined within the @var{android-udev-rules} package. To
the rules defined within the @code{android-udev-rules} package. To
create such a group, we must define it both as part of the
@var{supplementary-groups} of our @var{user-account} declaration, as
well as in the @var{groups} field of the @var{operating-system} record.
@code{supplementary-groups} of our @code{user-account} declaration, as
well as in the @var{groups} of the @code{udev-rules-service} procedure.
@lisp
(use-modules (gnu packages android) ;for android-udev-rules
@ -12874,23 +12948,15 @@ well as in the @var{groups} field of the @var{operating-system} record.
(supplementary-groups
'("adbusers" ;for adb
"wheel" "netdev" "audio" "video")))))
(groups (cons (user-group (system? #t) (name "adbusers"))
%base-groups))
;; @dots{}
(services
(modify-services %desktop-services
(udev-service-type
config =>
(udev-configuration (inherit config)
(rules (cons android-udev-rules
(udev-configuration-rules config))))))))
(cons (udev-rules-service 'android android-udev-rules
#:groups '("adbusers"))
%desktop-services)))
@end lisp
@defvr {Scheme Variable} urandom-seed-service-type
Save some entropy in @var{%random-seed-file} to seed @file{/dev/urandom}
Save some entropy in @code{%random-seed-file} to seed @file{/dev/urandom}
when rebooting. It also tries to seed @file{/dev/urandom} from
@file{/dev/hwrng} while booting, if @file{/dev/hwrng} exists and is
readable.
@ -13178,17 +13244,27 @@ their contents in separate files, possibly compressed. The @code{(gnu
services admin)} module provides an interface to GNU@tie{}Rot[t]log, a
log rotation tool (@pxref{Top,,, rottlog, GNU Rot[t]log Manual}).
The example below defines an operating system that provides log rotation
with the default settings, for commonly encountered log files.
This service is part of @code{%base-services}, and thus enabled by
default, with the default settings, for commonly encountered log files.
The example below shows how to extend it with an additional
@dfn{rotation}, should you need to do that (usually, services that
produce log files already take care of that):
@lisp
(use-modules (guix) (gnu))
(use-service-modules admin mcron)
(use-package-modules base idutils)
(use-service-modules admin)
(define my-log-files
;; Log files that I want to rotate.
'("/var/log/something.log" "/var/log/another.log"))
(operating-system
;; @dots{}
(services (cons (service rottlog-service-type)
(services (cons (simple-service 'rotate-my-stuff
rottlog-service-type
(list (log-rotation
(frequency 'daily)
(files my-log-files))))
%base-services)))
@end lisp
@ -13259,7 +13335,7 @@ Either @code{#f} or a gexp to execute once the rotation has completed.
@end deftp
@defvr {Scheme Variable} %default-rotations
Specifies weekly rotation of @var{%rotated-files} and of
Specifies weekly rotation of @code{%rotated-files} and of
@file{/var/log/guix-daemon.log}.
@end defvr
@ -13562,6 +13638,68 @@ List of additional command-line arguments to pass to the daemon.
@end table
@end deftp
@cindex hostapd service, for Wi-Fi access points
@cindex Wi-Fi access points, hostapd service
@defvr {Scheme Variable} hostapd-service-type
This is the service type to run the @uref{https://w1.fi/hostapd/,
hostapd} daemon to set up WiFi (IEEE 802.11) access points and
authentication servers. Its associated value must be a
@code{hostapd-configuration} as shown below:
@lisp
;; Use wlan1 to run the access point for "My Network".
(service hostapd-service-type
(hostapd-configuration
(interface "wlan1")
(ssid "My Network")
(channel 12)))
@end lisp
@end defvr
@deftp {Data Type} hostapd-configuration
This data type represents the configuration of the hostapd service, with
the following fields:
@table @asis
@item @code{package} (default: @code{hostapd})
The hostapd package to use.
@item @code{interface} (default: @code{"wlan0"})
The network interface to run the WiFi access point.
@item @code{ssid}
The SSID (@dfn{service set identifier}), a string that identifies this
network.
@item @code{broadcast-ssid?} (default: @code{#t})
Whether to broadcast this SSID.
@item @code{channel} (default: @code{1})
The WiFi channel to use.
@item @code{driver} (default: @code{"nl80211"})
The driver interface type. @code{"nl80211"} is used with all Linux
mac80211 drivers. Use @code{"none"} if building hostapd as a standalone
RADIUS server that does # not control any wireless/wired driver.
@item @code{extra-settings} (default: @code{""})
Extra settings to append as-is to the hostapd configuration file. See
@uref{https://w1.fi/cgit/hostap/plain/hostapd/hostapd.conf} for the
configuration file reference.
@end table
@end deftp
@defvr {Scheme Variable} simulated-wifi-service-type
This is the type of a service to simulate WiFi networking, which can be
useful in virtual machines for testing purposes. The service loads the
Linux kernel
@uref{https://www.kernel.org/doc/html/latest/networking/mac80211_hwsim/mac80211_hwsim.html,
@code{mac80211_hwsim} module} and starts hostapd to create a pseudo WiFi
network that can be seen on @code{wlan0}, by default.
The service's value is a @code{hostapd-configuration} record.
@end defvr
@cindex iptables
@defvr {Scheme Variable} iptables-service-type
This is the service type to set up an iptables configuration. iptables is a
@ -13719,7 +13857,7 @@ clock synchronized with that of the given servers.
@defvr {Scheme Variable} %openntpd-servers
This variable is a list of the server addresses defined in
@var{%ntp-servers}.
@code{%ntp-servers}.
@end defvr
@deftp {Data Type} openntpd-configuration
@ -13737,7 +13875,7 @@ See @uref{https://man.openbsd.org/ntpd.conf, upstream documentation} for more
information.
@item @code{server} (default: @code{'()})
Specify a list of IP addresses or hostnames of NTP servers to synchronize to.
@item @code{servers} (default: @var{%openntp-servers})
@item @code{servers} (default: @code{%openntp-servers})
Specify a list of IP addresses or hostnames of NTP pools to synchronize to.
@item @code{constraint-from} (default: @code{'()})
@code{ntpd} can be configured to query the Date from trusted HTTPS servers via TLS.
@ -14553,15 +14691,15 @@ The default SLiM theme and its name.
@deftp {Data Type} sddm-configuration
This is the data type representing the sddm service configuration.
This is the data type representing the SDDM service configuration.
@table @asis
@item @code{display-server} (default: "x11")
Select display server to use for the greeter. Valid values are "x11"
or "wayland".
Select display server to use for the greeter. Valid values are
@samp{"x11"} or @samp{"wayland"}.
@item @code{numlock} (default: "on")
Valid values are "on", "off" or "none".
Valid values are @samp{"on"}, @samp{"off"} or @samp{"none"}.
@item @code{halt-command} (default @code{#~(string-apppend #$shepherd "/sbin/halt")})
Command to run when halting.
@ -14570,7 +14708,8 @@ Command to run when halting.
Command to run when rebooting.
@item @code{theme} (default "maldives")
Theme to use. Default themes provided by SDDM are "elarun", "maldives" or "maya".
Theme to use. Default themes provided by SDDM are @samp{"elarun"},
@samp{"maldives"} or @samp{"maya"}.
@item @code{themes-directory} (default "/run/current-system/profile/share/sddm/themes")
Directory to look for themes.
@ -15058,9 +15197,9 @@ Defaults to @samp{#f}.
@deftypevr {@code{cups-configuration} parameter} string classification
Specifies the security classification of the server. Any valid banner
name can be used, including "classified", "confidential", "secret",
"topsecret", and "unclassified", or the banner can be omitted to disable
secure printing functions.
name can be used, including @samp{"classified"}, @samp{"confidential"},
@samp{"secret"}, @samp{"topsecret"}, and @samp{"unclassified"}, or the
banner can be omitted to disable secure printing functions.
Defaults to @samp{""}.
@end deftypevr
@ -15262,7 +15401,7 @@ Defaults to @samp{()}.
@deftypevr {@code{method-access-controls} parameter} access-control-list access-controls
Access control directives, as a list of strings. Each string should be
one directive, such as "Order allow,deny".
one directive, such as @samp{"Order allow,deny"}.
Defaults to @samp{()}.
@end deftypevr
@ -15343,7 +15482,7 @@ Defaults to @samp{0}.
@deftypevr {@code{cups-configuration} parameter} non-negative-integer max-job-time
Specifies the maximum time a job may take to print before it is
canceled, in seconds. Set to 0 to disable cancellation of "stuck" jobs.
canceled, in seconds. Set to 0 to disable cancellation of ``stuck'' jobs.
Defaults to @samp{10800}.
@end deftypevr
@ -16150,6 +16289,13 @@ This is the type for the @uref{https://www.pulseaudio.org/, PulseAudio}
sound server. It exists to allow system overrides of the default settings
via @code{pulseaudio-configuration}, see below.
@quotation Warning
This service overrides per-user configuration files. If you want
PulseAudio to honor configuraton files in @file{~/.config/pulse} you
have to unset the environment variables @code{PULSE_CONFIG} and
@code{PULSE_CLIENTCONFIG} in your @file{~/.bash_profile}.
@end quotation
@quotation Warning
This service on its own does not ensure, that the @code{pulseaudio} package
exists on your machine. It merely adds configuration files for it, as
@ -17078,12 +17224,12 @@ if the user doesn't yet have any mail, so you should explicitly tell
Dovecot the full location.
If you're using mbox, giving a path to the INBOX
file (e.g.@: /var/mail/%u) isn't enough. You'll also need to tell Dovecot
where the other mailboxes are kept. This is called the "root mail
directory", and it must be the first path given in the
file (e.g.@: @file{/var/mail/%u}) isn't enough. You'll also need to tell Dovecot
where the other mailboxes are kept. This is called the @emph{root mail
directory}, and it must be the first path given in the
@samp{mail-location} setting.
There are a few special variables you can use, eg.:
There are a few special variables you can use, e.g.:
@table @samp
@item %u
@ -17120,31 +17266,31 @@ Defaults to @samp{""}.
@deftypevr {@code{dovecot-configuration} parameter} string mail-privileged-group
Group to enable temporarily for privileged operations. Currently
this is used only with INBOX when either its initial creation or
dotlocking fails. Typically this is set to "mail" to give access to
/var/mail.
dotlocking fails. Typically this is set to @samp{"mail"} to give access to
@file{/var/mail}.
Defaults to @samp{""}.
@end deftypevr
@deftypevr {@code{dovecot-configuration} parameter} string mail-access-groups
Grant access to these supplementary groups for mail processes.
Typically these are used to set up access to shared mailboxes. Note
that it may be dangerous to set these if users can create
symlinks (e.g.@: if "mail" group is set here, ln -s /var/mail ~/mail/var
could allow a user to delete others' mailboxes, or ln -s
/secret/shared/box ~/mail/mybox would allow reading it).
Defaults to @samp{""}.
that it may be dangerous to set these if users can create symlinks
(e.g.@: if @samp{mail} group is set here, @code{ln -s /var/mail ~/mail/var}
could allow a user to delete others' mailboxes, or @code{ln -s
/secret/shared/box ~/mail/mybox} would allow reading it). Defaults to
@samp{""}.
@end deftypevr
@deftypevr {@code{dovecot-configuration} parameter} boolean mail-full-filesystem-access?
Allow full file system access to clients. There's no access checks
other than what the operating system does for the active UID/GID. It
works with both maildir and mboxes, allowing you to prefix mailboxes
names with e.g.@: /path/ or ~user/.
names with e.g.@: @file{/path/} or @file{~user/}.
Defaults to @samp{#f}.
@end deftypevr
@deftypevr {@code{dovecot-configuration} parameter} boolean mmap-disable?
Don't use mmap() at all. This is required if you store indexes to
Don't use @code{mmap()} at all. This is required if you store indexes to
shared file systems (NFS or clustered file system).
Defaults to @samp{#f}.
@end deftypevr
@ -17162,7 +17308,7 @@ When to use fsync() or fdatasync() calls:
@item optimized
Whenever necessary to avoid losing important data
@item always
Useful with e.g.@: NFS when write()s are delayed
Useful with e.g.@: NFS when @code{write()}s are delayed
@item never
Never use it (best performance, but crashes can lose data).
@end table
@ -17229,10 +17375,10 @@ Defaults to @samp{50}.
@deftypevr {@code{dovecot-configuration} parameter} colon-separated-file-name-list valid-chroot-dirs
List of directories under which chrooting is allowed for mail
processes (i.e.@: /var/mail will allow chrooting to /var/mail/foo/bar
processes (i.e.@: @file{/var/mail} will allow chrooting to @file{/var/mail/foo/bar}
too). This setting doesn't affect @samp{login-chroot}
@samp{mail-chroot} or auth chroot settings. If this setting is empty,
"/./" in home dirs are ignored. WARNING: Never add directories here
@samp{/./} in home dirs are ignored. WARNING: Never add directories here
which local users can modify, that may lead to root exploit. Usually
this should be done only if you don't allow shell access for users.
<doc/wiki/Chrooting.txt>.
@ -17241,11 +17387,11 @@ Defaults to @samp{()}.
@deftypevr {@code{dovecot-configuration} parameter} string mail-chroot
Default chroot directory for mail processes. This can be overridden
for specific users in user database by giving /./ in user's home
directory (e.g.@: /home/./user chroots into /home). Note that usually
for specific users in user database by giving @samp{/./} in user's home
directory (e.g.@: @samp{/home/./user} chroots into @file{/home}). Note that usually
there is no real need to do chrooting, Dovecot doesn't allow users to
access files outside their mail directory anyway. If your home
directories are prefixed with the chroot directory, append "/."@: to
directories are prefixed with the chroot directory, append @samp{/.} to
@samp{mail-chroot}. <doc/wiki/Chrooting.txt>.
Defaults to @samp{""}.
@end deftypevr
@ -18352,7 +18498,7 @@ Curve for Elliptic curve Diffie-Hellman. Prosody's default is
@end deftypevr
@deftypevr {@code{ssl-configuration} parameter} maybe-string-list verifyext
A list of "extra" verification options.
A list of ``extra'' verification options.
@end deftypevr
@deftypevr {@code{ssl-configuration} parameter} maybe-string password
@ -18440,7 +18586,7 @@ example if you want your users to have addresses like
@samp{"john.smith@@example.com"} then you need to add a host
@samp{"example.com"}. All options in this list will apply only to this host.
Note: the name "virtual" host is used in configuration to avoid confusion with
Note: the name @emph{virtual} host is used in configuration to avoid confusion with
the actual physical host that Prosody is installed on. A single Prosody
instance can serve many domains, each one defined as a VirtualHost entry in
Prosody's configuration. Conversely a server that hosts a single domain would
@ -18486,7 +18632,7 @@ Multi-user chat (MUC) is Prosody's module for allowing you to create
hosted chatrooms/conferences for XMPP users.
General information on setting up and using multi-user chatrooms can be found
in the "Chatrooms" documentation (@url{https://prosody.im/doc/chatrooms}),
in the ``Chatrooms'' documentation (@url{https://prosody.im/doc/chatrooms}),
which you should read if you are new to XMPP chatrooms.
See also @url{https://prosody.im/doc/modules/mod_muc}.
@ -19561,11 +19707,12 @@ Defaults to @samp{"nslcd"}.
@deftypevr {@code{nslcd-configuration} parameter} log-option log
This option controls the way logging is done via a list containing
SCHEME and LEVEL. The SCHEME argument may either be the symbols "none"
or "syslog", or an absolute file name. The LEVEL argument is optional
and specifies the log level. The log level may be one of the following
symbols: "crit", "error", "warning", "notice", "info" or "debug". All
messages with the specified log level or higher are logged.
SCHEME and LEVEL. The SCHEME argument may either be the symbols
@samp{none} or @samp{syslog}, or an absolute file name. The LEVEL
argument is optional and specifies the log level. The log level may be
one of the following symbols: @samp{crit}, @samp{error}, @samp{warning},
@samp{notice}, @samp{info} or @samp{debug}. All messages with the
specified log level or higher are logged.
Defaults to @samp{("/var/log/nslcd" info)}.
@ -20682,6 +20829,30 @@ but it also fetches and indexes mail retrieved from Debbugs.
This is the service type for Mumi.
@end defvr
@deftp {Data Type} mumi-configuration
Data type representing the Mumi service configuration. This type has the
following fields:
@table @asis
@item @code{mumi} (default: @code{mumi})
The Mumi package to use.
@item @code{mailer?} (default: @code{#true})
Whether to enable or disable the mailer component.
@item @code{mumi-configuration-sender}
The email address used as the sender for comments.
@item @code{mumi-configuration-smtp}
A URI to configure the SMTP settings for Mailutils. This could be
something like @code{sendmail:///path/to/bin/msmtp} or any other URI
supported by Mailutils. @xref{SMTP Mailboxes, SMTP Mailboxes,,
mailutils, GNU@tie{}Mailutils}.
@end table
@end deftp
@subsubheading FastCGI
@cindex fastcgi
@cindex fcgiwrap
@ -20850,7 +21021,7 @@ The time in seconds after which a process with no requests is killed.
@end deftp
@deffn {Scheme Procedure} nginx-php-fpm-location @
@deffn {Scheme Procedure} nginx-php-location @
[#:nginx-package nginx] @
[socket (string-append "/var/run/php" @
(version-major (package-version php)) @
@ -23423,7 +23594,7 @@ Defaults to @samp{()}.
@deftypevr {@code{libvirt-configuration} parameter} string tls-priority
Override the compile time default TLS priority string. The default is
usually "NORMAL" unless overridden at build time. Only set this is it
usually @samp{"NORMAL"} unless overridden at build time. Only set this is it
is desired for libvirt to deviate from the global default settings.
Defaults to @samp{"NORMAL"}.
@ -23557,11 +23728,12 @@ x:+name
where @code{name} is a string which is matched against the category
given in the @code{VIR_LOG_INIT()} at the top of each libvirt source
file, e.g., "remote", "qemu", or "util.json" (the name in the filter can
be a substring of the full category name, in order to match multiple
similar categories), the optional "+" prefix tells libvirt to log stack
trace for each message matching name, and @code{x} is the minimal level
where matching messages should be logged:
file, e.g., @samp{"remote"}, @samp{"qemu"}, or @samp{"util.json"} (the
name in the filter can be a substring of the full category name, in
order to match multiple similar categories), the optional @samp{"+"}
prefix tells libvirt to log stack trace for each message matching name,
and @code{x} is the minimal level where matching messages should be
logged:
@itemize @bullet
@item
@ -23979,7 +24151,7 @@ expose repositories over the Git protocol for anonymous access.
The optional @var{config} argument should be a
@code{<git-daemon-configuration>} object, by default it allows read-only
access to exported@footnote{By creating the magic file
"git-daemon-export-ok" in the repository directory.} repositories under
@file{git-daemon-export-ok} in the repository directory.} repositories under
@file{/srv/git}.
@end deffn
@ -24646,7 +24818,7 @@ Defaults to @samp{"a fast webinterface for the git dscm"}.
@deftypevr {@code{cgit-configuration} parameter} string root-readme
The content of the file specified with this option will be included
verbatim below the "about" link on the repository index page.
verbatim below the ``about'' link on the repository index page.
Defaults to @samp{""}.
@ -24663,8 +24835,8 @@ Defaults to @samp{""}.
If set to @samp{#t} and repository-directory is enabled,
repository-directory will recurse into directories whose name starts
with a period. Otherwise, repository-directory will stay away from such
directories, considered as "hidden". Note that this does not apply to
the ".git" directory in non-bare repos.
directories, considered as ``hidden''. Note that this does not apply to
the @file{.git} directory in non-bare repos.
Defaults to @samp{#f}.
@ -24727,7 +24899,7 @@ Defaults to @samp{""}.
@end deftypevr
@deftypevr {@code{cgit-configuration} parameter} integer summary-branches
Specifies the number of branches to display in the repository "summary"
Specifies the number of branches to display in the repository ``summary''
view.
Defaults to @samp{10}.
@ -24736,14 +24908,14 @@ Defaults to @samp{10}.
@deftypevr {@code{cgit-configuration} parameter} integer summary-log
Specifies the number of log entries to display in the repository
"summary" view.
``summary'' view.
Defaults to @samp{10}.
@end deftypevr
@deftypevr {@code{cgit-configuration} parameter} integer summary-tags
Specifies the number of tags to display in the repository "summary"
Specifies the number of tags to display in the repository ``summary''
view.
Defaults to @samp{10}.
@ -24835,7 +25007,7 @@ Defaults to @samp{""}.
@deftypevr {@code{repository-cgit-configuration} parameter} repo-string defbranch
The name of the default branch for this repository. If no such branch
exists in the repository, the first branch name (when sorted) is used as
default instead. By default branch pointed to by HEAD, or "master" if
default instead. By default branch pointed to by HEAD, or ``master'' if
there is no suitable HEAD.
Defaults to @samp{""}.
@ -24996,7 +25168,7 @@ Defaults to @samp{""}.
@deftypevr {@code{repository-cgit-configuration} parameter} repo-string readme
A path (relative to repo) which specifies a file to include verbatim as
the "About" page for this repo.
the ``About'' page for this repo.
Defaults to @samp{""}.
@ -25135,7 +25307,7 @@ A value like @code{#o0027} will give read access to the group used by Gitolite
like cgit or gitweb.
@item @code{git-config-keys} (default: @code{""})
Gitolite allows you to set git config values using the "config" keyword. This
Gitolite allows you to set git config values using the @samp{config} keyword. This
setting allows control over the config keys to accept.
@item @code{roles} (default: @code{'(("READERS" . 1) ("WRITERS" . ))})
@ -25383,6 +25555,42 @@ notifications.
@end table
@end deftp
@cindex modprobe
@cindex kernel module loader
@subsubsection Kernel Module Loader Service
The kernel module loader service allows one to load loadable kernel
modules at boot. This is especially useful for modules that don't
autoload and need to be manually loaded, as it's the case with
@code{ddcci}.
@deffn {Scheme Variable} kernel-module-loader-service-type
The service type for loading loadable kernel modules at boot with
@command{modprobe}. Its value must be a list of strings representing
module names. For example loading the drivers provided by
@code{ddcci-driver-linux}, in debugging mode by passing some module
parameters, can be done as follow:
@lisp
(use-modules (gnu) (gnu services))
(use-package-modules linux)
(use-service-modules linux)
(define ddcci-config
(plain-file "ddcci.conf"
"options ddcci dyndbg delay=120"))
(operating-system
...
(services (cons* (service kernel-module-loader-service-type
'("ddcci" "ddcci_backlight"))
(simple-service 'ddcci-config etc-service-type
(list `("modprobe.d/ddcci.conf"
,ddcci-config)))
%base-services))
(kernel-loadable-modules (list ddcci-driver-linux)))
@end lisp
@end deffn
@node Miscellaneous Services
@subsection Miscellaneous Services
@ -25529,6 +25737,11 @@ If true, this must be the name of a file to log messages to.
@cindex dictionary
The @code{(gnu services dict)} module provides the following service:
@defvr {Scheme Variable} dicod-service-type
This is the type of the service that runs the @command{dicod} daemon, an
implementation of DICT server (@pxref{Dicod,,, dico, GNU Dico Manual}).
@end defvr
@deffn {Scheme Procedure} dicod-service [#:config (dicod-configuration)]
Return a service that runs the @command{dicod} daemon, an implementation
of DICT server (@pxref{Dicod,,, dico, GNU Dico Manual}).
@ -26981,8 +27194,8 @@ evaluates to. As an example, @var{file} might contain a definition like this:
The file should evaluate to a list of @var{machine} objects. This example,
upon being deployed, will create a new generation on the remote system
realizing the @code{operating-system} declaration @var{%system}.
@var{environment} and @var{configuration} specify how the machine should be
realizing the @code{operating-system} declaration @code{%system}.
@code{environment} and @code{configuration} specify how the machine should be
provisioned---that is, how the computing resources should be created and
managed. The above example does not create any resources, as a
@code{'managed-host} is a machine that is already running the Guix system and
@ -27124,7 +27337,8 @@ This image boots the Xfce graphical environment and it contains some
commonly-used tools. You can install more software in the image by running
@command{guix package} in a terminal (@pxref{Invoking guix package}). You can
also reconfigure the system based on its initial configuration file available
as @file{/etc/config.scm} (@pxref{Using the Configuration System}).
as @file{/run/current-system/configuration.scm} (@pxref{Using the
Configuration System}).
Instead of using this pre-built image, one can also build their own virtual
machine image using @command{guix system vm-image} (@pxref{Invoking guix
@ -27235,7 +27449,8 @@ VM. To enable that you'll also have to pass the following flags to @command{qem
name=com.redhat.spice.0
@end example
You'll also need to add the @pxref{Miscellaneous Services, Spice service}.
You'll also need to add the @code{(spice-vdagent-service)} to your
system definition (@pxref{Miscellaneous Services, Spice service}).
@node Defining Services
@section Defining Services

View File

@ -1,6 +1,6 @@
# GNU Guix --- Functional package management for GNU
# Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
# Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2013 Andreas Enge <andreas@enge.fr>
# Copyright © 2016 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
# Copyright © 2016, 2018 Mathieu Lirzin <mthl@gnu.org>
@ -53,7 +53,8 @@ EXTRA_DIST += \
$(DOT_VECTOR_GRAPHICS) \
%D%/images/coreutils-size-map.eps \
%D%/environment-gdb.scm \
%D%/package-hello.scm
%D%/package-hello.scm \
%D%/package-hello.json
OS_CONFIG_EXAMPLES_TEXI = \
%D%/os-config-bare-bones.texi \
@ -184,6 +185,7 @@ sub_commands_mans = \
$(srcdir)/%D%/guix-archive.1 \
$(srcdir)/%D%/guix-build.1 \
$(srcdir)/%D%/guix-challenge.1 \
$(srcdir)/%D%/guix-deploy.1 \
$(srcdir)/%D%/guix-download.1 \
$(srcdir)/%D%/guix-edit.1 \
$(srcdir)/%D%/guix-environment.1 \
@ -196,12 +198,19 @@ sub_commands_mans = \
$(srcdir)/%D%/guix-pull.1 \
$(srcdir)/%D%/guix-refresh.1 \
$(srcdir)/%D%/guix-size.1 \
$(srcdir)/%D%/guix-system.1
$(srcdir)/%D%/guix-system.1 \
$(srcdir)/%D%/guix-time-machine.1 \
$(srcdir)/%D%/guix-weather.1
# Assume that cross-compiled commands cannot be executed.
if !CROSS_COMPILING
dist_man1_MANS = \
$(srcdir)/%D%/guix.1 \
$(sub_commands_mans)
endif
gen_man = \
LANGUAGE= $(top_builddir)/pre-inst-env $(HELP2MAN) \
$(HELP2MANFLAGS)
@ -223,10 +232,12 @@ $(srcdir)/%D%/guix-%.1: guix/scripts/%.scm $(GOBJECTS)
esac
if BUILD_DAEMON
if !CROSS_COMPILING
dist_man1_MANS += $(srcdir)/%D%/guix-daemon.1
$(srcdir)/%D%/guix-daemon.1: nix/nix-daemon/guix-daemon.cc
$(srcdir)/%D%/guix-daemon.1: guix-daemon$(EXEEXT)
-$(AM_V_HELP2MAN)$(gen_man) --output="$@" `basename "$@" .1`
endif
endif

31
doc/package-hello.json Normal file
View File

@ -0,0 +1,31 @@
[
{
"name": "myhello",
"version": "2.10",
"source": "mirror://gnu/hello/hello-2.10.tar.gz",
"build-system": "gnu",
"arguments": {
"tests?": false
}
"home-page": "https://www.gnu.org/software/hello/",
"synopsis": "Hello, GNU world: An example GNU package",
"description": "GNU Hello prints a greeting.",
"license": "GPL-3.0+",
"native-inputs": ["gettext"]
},
{
"name": "greeter",
"version": "1.0",
"source": "https://example.com/greeter-1.0.tar.gz",
"build-system": "gnu",
"arguments": {
"test-target": "foo",
"parallel-build?": false,
},
"home-page": "https://example.com/",
"synopsis": "Greeter using GNU Hello",
"description": "This is a wrapper around GNU Hello.",
"license": "GPL-3.0+",
"inputs": ["myhello", "hello"]
}
]

View File

@ -10,6 +10,55 @@
(channel-news
(version 0)
(entry (commit "e1e6491226347d9fb93ff484d78cef98848a510a")
(title (en "Guix Cookbook now available as Info")
(de "Guix-Kochbuch jetzt als Info-Dokument verfügbar"))
;; TRANSLATORS: Adjust the URL and the 'info' command to refer to the
;; translated manual if it's available.
(body (en "The new Guix Cookbook is now fetched by @command{guix pull}
and thus readily available in the Info format. It aims to provide tutorials
and detailed examples covering a variety of use cases. You can access it by
typing:
@example
info guix-cookbook
@end example
The Cookbook is currently available in English and German. You can also find
it @uref{https://guix.gnu.org/cookbook/en/, on-line}.
Your contributions are welcome: @uref{https://guix.gnu.org/contact/, get in
touch with the developers} to share your recipes!")
(de "Das neue Guix-Kochbuch wird nun von @command{guix pull}
geladen und steht dann im Info-Format zur Verfügung. Darin sollen Anleitungen
und detaillierte Beispiele gezeigt werden, die eine breite Spanne an
Anwendungsfällen abdecken. Um darauf zuzugreifen, geben Sie dies ein:
@example
info guix-cookbook.de
@end example
Das Kochbuch steht derzeit auf Deutsch und Englisch zur Verfügung. Sie können
auch @uref{https://guix.gnu.org/cookbook/de/, online} darauf zugreifen.
Ihre Beiträge werden gerne gesehen. Bitte
@uref{https://guix.gnu.org/contact/, kontaktieren Sie die Entwickler}, um Ihre
Rezepte mit uns zu teilen!")))
(entry (commit "0468455e7d279c89ea3ad1b51935efb2b785ec47")
(title (en "Rottlog service added to @code{%base-services}")
(de "Rottlog-Dienst ist nun Teil der @code{%base-services}"))
(body (en "An instance of @code{rottlog-service-type}, the system
service responsible for log rotation, has been added to @code{%base-services}.
If your operating system configuration for Guix System is explicitly adding
@code{rottlog-service-type} to the services, you should now remove it. See
the ``Log Rotation'' section of the manual for more information.")
(de "Eine Instanz des @code{rottlog-service-type} für
Log-Rotation wurde zu den @code{%base-services} hinzugefügt. Wenn der
Systemdienst bereits in Ihrer Konfiguration für Guix System ausdrücklich
genannt wurde, sollten Sie ihn jetzt daraus entfernen. Siehe den Abschnitt
Log-Rotation im Handbuch für weitere Informationen.")))
(entry (commit "e3e1a7ba08af2d58c47264c543617e499c239444")
(title (en "@command{guix pull} now supports SSH authenticated
repositories")

View File

@ -23,6 +23,8 @@
(guix packages)
(guix profiles)
((gnu ci) #:select (%cross-targets))
((gnu services xorg) #:select (%default-xorg-modules))
(guix utils)
(srfi srfi-1)
(srfi srfi-26))
@ -48,24 +50,31 @@ TARGET."
(define %system-packages
;; Key packages proposed by the Guix System installer.
(map specification->package
'("xorg-server" "xfce" "gnome" "mate" "enlightenment"
"openbox" "awesome" "i3-wm" "ratpoison"
"xlockmore" "slock" "libreoffice"
"connman" "network-manager" "network-manager-applet"
"openssh" "ntp" "tor"
"linux-libre" "grub-hybrid"
;; FIXME: Add IceCat when Rust is available on i686.
;;"icecat"
)))
(append (map specification->package
'("xorg-server" "xfce" "gnome" "mate" "enlightenment"
"openbox" "awesome" "i3-wm" "ratpoison"
"xlockmore" "slock" "libreoffice"
"connman" "network-manager" "network-manager-applet"
"openssh" "ntp" "tor"
"linux-libre" "grub-hybrid"
;; FIXME: Add IceCat when Rust is available on i686.
;;"icecat"
))
%default-xorg-modules))
(define %packages-to-cross-build
;; Packages that must be cross-buildable from x86_64-linux.
(cons (@ (gnu packages gcc) gcc)
(map specification->package
'("coreutils" "grep" "sed" "findutils" "diffutils" "patch"
"gawk" "gettext" "gzip" "xz"
"hello" "guile@2.2" "zlib"))))
;; FIXME: Add (@ (gnu packages gcc) gcc) when <https://bugs.gnu.org/40463>
;; is fixed.
(append (list (@ (gnu packages guile) guile-2.2/fixed))
(map specification->package
'("coreutils" "grep" "sed" "findutils" "diffutils" "patch"
"gawk" "gettext" "gzip" "xz"
"hello" "zlib"))))
(define %packages-to-cross-build-for-mingw
;; Many things don't build for MinGW. Restrict to what's known to work.
(map specification->package '("hello")))
(define %cross-bootstrap-targets
;; Cross-compilation triplets for which 'bootstrap-tarballs' must be
@ -86,13 +95,24 @@ TARGET."
%base-packages))
%hydra-supported-systems)))
(define %system-manifest
(manifest
(append-map (lambda (system)
(map (cut package->manifest-entry* <> system)
%system-packages))
'("x86_64-linux" "i686-linux")))) ;Guix System
(define %cross-manifest
(manifest
(append-map (lambda (target)
(map (cut package->manifest-entry* <> "x86_64-linux"
#:target target)
%packages-to-cross-build))
%cross-targets)))
(if (target-mingw? target)
%packages-to-cross-build-for-mingw
%packages-to-cross-build)))
;; XXX: Important bits like libsigsegv and libffi don't support
;; RISCV at the moment, so don't require RISCV support.
(delete "riscv64-linux-gnu" %cross-targets))))
(define %cross-bootstrap-manifest
(manifest
@ -104,5 +124,6 @@ TARGET."
;; Return the union of all three manifests.
(concatenate-manifests (list %base-manifest
%system-manifest
%cross-manifest
%cross-bootstrap-manifest))

View File

@ -240,7 +240,11 @@ the 'share/X11/xkb/symbols/' directory of 'xkeyboard-config'."
"-i" #+(keyboard-layout->console-keymap layout)
"-o" #$output))))
(computed-file (string-append "grub-keymap." (keyboard-layout-name layout))
(computed-file (string-append "grub-keymap."
(string-map (match-lambda
(#\, #\-)
(chr chr))
(keyboard-layout-name layout)))
builder))
(define (grub-setup-io config)

View File

@ -2,6 +2,7 @@
;;; Copyright © 2017 David Craven <david@craven.ch>
;;; Copyright © 2017, 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -37,6 +38,7 @@
u-boot-pine64-plus-bootloader
u-boot-pine64-lts-bootloader
u-boot-pinebook-bootloader
u-boot-pinebook-pro-rk3399-bootloader
u-boot-puma-rk3399-bootloader
u-boot-rock64-rk3328-bootloader
u-boot-rockpro64-rk3399-bootloader
@ -123,6 +125,8 @@
(write-file-on-device u-boot (stat:size (stat u-boot))
device (* 16384 512)))))
(define install-pinebook-pro-rk3399-u-boot install-rockpro64-rk3399-u-boot)
;;;
@ -243,3 +247,10 @@
(inherit u-boot-bootloader)
(package u-boot-rockpro64-rk3399)
(installer install-rockpro64-rk3399-u-boot)))
(define u-boot-pinebook-pro-rk3399-bootloader
;; SD and eMMC use the same format
(bootloader
(inherit u-boot-bootloader)
(package u-boot-pinebook-pro-rk3399)
(installer install-pinebook-pro-rk3399-u-boot)))

View File

@ -5,6 +5,7 @@
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -533,6 +534,24 @@ GRUB configuration and OS-DRV as the stuff in it."
;; Set all timestamps to 1.
"-volume_date" "all_file_dates" "=1"
;; zisofs compression reduces the total image size by ~60%.
"-zisofs" "level=9:block_size=128k" ; highest compression
;; It's transparent to our Linux-Libre kernel but not to GRUB.
;; Don't compress the kernel, initrd, and other files read by
;; grub.cfg, as well as common already-compressed file names.
"-find" "/" "-type" "f"
;; XXX Even after "--" above, and despite documentation claiming
;; otherwise, "-or" is stolen by grub-mkrescue which then chokes
;; on it (as -o …’) and dies. Don't use "-or".
"-not" "-wholename" "/boot/*"
"-not" "-wholename" "/System/*"
"-not" "-name" "unicode.pf2"
"-not" "-name" "bzImage"
"-not" "-name" "*.gz" ; initrd & all man pages
"-not" "-name" "*.png" ; includes grub-image.png
"-exec" "set_filter" "--zisofs"
"--"
"-volid" (string-upcase volume-id)
(if volume-uuid
`("-volume_date" "uuid"

View File

@ -128,7 +128,6 @@ SYSTEM."
(define %cross-targets
'("mips64el-linux-gnu"
"mips64el-linux-gnuabi64"
"arm-linux-gnueabihf"
"aarch64-linux-gnu"
"powerpc-linux-gnu"

View File

@ -2,6 +2,7 @@
;;; Copyright © 2018, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Florian Pelz <pelzflorian@pelzflorian.de>
;;;
;;; This file is part of GNU Guix.
;;;
@ -113,11 +114,12 @@ version of this file."
(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)))))))
;; language that corresponds to LOCALE. Make sure that nothing is
;; printed on the console.
(parameterize ((shepherd-message-port
(%make-void-port "w")))
(stop-service 'term-tty2)
(start-service 'term-tty2 (list locale))))))
(define* (compute-locale-step #:key
locales-name
@ -168,11 +170,11 @@ been performed at build time."
(define apply-keymap
;; Apply the specified keymap. Use the default keyboard model.
#~(match-lambda
((layout variant)
((layout variant options)
(kmscon-update-keymap (default-keyboard-model)
layout variant))))
layout variant options))))
(define* (compute-keymap-step)
(define* (compute-keymap-step context)
"Return a gexp that runs the keymap-page of INSTALLER and install the
selected keymap."
#~(lambda (current-installer)
@ -184,7 +186,7 @@ selected keymap."
"/share/X11/xkb/rules/base.xml")))
(lambda (models layouts)
((installer-keymap-page current-installer)
layouts)))))
layouts '#$context)))))
(#$apply-keymap result)
result)))
@ -193,10 +195,15 @@ selected keymap."
#:locales-name "locales"
#:iso639-languages-name "iso639-languages"
#:iso3166-territories-name "iso3166-territories"))
(keymap-step (compute-keymap-step))
(timezone-data #~(string-append #$tzdata
"/share/zoneinfo/zone.tab")))
#~(lambda (current-installer)
((installer-parameters-menu current-installer)
(lambda ()
((installer-parameters-page current-installer)
(lambda _
(#$(compute-keymap-step 'param)
current-installer)))))
(list
;; Ask the user to choose a locale among those supported by
;; the glibc. Install the selected locale right away, so that
@ -228,17 +235,19 @@ selected keymap."
;; The installer runs in a kmscon virtual terminal where loadkeys
;; won't work. kmscon uses libxkbcommon as a backend for keyboard
;; input. It is possible to update kmscon current keymap by sending it
;; a keyboard model, layout and variant, in a somehow similar way as
;; what is done with setxkbmap utility.
;; input. It is possible to update kmscon current keymap by sending
;; it a keyboard model, layout, variant and options, in a somehow
;; similar way as what is done with setxkbmap utility.
;;
;; So ask for a keyboard model, layout and variant to update the
;; current kmscon keymap.
;; current kmscon keymap. For non-Latin layouts, we add an
;; appropriate second layout and toggle via Alt+Shift.
(installer-step
(id 'keymap)
(description (G_ "Keyboard mapping selection"))
(compute (lambda _
(#$keymap-step current-installer)))
(#$(compute-keymap-step 'default)
current-installer)))
(configuration-formatter keyboard-layout->configuration))
;; Ask the user to input a hostname for the system.
@ -271,7 +280,7 @@ selected keymap."
(description (G_ "Services"))
(compute (lambda _
((installer-services-page current-installer))))
(configuration-formatter system-services->configuration))
(configuration-formatter system-services->configuration))
;; Run a partitioning tool allowing the user to modify
;; partition tables, partitions and their mount points.
@ -284,7 +293,7 @@ selected keymap."
((installer-partition-page current-installer))))
(configuration-formatter user-partitions->configuration))
(installer-step
(installer-step
(id 'final)
(description (G_ "Configuration file"))
(compute
@ -292,25 +301,6 @@ selected keymap."
((installer-final-page current-installer)
result prev-steps))))))))
(define guile-newt
;; Guile-Newt with 'form-watch-fd'.
;; TODO: Remove once a new release is out.
(let ((commit "b3c885d42cfac327d3531c9d064939514ce6bf12")
(revision "1"))
(package
(inherit (@ (gnu packages guile-xyz) guile-newt))
(name "guile-newt")
(version (git-version "0.0.1" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/mothacehe/guile-newt")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"02p0bi6c05699idgx6gfkljhqgi8zf09clhzx81i8wa064s70r1y")))))))
(define (installer-program)
"Return a file-like object that runs the given INSTALLER."
(define init-gettext
@ -368,6 +358,7 @@ selected keymap."
(gnu installer services)
(gnu installer timezone)
(gnu installer user)
(gnu installer utils)
(gnu installer newt)
((gnu installer newt keymap)
#:select (keyboard-layout->configuration))

View File

@ -393,6 +393,7 @@ interactive connmanctl process."
(dynamic-wind
(const #t)
(lambda ()
(setvbuf pipe 'line)
(run-connection-sequence pipe)
#t)
(lambda ()

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020 Florian Pelz <pelzflorian@pelzflorian.de>
;;;
;;; This file is part of GNU Guix.
;;;
@ -154,8 +155,8 @@ Configuration Database, describing possible XKB configurations."
((models layouts)
(values models layouts)))))
(define (kmscon-update-keymap model layout variant)
"Update kmscon keymap with the provided MODEL, LAYOUT and VARIANT."
(define (kmscon-update-keymap model layout variant options)
"Update kmscon keymap with the provided MODEL, LAYOUT, VARIANT and OPTIONS."
(and=>
(getenv "KEYMAP_UPDATE")
(lambda (keymap-file)
@ -174,5 +175,8 @@ Configuration Database, describing possible XKB configurations."
(format port layout)
(put-u8 port 0)
(format port variant)
(format port (or variant ""))
(put-u8 port 0)
(format port (or options ""))
(put-u8 port 0))))))

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2018, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -21,6 +21,7 @@
#:use-module (gnu installer utils)
#:use-module (gnu installer newt ethernet)
#:use-module (gnu installer newt final)
#:use-module (gnu installer newt parameters)
#:use-module (gnu installer newt hostname)
#:use-module (gnu installer newt keymap)
#:use-module (gnu installer newt locale)
@ -44,7 +45,9 @@
(define (init)
(newt-init)
(clear-screen)
(set-screen-size!))
(set-screen-size!)
(push-help-line
(format #f (G_ "Press <F1> for installation parameters."))))
(define (exit)
(newt-finish)
@ -91,8 +94,8 @@ problem. The backtrace is displayed below. Please report it by email to \
(define (menu-page steps)
(run-menu-page steps))
(define* (keymap-page layouts)
(run-keymap-page layouts))
(define* (keymap-page layouts context)
(run-keymap-page layouts #:context context))
(define (network-page)
(run-network-page))
@ -109,6 +112,12 @@ problem. The backtrace is displayed below. Please report it by email to \
(define (services-page)
(run-services-page))
(define (parameters-menu menu-proc)
(newt-set-help-callback menu-proc))
(define (parameters-page keyboard-layout-selection)
(run-parameters-page keyboard-layout-selection))
(define newt-installer
(installer
(name 'newt)
@ -125,4 +134,6 @@ problem. The backtrace is displayed below. Please report it by email to \
(user-page user-page)
(partition-page partition-page)
(services-page services-page)
(welcome-page welcome-page)))
(welcome-page welcome-page)
(parameters-menu parameters-menu)
(parameters-page parameters-page)))

View File

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2018, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2020 Florian Pelz <pelzflorian@pelzflorian.de>
;;;
;;; This file is part of GNU Guix.
;;;
@ -33,20 +34,34 @@
#:export (run-keymap-page
keyboard-layout->configuration))
(define (run-layout-page layouts layout->text)
(define (run-layout-page layouts layout->text context)
(let ((title (G_ "Layout")))
(run-listbox-selection-page
#:title title
#:info-text (G_ "Please choose your keyboard layout.")
#:info-text
(case context
((param) (G_ "Please choose your keyboard layout. \
It will only be used during the installation process. \
Non-Latin layouts can be toggled with Alt+Shift."))
(else (G_ "Please choose your keyboard layout. \
It will be used during the install process, and for the installed system. \
Non-Latin layouts can be toggled with Alt+Shift. You can switch to a \
different layout at any time from the parameters menu.")))
#:listbox-items layouts
#:listbox-item->text layout->text
#:sort-listbox-items? #f
#:button-text (G_ "Exit")
#:button-text
(case context
((param) (G_ "Continue"))
(else (G_ "Exit")))
#:button-callback-procedure
(lambda _
(raise
(condition
(&installer-step-abort)))))))
(case context
((param) (const #t))
(else
(lambda _
(raise
(condition
(&installer-step-abort)))))))))
(define (run-variant-page variants variant->text)
(let ((title (G_ "Variant")))
@ -89,21 +104,66 @@
(append (sort main layout<?)
(sort others layout<?)))))
(define (add-empty-variant variants)
"Prepend #f to VARIANTS so the user has the option to select no variant.
The resulting layout may be different from all other variants (e.g. for
Azerbaijani)."
(cons #f variants))
(define (sort-variants variants)
"Sort VARIANTS list by putting the international variant ahead and return it."
(call-with-values
(lambda ()
(partition
(lambda (variant)
(let ((name (x11-keymap-variant-name variant)))
(string=? name "altgr-intl")))
(and variant
(let ((name (x11-keymap-variant-name variant)))
(string=? name "altgr-intl"))))
variants))
(cut append <> <>)))
(define* (run-keymap-page layouts)
(define %non-latin-layouts
;; List of keyboard layouts marked as $nonlatin in xkeyboard-config.
;; See comments in xkeyboard-config file /share/X11/xkb/rules/base.
;; We ignore layouts that support Latin input: "kr"
'("am" "ara" "ben" "bd" "bg" "bt" "by" "cs" "deva" "ge" "gh"
"gr" "guj" "guru" "il" "in" "ir" "iku" "jp" "kan" "kh"
"la" "lao" "lk" "mk" "mm" "mn" "mv" "mal" "olck" "ori" "pk"
"ru" "scc" "sy" "syr" "tel" "th" "tj" "tam" "ua" "uz"
;; The list from xkeyboard-config is incomplete. Add more layouts when
;; noticed:
"et" "kz"))
(define %non-latin-variants
'("cyrillic"))
(define %latin-layout+variants
;; These layout+variant combinations are Latin after all.
'(("ir" "ku")))
(define (toggleable-latin-layout layout variant)
"If LAYOUT is a non-Latin layout, return a new combined layout,
a variant, and options that allow the user to switch between the
non-Latin and the Latin layout. Otherwise, return LAYOUT, VARIANT,
and #f."
(if (and (not (equal? variant "latin"))
(not (member (list layout variant) %latin-layout+variants))
(or (member layout %non-latin-layouts)
(member variant %non-latin-variants)))
(let ((latin-layout (if (equal? variant "azerty") "fr" "us")))
(list
(string-append layout "," latin-layout)
;; Comma to use variant only for non-Latin:
(and variant (string-append variant ","))
"grp:alt_shift_toggle"))
(list layout variant #f)))
(define* (run-keymap-page layouts #:key (context #f))
"Run a page asking the user to select a keyboard layout and variant. LAYOUTS
is a list of supported X11-KEYMAP-LAYOUT. Return a list of two elements, the
names of the selected keyboard layout and variant."
is a list of supported X11-KEYMAP-LAYOUT. For non-Latin keyboard layouts, a
second layout and toggle options will be added automatically. Return a list
of three elements, the names of the selected keyboard layout, variant and
options."
(define keymap-steps
(list
(installer-step
@ -114,7 +174,8 @@ names of the selected keyboard layout and variant."
(sort-layouts layouts)
(lambda (layout)
(gettext (x11-keymap-layout-description layout)
"xkeyboard-config"))))))
"xkeyboard-config"))
context))))
;; Propose the user to select a variant among those supported by the
;; previously selected layout.
(installer-step
@ -126,10 +187,14 @@ names of the selected keyboard layout and variant."
;; Return #f if the layout does not have any variant.
(and (not (null? variants))
(run-variant-page
(sort-variants variants)
(sort-variants (add-empty-variant variants))
(lambda (variant)
(gettext (x11-keymap-variant-description variant)
"xkeyboard-config"))))))))))
(if variant
(gettext (x11-keymap-variant-description variant)
"xkeyboard-config")
;; Text to opt for no variant at all:
(gettext (x11-keymap-layout-description layout)
"xkeyboard-config")))))))))))
(define (format-result result)
(let ((layout (x11-keymap-layout-name
@ -138,14 +203,20 @@ names of the selected keyboard layout and variant."
(lambda (variant)
(gettext (x11-keymap-variant-name variant)
"xkeyboard-config")))))
(list layout (or variant ""))))
(toggleable-latin-layout layout 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 "")
((name #f "grp:alt_shift_toggle")
`((keyboard-layout (keyboard-layout ,name
#:options '("grp:alt_shift_toggle")))))
((name #f _)
`((keyboard-layout (keyboard-layout ,name))))
((name variant)
((name variant "grp:alt_shift_toggle")
`((keyboard-layout (keyboard-layout ,name ,variant
#:options '("grp:alt_shift_toggle")))))
((name variant _)
`((keyboard-layout (keyboard-layout ,name ,variant))))))

View File

@ -231,7 +231,7 @@ input box, such as FLAG-PASSWORD."
(add-component-callback
input-visible-cb
(lambda (component)
(lambda ()
(set-entry-flags input-entry
FLAG-PASSWORD
FLAG-ROLE-TOGGLE)))
@ -486,7 +486,7 @@ the current listbox item has to be selected by key."
;; do nothing.
(add-component-callback
listbox
(lambda (component)
(lambda ()
(let* ((current-key (current-listbox-entry listbox))
(listbox-keys (map car keys))
(last-key (last-listbox-key))

View File

@ -0,0 +1,57 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu installer newt parameters)
#:use-module (gnu installer proxy)
#:use-module (gnu installer steps)
#:use-module (gnu installer newt page)
#:use-module (guix i18n)
#:use-module (ice-9 match)
#:use-module (newt)
#:export (run-parameters-page))
(define (run-proxy-page)
(define proxy
(run-input-page (G_ "Please enter the HTTP proxy URL. If you enter an \
empty string, proxy usage will be disabled.")
(G_ "HTTP proxy configuration")
#:allow-empty-input? #t))
(if (string=? proxy "")
(clear-http-proxy)
(set-http-proxy proxy)))
(define (run-parameters-page keyboard-layout-selection)
"Run a parameters page allowing to change the keyboard layout"
(let* ((items
(list
(cons (G_ "Change keyboard layout") keyboard-layout-selection)
(cons (G_ "Configure HTTP proxy") run-proxy-page)))
(result
(run-listbox-selection-page
#:info-text (G_ "Please choose one of the following parameters or \
press Back to go back to the installation process.")
#:title (G_ "Installation parameters")
#:listbox-items items
#:listbox-item->text car
#:sort-listbox-items? #f
#:listbox-height 6
#:button-text (G_ "Back"))))
(match result
((_ . proc)
(proc))
(_ #f))))

View File

@ -89,7 +89,7 @@ REAL-NAME, and HOME-DIRECTORY as the initial values in the form."
(add-component-callback
entry-name
(lambda (component)
(lambda ()
(set-entry-text entry-home-directory
(string-append "/home/" (entry-value entry-name)))
@ -99,7 +99,7 @@ REAL-NAME, and HOME-DIRECTORY as the initial values in the form."
(add-component-callback
password-visible-cb
(lambda (component)
(lambda ()
(set-entry-flags entry-password
FLAG-PASSWORD
FLAG-ROLE-TOGGLE)))

45
gnu/installer/proxy.scm Normal file
View File

@ -0,0 +1,45 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu installer proxy)
#:use-module (gnu services herd)
#:export (set-http-proxy
clear-http-proxy))
(define-syntax-rule (with-silent-shepherd exp ...)
(parameterize ((shepherd-message-port
(%make-void-port "w")))
exp ...))
(define (set-http-proxy proxy)
(with-silent-shepherd
(with-shepherd-action 'guix-daemon
('set-http-proxy proxy)
result
result)))
(define (clear-http-proxy)
(with-silent-shepherd
(with-shepherd-action 'guix-daemon
('set-http-proxy)
result
result)))
;; Local Variables:
;; eval: (put 'with-silent-shepherd 'scheme-indent-function 0)
;; End:

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2018, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020 Florian Pelz <pelzflorian@pelzflorian.de>
;;;
;;; This file is part of GNU Guix.
;;;
@ -37,7 +38,9 @@
installer-user-page
installer-partition-page
installer-services-page
installer-welcome-page))
installer-welcome-page
installer-parameters-menu
installer-parameters-page))
;;;
@ -61,7 +64,7 @@
(exit-error installer-exit-error)
;; procedure void -> void
(final-page installer-final-page)
;; procedure (layouts) -> (list layout variant)
;; procedure (layouts context) -> (list layout variant options)
(keymap-page installer-keymap-page)
;; procedure: (#:key supported-locales iso639-languages iso3166-territories)
;; -> glibc-locale
@ -81,4 +84,8 @@
;; procedure void -> void
(services-page installer-services-page)
;; procedure (logo) -> void
(welcome-page installer-welcome-page))
(welcome-page installer-welcome-page)
;; procedure (menu-proc) -> void
(parameters-menu installer-parameters-menu)
;; procedure (keyboard-layout-selection) -> void
(parameters-page installer-parameters-page))

View File

@ -296,8 +296,13 @@ file, actually starting the installation process."
encrypted
not-encrypted))
((list-selection (title "Disk") (multiple-choices? #f)
(items (,disk _ ...)))
disk)
(items (,disks ...)))
;; When running the installation from an ISO image, the CD/DVD drive
;; shows up in the list. Avoid it.
(find (lambda (disk)
(not (or (string-contains disk "DVD")
(string-contains disk "CD-ROM"))))
disks))
;; The "Partition table" dialog pops up only if there's not already a
;; partition table.

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2018, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
@ -93,7 +93,8 @@ COMMAND exited successfully, #f otherwise."
(setenv "LC_ALL" locale)
(setenv "LANGUAGE"
(string-take locale
(string-index locale #\_))))))
(or (string-index locale #\_)
(string-length locale)))))))
(guard (c ((invoke-error? c)
(newline)

View File

@ -10,7 +10,7 @@
# Copyright © 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
# Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
# Copyright © 2016, 2017, 2018, 2019 Alex Vong <alexvong1995@gmail.com>
# Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
# Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
# Copyright © 2016, 2017, 2018, 2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
# Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
# Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
@ -28,6 +28,11 @@
# Copyright © 2019 Amin Bandali <bandali@gnu.org>
# Copyright © 2020 Brendan Tildesley <mail@brendan.scot>
# Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
# Copyright © 2020 R Veera Kumar <vkor@vkten.in>
# Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz>
# Copyright © 2020 Michael Rohleder <mike@rohleder.de>
# Copyright © 2020 Felix Gruber <felgru@posteo.net>
# Copyright © 2020 Ryan Prior <rprior@protonmail.com>
#
# This file is part of GNU Guix.
#
@ -254,7 +259,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/haskell-crypto.scm \
%D%/packages/haskell-web.scm \
%D%/packages/haskell-xyz.scm \
%D%/packages/ham-radio.scm \
%D%/packages/hexedit.scm \
%D%/packages/hugs.scm \
%D%/packages/hurd.scm \
@ -319,6 +323,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/libusb.scm \
%D%/packages/libunwind.scm \
%D%/packages/lighting.scm \
%D%/packages/linphone.scm \
%D%/packages/linux.scm \
%D%/packages/lirc.scm \
%D%/packages/lisp.scm \
@ -343,6 +348,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/marst.scm \
%D%/packages/mate.scm \
%D%/packages/maths.scm \
%D%/packages/matrix.scm \
%D%/packages/maven.scm \
%D%/packages/mc.scm \
%D%/packages/mcrypt.scm \
@ -431,6 +437,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/toys.scm \
%D%/packages/tryton.scm \
%D%/packages/qt.scm \
%D%/packages/radio.scm \
%D%/packages/ragel.scm \
%D%/packages/rails.scm \
%D%/packages/ratpoison.scm \
@ -459,7 +466,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/scsi.scm \
%D%/packages/sdcc.scm \
%D%/packages/sdl.scm \
%D%/packages/sdr.scm \
%D%/packages/search.scm \
%D%/packages/security-token.scm \
%D%/packages/selinux.scm \
@ -517,6 +523,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/video.scm \
%D%/packages/vim.scm \
%D%/packages/virtualization.scm \
%D%/packages/visidata.scm \
%D%/packages/vnc.scm \
%D%/packages/vpn.scm \
%D%/packages/vulkan.scm \
@ -565,6 +572,7 @@ GNU_SYSTEM_MODULES = \
%D%/services/getmail.scm \
%D%/services/guix.scm \
%D%/services/kerberos.scm \
%D%/services/linux.scm \
%D%/services/lirc.scm \
%D%/services/virtualization.scm \
%D%/services/mail.scm \
@ -658,6 +666,7 @@ INSTALLER_MODULES = \
%D%/installer/locale.scm \
%D%/installer/newt.scm \
%D%/installer/parted.scm \
%D%/installer/proxy.scm \
%D%/installer/record.scm \
%D%/installer/services.scm \
%D%/installer/steps.scm \
@ -668,6 +677,7 @@ INSTALLER_MODULES = \
\
%D%/installer/newt/ethernet.scm \
%D%/installer/newt/final.scm \
%D%/installer/newt/parameters.scm \
%D%/installer/newt/hostname.scm \
%D%/installer/newt/keymap.scm \
%D%/installer/newt/locale.scm \
@ -719,7 +729,7 @@ dist_patch_DATA = \
%D%/packages/patches/aegisub-boost68.patch \
%D%/packages/patches/agg-am_c_prototype.patch \
%D%/packages/patches/akonadi-paths.patch \
%D%/packages/patches/akonadi-Revert-Make-installation-properly-relo.patch \
%D%/packages/patches/akonadi-not-relocatable.patch \
%D%/packages/patches/akonadi-timestamps.patch \
%D%/packages/patches/allegro-mesa-18.2.5-and-later.patch \
%D%/packages/patches/amule-crypto-6.patch \
@ -728,7 +738,6 @@ dist_patch_DATA = \
%D%/packages/patches/antlr3-3_1-fix-java8-compilation.patch \
%D%/packages/patches/antlr3-3_3-fix-java8-compilation.patch \
%D%/packages/patches/apr-skip-getservbyname-test.patch \
%D%/packages/patches/arm-trusted-firmware-disable-hdcp.patch \
%D%/packages/patches/aspell-default-dict-dir.patch \
%D%/packages/patches/aspell-gcc-compat.patch \
%D%/packages/patches/ath9k-htc-firmware-binutils.patch \
@ -761,16 +770,21 @@ dist_patch_DATA = \
%D%/packages/patches/bash-completion-directories.patch \
%D%/packages/patches/bastet-change-source-of-unordered_set.patch \
%D%/packages/patches/bazaar-CVE-2017-14176.patch \
%D%/packages/patches/beancount-disable-googleapis-fonts.patch \
%D%/packages/patches/beets-werkzeug-compat.patch \
%D%/packages/patches/beignet-correct-file-names.patch \
%D%/packages/patches/benchmark-unbundle-googletest.patch \
%D%/packages/patches/biber-fix-encoding-write.patch \
%D%/packages/patches/biber-sortinithash.patch \
%D%/packages/patches/bidiv-update-fribidi.patch \
%D%/packages/patches/binutils-boot-2.20.1a.patch \
%D%/packages/patches/binutils-loongson-workaround.patch \
%D%/packages/patches/binutils-mingw-w64-timestamp.patch \
%D%/packages/patches/binutils-mingw-w64-deterministic.patch \
%D%/packages/patches/blender-2.79-newer-ffmpeg.patch \
%D%/packages/patches/blender-2.79-python-3.7-fix.patch \
%D%/packages/patches/byobu-writable-status.patch \
%D%/packages/patches/calibre-msgpack-compat.patch \
%D%/packages/patches/calibre-no-updates-dialog.patch \
%D%/packages/patches/calibre-remove-test-bs4.patch \
%D%/packages/patches/calibre-remove-test-sqlite.patch \
@ -790,6 +804,7 @@ dist_patch_DATA = \
%D%/packages/patches/clang-6.0-libc-search-path.patch \
%D%/packages/patches/clang-7.0-libc-search-path.patch \
%D%/packages/patches/clang-9.0-libc-search-path.patch \
%D%/packages/patches/clang-10.0-libc-search-path.patch \
%D%/packages/patches/clang-runtime-asan-build-fixes.patch \
%D%/packages/patches/clang-runtime-esan-build-fixes.patch \
%D%/packages/patches/classpath-aarch64-support.patch \
@ -812,6 +827,7 @@ dist_patch_DATA = \
%D%/packages/patches/cvs-CVE-2017-12836.patch \
%D%/packages/patches/date-output-pkg-config-files.patch \
%D%/packages/patches/darkice-workaround-fpermissive-error.patch \
%D%/packages/patches/dbacl-include-locale.h.patch \
%D%/packages/patches/dbus-helper-search-path.patch \
%D%/packages/patches/dbus-c++-gcc-compat.patch \
%D%/packages/patches/dbus-c++-threading-mutex.patch \
@ -831,6 +847,7 @@ dist_patch_DATA = \
%D%/packages/patches/doxygen-test.patch \
%D%/packages/patches/dstat-fix-crash-when-specifying-delay.patch \
%D%/packages/patches/dstat-skip-devices-without-io.patch \
%D%/packages/patches/dune-istl-2.7-fix-non-mpi-tests.patch \
%D%/packages/patches/dvd+rw-tools-add-include.patch \
%D%/packages/patches/eigen-stabilise-sparseqr-test.patch \
%D%/packages/patches/einstein-build.patch \
@ -839,7 +856,6 @@ dist_patch_DATA = \
%D%/packages/patches/elm-compiler-disable-reactor.patch \
%D%/packages/patches/elm-compiler-fix-map-key.patch \
%D%/packages/patches/emacs27-exec-path.patch \
%D%/packages/patches/emacs-dired-toggle-sudo-emacs-26.patch \
%D%/packages/patches/emacs-exec-path.patch \
%D%/packages/patches/emacs-fix-scheme-indent-function.patch \
%D%/packages/patches/emacs-json-reformat-fix-tests.patch \
@ -847,6 +863,7 @@ dist_patch_DATA = \
%D%/packages/patches/emacs-magit-log-format-author-margin.patch \
%D%/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch \
%D%/packages/patches/emacs-source-date-epoch.patch \
%D%/packages/patches/emacs-telega-test-env.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 \
@ -920,6 +937,7 @@ dist_patch_DATA = \
%D%/packages/patches/gd-CVE-2019-6978.patch \
%D%/packages/patches/gd-fix-tests-on-i686.patch \
%D%/packages/patches/gd-freetype-test-failure.patch \
%D%/packages/patches/gdm-default-session.patch \
%D%/packages/patches/geoclue-config.patch \
%D%/packages/patches/ghc-8.0-fall-back-to-madv_dontneed.patch \
%D%/packages/patches/ghc-diff-swap-cover-args.patch \
@ -972,6 +990,7 @@ dist_patch_DATA = \
%D%/packages/patches/gmp-faulty-test.patch \
%D%/packages/patches/gnome-shell-theme.patch \
%D%/packages/patches/gnome-tweaks-search-paths.patch \
%D%/packages/patches/gnupg-default-pinentry.patch \
%D%/packages/patches/gnutls-skip-trust-store-test.patch \
%D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \
%D%/packages/patches/gobject-introspection-cc.patch \
@ -1005,7 +1024,6 @@ dist_patch_DATA = \
%D%/packages/patches/gtksourceview-2-add-default-directory.patch \
%D%/packages/patches/gzdoom-search-in-installed-share.patch \
%D%/packages/patches/gzdoom-find-system-libgme.patch \
%D%/packages/patches/hash-extender-test-suite.patch \
%D%/packages/patches/haskell-mode-unused-variables.patch \
%D%/packages/patches/haskell-mode-make-check.patch \
%D%/packages/patches/hdf4-architectures.patch \
@ -1021,7 +1039,6 @@ dist_patch_DATA = \
%D%/packages/patches/hdf-eos5-remove-gctp.patch \
%D%/packages/patches/hdf-eos5-fix-szip.patch \
%D%/packages/patches/hdf-eos5-fortrantests.patch \
%D%/packages/patches/higan-remove-march-native-flag.patch \
%D%/packages/patches/hubbub-sort-entities.patch \
%D%/packages/patches/hurd-fix-eth-multiplexer-dependency.patch \
%D%/packages/patches/hplip-remove-imageprocessor.patch \
@ -1056,6 +1073,7 @@ dist_patch_DATA = \
%D%/packages/patches/jfsutils-add-sysmacros.patch \
%D%/packages/patches/jfsutils-include-systypes.patch \
%D%/packages/patches/jsoncpp-fix-inverted-case.patch \
%D%/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch \
%D%/packages/patches/kdbusaddons-kinit-file-name.patch \
%D%/packages/patches/libnftnl-dont-check-NFTNL_FLOWTABLE_SIZE.patch \
%D%/packages/patches/libvirt-create-machine-cgroup.patch \
@ -1131,6 +1149,7 @@ dist_patch_DATA = \
%D%/packages/patches/libmpeg2-global-symbol-test.patch \
%D%/packages/patches/libmygpo-qt-fix-qt-5.11.patch \
%D%/packages/patches/libmygpo-qt-missing-qt5-modules.patch \
%D%/packages/patches/libqalculate-3.8.0-libcurl-ssl-fix.patch \
%D%/packages/patches/libsndfile-armhf-type-checks.patch \
%D%/packages/patches/libsndfile-CVE-2017-8361-8363-8365.patch \
%D%/packages/patches/libsndfile-CVE-2017-8362.patch \
@ -1149,7 +1168,6 @@ dist_patch_DATA = \
%D%/packages/patches/libvnc-CVE-2018-20750.patch \
%D%/packages/patches/libvnc-CVE-2019-15681.patch \
%D%/packages/patches/libvpx-CVE-2016-2818.patch \
%D%/packages/patches/libvpx-use-after-free-in-postproc.patch \
%D%/packages/patches/libxslt-generated-ids.patch \
%D%/packages/patches/libxt-guix-search-paths.patch \
%D%/packages/patches/lierolibre-check-unaligned-access.patch \
@ -1189,12 +1207,15 @@ dist_patch_DATA = \
%D%/packages/patches/mcrypt-CVE-2012-4426.patch \
%D%/packages/patches/mcrypt-CVE-2012-4527.patch \
%D%/packages/patches/libmemcached-build-with-gcc7.patch \
%D%/packages/patches/mediastreamer2-srtp2.patch \
%D%/packages/patches/mesa-skip-disk-cache-test.patch \
%D%/packages/patches/mescc-tools-boot.patch \
%D%/packages/patches/meson-for-build-rpath.patch \
%D%/packages/patches/metabat-fix-compilation.patch \
%D%/packages/patches/mhash-keygen-test-segfault.patch \
%D%/packages/patches/mingw-w64-6.0.0-gcc.patch \
%D%/packages/patches/mingw-w64-dlltool-temp-prefix.patch \
%D%/packages/patches/mingw-w64-reproducible-gendef.patch \
%D%/packages/patches/minisat-friend-declaration.patch \
%D%/packages/patches/minisat-install.patch \
%D%/packages/patches/mpc123-initialize-ao.patch \
@ -1254,6 +1275,7 @@ dist_patch_DATA = \
%D%/packages/patches/opencv-rgbd-aarch64-test-fix.patch \
%D%/packages/patches/openfoam-4.1-cleanup.patch \
%D%/packages/patches/openjdk-10-idlj-reproducibility.patch \
%D%/packages/patches/openldap-CVE-2020-12243.patch \
%D%/packages/patches/openmpi-mtl-priorities.patch \
%D%/packages/patches/openocd-nrf52.patch \
%D%/packages/patches/openssl-runpath.patch \
@ -1268,11 +1290,12 @@ dist_patch_DATA = \
%D%/packages/patches/p7zip-CVE-2016-9296.patch \
%D%/packages/patches/p7zip-CVE-2017-17969.patch \
%D%/packages/patches/p7zip-remove-unused-code.patch \
%D%/packages/patches/pam-krb5-CVE-2020-10595.patch \
%D%/packages/patches/pam-mount-luks2-support.patch \
%D%/packages/patches/sdl-pango-api_additions.patch \
%D%/packages/patches/sdl-pango-blit_overflow.patch \
%D%/packages/patches/sdl-pango-fillrect_crash.patch \
%D%/packages/patches/sdl-pango-fix-explicit-SDLPango_CopyFTBitmapTo.patch \
%D%/packages/patches/sdl-pango-header-guard.patch \
%D%/packages/patches/sdl-pango-matrix_declarations.patch \
%D%/packages/patches/sdl-pango-sans-serif.patch \
%D%/packages/patches/patchutils-test-perms.patch \
@ -1336,6 +1359,7 @@ dist_patch_DATA = \
%D%/packages/patches/python-3.8-search-paths.patch \
%D%/packages/patches/python-3.8-fix-tests.patch \
%D%/packages/patches/python-CVE-2018-14647.patch \
%D%/packages/patches/python-aiohttp-3.6.2-no-warning-fail.patch \
%D%/packages/patches/python-alembic-exceptions-cause.patch \
%D%/packages/patches/python-axolotl-AES-fix.patch \
%D%/packages/patches/python-cairocffi-dlopen-path.patch \
@ -1347,7 +1371,7 @@ dist_patch_DATA = \
%D%/packages/patches/python-pep8-stdlib-tokenize-compat.patch \
%D%/packages/patches/python-pyfakefs-remove-bad-test.patch \
%D%/packages/patches/python-flint-includes.patch \
%D%/packages/patches/python-jedi-deleted-variables.patch \
%D%/packages/patches/python-jedi-sort-project-test.patch \
%D%/packages/patches/python-libxml2-utf8.patch \
%D%/packages/patches/python-mox3-python3.6-compat.patch \
%D%/packages/patches/python-testtools.patch \
@ -1388,7 +1412,6 @@ dist_patch_DATA = \
%D%/packages/patches/readline-link-ncurses.patch \
%D%/packages/patches/readline-6.2-CVE-2014-2524.patch \
%D%/packages/patches/reposurgeon-add-missing-docbook-files.patch \
%D%/packages/patches/reprotest-support-guix.patch \
%D%/packages/patches/ri-li-modernize_cpp.patch \
%D%/packages/patches/ripperx-missing-file.patch \
%D%/packages/patches/rpcbind-CVE-2017-8779.patch \
@ -1412,7 +1435,6 @@ dist_patch_DATA = \
%D%/packages/patches/scotch-build-parallelism.patch \
%D%/packages/patches/scotch-integer-declarations.patch \
%D%/packages/patches/sdl-libx11-1.6.patch \
%D%/packages/patches/sdl2-mesa-compat.patch \
%D%/packages/patches/seahorse-gkr-use-0-on-empty-flags.patch \
%D%/packages/patches/seq24-rename-mutex.patch \
%D%/packages/patches/sharutils-CVE-2018-1000097.patch \
@ -1465,8 +1487,13 @@ dist_patch_DATA = \
%D%/packages/patches/ttfautohint-source-date-epoch.patch \
%D%/packages/patches/tomb-fix-errors-on-open.patch \
%D%/packages/patches/tuxpaint-stamps-path.patch \
%D%/packages/patches/txr-shell.patch \
%D%/packages/patches/u-boot-riscv64-fix-extlinux.patch \
%D%/packages/patches/u-boot-DT-for-Pinebook-Pro.patch \
%D%/packages/patches/u-boot-add-boe-nv140fhmn49-display.patch \
%D%/packages/patches/u-boot-gpio-keys-binding-cons.patch \
%D%/packages/patches/u-boot-leds-common-binding-con.patch \
%D%/packages/patches/u-boot-support-Pinebook-Pro-laptop.patch \
%D%/packages/patches/u-boot-video-rockchip-fix-build.patch \
%D%/packages/patches/ucx-tcp-iface-ioctl.patch \
%D%/packages/patches/udiskie-no-appindicator.patch \
%D%/packages/patches/unzip-CVE-2014-8139.patch \
@ -1524,6 +1551,10 @@ dist_patch_DATA = \
%D%/packages/patches/xmoto-utf8.patch \
%D%/packages/patches/xmoto-remove-glext.patch \
%D%/packages/patches/xmoto-reproducible.patch \
%D%/packages/patches/xplanet-1.3.1-cxx11-eof.patch \
%D%/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch \
%D%/packages/patches/xplanet-1.3.1-libimage_gif.c.patch \
%D%/packages/patches/xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch \
%D%/packages/patches/xsane-fix-memory-leak.patch \
%D%/packages/patches/xsane-fix-pdf-floats.patch \
%D%/packages/patches/xsane-fix-snprintf-buffer-length.patch \

View File

@ -32,6 +32,7 @@
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -49,53 +50,67 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages admin)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system emacs)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages autogen)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
#:use-module (gnu packages c)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages cross-base)
#:use-module (gnu packages crypto)
#:use-module (gnu packages cryptsetup)
#:use-module (gnu packages cyrus-sasl)
#:use-module (gnu packages dns)
#:use-module (gnu packages elf)
#:use-module (gnu packages file)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages readline)
#:use-module (gnu packages libbsd)
#:use-module (gnu packages linux)
#:use-module (gnu packages lua)
#:use-module (gnu packages guile)
#:use-module (gnu packages flex)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages golang)
#:use-module (gnu packages groff)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages inkscape)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages libbsd)
#:use-module (gnu packages libftdi)
#:use-module (gnu packages libunwind)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
#:use-module (gnu packages lua)
#:use-module (gnu packages man)
#:use-module (gnu packages mcrypt)
#:use-module (gnu packages mpi)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages openldap)
#:use-module (gnu packages patchutils)
#:use-module (gnu packages pciutils)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages perl-check)
#:use-module (gnu packages tcl)
#:use-module (gnu packages compression)
#:use-module (gnu packages cross-base)
#:use-module (gnu packages tls)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages bison)
#:use-module (gnu packages flex)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages openldap)
#:use-module (gnu packages mcrypt)
#:use-module (gnu packages patchutils)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages popt)
#:use-module (gnu packages python)
@ -103,28 +118,61 @@
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages tcl)
#:use-module (gnu packages terminals)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages groff)
#:use-module (gnu packages pciutils)
#:use-module (gnu packages libunwind)
#:use-module (gnu packages libusb)
#:use-module (gnu packages libftdi)
#:use-module (gnu packages image)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages man)
#:use-module (gnu packages autotools)
#:use-module (gnu packages gnome)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages gtk)
#:use-module (gnu packages xml)
#:use-module (gnu packages boost)
#:use-module (gnu packages elf)
#:use-module (gnu packages mpi)
#:use-module (gnu packages tls)
#:use-module (gnu packages version-control)
#:use-module (gnu packages web))
#:use-module (gnu packages web)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg))
(define-public ktsuss
(package
(name "ktsuss")
(version "2.1")
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/nomius/ktsuss.git")
(commit version)))
(sha256
(base32 "0q9931f9hp47v1n8scli4bdg2rkjpf5jf8v7jj2gdn83aia1r2hz"))
(file-name (git-file-name name version))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:configure-flags
(list "--enable-sudo=yes")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-file-names
(lambda _
(substitute* "configure.ac"
(("supath=`which su 2>/dev/null`")
"supath=/run/setuid-programs/su")
(("sudopath=`which sudo 2>/dev/null`")
"sudopath=/run/setuid-programs/sudo"))
#t)))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
("pkg-config" ,pkg-config)))
(inputs
`(("glib" ,glib)
("gtk+" ,gtk+-2)))
(synopsis "Graphical front end for @command{su}")
(description
"Ktsuss stands for ``Keep the @command{su} simple, stupid''.
It is a graphical version of @command{su} written in C and GTK+ 2, with
simplicity in mind.")
(home-page "https://github.com/nomius/ktsuss")
(license license:bsd-3)))
(define-public aide
(package
@ -197,14 +245,14 @@ and provides a \"top-like\" mode (monitoring).")
(define-public shepherd
(package
(name "shepherd")
(version "0.7.0")
(version "0.8.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/shepherd/shepherd-"
version ".tar.gz"))
(sha256
(base32
"07j3vd0y8zab2nwbrwj0ahrfif1ldm5sjssn7m3dw4s307fsrfzx"))))
"02lbc8z5gd8v8wfi4yh1zww8mk03w0zcwnmk4l4p3vpjlvlb63ll"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--localstatedir=/var")))
@ -239,6 +287,16 @@ interface and is based on GNU Guile.")
(inputs
`(("guile" ,guile-next)))))
(define-public guile2.0-shepherd
(package
(inherit shepherd)
(name "guile2.0-shepherd")
(native-inputs
`(("pkg-config" ,pkg-config)
("guile" ,guile-2.0)))
(inputs
`(("guile" ,guile-2.0)))))
(define-public cloud-utils
(package
(name "cloud-utils")
@ -766,7 +824,7 @@ connection alive.")
(define-public isc-dhcp
(let* ((bind-major-version "9")
(bind-minor-version "11")
(bind-patch-version "14")
(bind-patch-version "18")
(bind-release-type "") ; for patch release, use "-P"
(bind-release-version "") ; for patch release, e.g. "6"
(bind-version (string-append bind-major-version
@ -902,7 +960,7 @@ connection alive.")
"/bind-" bind-version ".tar.gz"))
(sha256
(base32
"1pv3bvm9dzyz2kqjkw15sgh0hd5fzsv274v5z6jp9c4nb5130fyr"))))
"0vws0zzb39mkphj4hhjrgfj9dzw951lc4pfa6pqg5ll5ma51mbsr"))))
;; When cross-compiling, we need the cross Coreutils and sed.
;; Otherwise just use those from %FINAL-INPUTS.
@ -1267,9 +1325,10 @@ system administrator.")
;; XXX: The 'testsudoers' test series expects user 'root' to exist, but
;; the chroot's /etc/passwd doesn't have it. Turn off the tests.
#:tests? #f))
(native-inputs
`(("groff" ,groff)))
(inputs
`(("groff" ,groff)
("linux-pam" ,linux-pam)
`(("linux-pam" ,linux-pam)
("zlib" ,zlib)
("coreutils" ,coreutils)))
(home-page "https://www.sudo.ws/")
@ -1583,7 +1642,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
(define-public acpica
(package
(name "acpica")
(version "20200214")
(version "20200326")
(source (origin
(method url-fetch)
(uri (string-append
@ -1591,7 +1650,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
version ".tar.gz"))
(sha256
(base32
"0jdasziq184l3iqyp5vhrsbi6g89n10wr0ssliiz0xi3dqwsxcqk"))))
"0y08l6djjn87jmsp5kj0myjdb48000g20xlfs0a22jzzi383h3by"))))
(build-system gnu-build-system)
(native-inputs `(("flex" ,flex)
("bison" ,bison)))
@ -2474,7 +2533,7 @@ throughput (in the same interval).")
(define-public thefuck
(package
(name "thefuck")
(version "3.29")
(version "3.30")
(source
(origin
(method git-fetch)
@ -2483,7 +2542,7 @@ throughput (in the same interval).")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1qhxwjjgrzpqrqjv7l2847ywpln76lyd6j8bl9gz2r6kl0fx2fqs"))
(base32 "0fnf78956pwhb9cgv1jmgypnkma5xzflkivfrkfiadbgin848yfg"))
(patches (search-patches "thefuck-test-environ.patch"))))
(build-system python-build-system)
(arguments
@ -2505,7 +2564,8 @@ throughput (in the same interval).")
("python-pyte" ,python-pyte)
("python-six" ,python-six)))
(native-inputs
`(("python-mock" ,python-mock)
`(("go" ,go)
("python-mock" ,python-mock)
("python-pytest" ,python-pytest)
("python-pytest-mock" ,python-pytest-mock)))
(home-page "https://github.com/nvbn/thefuck")
@ -2622,6 +2682,7 @@ shortcut syntax and completion options.")
(uri (string-append
"https://archives.eyrie.org/software/kerberos/"
"pam-krb5-" version ".tar.xz"))
(patches (search-patches "pam-krb5-CVE-2020-10595.patch"))
(sha256
(base32
"1qjp8i1s9bz7g6kiqrkzzkxn5pfspa4sy53b6z40fqmdf9przdfb"))))
@ -2865,7 +2926,7 @@ buffers.")
("automake" ,automake)
("libtool" ,libtool)
("pkg-config" ,pkg-config)))
(home-page "https://cgit.freedesktop.org/xorg/app/intel-gpu-tools/")
(home-page "https://gitlab.freedesktop.org/drm/igt-gpu-tools")
(synopsis "Tools for development and testing of the Intel DRM driver")
(description "IGT GPU Tools is a collection of tools for development and
testing of the Intel DRM driver. There are many macro-level test suites that
@ -2878,9 +2939,6 @@ Intel DRM Driver.")
(supported-systems '("i686-linux" "x86_64-linux"))
(license license:expat)))
(define-public intel-gpu-tools
(deprecated-package "intel-gpu-tools" igt-gpu-tools))
(define-public fabric
(package
(name "fabric")

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 John Darringon <jmd@gnu.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
@ -157,39 +157,34 @@ Python as well as GUI widgets for GTK and Qt.")
(license license:lgpl2.1+)))
(define-public qrcodegen-cpp
;; Currently this project's installation mechanism only exists as a GitHub
;; pull request, so we build from a recent commit that the proposed patch
;; applies to.
(let ((commit "6ea933f1596d818bd21e9a6b8d2e851fb8b4bcf1")
(revision "0"))
(package
(name "qrcodegen-cpp")
(version (git-version "1.5.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/nayuki/QR-Code-generator.git")
(commit commit)))
(file-name (git-file-name name version))
(patches (search-patches "qrcodegen-cpp-make-install.patch"))
(sha256
(base32
"19fcwqmfk2n9p2n01dv2j4x2y2mqip0j1wbmfbxjp34rqkjwcwxm"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no test suite
#:make-flags
(list (string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
(delete 'configure) ; No ./configure script
;; Only build the C++ variant.
(add-after 'unpack 'chdir
(lambda _
(chdir "cpp")
#t)))))
(synopsis "QR Code generator library")
(description "qrcodegen-cpp is a QR code generator library in C++. The
(package
(name "qrcodegen-cpp")
(version "1.6.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/nayuki/QR-Code-generator.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(patches (search-patches "qrcodegen-cpp-make-install.patch"))
(sha256
(base32
"0iq9sv9na0vg996aqrxrjn9rrbiyy7sc9vslw945p3ky22pw3lql"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no test suite
#:make-flags
(list (string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
(delete 'configure) ; No ./configure script
;; Only build the C++ variant.
(add-after 'unpack 'chdir
(lambda _
(chdir "cpp")
#t)))))
(synopsis "QR Code generator library")
(description "qrcodegen-cpp is a QR code generator library in C++. The
project also offers Java, Javascript, Python, C, and Rust implementations.")
(home-page "https://www.nayuki.io/page/qr-code-generator-library")
(license license:expat))))
(home-page "https://www.nayuki.io/page/qr-code-generator-library")
(license license:expat)))

View File

@ -9,6 +9,7 @@
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017, 2019 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -226,7 +227,7 @@ the real span of the lattice.")
(define-public pari-gp
(package
(name "pari-gp")
(version "2.11.2")
(version "2.11.4")
(source (origin
(method url-fetch)
(uri (string-append
@ -234,7 +235,7 @@ the real span of the lattice.")
version ".tar.gz"))
(sha256
(base32
"0fck8ssmirl8fy7s4mspgrxjs5sag76xbshqlqzkcl3kqyrk4raa"))))
"070bjw4kg7r6lqs1hfs08n5fmjv90cpwflp3wr04hbrmyz28zj5z"))))
(build-system gnu-build-system)
(native-inputs
`(("texlive" ,(texlive-union
@ -268,7 +269,7 @@ PARI is also available as a C library to allow for faster computations.")
(define-public gp2c
(package
(name "gp2c")
(version "0.0.11pl2")
(version "0.0.11pl3")
(source (origin
(method url-fetch)
(uri (string-append
@ -276,7 +277,7 @@ PARI is also available as a C library to allow for faster computations.")
version ".tar.gz"))
(sha256
(base32
"0wqsf05wgkqvmmsx7jinvzdqav6rl56sr8haibgs31nzz4x9xz9g"))))
"0yymbrgyjw500hqgmkj5m4nmscd7c9rs9w2c96lxgrcyab8krhrm"))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl)))
(inputs `(("pari-gp" ,pari-gp)))
@ -432,9 +433,6 @@ 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")
@ -561,42 +559,50 @@ these types and other mathematical functions.")
(define-public ntl
(package
(name "ntl")
(version "9.7.0")
(version "11.4.3")
(source (origin
(method url-fetch)
(uri (string-append "http://shoup.net/ntl/ntl-"
(uri (string-append "https://shoup.net/ntl/ntl-"
version ".tar.gz"))
(sha256 (base32
"115frp5flyvw9wghz4zph1b3llmr5nbxk1skgsggckr81fh3gmxq"))))
(sha256
(base32
"1lisp3064rch3jaa2wrhy1s9kll7i3ka3d0y6lj6l3l4ckfcrhdp"))
(modules '((guix build utils)))
(snippet
'(begin
(delete-file-recursively "src/libtool-origin")
#t))))
(build-system gnu-build-system)
(native-inputs
`(("libtool" ,libtool)
("perl" ,perl))) ; for configuration
;; FIXME: Add optional input gf2x once available; then also add
;; configure flag "NTL_GF2X_LIB=on".
(inputs
`(("gmp" ,gmp)))
`(("gmp" ,gmp)
("gf2x" ,gf2x)))
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(lambda* (#:key inputs outputs #:allow-other-keys)
(chdir "src")
(system* "./configure"
(invoke "./configure"
(string-append "PREFIX=" (assoc-ref outputs "out"))
(string-append "LIBTOOL=" (assoc-ref inputs "libtool") "/bin/libtool")
;; set the library prefixes explicitly so that they get
;; embedded in the .la file
(string-append "GMP_PREFIX=" (assoc-ref inputs "gmp"))
(string-append "GF2X_PREFIX=" (assoc-ref inputs "gf2x"))
;; Do not build especially for the build machine.
"NATIVE=off"
;; Also do not tune to the build machine.
"WIZARD=off"
"SHARED=on")
#t)))))
"NTL_GF2X_LIB=on"
"SHARED=on"))))))
(synopsis "C++ library for number theory")
(description
"NTL is a C++ library providing data structures and algorithms
for manipulating signed, arbitrary length integers, and for vectors,
matrices, and polynomials over the integers and over finite fields.")
(license license:gpl2+)
(home-page "http://shoup.net/ntl/")))
(home-page "https://shoup.net/ntl/")))
(define-public singular
(package
@ -1454,8 +1460,7 @@ of M4RI from F_2 to F_{2^e}.")
("automake" ,automake)
("libtool" ,libtool)))
(inputs
`(("gmp" ,gmp)
("ntl" ,ntl)
`(("ntl" ,ntl)
("pari-gp" ,pari-gp)))
(synopsis "Ranks of elliptic curves and modular symbols")
(description "The eclib package includes mwrank (for 2-descent on

View File

@ -259,7 +259,7 @@ runtime")
(define-public rgbds
(package
(name "rgbds")
(version "0.3.9")
(version "0.4.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -268,7 +268,7 @@ runtime")
(file-name (git-file-name name version))
(sha256
(base32
"0pzd9ig3ahpgq7jbj82grllxx1v01d620insr2m8h0c6jj25n5hv"))))
"15680964nlsa83nqgxk7knxajn98lddz2hg6jnn8ffmnms5wdam7"))))
(build-system gnu-build-system)
(arguments
`(#:phases

View File

@ -3,6 +3,8 @@
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 by Amar Singh <nly@disroot.org>
;;; Copyright © 2020 R Veera Kumar <vkor@vkten.in>
;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -25,22 +27,28 @@
#:use-module (guix download)
#:use-module (guix git-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)
#:use-module (gnu packages version-control)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages xiph)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages lua)
#:use-module (gnu packages perl)
#:use-module (gnu packages autotools)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gl)
#:use-module (gnu packages qt)
#:use-module (gnu packages gtk)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages lua)
#:use-module (gnu packages maths)
#:use-module (gnu packages netpbm)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pretty-print)
#:use-module (gnu packages qt)
#:use-module (gnu packages version-control)
#:use-module (gnu packages xiph)
#:use-module (gnu packages xorg)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (srfi srfi-1))
@ -149,7 +157,7 @@ programs for the manipulation and analysis of astronomical data.")
(define-public stellarium
(package
(name "stellarium")
(version "0.19.3")
(version "0.20.1")
(source
(origin
(method url-fetch)
@ -157,7 +165,7 @@ programs for the manipulation and analysis of astronomical data.")
"/releases/download/v" version
"/stellarium-" version ".tar.gz"))
(sha256
(base32 "0p92rgclag0nkic9gk3p9vclb8xx9hv4zlgyij6cyh43s7c1avhp"))))
(base32 "034jkrdaaamvbrkfwi3qcl6h8hwfnw2nvf7a82faj55rskcpnkhm"))))
(build-system cmake-build-system)
(inputs
`(("qtbase" ,qtbase)
@ -289,3 +297,95 @@ Mechanics, Astrometry and Astrodynamics library.")
(license (list license:lgpl2.0+
license:gpl2+)))) ; examples/transforms.c & lntest/*.c
(define-public xplanet
(package
(name "xplanet")
(version "1.3.1")
(source
(origin
(method url-fetch)
(uri
(string-append
"mirror://sourceforge/xplanet/xplanet/"
version "/xplanet-" version ".tar.gz"))
(sha256
(base32 "1rzc1alph03j67lrr66499zl0wqndiipmj99nqgvh9xzm1qdb023"))
(patches
(search-patches
"xplanet-1.3.1-cxx11-eof.patch"
"xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch"
"xplanet-1.3.1-libimage_gif.c.patch"
"xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("libx11" ,libx11)
("libxscrnsaver" ,libxscrnsaver)
("libice" ,libice)
("freetype" ,freetype)
("pango" ,pango)
("giflib" ,giflib)
("libjpeg", libjpeg)
("libpng" ,libpng)
("libtiff" ,libtiff)
("netpbm" ,netpbm)
("zlib" ,zlib)))
(arguments
`(#:configure-flags
(let ((netpbm (assoc-ref %build-inputs "netpbm")))
(append (list
;; Give correct path for pnm.h header to configure script
(string-append "CPPFLAGS=-I" netpbm "/include/netpbm")
;; no nasa jpl cspice support
"--without-cspice" )))))
(home-page "http://xplanet.sourceforge.net/")
(synopsis "Planetary body renderer")
(description
"Xplanet renders an image of a planet into an X window or file.
All of the major planets and most satellites can be drawn and different map
projections are also supported, including azimuthal, hemisphere, Lambert,
Mercator, Mollweide, Peters, polyconic, orthographic and rectangular.")
(license license:gpl2+)))
(define-public gpredict
(package
(name "gpredict")
(version "2.2.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/csete/gpredict/releases"
"/download/v" version
"/gpredict-" version ".tar.bz2"))
(sha256
(base32 "0hwf97kng1zy8rxyglw04x89p0bg07zq30hgghm20yxiw2xc8ng7"))))
(build-system gnu-build-system)
(native-inputs
`(("intltool" ,intltool)
("gettext" ,gettext-minimal)
("pkg-config" ,pkg-config)))
(inputs
`(("curl" ,curl)
("glib" ,glib)
("goocanvas" ,goocanvas)
("gtk+" ,gtk+)))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-tests
(lambda _
;; Remove reference to non-existent file.
(substitute* "po/POTFILES.in"
(("src/gtk-sat-tree\\.c")
""))
#t)))))
(synopsis "Satellite tracking and orbit prediction application")
(description
"Gpredict is a real-time satellite tracking and orbit prediction
application. It can track a large number of satellites and display their
position and other data in lists, tables, maps, and polar plots (radar view).
Gpredict can also predict the time of future passes for a satellite, and
provide you with detailed information about each pass.")
(home-page "http://gpredict.oz9aec.net/index.php")
(license license:gpl2+)))

View File

@ -11,7 +11,7 @@
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018 okapi <okapi@firemail.cc>
;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2018, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2018 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2018, 2019 Marius Bakke <mbakke@fastmail.com>
@ -28,6 +28,8 @@
;;; Copyright © 2019 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
;;; Copyright © 2019 Hartmt Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -96,7 +98,9 @@
#:use-module (gnu packages sdl)
#:use-module (gnu packages serialization)
#:use-module (gnu packages telephony)
#:use-module (gnu packages linphone)
#:use-module (gnu packages tls)
#:use-module (gnu packages valgrind)
#:use-module (gnu packages video)
#:use-module (gnu packages vim) ;xxd
#:use-module (gnu packages webkit)
@ -119,6 +123,45 @@
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26))
(define-public vo-amrwbenc
(package
(name "vo-amrwbenc")
(version "0.1.3")
(source
(origin
(method url-fetch)
(uri
(string-append "https://sourceforge.net/projects/opencore-amr/files/"
name "/" name "-" version ".tar.gz"))
(sha256
(base32 "0klx3nkidc6b8aawchpk19n3xlrzgnc046w4gd0rdqphw28v6ljn"))))
(build-system gnu-build-system)
(synopsis "Adaptive Multi Rate Codec")
(description "VO-AMR is a library of VisualOn implementation of
Adaptive Multi Rate Narrowband and Wideband (AMR-NB and AMR-WB) speech codec.")
(home-page "https://sourceforge.net/projects/opencore-amr/")
(license license:asl2.0)))
(define-public opencore-amr
(package
(name "opencore-amr")
(version "0.1.5")
(source
(origin
(method url-fetch)
(uri
(string-append "https://sourceforge.net/projects/opencore-amr/files/"
name "/" name "-" version ".tar.gz"))
(sha256
(base32 "0hfk9khz3by0119h3jdwgdfd7jgkdbzxnmh1wssvylgnsnwnq01c"))))
(build-system gnu-build-system)
(synopsis "Adaptive Multi Rate Codec")
(description "OpenCore-AMR is a library of OpenCORE Framework
implementation of Adaptive Multi Rate Narrowband and Wideband
(AMR-NB and AMR-WB) speech codec.")
(home-page "https://sourceforge.net/projects/opencore-amr/")
(license license:asl2.0)))
(define-public alsa-modular-synth
(package
(name "alsa-modular-synth")
@ -153,10 +196,10 @@
("jack" ,jack-1)
("ladspa" ,ladspa)
("liblo" ,liblo)
("qtbase" ,qtbase)
("qttools" ,qttools)))
("qtbase" ,qtbase)))
(native-inputs
`(("pkg-config" ,pkg-config)
("qttools" ,qttools)
("gcc" ,gcc-5)))
(home-page "http://alsamodular.sourceforge.net/")
(synopsis "Realtime modular synthesizer and effect processor")
@ -1936,14 +1979,14 @@ significantly faster and have minimal dependencies.")
(define-public lv2
(package
(name "lv2")
(version "1.16.0")
(version "1.18.0")
(source (origin
(method url-fetch)
(uri (string-append "http://lv2plug.in/spec/lv2-"
version ".tar.bz2"))
(sha256
(base32
"1ppippbpdpv13ibs06b0bixnazwfhiw0d0ja6hx42jnkgdyp5hyy"))))
"0gs7401xz23q9vajqr31aa2db8dvssgyh5zrvr4ipa6wig7yb8wh"))))
(build-system waf-build-system)
(arguments
`(#:tests? #f ; no check target
@ -3342,7 +3385,7 @@ code, used in @code{libtoxcore}.")
(define-public gsm
(package
(name "gsm")
(version "1.0.18")
(version "1.0.19")
(source
(origin
(method url-fetch)
@ -3351,18 +3394,24 @@ code, used in @code{libtoxcore}.")
"-" version ".tar.gz"))
(sha256
(base32
"041amvpz8cvxykl3pwqldrzxligmmzcg8ncdnxbg32rlqf3q1xh4"))))
"1xkha9ss5g5qnfaybi8il0mcvp8knwg9plgh8404vh58d0pna0s9"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "tst"
#:make-flags (list (string-append "INSTALL_ROOT=" %output))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'add-fpic-ccflag
(lambda _
;; The -fPIC compiler option is needed when building
;; mediastreamer.
(substitute* "Makefile"
(("^CCFLAGS.*" all)
(string-append all "CCFLAGS += -fPIC\n")))
#t))
(add-before 'install 'pre-install
(lambda _
(let ((out (assoc-ref %outputs "out")))
(substitute* "Makefile"
(("INSTALL_ROOT\t=")
(string-append "INSTALL_ROOT\t=\t" out)))
(mkdir-p (string-append out "/inc"))
(mkdir-p (string-append out "/man"))
(mkdir-p (string-append out "/man/man1"))
@ -3881,7 +3930,7 @@ stream to one or more IceCast and/or ShoutCast servers.")
(define-public redkite
(package
(name "redkite")
(version "0.6.2")
(version "0.8.0")
(source
(origin
(method git-fetch)
@ -3891,7 +3940,7 @@ stream to one or more IceCast and/or ShoutCast servers.")
(file-name (git-file-name name version))
(sha256
(base32
"1i874izajbdhlfacwwj84qrsxf7g4y6nblzxalrkzaap9sa7d1r6"))))
"1747w1kg8y9jbl11xi018d85dm38xk7843pz26sh0k5fdv87a10q"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ;no tests included
@ -4159,3 +4208,37 @@ minimum.")
`(("librsvg" ,librsvg)
,@(package-inputs ztoolkit)))
(synopsis "ZToolkit with SVG support")))
(define-public codec2
(package
(name "codec2")
(version "0.9.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/drowe67/codec2.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1jpvr7bra8srz8jvnlbmhf8andbaavq5v01qjnp2f61za93rzwba"))))
(build-system cmake-build-system)
(native-inputs
`(("bc" ,bc)
("octave" ,octave)
("valgrind" ,valgrind)))
(arguments
`(#:tests? #f ; TODO: Fix tests (paths, graphic toolkit, octave modules).
#:phases
(modify-phases %standard-phases
(add-before 'check 'set-test-environment
(lambda _
(setenv "HOME" "/tmp")
#t)))))
(synopsis "Speech codec")
(description
"Codec 2 is a speech codec designed for communications quality speech
between 700 and 3200 bit/s. The main application is low bandwidth HF/VHF
digital radio.")
(home-page "https://www.rowetel.com/?page_id=452")
(license license:lgpl2.1)))

View File

@ -2,6 +2,7 @@
;;; Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -32,23 +33,23 @@
(define-public augeas
(package
(name "augeas")
(version "1.11.0")
(version "1.12.0")
(source (origin
(method url-fetch)
(uri (string-append "http://download.augeas.net/augeas-"
version ".tar.gz"))
(sha256
(base32
"1c507qj6dfn2dnsl27w94zs9r45xrgm07y8bqba9ry2s0psfhg1r"))))
"11ybhb13wkkilsn7b416a1dn61m1xrq0lbdpkhp5w61jrk4l469j"))))
(build-system gnu-build-system)
;; Marked as "required" in augeas.pc
;; Marked as "required" in augeas.pc.
(propagated-inputs
`(("libxml2" ,libxml2)))
(inputs
`(("readline" ,readline)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://augeas.net/")
(home-page "https://augeas.net")
(synopsis "Edit configuration files programmatically")
(description
"Augeas is a library and command line tool for programmatically editing

View File

@ -1,5 +1,5 @@
/* GNU Guix --- Functional package management for GNU
Copyright (C) 2018, 2019 Ludovic Courtès <ludo@gnu.org>
Copyright (C) 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
This file is part of GNU Guix.
@ -343,7 +343,13 @@ Please refer to the 'guix pack' documentation for more information.\n");
chdir ("/"); /* avoid EBUSY */
rm_rf (new_root);
free (new_root);
exit (status);
if (WIFEXITED (status))
exit (WEXITSTATUS (status));
else
/* Abnormal termination cannot really be reproduced, so exit
with 255. */
exit (255);
}
}
}

View File

@ -2,7 +2,7 @@
;;; Copyright © 2014, 2015 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
;;; Copyright © 2015, 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
@ -91,6 +91,7 @@
("par2cmdline" ,par2cmdline)
("python-pexpect" ,python2-pexpect)
("python-fasteners" ,python2-fasteners)
("tzdata" ,tzdata-for-tests)
("mock" ,python2-mock)))
(propagated-inputs
`(("lockfile" ,python2-lockfile)
@ -99,8 +100,7 @@
`(("librsync" ,librsync-0.9)
("lftp" ,lftp)
("gnupg" ,gnupg) ; gpg executable needed
("util-linux" ,util-linux) ; for setsid
("tzdata" ,tzdata)))
("util-linux" ,util-linux))) ; for setsid
(arguments
`(#:python ,python-2 ; setup assumes Python 2
#:test-target "test"
@ -979,15 +979,25 @@ precious backup space.
(define-public burp
(package
(name "burp")
(version "2.3.20")
(version "2.3.24")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/burp/burp-" version
"/burp-" version ".tar.bz2"))
(sha256
(base32
"0dm2y76z7pg17kfv6ahmh4mf2r3pg7mlwd69lvmjwssnd9vs1nn5"))))
"0dmahqx8ldqdrx9b47r7ag3m801n7h3kclcqja1cc1jzhfhfq27w"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'check 'extend-test-time-outs
;; The defaults are far too low for busy boxes & spinning storage.
(lambda _
(substitute* (find-files "utest" "\\.c$")
(("(tcase_set_timeout\\(tc_core,)[ 0-9]*(\\);.*)$" _ prefix suffix)
(string-append prefix " 3600" suffix "\n")))
#t)))))
(inputs
`(("librsync" ,librsync)
("openssl" ,openssl)

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -198,7 +199,7 @@ SAC is an interface for CSS parsers.")
(define-public java-xmlgraphics-commons
(package
(name "java-xmlgraphics-commons")
(version "2.3")
(version "2.4")
(source
(origin
(method url-fetch)
@ -206,8 +207,7 @@ SAC is an interface for CSS parsers.")
"mirror://apache/xmlgraphics/commons/source/xmlgraphics-commons-"
version "-src.tar.gz"))
(sha256
(base32
"0a432a4ca3vgnbada5cy9mlmfzmq6hi4i176drfxrp17q2d43w23"))
(base32 "0zdkngb896cr35jq1v859j2kpqyn6a87k6a893h394hgvnz7yi3v"))
(modules '((guix build utils)))
(snippet
`(begin

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017, 2018 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016, 2017, 2018, 2020 Roel Janssen <roel@gnu.org>
;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Simon Tournier <zimon.toutoune@gmail.com>
;;;
@ -493,6 +493,30 @@ annotations for the genome of the model mouse Mus musculus.")
by UCSC (hg19, February 2009) and stored in Biostrings objects.")
(license license:artistic2.0)))
(define-public r-bsgenome-hsapiens-ucsc-hg38
(package
(name "r-bsgenome-hsapiens-ucsc-hg38")
(version "1.4.1")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "BSgenome.Hsapiens.UCSC.hg38"
version 'annotation))
(sha256
(base32
"1ql08pvi4vv0ynvg4qs9kysw1c7s3crkgin6zxvgzqk6fray9mvi"))))
(properties
`((upstream-name . "BSgenome.Hsapiens.UCSC.hg38")))
(build-system r-build-system)
(propagated-inputs
`(("r-bsgenome" ,r-bsgenome)))
(home-page
"https://www.bioconductor.org/packages/BSgenome.Hsapiens.UCSC.hg38/")
(synopsis "Full genome sequences for Homo sapiens")
(description
"This package provides full genome sequences for Homo sapiens (Human)
as provided by UCSC (hg38, Dec. 2013) and stored in Biostrings objects.")
(license license:artistic2.0)))
(define-public r-ensdb-hsapiens-v75
(package
(name "r-ensdb-hsapiens-v75")
@ -718,6 +742,30 @@ annotations.")
"This is a manifest package for Illumina's EPIC methylation arrays.")
(license license:artistic2.0)))
(define-public r-ideoviz
(package
(name "r-ideoviz")
(version "1.22.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "IdeoViz" version))
(sha256
(base32
"0rsz6dawrx5qdrypxs2hgihmx3kbpdg1y73h876yxccgdlabvzil"))))
(build-system r-build-system)
(propagated-inputs
`(("r-biobase" ,r-biobase)
("r-iranges" ,r-iranges)
("r-genomicranges" ,r-genomicranges)
("r-rcolorbrewer" ,r-rcolorbrewer)
("r-rtracklayer" ,r-rtracklayer)
("r-genomeinfodb" ,r-genomeinfodb)))
(home-page "https://bioconductor.org/packages/IdeoViz/")
(synopsis "Plots data along a chromosomal ideogram")
(description "This package provides functions to plot data associated with
arbitrary genomic intervals along chromosomal ideogram.")
(license license:gpl2)))
;; This is a CRAN package, but it depends on r-bsgenome-hsapiens-ucsc-hg19
;; from Bioconductor.
(define-public r-deconstructsigs
@ -811,6 +859,32 @@ performing parallel computations on multicore machines.")
Disease Ontology.")
(license license:artistic2.0)))
(define-public r-pasilla
(package
(name "r-pasilla")
(version "1.14.0")
(source (origin
(method url-fetch)
(uri (string-append
"http://bioconductor.org/packages/release/data/experiment"
"/src/contrib/pasilla_" version ".tar.gz"))
(sha256
(base32
"0h124i2fb2lbj2k48zzf1n7ldqa471bs26fbd9vw50299aqx28x0"))))
(build-system r-build-system)
(propagated-inputs
`(("r-biocstyle" ,r-biocstyle)
("r-dexseq" ,r-dexseq)
("r-knitr" ,r-knitr)
("r-rmarkdown" ,r-rmarkdown)))
(home-page "https://www.bioconductor.org/packages/pasilla/")
(synopsis "Data package with per-exon and per-gene read counts")
(description "This package provides per-exon and per-gene read counts
computed for selected genes from RNA-seq data that were presented in the
article 'Conservation of an RNA regulatory map between Drosophila and mammals'
by Brooks et al., Genome Research 2011.")
(license license:lgpl2.1+)))
(define-public r-pfam-db
(package
(name "r-pfam-db")
@ -995,6 +1069,63 @@ examples' of Affymetrix data, unlike the artificial examples included in the
package @code{affy}.")
(license license:gpl2+)))
(define-public r-coverageview
(package
(name "r-coverageview")
(version "1.24.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "CoverageView" version))
(sha256
(base32
"0s47svs7xnr9jkylq0dxidqrigihdddiprcl0951vjr4w7kmb5nf"))))
(build-system r-build-system)
(propagated-inputs
`(("r-s4vectors" ,r-s4vectors)
("r-iranges" ,r-iranges)
("r-genomicranges" ,r-genomicranges)
("r-genomicalignments" ,r-genomicalignments)
("r-rtracklayer" ,r-rtracklayer)
("r-rsamtools" ,r-rsamtools)))
(home-page "https://bioconductor.org/packages/CoverageView/")
(synopsis "Coverage visualization package for R")
(description "This package provides a framework for the visualization of
genome coverage profiles. It can be used for ChIP-seq experiments, but it can
be also used for genome-wide nucleosome positioning experiments or other
experiment types where it is important to have a framework in order to inspect
how the coverage distributed across the genome.")
(license license:artistic2.0)))
(define-public r-cummerbund
(package
(name "r-cummerbund")
(version "2.28.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "cummeRbund" version))
(sha256
(base32
"1fjc3bcclm4gsvw4nq6cv3a1kbrldvrxbkyfb9306708si1n4dwk"))))
(build-system r-build-system)
(propagated-inputs
`(("r-biobase" ,r-biobase)
("r-biocgenerics" ,r-biocgenerics)
("r-fastcluster", r-fastcluster)
("r-ggplot2" ,r-ggplot2)
("r-gviz" ,r-gviz)
("r-plyr" ,r-plyr)
("r-reshape2" ,r-reshape2)
("r-rsqlite" ,r-rsqlite)
("r-rtracklayer" ,r-rtracklayer)
("r-s4vectors" ,r-s4vectors)))
(home-page "https://bioconductor.org/packages/cummeRbund/")
(synopsis "Analyze Cufflinks high-throughput sequencing data")
(description "This package allows for persistent storage, access,
exploration, and manipulation of Cufflinks high-throughput sequencing
data. In addition, provides numerous plotting functions for commonly
used visualizations.")
(license license:artistic2.0)))
(define-public r-curatedtcgadata
(package
(name "r-curatedtcgadata")
@ -1958,14 +2089,14 @@ experiments.")
(define-public r-genomicinteractions
(package
(name "r-genomicinteractions")
(version "1.20.1")
(version "1.20.3")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "GenomicInteractions" version))
(sha256
(base32
"140bp7c8p079xh5wwxmrq3a73pm6mdc9czq5w2gzjml7dgrca38a"))))
"01ps97cs29qvzy5piq2l2k0yyr56rmg5cycfiqhbbvqpjrfvy60g"))))
(properties
`((upstream-name . "GenomicInteractions")))
(build-system r-build-system)
@ -1986,6 +2117,8 @@ experiments.")
("r-rtracklayer" ,r-rtracklayer)
("r-s4vectors" ,r-s4vectors)
("r-stringr" ,r-stringr)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://github.com/ComputationalRegulatoryGenomicsICL/GenomicInteractions/")
(synopsis "R package for handling genomic interaction data")
(description
@ -2311,6 +2444,8 @@ possible, parallelization is achieved using the BiocParallel framework.")
("r-tidyr" ,r-tidyr)
("r-tidyselect" ,r-tidyselect)
("r-vim" ,r-vim)))
(native-inputs
`(("r-nbconvertr" ,r-nbconvertr))) ; for vignettes
(home-page "https://bioconductor.org/packages/destiny/")
(synopsis "Create and plot diffusion maps")
(description "This package provides tools to create and plot diffusion
@ -2529,6 +2664,41 @@ and regression inferences from RNA-sequencing data.")
gene and isoform level using RNA-seq data")
(license license:artistic2.0)))
(define-public r-karyoploter
(package
(name "r-karyoploter")
(version "1.12.4")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "karyoploteR" version))
(sha256
(base32
"03jmfgmw35hrgn3pc5lq6pblzhfx9fp4l6dx50rp303lr7kjxp9v"))))
(build-system r-build-system)
(propagated-inputs
`(("r-regioner" ,r-regioner)
("r-genomicranges" ,r-genomicranges)
("r-iranges" ,r-iranges)
("r-rsamtools" ,r-rsamtools)
("r-memoise" ,r-memoise)
("r-rtracklayer" ,r-rtracklayer)
("r-genomeinfodb" ,r-genomeinfodb)
("r-s4vectors" ,r-s4vectors)
("r-biovizbase" ,r-biovizbase)
("r-digest" ,r-digest)
("r-bezier" ,r-bezier)
("r-bamsignals" ,r-bamsignals)
("r-annotationdbi" ,r-annotationdbi)
("r-variantannotation" ,r-variantannotation)))
(home-page "https://bioconductor.org/packages/karyoploteR/")
(synopsis "Plot customizable linear genomes displaying arbitrary data")
(description "This package creates karyotype plots of arbitrary genomes and
offers a complete set of functions to plot arbitrary data on them. It mimicks
many R base graphics functions coupling them with a coordinate change function
automatically mapping the chromosome and data coordinates into the plot
coordinates.")
(license license:artistic2.0)))
(define-public r-lpsymphony
(package
(name "r-lpsymphony")
@ -3330,14 +3500,14 @@ peak definition in combination with known profile characteristics.")
(define-public r-varianttools
(package
(name "r-varianttools")
(version "1.28.0")
(version "1.28.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "VariantTools" version))
(sha256
(base32
"0aafcprsqbn1xl8jqnxfl8r2d0lmzhssqpr26lam2cprh3yk0xiv"))))
"1x57shc3slcbnc807ra1nwnjr37sqjh04n2xfwd469m4hkjb0jzh"))))
(properties `((upstream-name . "VariantTools")))
(build-system r-build-system)
(propagated-inputs
@ -3499,8 +3669,8 @@ phenotype of interest.")
(synopsis "Fast gene set enrichment analysis")
(description
"The package implements an algorithm for fast gene set enrichment
analysis. Using the fast algorithm allows to make more permutations and get
more fine grained p-values, which allows to use accurate stantard approaches
analysis. Using the fast algorithm makes more permutations and gets
more fine grained p-values, which allows using accurate standard approaches
to multiple hypothesis correction.")
(license license:expat)))
@ -3527,6 +3697,8 @@ to multiple hypothesis correction.")
("r-qvalue" ,r-qvalue)
("r-reshape2" ,r-reshape2)
("r-s4vectors" ,r-s4vectors)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://guangchuangyu.github.io/software/DOSE/")
(synopsis "Disease ontology semantic and enrichment analysis")
(description
@ -3781,14 +3953,14 @@ provides reporting features.")
(define-public r-a4base
(package
(name "r-a4base")
(version "1.34.0")
(version "1.34.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "a4Base" version))
(sha256
(base32
"0dgqyq4dnlcik5qqygnhxlhfr98sh6kmdcj2qllhrwyk0lmsfk01"))))
"1a0yk05ikk1hr1vpxynydrb5xb1hj4hdqlh9zd13n83ir89dss83"))))
(properties `((upstream-name . "a4Base")))
(build-system r-build-system)
(propagated-inputs
@ -3897,6 +4069,8 @@ further downstream analysis on its output.")
`(("r-biocparallel" ,r-biocparallel)
("r-ellipse" ,r-ellipse)
("r-ggplot2" ,r-ggplot2)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://bioconductor.org/packages/bacon/")
(synopsis "Controlling bias and inflation in association studies")
(description
@ -3964,6 +4138,78 @@ database (e.g. JASPAR). It can also be used to visualize motifs, motif
distributions, modules and filter motifs.")
(license license:gpl2)))
(define-public r-motifdb
(package
(name "r-motifdb")
(version "1.28.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "MotifDb" version))
(sha256
(base32 "0m5apkjlvdq9yhjdyds3hivfnkbm6f059hy2bkjhalrlhd2si2jc"))))
(properties `((upstream-name . "MotifDb")))
(build-system r-build-system)
(propagated-inputs
`(("r-biocgenerics" ,r-biocgenerics)
("r-biostrings" ,r-biostrings)
("r-iranges" ,r-iranges)
("r-rtracklayer" ,r-rtracklayer)
("r-s4vectors" ,r-s4vectors)
("r-splitstackshape" ,r-splitstackshape)))
(home-page "https://www.bioconductor.org/packages/MotifDb/")
(synopsis "Annotated collection of protein-DNA binding sequence motifs")
(description "This package provides more than 2000 annotated position
frequency matrices from nine public sources, for multiple organisms.")
(license license:artistic2.0)))
(define-public r-motifbreakr
(package
(name "r-motifbreakr")
(version "2.0.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "motifbreakR" version))
(sha256
(base32 "190z8gj393qdpq5wz7gph96k0l8c1j9wd0p0llscysvk5kr1hf9n"))))
(properties `((upstream-name . "motifbreakR")))
(build-system r-build-system)
(propagated-inputs
`(("r-grimport" ,r-grimport)
("r-stringr" ,r-stringr)
("r-biocgenerics" ,r-biocgenerics)
("r-s4vectors" ,r-s4vectors)
("r-iranges" ,r-iranges)
("r-genomeinfodb" ,r-genomeinfodb)
("r-genomicranges" ,r-genomicranges)
("r-biostrings" ,r-biostrings)
("r-bsgenome" ,r-bsgenome)
("r-rtracklayer" ,r-rtracklayer)
("r-variantannotation" ,r-variantannotation)
("r-biocparallel" ,r-biocparallel)
("r-motifstack" ,r-motifstack)
("r-gviz" ,r-gviz)
("r-matrixstats" ,r-matrixstats)
("r-tfmpvalue" ,r-tfmpvalue)
("r-motifdb" ,r-motifdb)))
(home-page "https://www.bioconductor.org/packages/motifbreakR/")
(synopsis "Predicting disruptiveness of single nucleotide polymorphisms")
(description "This package allows biologists to judge in the first place
whether the sequence surrounding the polymorphism is a good match, and in
the second place how much information is gained or lost in one allele of
the polymorphism relative to another. This package gives a choice of
algorithms for interrogation of genomes with motifs from public sources:
@enumerate
@item a weighted-sum probability matrix;
@item log-probabilities;
@item weighted by relative entropy.
@end enumerate
This package can predict effects for novel or previously described variants in
public databases, making it suitable for tasks beyond the scope of its original
design. Lastly, it can be used to interrogate any genome curated within
Bioconductor.")
(license license:gpl2+)))
(define-public r-motifstack
(package
(name "r-motifstack")
@ -4030,14 +4276,14 @@ position-specific scores within R and Bioconductor.")
(define-public r-atacseqqc
(package
(name "r-atacseqqc")
(version "1.10.3")
(version "1.10.4")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "ATACseqQC" version))
(sha256
(base32
"18zf90iksglbs13cwr4jjwsv332a19lf4bpdmy69jz8bpwrklv22"))))
"1g07ni134cyl3jd9y19afip39kxddfgpm1jjm0rhrm7jgssp24in"))))
(properties `((upstream-name . "ATACseqQC")))
(build-system r-build-system)
(propagated-inputs
@ -4077,14 +4323,14 @@ footprints.")
(define-public r-gofuncr
(package
(name "r-gofuncr")
(version "1.6.0")
(version "1.6.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "GOfuncR" version))
(sha256
(base32
"0hmi13pz923fm95asys615rih63b1i2nvynfczr1zcsc9fzn4h35"))))
"1wk7ja6f5il8jx8v05ijzcs9pijp3b953h566ya66xp7dz5jg9rb"))))
(properties `((upstream-name . "GOfuncR")))
(build-system r-build-system)
(propagated-inputs
@ -4095,6 +4341,8 @@ footprints.")
("r-mapplots" ,r-mapplots)
("r-rcpp" ,r-rcpp)
("r-vioplot" ,r-vioplot)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://bioconductor.org/packages/GOfuncR/")
(synopsis "Gene ontology enrichment using FUNC")
(description
@ -4267,7 +4515,7 @@ investigation using RNA-seq data.")
(home-page "https://bioconductor.org/packages/AUCell/")
(synopsis "Analysis of gene set activity in single-cell RNA-seq data")
(description
"AUCell allows to identify cells with active gene sets (e.g. signatures,
"AUCell identifies cells with active gene sets (e.g. signatures,
gene modules, etc) in single-cell RNA-seq data. AUCell uses the @dfn{Area
Under the Curve} (AUC) to calculate whether a critical subset of the input
gene set is enriched within the expressed genes for each cell. The
@ -5829,14 +6077,14 @@ sequential way to mimic the manual gating strategy.")
(define-public r-cytoml
(package
(name "r-cytoml")
(version "1.12.0")
(version "1.12.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "CytoML" version))
(sha256
(base32
"0m8x18wkvis85cawv7j07pk59w76wnzy93ia99gd24j82z4h97p1"))))
"0wgi8rwb4spxzd5xvs5amfr5g82ny2nad57j3nmhnhnj1cpirjxz"))))
(properties `((upstream-name . "CytoML")))
(build-system r-build-system)
(inputs
@ -5866,6 +6114,8 @@ sequential way to mimic the manual gating strategy.")
("r-runit" ,r-runit)
("r-xml" ,r-xml)
("r-yaml" ,r-yaml)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://github.com/RGLab/CytoML")
(synopsis "GatingML interface for cross platform cytometry data sharing")
(description
@ -5906,14 +6156,14 @@ self-organizing map clustering and minimal spanning trees.")
(define-public r-mixomics
(package
(name "r-mixomics")
(version "6.10.8")
(version "6.10.9")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "mixOmics" version))
(sha256
(base32
"0307vhx9ck24rxqbvq15815ssxcc226sl2la060n204b51wi9jaa"))))
"0b457yg8mwqlrn5l344w8qcj8v2ghlj1wdx1ysxbncqvqx7nvgig"))))
(properties `((upstream-name . "mixOmics")))
(build-system r-build-system)
(propagated-inputs
@ -5930,6 +6180,8 @@ self-organizing map clustering and minimal spanning trees.")
("r-rcolorbrewer" ,r-rcolorbrewer)
("r-reshape2" ,r-reshape2)
("r-tidyr" ,r-tidyr)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "http://www.mixOmics.org")
(synopsis "Multivariate methods for exploration of biological datasets")
(description
@ -6354,6 +6606,44 @@ and parameters of which are trained on a set of aligned reads and a reference
genome sequence.")
(license license:lgpl3)))
(define-public r-snplocs-hsapiens-dbsnp144-grch37
(package
(name "r-snplocs-hsapiens-dbsnp144-grch37")
(version "0.99.20")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "SNPlocs.Hsapiens.dbSNP144.GRCh37"
version 'annotation))
(sha256
(base32
"1z8kx43ki1jvj7ms7pcybakcdimfwr6zpjvspkjmma97bdz093iz"))))
(build-system r-build-system)
;; As this package provides little more than a very large data file it
;; doesn't make sense to build substitutes.
(arguments `(#:substitutable? #f))
(propagated-inputs
`(("r-biocgenerics" ,r-biocgenerics)
("r-s4vectors" ,r-s4vectors)
("r-iranges" ,r-iranges)
("r-genomeinfodb" ,r-genomeinfodb)
("r-genomicranges" ,r-genomicranges)
("r-bsgenome" ,r-bsgenome)
("r-biostrings" ,r-biostrings)))
(home-page
"https://bioconductor.org/packages/SNPlocs.Hsapiens.dbSNP144.GRCh37/")
(synopsis "SNP locations for Homo sapiens (dbSNP Build 144)")
(description "This package provides SNP locations and alleles for Homo
sapiens extracted from NCBI dbSNP Build 144. The source data files used for
this package were created by NCBI on May 29-30, 2015, and contain SNPs mapped
to reference genome GRCh37.p13. Note that the GRCh37.p13 genome is a
patched version of GRCh37. However the patch doesn't alter chromosomes 1-22,
X, Y, MT. GRCh37 itself is the same as the hg19 genome from UCSC *except* for
the mitochondrion chromosome. Therefore, the SNPs in this package can be
injected in @code{BSgenome.Hsapiens.UCSC.hg19} and they will land at the
correct position but this injection will exclude chrM (i.e. nothing will be
injected in that sequence).")
(license license:artistic2.0)))
(define-public r-reqon
(package
(name "r-reqon")
@ -6418,7 +6708,7 @@ parametric mixture model. The protein binding sites (clusters) are then
resolved at high resolution and cluster statistics are estimated using a
rigorous Bayesian framework. Post-processing of the results, data export for
UCSC genome browser visualization and motif search analysis are provided. In
addition, the package allows to integrate RNA-Seq data to estimate the False
addition, the package integrates RNA-Seq data to estimate the False
Discovery Rate of cluster detection. Key functions support parallel multicore
computing. While wavClusteR was designed for PAR-CLIP data analysis, it can
be applied to the analysis of other NGS data obtained from experimental
@ -6725,6 +7015,8 @@ using whole genome sequencing data.")
`(("r-data-table" ,r-data-table)
("r-ggplot2" ,r-ggplot2)
("r-metap" ,r-metap)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://cran.r-project.org/web/packages/ActivePathways/")
(synopsis "Multivariate pathway enrichment analysis")
(description
@ -7097,6 +7389,8 @@ structures.")
("r-rjson" ,r-rjson)
("r-rsqlite" ,r-rsqlite)
("r-xml" ,r-xml)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://github.com/TylerBackman/bioassayR")
(synopsis "Cross-target analysis of small molecule bioactivity")
(description
@ -7490,14 +7784,14 @@ accessing web references for elements/sets are also available in BiocSet.")
(define-public r-biocworkflowtools
(package
(name "r-biocworkflowtools")
(version "1.12.0")
(version "1.12.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "BiocWorkflowTools" version))
(sha256
(base32
"1v4bhnpdkmllm7aghms9b7369hkrgz7mn69wbrqg1x42pgkf30ad"))))
"0z28s572wg9qxv52dmixxz1xf1z3fyp2j7kzk0k32fp628918wr6"))))
(properties
`((upstream-name . "BiocWorkflowTools")))
(build-system r-build-system)
@ -7511,6 +7805,8 @@ accessing web references for elements/sets are also available in BiocSet.")
("r-rstudioapi" ,r-rstudioapi)
("r-stringr" ,r-stringr)
("r-usethis" ,r-usethis)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://bioconductor.org/packages/BiocWorkflowTools/")
(synopsis "Tools to aid the development of Bioconductor Workflow packages")
(description

View File

@ -3,7 +3,7 @@
;;; Copyright © 2015, 2016, 2017, 2018 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2015, 2016 Pjotr Prins <pjotr.guix@thebird.nl>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016, 2020 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2016, 2018 Raoul Bonnal <ilpuccio.febo@gmail.com>
@ -16,6 +16,7 @@
;;; Copyright © 2019 Brian Leung <bkleung89@gmail.com>
;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -2333,6 +2334,62 @@ file formats including SAM/BAM, Wiggle/BigWig, BED, GFF/GTF, VCF.")
files. The code was previously part of the cutadapt tool.")
(license license:expat)))
(define-public python-deeptoolsintervals
(package
(name "python-deeptoolsintervals")
(version "0.1.9")
(source (origin
(method url-fetch)
(uri (pypi-uri "deeptoolsintervals" version))
(sha256
(base32
"1xnl80nblysj6dylj4683wgrfa425rkx4dp5k65hvwdns9pw753x"))))
(build-system python-build-system)
(inputs
`(("zlib" ,zlib)))
(home-page "https://github.com/deeptools/deeptools_intervals")
(synopsis "Create GTF-based interval trees with associated meta-data")
(description
"This package provides a Python module creating/accessing GTF-based
interval trees with associated meta-data. It is primarily used by the
@code{deeptools} package.")
(license license:expat)))
(define-public python-deeptools
(package
(name "python-deeptools")
(version "3.4.3")
(source (origin
(method url-fetch)
(uri (pypi-uri "deepTools" version))
(sha256
(base32
"1azgjniss5ff6a90nicdjkxyjwqmi3gzfn09gra42hwlz19hipxb"))))
(build-system python-build-system)
(propagated-inputs
`(("python-matplotlib" ,python-matplotlib)
("python-numpy" ,python-numpy)
("python-numpydoc" ,python-numpydoc)
("python-py2bit" ,python-py2bit)
("python-pybigwig" ,python-pybigwig)
("python-pysam" ,python-pysam)
("python-scipy" ,python-scipy)
("python-deeptoolsintervals" ,python-deeptoolsintervals)
("python-plotly" ,python-plotly)))
(home-page "https://pypi.org/project/deepTools/")
(synopsis "Useful tools for exploring deep sequencing data")
(description "This package addresses the challenge of handling large amounts
of data that are now routinely generated from DNA sequencing centers.
@code{deepTools} contains useful modules to process the mapped reads data for
multiple quality checks, creating normalized coverage files in standard bedGraph
and bigWig file formats, that allow comparison between different files. Finally,
using such normalized and standardized files, deepTools can create many
publication-ready visualizations to identify enrichments and for functional
annotations of the genome.")
;; The file deeptools/cm.py is licensed under the BSD license. The
;; remainder of the code is licensed under the MIT license.
(license (list license:bsd-3 license:expat))))
(define-public cutadapt
(package
(name "cutadapt")
@ -2398,13 +2455,13 @@ files.")
(define-public python-pybigwig
(package
(name "python-pybigwig")
(version "0.3.12")
(version "0.3.17")
(source (origin
(method url-fetch)
(uri (pypi-uri "pyBigWig" version))
(sha256
(base32
"00w4kfnm2c5l7wdwr2nj1z5djv8kzgf7h1zhsgv6njff1rwr26g0"))
"157x6v48y299zm382krf1dw08fdxg95im8lnabhp5vc94s04zxj1"))
(modules '((guix build utils)))
(snippet
'(begin
@ -7501,13 +7558,13 @@ checks on R packages that are to be submitted to the Bioconductor repository.")
(define-public r-s4vectors
(package
(name "r-s4vectors")
(version "0.24.3")
(version "0.24.4")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "S4Vectors" version))
(sha256
(base32
"01f7dms4kw9ajwqlvh5s47riv748xrrs41na03byhjvn4fbdc44y"))))
"1fzs8j2d3wwfzm2fq63ywf68a4dbggyl5l098f148yn4jw7jd3bc"))))
(properties
`((upstream-name . "S4Vectors")))
(build-system r-build-system)
@ -7580,13 +7637,13 @@ ID and species. It is used by functions in the GenomeInfoDb package.")
(define-public r-genomeinfodb
(package
(name "r-genomeinfodb")
(version "1.22.0")
(version "1.22.1")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "GenomeInfoDb" version))
(sha256
(base32
"07zljs2mfi8rf31g903f43v2f7767xbnflfrx9qjnmgf7bm039x0"))))
"0phadr67yb4l25x41a9wg4pjy1wbxlk14jhidhz6g5n4z6x45qbm"))))
(properties
`((upstream-name . "GenomeInfoDb")))
(build-system r-build-system)
@ -7596,6 +7653,8 @@ ID and species. It is used by functions in the GenomeInfoDb package.")
("r-iranges" ,r-iranges)
("r-rcurl" ,r-rcurl)
("r-s4vectors" ,r-s4vectors)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://bioconductor.org/packages/GenomeInfoDb")
(synopsis "Utilities for manipulating chromosome identifiers")
(description
@ -7808,13 +7867,13 @@ annotation data packages using SQLite data storage.")
(define-public r-biomart
(package
(name "r-biomart")
(version "2.42.0")
(version "2.42.1")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "biomaRt" version))
(sha256
(base32
"0difh4dsccjzhpfkvajy2adh98ym9164gd6clnsnic6qr6sk86ss"))))
"0676s8aq9xj2pdrfk28kf5j69fmssn900k4vxrp11ghwjr8z24h7"))))
(properties
`((upstream-name . "biomaRt")))
(build-system r-build-system)
@ -7827,6 +7886,8 @@ annotation data packages using SQLite data storage.")
("r-rappdirs" ,r-rappdirs)
("r-stringr" ,r-stringr)
("r-xml" ,r-xml)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://bioconductor.org/packages/biomaRt")
(synopsis "Interface to BioMart databases")
(description
@ -7939,13 +8000,13 @@ tab-delimited (tabix) files.")
(define-public r-delayedarray
(package
(name "r-delayedarray")
(version "0.12.2")
(version "0.12.3")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "DelayedArray" version))
(sha256
(base32
"09lackgix5jpm16k0mz2zkibflfb4wzidbz4q32mlxmklf40037q"))))
"02i88ll2d7r83nk0wdj28akvsz3jq19g6ixpaahfy3jy5av4byv6"))))
(properties
`((upstream-name . "DelayedArray")))
(build-system r-build-system)
@ -7956,6 +8017,8 @@ tab-delimited (tabix) files.")
("r-iranges" ,r-iranges)
("r-matrix" ,r-matrix)
("r-matrixstats" ,r-matrixstats)))
(native-inputs
`(("r-knitr" ,r-knitr)))
(home-page "https://bioconductor.org/packages/DelayedArray")
(synopsis "Delayed operations on array-like objects")
(description
@ -8396,7 +8459,7 @@ system. It is used to analyze experimental crosses for identifying
genes contributing to variation in quantitative traits (so-called
quantitative trait loci, QTLs).
Using a hidden Markov model, R/qtl allows to estimate genetic maps, to
Using a hidden Markov model, R/qtl estimates genetic maps, to
identify genotyping errors, and to perform single-QTL and two-QTL,
two-dimensional genome scans.")
(license license:gpl3)))
@ -8527,7 +8590,7 @@ of other R packages who wish to make use of HTSlib.")
(home-page "https://bioconductor.org/packages/bamsignals")
(synopsis "Extract read count signals from bam files")
(description
"This package allows to efficiently obtain count vectors from indexed bam
"This package efficiently obtains count vectors from indexed bam
files. It counts the number of nucleotide sequence reads in given genomic
ranges and it computes reads profiles and coverage profiles. It also handles
paired-end data.")
@ -9095,6 +9158,46 @@ samples into a single report. It contains modules for a large number of
common bioinformatics tools.")
(license license:gpl3+)))
(define-public variant-tools
(package
(name "variant-tools")
(version "3.1.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/vatlab/varianttools.git")
;; There is no tag corresponding to version 3.1.2
(commit "813ae4a90d25b69abc8a40f4f70441fe09015249")))
(file-name (git-file-name name version))
(sha256
(base32
"12ibdmksj7icyqhks4xyvd61bygk4pjmxn618kp6vgk1af01y34g"))))
(build-system python-build-system)
(inputs
`(("boost" ,boost)
("c-blosc" ,c-blosc)
("gsl" ,gsl)
("hdf5" ,hdf5)
("hdf5-blosc" ,hdf5-blosc)
("python-cython" ,python-cython)
("zlib" ,zlib)))
(propagated-inputs
`(("python-numpy" ,python-numpy)
("python-pycurl" ,python-pycurl)
("python-pyzmq" ,python-pyzmq)
("python-scipy" ,python-scipy)
("python-tables" ,python-tables)))
(home-page "https://vatlab.github.io/vat-docs/")
(synopsis "Analyze genetic variants from Next-Gen sequencing studies")
(description
"Variant tools is a tool for the manipulation, annotation,
selection, simulation, and analysis of variants in the context of next-gen
sequencing analysis. Unlike some other tools used for next-gen sequencing
analysis, variant tools is project based and provides a whole set of tools to
manipulate and analyze genetic variants.")
(license license:gpl3+)))
(define-public r-chipseq
(package
(name "r-chipseq")
@ -9653,13 +9756,13 @@ and irregular enzymatic cleavages, mass measurement accuracy, etc.")
(define-public r-seurat
(package
(name "r-seurat")
(version "3.1.4")
(version "3.1.5")
(source (origin
(method url-fetch)
(uri (cran-uri "Seurat" version))
(sha256
(base32
"0lhjbjhv1hnx5i3gkx41k68i8ykay3f24708h30wx9xywww9lsvi"))))
"1lbq2pqhb6ih6iqawlnzdh05zff71pwbw1cpfv2sld3pd7kz0zkm"))))
(properties `((upstream-name . "Seurat")))
(build-system r-build-system)
(propagated-inputs
@ -9681,7 +9784,6 @@ and irregular enzymatic cleavages, mass measurement accuracy, etc.")
("r-lmtest" ,r-lmtest)
("r-mass" ,r-mass)
("r-matrix" ,r-matrix)
("r-metap" ,r-metap)
("r-patchwork" ,r-patchwork)
("r-pbapply" ,r-pbapply)
("r-plotly" ,r-plotly)
@ -10627,14 +10729,14 @@ provided.")
(define-public r-hdf5array
(package
(name "r-hdf5array")
(version "1.14.3")
(version "1.14.4")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "HDF5Array" version))
(sha256
(base32
"1z153a7nxmlml72pl1saasj2il9g5ahpynkpv3mkhhsvl5kbwbh6"))))
"0ib0grhd9zbrn0dkrm4aa7qj7h0y6z1dvyx1ab3w6vczw7xghsfb"))))
(properties `((upstream-name . "HDF5Array")))
(build-system r-build-system)
(inputs
@ -12763,7 +12865,7 @@ expression report comparing samples in an easily configurable manner.")
(define-public pigx-chipseq
(package
(name "pigx-chipseq")
(version "0.0.41")
(version "0.0.42")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/BIMSBbioinfo/pigx_chipseq/"
@ -12771,7 +12873,7 @@ expression report comparing samples in an easily configurable manner.")
"/pigx_chipseq-" version ".tar.gz"))
(sha256
(base32
"0akbxdmsjsq5fzbwaap04hqjpsfgv1l6yrc2pwgbya1xgqvcq6vy"))))
"0xbvgqpk32a8iczhvac56cacr46rdkqb0allhhpvmj940idf72bi"))))
(build-system gnu-build-system)
;; parts of the tests rely on access to the network
(arguments '(#:tests? #f))
@ -13144,7 +13246,7 @@ version does count multisplits.")
(define-public minimap2
(package
(name "minimap2")
(version "2.10")
(version "2.17")
(source
(origin
(method url-fetch)
@ -13153,7 +13255,7 @@ version does count multisplits.")
"minimap2-" version ".tar.bz2"))
(sha256
(base32
"080w9066irkbhbyr4nmf19pzkdd2s4v31hpzlajgq2y0drr6zcsj"))))
"0hi7i9pzxhvjj44khzzzj1lrn5gb5837arr4wgln7k1k5n4ci2mn"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; there are none
@ -13167,7 +13269,7 @@ version does count multisplits.")
((or (string-prefix? "armhf" system)
(string-prefix? "aarch64" system))
"arm_neon=1")
(_ "sse2only=1"))))
(else "sse2only=1"))))
#:phases
(modify-phases %standard-phases
(delete 'configure)
@ -13358,14 +13460,14 @@ in RNA-seq data.")
(define-public python-scanpy
(package
(name "python-scanpy")
(version "1.4.5.1")
(version "1.4.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "scanpy" version))
(sha256
(base32
"14kh1ji70xxhmri5q8sgcibsidhr6f221wxrcw8a5xvibj5da17j"))))
"0s2b6cvaigx4wzw3850qb93sjwwxbzh22kpbp498zklc5rjpbz4l"))))
(build-system python-build-system)
(arguments
`(#:phases
@ -13375,6 +13477,7 @@ in RNA-seq data.")
;; These tests require Internet access.
(delete-file-recursively "scanpy/tests/notebooks")
(delete-file "scanpy/tests/test_clustering.py")
(delete-file "scanpy/tests/test_datasets.py")
;; TODO: I can't get the plotting tests to work, even with Xvfb.
(delete-file "scanpy/tests/test_plotting.py")
@ -13391,8 +13494,8 @@ in RNA-seq data.")
("python-h5py" ,python-h5py)
("python-igraph" ,python-igraph)
("python-joblib" ,python-joblib)
("python-louvain" ,python-louvain)
("python-legacy-api-wrap" ,python-legacy-api-wrap)
("python-louvain" ,python-louvain)
("python-matplotlib" ,python-matplotlib)
("python-natsort" ,python-natsort)
("python-networkx" ,python-networkx)
@ -13405,6 +13508,7 @@ in RNA-seq data.")
("python-seaborn" ,python-seaborn)
("python-statsmodels" ,python-statsmodels)
("python-tables" ,python-tables)
("python-tqdm" ,python-tqdm)
("python-umap-learn" ,python-umap-learn)))
(native-inputs
`(("python-pytest" ,python-pytest)
@ -13548,17 +13652,27 @@ allowing the insertion of arbitrary types into the tree.")
(define-public python-intervaltree
(package
(name "python-intervaltree")
(version "2.1.0")
(version "3.0.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "intervaltree" version))
(sha256
(base32
"02w191m9zxkcjqr1kv2slxvhymwhj3jnsyy3a28b837pi15q19dc"))))
"0wz234g6irlm4hivs2qzmnywk0ss06ckagwh15nflkyb3p462kyb"))))
(build-system python-build-system)
;; FIXME: error when collecting tests
(arguments '(#:tests? #f))
(arguments
`(#:phases
(modify-phases %standard-phases
;; pytest seems to have a check to make sure the user is testing
;; their checked-out code and not an installed, potentially
;; out-of-date copy. This is harmless here, since we just installed
;; the package, so we disable the check to avoid skipping tests
;; entirely.
(add-before 'check 'import-mismatch-error-workaround
(lambda _
(setenv "PY_IGNORE_IMPORTMISMATCH" "1")
#t)))))
(propagated-inputs
`(("python-sortedcontainers" ,python-sortedcontainers)))
(native-inputs
@ -13624,32 +13738,34 @@ fasta subsequences.")
(define-public python-cooler
(package
(name "python-cooler")
(version "0.7.11")
(version "0.8.7")
(source
(origin
(method url-fetch)
(uri (pypi-uri "cooler" version))
(sha256
(base32
"08k5nxnxa6qsbk15z5z0q01n28042k87wi4905hh95rzqib15mhx"))))
"01g6gqix9ba27sappz6nfyiwabzrlf8i5fn8kwcz8ra356cq9crp"))))
(build-system python-build-system)
(propagated-inputs
`(("python-biopython" ,python-biopython)
`(("python-asciitree" ,python-asciitree)
("python-biopython" ,python-biopython)
("python-click" ,python-click)
("python-cytoolz" ,python-cytoolz)
("python-dask" ,python-dask)
("python-h5py" ,python-h5py)
("python-multiprocess" ,python-multiprocess)
("python-numpy" ,python-numpy)
("python-pandas" ,python-pandas)
("python-pyfaidx" ,python-pyfaidx)
("python-pypairix" ,python-pypairix)
("python-pysam" ,python-pysam)
("python-scipy" ,python-scipy)))
("python-pyyaml" ,python-pyyaml)
("python-scipy" ,python-scipy)
("python-simplejson" ,python-simplejson)))
(native-inputs
`(("python-mock" ,python-mock)
("python-nose" ,python-nose)
("python-numpydoc" ,python-numpydoc)
("python-sphinx" ,python-sphinx)))
("python-pytest" ,python-pytest)))
(home-page "https://github.com/mirnylab/cooler")
(synopsis "Sparse binary format for genomic interaction matrices")
(description
@ -13658,6 +13774,46 @@ storage format, called @code{cool}, used to store genomic interaction data,
such as Hi-C contact matrices.")
(license license:bsd-3)))
(define-public python-hicmatrix
(package
(name "python-hicmatrix")
(version "12")
(source
(origin
;; Version 12 is not available on pypi.
(method git-fetch)
(uri (git-reference
(url "https://github.com/deeptools/HiCMatrix.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1xhdyx16f3brgxgxybixdi64ki8nbbkq5vk4h9ahi11pzpjfn1pj"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'relax-requirements
(lambda _
(substitute* '("requirements.txt"
"setup.py")
(("cooler *=+ *0.8.5")
"cooler==0.8.*"))
#t)))))
(propagated-inputs
`(("python-cooler" ,python-cooler)
("python-intervaltree" ,python-intervaltree)
("python-numpy" ,python-numpy)
("python-pandas" ,python-pandas)
("python-scipy" ,python-scipy)
("python-tables" ,python-tables)))
(home-page "https://github.com/deeptools/HiCMatrix/")
(synopsis "HiCMatrix class for HiCExplorer and pyGenomeTracks")
(description
"This helper package implements the @code{HiCMatrix} class for
the HiCExplorer and pyGenomeTracks packages.")
(license license:gpl3+)))
(define-public python-hicexplorer
(package
(name "python-hicexplorer")
@ -13714,23 +13870,35 @@ genomic scores), long range contacts and the visualization of viewpoints.")
(define-public python-pygenometracks
(package
(name "python-pygenometracks")
(version "2.0")
(version "3.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyGenomeTracks" version))
(sha256
(base32
"1fws6bqsyy9kj3qiabhkqx4wd4i775gsxnhszqd3zg7w67sc1ic5"))))
"16laa0wnf4qn9fb9ych4w1vqhqwjss70v0y0f6wp4gwqfrlgac0f"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; there are none
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'relax-requirements
(lambda _
(substitute* "setup.py"
(("matplotlib ==3.1.1")
"matplotlib >=3.1.1"))
#t)))))
(propagated-inputs
`(("python-configparser" ,python-configparser)
("python-future" ,python-future)
("python-hicexplorer" ,python-hicexplorer)
`(("python-future" ,python-future)
("python-gffutils" ,python-gffutils)
("python-hicmatrix" ,python-hicmatrix)
("python-intervaltree" ,python-intervaltree)
("python-matplotlib" ,python-matplotlib)
("python-numpy" ,python-numpy)
("python-pybigwig" ,python-pybigwig)))
("python-pybigwig" ,python-pybigwig)
("python-pysam" ,python-pysam)
("python-tqdm" ,python-tqdm)))
(native-inputs
`(("python-pytest" ,python-pytest)))
(home-page "https://pygenometracks.readthedocs.io")

View File

@ -94,10 +94,13 @@
(string-append gui
"/bin/transmission-gtk"))
;; Move the '.desktop' file as well.
;; Move the '.desktop' and icon files as well.
(mkdir (string-append gui "/share"))
(rename-file (string-append out "/share/applications")
(string-append gui "/share/applications")))
(for-each
(lambda (dir)
(rename-file (string-append out "/share/" dir)
(string-append gui "/share/" dir)))
'("applications" "icons" "pixmaps")))
#t)))))
(inputs
`(("inotify-tools" ,inotify-tools)

View File

@ -11,6 +11,8 @@
;;; Copyright © 2019 nee <nee@cock.li>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2018, 2019, 2020 Vagrant Cascadian <vagrant@debian.org>
;;; Copyright © 2020 Pierre Langlois <pierre.langlois@gmx.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -399,7 +401,7 @@ tree binary files. These are board description files used by Linux and BSD.")
(define u-boot
(package
(name "u-boot")
(version "2020.01")
(version "2020.04")
(source (origin
(method url-fetch)
(uri (string-append
@ -407,7 +409,7 @@ tree binary files. These are board description files used by Linux and BSD.")
"u-boot-" version ".tar.bz2"))
(sha256
(base32
"1w9ml4jl15q6ixpdqzspxjnl7d3rgxd7f99ms1xv5c8869h3qida"))))
"0wjkasnz87q86hx93inspdjfjsinmxi87bcvj30c773x0fpjlwzy"))))
(native-inputs
`(("bc" ,bc)
("bison" ,bison)
@ -418,7 +420,7 @@ tree binary files. These are board description files used by Linux and BSD.")
("python" ,python)
("python-coverage" ,python-coverage)
("python-pytest" ,python-pytest)
("sdl" ,sdl)
("sdl2" ,sdl2)
("swig" ,swig)))
(build-system gnu-build-system)
(home-page "https://www.denx.de/wiki/U-Boot/")
@ -834,6 +836,35 @@ to Novena upstream, does not load u-boot.img from the first partition.")
`(("firmware" ,arm-trusted-firmware-rk3399)
,@(package-native-inputs base))))))
(define-public u-boot-pinebook-pro-rk3399
(let ((base (make-u-boot-package "pinebook-pro-rk3399" "aarch64-linux-gnu")))
(package
(inherit base)
(source (origin
(inherit (package-source u-boot))
(patches
(search-patches "u-boot-add-boe-nv140fhmn49-display.patch"
"u-boot-gpio-keys-binding-cons.patch"
"u-boot-leds-common-binding-con.patch"
"u-boot-DT-for-Pinebook-Pro.patch"
"u-boot-support-Pinebook-Pro-laptop.patch"
"u-boot-video-rockchip-fix-build.patch"))))
(arguments
(substitute-keyword-arguments (package-arguments base)
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'set-environment
(lambda* (#:key inputs #:allow-other-keys)
(setenv "BL31" (string-append (assoc-ref inputs "firmware")
"/bl31.elf"))
#t))
;; Phases do not succeed on the bl31 ELF.
(delete 'strip)
(delete 'validate-runpath)))))
(native-inputs
`(("firmware" ,arm-trusted-firmware-rk3399)
,@(package-native-inputs base))))))
(define-public vboot-utils
(package
(name "vboot-utils")

View File

@ -4,7 +4,7 @@
;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
;;; Copyright © 2018 Tomáš Čech <sleep_walker@gnu.org>
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
@ -103,8 +103,8 @@ generate such a compilation database.")
(license license:gpl3+)))
(define-public gn
(let ((commit "6e5ba2e7210823cf7ccce3eb2a23336a4e7f1349")
(revision "1666")) ;as returned by `git describe`, used below
(let ((commit "ec938ddaa276646eb8f1ab33e160c156011d8217")
(revision "1736")) ;as returned by `git describe`, used below
(package
(name "gn")
(version (git-version "0.0" revision commit))
@ -114,7 +114,7 @@ generate such a compilation database.")
(uri (git-reference (url home-page) (commit commit)))
(sha256
(base32
"157ax65sixjm0i1j89wvny48v1mbsl4pbvv5vqinjc6r0fryaf2r"))
"0j1qjwp2biw12s6npzpx4z8nvih7pyn68q6cz2k4700bk9y0d574"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
@ -135,8 +135,10 @@ generate such a compilation database.")
(call-with-output-file "out/last_commit_position.h"
(lambda (port)
(format port
"#define LAST_COMMIT_POSITION \"~a (~a)\"\n"
,revision ,(string-take commit 8))
(string-append
"#define LAST_COMMIT_POSITION_NUM ~a\n"
"#define LAST_COMMIT_POSITION \"~a (~a)\"\n")
,revision ,revision ,(string-take commit 8))
#t))))
(replace 'build
(lambda _

View File

@ -59,7 +59,7 @@
(lambda _
(substitute* "doc/Makefile.in"
(("(docdir =) .*" _ match)
(format "~a @docdir@\n" match)))
(format #f "~a @docdir@\n" match)))
#t))
(add-before 'check 'check-setup
(lambda* (#:key inputs #:allow-other-keys)

View File

@ -180,7 +180,17 @@ data units.")
(uri (pypi-uri "khal" version))
(sha256
(base32
"1r8bkgjwkh7i8ygvsv51h1cnax50sb183vafg66x5snxf3dgjl6l"))))
"1r8bkgjwkh7i8ygvsv51h1cnax50sb183vafg66x5snxf3dgjl6l"))
(patches
(list
(origin
(method url-fetch)
;; This patch fixes an issue with python-urwid-2.1.0
(uri "https://github.com/pimutils/khal/commit/2c5990c2de2015b251ba23617faa40ee11b8c22a.patch")
(file-name "khal-compat-urwid-2.1.0.patch")
(sha256
(base32
"11nd8hkjz68imwqqn0p54zmb53z2pfxmzchaviy7jc1ky5s9l663")))))))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
@ -213,9 +223,8 @@ data units.")
("python-sphinxcontrib-newsfeed" ,python-sphinxcontrib-newsfeed)
("python-sphinx" ,python-sphinx)))
(inputs
`(("sqlite" ,sqlite)))
(propagated-inputs
`(("python-configobj" ,python-configobj)
`(("sqlite" ,sqlite)
("python-configobj" ,python-configobj)
("python-dateutil" ,python-dateutil)
("python-icalendar" ,python-icalendar)
("python-tzlocal" ,python-tzlocal)

View File

@ -3,7 +3,7 @@
;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 John Darrington <jmd@gnu.org>
@ -66,6 +66,7 @@
#:use-module (gnu packages python)
#:use-module (gnu packages image)
#:use-module (gnu packages photo)
#:use-module (gnu packages tcl)
#:use-module (gnu packages video)
#:use-module (gnu packages wget)
#:use-module (gnu packages xiph))
@ -156,6 +157,7 @@ libcdio.")
(package
(name "xorriso")
(version "1.5.2")
(outputs '("out" "gui"))
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/xorriso/xorriso-"
@ -172,10 +174,26 @@ libcdio.")
(let* ((out (assoc-ref outputs "out"))
(out-bin (string-append out "/bin")))
(install-file "frontend/grub-mkrescue-sed.sh" out-bin)
#t)))
(add-after 'install 'move-gui-to-separate-output
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(gui (assoc-ref outputs "gui")))
(for-each
(lambda (file)
(mkdir-p (string-append gui (dirname file)))
(rename-file (string-append out file)
(string-append gui file)))
(list "/bin/xorriso-tcltk"
"/share/info/xorriso-tcltk.info"
"/share/man/man1/xorriso-tcltk.1"))
(wrap-program (string-append gui "/bin/xorriso-tcltk")
`("PATH" ":" prefix (,(string-append out "/bin"))))
#t))))))
(inputs
`(("acl" ,acl)
("readline" ,readline)
("tk" ,tk)
("zlib" ,zlib)))
(home-page "https://www.gnu.org/software/xorriso/")
(synopsis "Create, manipulate, burn ISO-9660 file systems")
@ -466,7 +484,7 @@ capacity is user-selectable.")
("flex" ,flex)
("python" ,python-2)
("xmlto" ,xmlto)
("gettext" ,gnu-gettext)
("gettext" ,gettext-minimal)
("docbook-xml" ,docbook-xml)
("docbook-xsl" ,docbook-xsl)
("zip" ,zip)))

View File

@ -51,17 +51,24 @@
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-cedille-path-el
(add-after 'unpack 'patch-cedille-paths
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* "cedille-mode.el"
(("/usr/share/emacs/site-lisp/cedille-mode")
(string-append out "/share/emacs/site-lisp")))
(string-append
out "/share/emacs/site-lisp/cedille")))
(substitute* "cedille-mode/cedille-mode-info.el"
(("\\(concat cedille-path-el \"cedille-info-main.info\"\\)")
(string-append
"\"" out "/share/info/cedille-info-main.info.gz\"")))
#t)))
(add-after 'unpack 'copy-cedille-mode
(add-after 'patch-cedille-paths 'copy-cedille-mode
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(lisp (string-append out "/share/emacs/site-lisp")))
(lisp
(string-append
out "/share/emacs/site-lisp/cedille/")))
(mkdir-p (string-append lisp "cedille-mode"))
(copy-recursively
"cedille-mode"
@ -104,6 +111,8 @@
(install-file "cedille" (string-append out "/bin"))
(install-file "core/cedille-core"
(string-append out "/bin"))
(install-file "docs/info/cedille-info-main.info"
(string-append out "/share/info"))
#t))))))
(home-page "https://cedille.github.io/")
(synopsis

View File

@ -30,6 +30,7 @@
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2019 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -580,14 +581,14 @@ but it works for any C/C++ project.")
(define-public python-parameterized
(package
(name "python-parameterized")
(version "0.7.1")
(version "0.7.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "parameterized" version))
(sha256
(base32
"1vapry9lyfb2mlpgk2wh9079hzxzq5120bsczncxxay663mdp53a"))))
"0g1q6n7fkanjv7i1djzw62f46xf573jvza7afabh3baqjqxy7rpd"))))
(build-system python-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
@ -1007,17 +1008,26 @@ result back.")
(define-public python-pytest-timeout
(package
(name "python-pytest-timeout")
(version "1.3.3")
(version "1.3.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pytest-timeout" version))
(sha256
(base32
"1cczcjhw4xx5sjkhxlhc5c1bkr7x6fcyx12wrnvwfckshdvblc2a"))))
"13n42azbvs5slvy2n1a9nw17r4qdq10dd68nln3jp925safa3yl0"))))
(build-system python-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
(replace 'check
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Make the installed plugin discoverable by Pytest.
(add-installed-pythonpath inputs outputs)
(invoke "pytest" "-vv"))))))
(propagated-inputs
`(("python-pytest" ,python-pytest)))
(native-inputs
`(("python-pexpect" ,python-pexpect)))
(home-page "http://bitbucket.org/pytest-dev/pytest-timeout/")
(synopsis "Plugin for py.test to abort hanging tests")
(description
@ -1025,6 +1035,31 @@ result back.")
timeout has been exceeded.")
(license license:expat)))
(define-public python-pytest-forked
(package
(name "python-pytest-forked")
(version "1.1.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pytest-forked" version))
(sha256
(base32
"000i4q7my2fq4l49n8idx2c812dql97qv6qpm2vhrrn9v6g6j18q"))))
(build-system python-build-system)
(propagated-inputs
`(("python-pytest" ,python-pytest)))
(native-inputs
`(("python-setuptools-scm" ,python-setuptools-scm)))
(home-page
"https://github.com/pytest-dev/pytest-forked")
(synopsis
"Run tests in isolated forked subprocesses")
(description
"Pytest plugin which will run each test in a subprocess and will report if
a test crashed the process.")
(license license:expat)))
(define-public python-scripttest
(package
(name "python-scripttest")
@ -1868,8 +1903,8 @@ possible to write plugins to add your own checks.")
(synopsis
"Simple extension to have parametrized unit tests")
(description
"This package allows to create parametrized unit-tests that work with the standard
unittest package. A parametrized test case is automatically converted to multiple test
"This package creates parameterized unit-tests that work with the standard
unittest package. A parameterized test case is automatically converted to multiple test
cases. Since they are TestCase subclasses, they work with other test suites that
recognize TestCases.")
(license license:bsd-2)))
@ -2509,3 +2544,25 @@ system. The code under test requires no modification to work with pyfakefs.")
(define-public python2-pyfakefs
(package-with-python2 python-pyfakefs))
(define-public python-aiounittest
(package
(name "python-aiounittest")
(version "1.3.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "aiounittest" version))
(sha256
(base32
"1q4bhmi80smaa1lknvdna0sx3915naczlfna1fp435nf6cjyrjl1"))))
(build-system python-build-system)
(native-inputs
`(("python-coverage" ,python-coverage)
("python-nose" ,python-nose)))
(home-page
"https://github.com/kwarunek/aiounittest")
(synopsis "Test asyncio code more easily")
(description "Aiounittest is a library that helps write tests using
asynchronous code in Python (asyncio).")
(license license:expat)))

View File

@ -277,16 +277,16 @@ analogy is that InChI is the bar-code for chemistry and chemical structures.")
;; and Guix contains currently no free molecular viewer that
;; could be substituted.
(("PREFERENCES\\['acroread_path'\\] = ''")
(format "PREFERENCES['acroread_path'] = '~a'"
(format #f "PREFERENCES['acroread_path'] = '~a'"
(which "gv")))
(("PREFERENCES\\['ncdump_path'\\] = ''")
(format "PREFERENCES['ncdump_path'] = '~a'"
(format #f "PREFERENCES['ncdump_path'] = '~a'"
(which "ncdump")))
(("PREFERENCES\\['ncgen_path'\\] = ''")
(format "PREFERENCES['ncgen_path'] = '~a'"
(format #f "PREFERENCES['ncgen_path'] = '~a'"
(which "ncgen3")))
(("PREFERENCES\\['task_manager_path'\\] = ''")
(format "PREFERENCES['task_manager_path'] = '~a'"
(format #f "PREFERENCES['task_manager_path'] = '~a'"
(which "task_manager")))
;; Show documentation as PDF
(("PREFERENCES\\['documentation_style'\\] = 'html'")

View File

@ -135,8 +135,11 @@
"third_party/dawn" ;ASL2.0
"third_party/depot_tools/owners.py" ;BSD-3
"third_party/devtools-frontend" ;BSD-3
"third_party/devtools-frontend/src/front_end/third_party/fabricjs" ;Expat
"third_party/devtools-frontend/src/front_end/third_party/wasmparser" ;ASL2.0
"third_party/devtools-frontend/src/third_party/axe-core" ;MPL2.0
"third_party/devtools-frontend/src/third_party/pyjson5" ;ASL2.0
"third_party/devtools-frontend/src/third_party/typescript" ;ASL2.0
"third_party/dom_distiller_js" ;BSD-3
"third_party/emoji-segmenter" ;ASL2.0
"third_party/flatbuffers" ;ASL2.0
@ -196,7 +199,6 @@
"third_party/qcms" ;Expat
"third_party/rnnoise" ;BSD-3
"third_party/s2cellid" ;ASL2.0
"third_party/sfntly" ;ASL2.0
"third_party/skia" ;BSD-3
"third_party/skia/include/third_party/skcms" ;BSD-3
"third_party/skia/third_party/skcms" ;BSD-3
@ -206,7 +208,6 @@
"third_party/spirv-headers" ;ASL2.0
"third_party/SPIRV-Tools" ;ASL2.0
"third_party/sqlite" ;Public domain
"third_party/ungoogled" ;BSD-3
"third_party/usb_ids" ;BSD-3
"third_party/usrsctp" ;BSD-2
"third_party/wayland/wayland_scanner_wrapper.py" ;BSD-3
@ -247,9 +248,9 @@ from forcing GEXP-PROMISE."
#:system system
#:guile-for-build guile)))
(define %chromium-version "80.0.3987.149")
(define %ungoogled-revision "516e2d990a50a4bbeb8c583e56333c2935e2af95")
(define %debian-revision "debian/80.0.3987.116-1")
(define %chromium-version "81.0.4044.129")
(define %ungoogled-revision "c2a89fb6b5b559c826796c811741fa8ed3e11de8")
(define %debian-revision "debian/81.0.4044.92-1")
(define package-revision "0")
(define %package-version (string-append %chromium-version "-"
package-revision "."
@ -263,7 +264,7 @@ from forcing GEXP-PROMISE."
%chromium-version ".tar.xz"))
(sha256
(base32
"07icl3hgg1wjkmz88lbpjf6ll4xyi64spki1nmsy6899jgkxvgjh"))))
"1ls663s1f74p912x42qp3zcvm17kmjiv1ij6yy1c14gdhcpmjx7z"))))
(define %ungoogled-origin
(origin
@ -274,7 +275,7 @@ from forcing GEXP-PROMISE."
(string-take %ungoogled-revision 7)))
(sha256
(base32
"0nm55qq4ahw9haf5g7hmzic4mr2xjgpay7lxps7xjp7s1pda4g0q"))))
"0bbr4a2gkgm3ykdgpj8x58sd3dwam6qkifhzfs2997681g7b2v2q"))))
(define %debian-origin
(origin
@ -288,7 +289,7 @@ from forcing GEXP-PROMISE."
(_ (string-take %debian-revision 7)))))
(sha256
(base32
"1cc5sp566dd8f2grgr770xwbxgxf58dk1w7q3s8pmv4js5h3pwq8"))))
"0srgbcqga3l75bfkv3bnmjk416189nazsximvzdx2k5n8v5k4p3m"))))
;; This is a "computed" origin that does the following:
;; *) Runs the Ungoogled scripts on a pristine Chromium tarball.
@ -319,8 +320,7 @@ from forcing GEXP-PROMISE."
(list #+(canonical-package patch)
#+(canonical-package xz)
#+(canonical-package tar)
#+python-2
#+python))
#+python-wrapper))
(copy-recursively #+ungoogled-source "/tmp/ungoogled")
@ -338,11 +338,11 @@ from forcing GEXP-PROMISE."
(format #t "Ungooglifying...~%")
(force-output)
(invoke "python3" "utils/prune_binaries.py" chromium-dir
(invoke "python" "utils/prune_binaries.py" chromium-dir
"pruning.list")
(invoke "python3" "utils/patches.py" "apply"
(invoke "python" "utils/patches.py" "apply"
chromium-dir "patches")
(invoke "python3" "utils/domain_substitution.py" "apply" "-r"
(invoke "python" "utils/domain_substitution.py" "apply" "-r"
"domain_regex.list" "-f" "domain_substitution.list"
"-c" "/tmp/domainscache.tar.gz" chromium-dir)
@ -390,13 +390,13 @@ from forcing GEXP-PROMISE."
(format #t "Pruning third party files...~%")
(force-output)
(apply invoke "python"
(apply invoke (string-append #+python-2 "/bin/python")
"build/linux/unbundle/remove_bundled_libraries.py"
"--do-remove" preserved-files)
(format #t "Replacing GN files...~%")
(force-output)
(invoke "python3" "build/linux/unbundle/replace_gn_files.py"
(invoke "python" "build/linux/unbundle/replace_gn_files.py"
"--system-libraries" "ffmpeg" "flac" "fontconfig"
"freetype" "harfbuzz-ng" "icu" "libdrm" "libevent"
"libjpeg" "libpng" "libvpx" "libwebp" "libxml"
@ -462,7 +462,6 @@ from forcing GEXP-PROMISE."
;; directory for an exhaustive list of supported flags.
;; (Note: The 'configure' phase will do that for you.)
(list "is_debug=false"
"is_cfi=false"
"use_gold=false"
"use_lld=false"
"clang_use_chrome_plugins=false"
@ -648,8 +647,13 @@ from forcing GEXP-PROMISE."
(setenv "AR" "ar") (setenv "NM" "nm")
(setenv "CC" "clang") (setenv "CXX" "clang++")
;; Do not optimize away null pointer safety checks.
(setenv "CXXFLAGS" "-fno-delete-null-pointer-checks")
(setenv "CXXFLAGS"
(string-join
'(;; Do not optimize away null pointer safety checks.
"-fno-delete-null-pointer-checks"
;; Disable warnings about unknown warnings that require
;; Clang plugins or newer versions.
"-Wno-unknown-warning-option")))
;; TODO: pre-compile instead. Avoids a race condition.
(setenv "PYTHONDONTWRITEBYTECODE" "1")
@ -795,7 +799,7 @@ from forcing GEXP-PROMISE."
("glib" ,glib)
("gtk+" ,gtk+)
("harfbuzz" ,harfbuzz)
("icu4c" ,icu4c)
("icu4c" ,icu4c-66.1)
("jsoncpp" ,jsoncpp)
("lcms" ,lcms)
("libevent" ,libevent)

View File

@ -3,7 +3,7 @@
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016, 2017 Mathieu Lirzin <mthl@gnu.org>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;;
;;; This file is part of GNU Guix.
@ -47,20 +47,20 @@
#:use-module (guix build-system gnu))
(define-public cuirass
(let ((commit "b9031db946ff89a39e1507b430f64402b0e9572a")
(revision "28"))
(let ((commit "27af1d34646f4e3fca09283cb52caa8b89cbb2b1")
(revision "29"))
(package
(name "cuirass")
(version (string-append "0.0.1-" revision "." (string-take commit 7)))
(version (git-version "0.0.1" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://git.savannah.gnu.org/git/guix/guix-cuirass.git")
(commit commit)))
(file-name (string-append name "-" version))
(file-name (git-file-name name version))
(sha256
(base32
"103smfbdpgaw17xw3vc9cb3nfisrx64k71rpzn8g35f3jz7bxdcf"))))
"199fzv4d18qslcggl7lj42ib600nckp0c40x7ahnb4rgnjw8ppyi"))))
(build-system gnu-build-system)
(arguments
'(#:modules ((guix build utils)

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014, 2015, 2017 Mark H Weaver <mhw@netris.org>
@ -1760,20 +1760,21 @@ exec " gcc "/bin/" program
(define flex-boot0
;; This Flex is needed to build MiG as well as Linux-Libre headers.
(package
(inherit flex)
(native-inputs `(("bison" ,bison-boot0)))
(propagated-inputs
;; XXX: Here we use an 'm4-boot0' package that's not eq? so that it
;; appears twice in '%build-inputs', like when we were using
;; 'package-with-explicit-inputs'.
;; TODO: Remove this hack on the next rebuild cycle.
`(("m4" ,(package (inherit m4-boot0*)))))
(inputs (%boot0-inputs))
(arguments
`(#:implicit-inputs? #f
#:guile ,%bootstrap-guile
#:tests? #f))))
(let ((m4-boot0* (package (inherit m4-boot0*))))
(package
(inherit flex)
(native-inputs `(("bison" ,bison-boot0)))
(propagated-inputs
;; XXX: Here we use an 'm4-boot0' package that's not eq? so that it
;; appears twice in '%build-inputs', like when we were using
;; 'package-with-explicit-inputs'.
;; TODO: Remove this hack on the next rebuild cycle.
`(("m4" ,m4-boot0*)))
(inputs (%boot0-inputs))
(arguments
`(#:implicit-inputs? #f
#:guile ,%bootstrap-guile
#:tests? #f)))))
(define linux-libre-headers-boot0
(mlambda ()

View File

@ -4,7 +4,7 @@
;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015, 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017, 2018, 2020 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2017, 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2015 Jeff Mickey <j@codemac.net>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
@ -26,6 +26,8 @@
;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2020 Lars-Dominik Braun <lars@6xq.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -49,7 +51,10 @@
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module (gnu packages)
#:use-module (gnu packages assembly)
@ -61,6 +66,10 @@
#:use-module (gnu packages curl)
#:use-module (gnu packages documentation)
#:use-module (gnu packages file)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
#:use-module (gnu packages maths)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
@ -68,6 +77,7 @@
#:use-module (gnu packages qt)
#:use-module (gnu packages tls)
#:use-module (gnu packages valgrind)
#:use-module (gnu packages xml)
#:use-module (ice-9 match)
#:use-module ((srfi srfi-1) #:select (last)))
@ -489,7 +499,7 @@ than gzip and 15 % smaller output than bzip2.")
"/share/zoneinfo"))
#t)))))
(native-inputs
`(("tzdata" ,tzdata)))
`(("tzdata" ,tzdata-for-tests)))
(home-page "https://fragglet.github.com/lhasa/")
(synopsis "LHA archive decompressor")
(description "Lhasa is a replacement for the Unix LHA tool, for
@ -1851,6 +1861,17 @@ The specification of the Brotli Compressed Data Format is defined in RFC 7932.")
;; We used to provide an older version under the name "brotli".
(deprecated-package "brotli" google-brotli))
(define-public python-google-brotli
(package
(inherit google-brotli)
(name "python-google-brotli")
(build-system python-build-system)
(arguments '())
(synopsis "Python interface to google-brotli")
(description "@code{python-google-brotli} provides a Python interface to
@code{google-brotli}, an implementation of the Brotli lossless compression
algorithm.")))
(define-public ucl
(package
(name "ucl")
@ -2081,3 +2102,95 @@ programs that used to be the de facto UNIX standard for compressing and
uncompressing files. These programs implement a fast, simple Lempel-Ziv (LZW)
file compression algorithm.")
(license license:gpl2+)))
(define-public xarchiver
(package
(name "xarchiver")
(version "0.5.4.14")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ib/xarchiver.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1iklwgykgymrwcc5p1cdbh91v0ih1m58s3w9ndl5kyd44bwlb7px"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("gettext" ,gettext-minimal)
("intltool" ,intltool)
("libxslt" ,libxslt)
("pkg-config" ,pkg-config)))
(inputs
`(("adwaita-icon-theme" ,adwaita-icon-theme) ; Hard-coded theme
("gtk+" ,gtk+)))
(home-page "https://github.com/ib/xarchiver")
(synopsis "Graphical front-end for archive operations")
(description "Xarchiver is a front-end to various command line archiving
tools. It uses GTK+ tool-kit and is designed to be desktop-environment
independent. Supported formats are 7z, ARJ, bzip2, gzip, LHA, lzma, lzop,
RAR, RPM, DEB, tar, and ZIP. It cannot perform functions for archives, whose
archiver is not installed.")
(license license:gpl2+)))
(define-public tarsplitter
(package
(name "tarsplitter")
(version "2.2.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/AQUAOSOTech/tarsplitter.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"17qkg95r97kcrs17b0mcqswx99280ni47j5yx8xa7nl3bdhm6325"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/AQUAOSOTech/tarsplitter"
#:install-source? #f
#:phases
(modify-phases %standard-phases
(add-after 'install 'install-documentation
(lambda* (#:key import-path outputs #:allow-other-keys)
(let* ((source (string-append "src/" import-path))
(out (assoc-ref outputs "out"))
(doc (string-append out "/share/doc/" ,name "-" ,version)))
(with-directory-excursion source
(install-file "README.md" doc))
#t))))))
(home-page "https://github.com/AQUAOSOTech/tarsplitter")
(synopsis "Multithreaded tar utility")
(description
"Archive huge numbers of files, or split massive tar archives into smaller
chunks.")
(license license:expat)))
(define-public c-blosc
(package
(name "c-blosc")
(version "1.18.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Blosc/c-blosc.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1ywq8j70149859vvs19wgjq89d6xsvvmvm2n1dmkzpchxgrvnw70"))))
(build-system cmake-build-system)
(home-page "https://blosc.org")
(synopsis "Blocking, shuffling and lossless compression library")
(description
"Blosc is a high performance compressor optimized for binary data. It has
been designed to transmit data to the processor cache faster than the
traditional, non-compressed, direct memory fetch approach via a
@code{memcpy()} system call. Blosc is meant not only to reduce the size of
large datasets on-disk or in-memory, but also to accelerate memory-bound
computations.")
;; Blosc itself is released under BSD-3 but it incorporates code under
;; other non-copyleft licenses.
(license license:bsd-3)))

View File

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -60,6 +61,13 @@
(substitute* "test/00/t0077a.sh"
(("ar qc") "ar qcU"))
;; Guix builds have LC_ALL set to "en_US.utf8", which causes
;; `date` to use a 12-hour clock instead of 24h, which in turn
;; makes t0217a.sh fail because of unexpected date output.
(substitute* "test/02/t0217a.sh"
(("export TZ")
"export TZ\nLC_ALL=POSIX\nexport LC_ALL"))
(setenv "SH" (which "sh"))
#t)))))
(native-inputs `(("bison" ,bison)

View File

@ -132,15 +132,17 @@ It is developed using Objective Caml and Camlp5.")
(define-public proof-general
(package
(name "proof-general")
(version "4.2")
(version "4.4")
(source (origin
(method url-fetch)
(uri (string-append
"http://proofgeneral.inf.ed.ac.uk/releases/"
"ProofGeneral-" version ".tgz"))
(method git-fetch)
(uri (git-reference
(url (string-append
"https://github.com/ProofGeneral/PG"))
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"09qb0myq66fw17v4ziz401ilsb5xlxz1nl2wsp69d0vrfy0bcrrm"))))
"0bdfk91wf71z80mdfnl8hpinripndcjgdkz854zil6521r84nqk8"))))
(build-system gnu-build-system)
(native-inputs
`(("which" ,which)
@ -175,10 +177,6 @@ It is developed using Objective Caml and Camlp5.")
(emacs (assoc-ref inputs "host-emacs")))
(define (coq-prog name)
(string-append coq "/bin/" name))
(emacs-substitute-variables "coq/coq.el"
("coq-prog-name" (coq-prog "coqtop"))
("coq-compiler" (coq-prog "coqc"))
("coq-dependency-analyzer" (coq-prog "coqdep")))
(substitute* "Makefile"
(("/sbin/install-info") "install-info"))
(substitute* "bin/proofgeneral"
@ -198,7 +196,7 @@ It is developed using Objective Caml and Camlp5.")
(substitute* "Makefile"
((" [^ ]*\\.pdf") ""))
(apply invoke "make" "install-doc" make-flags))))))
(home-page "http://proofgeneral.inf.ed.ac.uk/")
(home-page "https://proofgeneral.github.io/ ")
(synopsis "Generic front-end for proof assistants based on Emacs")
(description
"Proof General is a major mode to turn Emacs into an interactive proof

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
@ -47,18 +47,18 @@
(define-public libzen
(package
(name "libzen")
(version "0.4.37")
(version "0.4.38")
(source (origin
(method url-fetch)
;; Warning: This source has proved unreliable 1 time at least.
;; Consider an alternate source or report upstream if this
;; happens again.
(uri (string-append "https://mediaarea.net/download/source/"
name "/" version "/"
name "_" version ".tar.bz2"))
"libzen/" version "/"
"libzen_" version ".tar.bz2"))
(sha256
(base32
"1dkqbgabzpa6bd7dkqrvd35sdxrhr6qxalb88f3dw0afk65xqb0k"))))
"1nkygc17sndznpcf71fdrhwpm8z9a3hc9csqlafwswh49axhfkjr"))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
@ -66,7 +66,7 @@
(build-system gnu-build-system)
(arguments
'(#:phases
;; build scripts not in root of archive
;; The build scripts are not at the root of the archive.
(modify-phases %standard-phases
(add-after 'unpack 'pre-configure
(lambda _
@ -262,7 +262,7 @@ intuitive syntax and trivial integration.")
(define-public xtl
(package
(name "xtl")
(version "0.6.8")
(version "0.6.13")
(source (origin
(method git-fetch)
(uri
@ -271,7 +271,7 @@ intuitive syntax and trivial integration.")
(commit version)))
(sha256
(base32
"13gm8vm1b9nzvlcc632f9khnjw1xdjqj6c7k51r173y1hlk0div7"))
"0py70lm2i3sxzpgca2cic8zfn6dn18q837h76a5fchl2c0kpxm91"))
(file-name (git-file-name name version))))
(native-inputs
`(("googletest" ,googletest)

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -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, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016, 2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
@ -70,12 +70,6 @@
`(cons ,(string-append "--target=" target)
,flags))))))
(define (package-with-patch original patch)
"Return package ORIGINAL with PATCH applied."
(package (inherit original)
(source (origin (inherit (package-source original))
(patches (list patch))))))
(define (cross-binutils target)
"Return a cross-Binutils for TARGET."
(let ((binutils (package (inherit binutils)
@ -97,11 +91,16 @@
`(cons "--with-sysroot=/" ,flags)))))))
;; For Xtensa, apply Qualcomm's patch.
(cross (if (string-prefix? "xtensa-" target)
(package-with-patch binutils
(search-patch
"ath9k-htc-firmware-binutils.patch"))
binutils)
(cross (cond ((string-prefix? "xtensa-" target)
(package-with-patches binutils
(search-patches
"ath9k-htc-firmware-binutils.patch")))
((target-mingw? target)
(package-with-extra-patches
binutils
(search-patches "binutils-mingw-w64-timestamp.patch"
"binutils-mingw-w64-deterministic.patch")))
(else binutils))
target)))
(define (cross-gcc-arguments target xgcc libc)
@ -457,59 +456,69 @@ and the cross tool chain."
(native-libc target libc
#:xgcc xgcc
#:xbinutils xbinutils)
(let ((libc libc))
(package (inherit libc)
(name (string-append "glibc-cross-" target))
(arguments
(substitute-keyword-arguments
`(;; Disable stripping (see above.)
#:strip-binaries? #f
(package
(inherit libc)
(name (string-append "glibc-cross-" target))
(arguments
(substitute-keyword-arguments
`( ;; Disable stripping (see above.)
#:strip-binaries? #f
;; This package is used as a target input, but it should not have
;; the usual cross-compilation inputs since that would include
;; itself.
#:implicit-cross-inputs? #f
;; This package is used as a target input, but it should not have
;; the usual cross-compilation inputs since that would include
;; itself.
#:implicit-cross-inputs? #f
;; We need SRFI 26.
#:modules ((guix build gnu-build-system)
(guix build utils)
(srfi srfi-26))
;; We need SRFI 26.
#:modules ((guix build gnu-build-system)
(guix build utils)
(srfi srfi-26))
,@(package-arguments libc))
((#:configure-flags flags)
`(cons ,(string-append "--host=" target)
,(if (hurd-triplet? target)
`(cons "--disable-werror" ,flags)
flags)))
((#:phases phases)
`(modify-phases ,phases
(add-before 'configure 'set-cross-kernel-headers-path
(lambda* (#:key inputs #:allow-other-keys)
(let* ((kernel (assoc-ref inputs "kernel-headers"))
(cpath (string-append kernel "/include")))
(for-each (cut setenv <> cpath)
',%gcc-cross-include-paths)
(setenv "CROSS_LIBRARY_PATH"
(string-append kernel "/lib")) ; for Hurd's libihash
#t)))))))
,@(package-arguments libc))
((#:configure-flags flags)
`(cons ,(string-append "--host=" target)
,(if (hurd-triplet? target)
`(cons "--disable-werror" ,flags)
flags)))
((#:phases phases)
`(modify-phases ,phases
(add-before 'configure 'set-cross-kernel-headers-path
(lambda* (#:key inputs #:allow-other-keys)
(let* ((kernel (assoc-ref inputs "kernel-headers"))
(cpath (string-append kernel "/include")))
(for-each (cut setenv <> cpath)
',%gcc-cross-include-paths)
(setenv "CROSS_LIBRARY_PATH"
(string-append kernel "/lib")) ; for Hurd's libihash
#t)))
,@(if (hurd-triplet? target)
'((add-after 'install 'augment-libc.so
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")))
(substitute* (string-append out "/lib/libc.so")
(("/[^ ]+/lib/libc.so.0.3")
(string-append out "/lib/libc.so.0.3"
" libmachuser.so libhurduser.so"))))
#t)))
'())))))
;; Shadow the native "kernel-headers" because glibc's recipe expects the
;; "kernel-headers" input to point to the right thing.
(propagated-inputs `(("kernel-headers" ,xheaders)))
;; Shadow the native "kernel-headers" because glibc's recipe expects the
;; "kernel-headers" input to point to the right thing.
(propagated-inputs `(("kernel-headers" ,xheaders)))
;; FIXME: 'static-bash' should really be an input, not a native input, but
;; to do that will require building an intermediate cross libc.
(inputs '())
;; FIXME: 'static-bash' should really be an input, not a native input, but
;; to do that will require building an intermediate cross libc.
(inputs '())
(native-inputs `(("cross-gcc" ,xgcc)
("cross-binutils" ,xbinutils)
,@(if (hurd-triplet? target)
`(("cross-mig"
,@(assoc-ref (package-native-inputs xheaders)
"cross-mig")))
'())
,@(package-inputs libc) ;FIXME: static-bash
,@(package-native-inputs libc)))))))
(native-inputs `(("cross-gcc" ,xgcc)
("cross-binutils" ,xbinutils)
,@(if (hurd-triplet? target)
`(("cross-mig"
,@(assoc-ref (package-native-inputs xheaders)
"cross-mig")))
'())
,@(package-inputs libc) ;FIXME: static-bash
,@(package-native-inputs libc))))))
(define* (native-libc target
#:optional

View File

@ -1075,8 +1075,8 @@ API.")
(license license:asl2.0)))
(define-public hash-extender
(let ((commit "9ecef26809a1ceea2a455f6f591b004298df551b")
(revision "1"))
(let ((commit "cb8aaee49f93e9c0d2f03eb3cafb429c9eed723d")
(revision "2"))
(package
(name "hash-extender")
(version (git-version "0.0" revision commit))
@ -1087,10 +1087,8 @@ API.")
(commit commit)))
(sha256
(base32
"0fqy3d559zgf71w39py0931d8na0ylils45r8zs6r79wgr6qn78c"))
(file-name (git-file-name name version))
(patches
(search-patches "hash-extender-test-suite.patch"))))
"1fj118566hr1wv03az2w0iqknazsqqkak0mvlcvwpgr6midjqi9b"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
`(#:phases

View File

@ -41,6 +41,7 @@
;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz>
;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -224,38 +225,22 @@ standard Go idioms.")
(define-public ephemeralpg
(package
(name "ephemeralpg")
(version "2.8")
(version "3.0")
(source
(origin
(method url-fetch)
(uri (string-append
"http://eradman.com/ephemeralpg/code/ephemeralpg-"
"https://eradman.com/ephemeralpg/code/ephemeralpg-"
version ".tar.gz"))
(sha256
(base32 "1dpfxsd8a52psx3zlfbqkw53m35w28qwyb87a8anz143x6gnkkr4"))))
(base32 "1j0g7g114ma7y7sadbng5p1ss1zsm9zpicm77qspym6565733vvh"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags (list "CC=gcc"
(string-append "PREFIX=" %output))
#:phases
(modify-phases %standard-phases
(delete 'configure)
(replace 'check
(lambda* (#:key inputs #:allow-other-keys)
;; The intention for one test is to test without PostgreSQL on
;; the $PATH, so replace the test $PATH with just the util-linux
;; bin, which contains getopt. It will hopefully be possible to
;; remove this for releases after 2.8.
(substitute* "test.rb"
(("/bin:/usr/bin")
(string-append (assoc-ref inputs "util-linux")
"/bin")))
;; Set the LC_ALL=C as some tests use sort, and the locale
;; affects the order. It will hopefully be possible to remove
;; this for releases after 2.8.
(setenv "LC_ALL" "C")
(invoke "ruby" "test.rb")
#t))
(delete 'configure) ; no configure script
(add-after 'install 'wrap
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
@ -265,15 +250,18 @@ standard Go idioms.")
"/bin")
,(string-append (assoc-ref inputs "postgresql")
"/bin")
;; For getsocket
;; For getsocket.
,(string-append out "/bin")))))
#t)))))
#t)))
#:test-target "test"))
(inputs
`(("postgresql" ,postgresql)
("util-linux" ,util-linux)))
(native-inputs
`(("ruby" ,ruby)))
(home-page "http://eradman.com/ephemeralpg/")
;; For tests.
`(("ruby" ,ruby)
("which" ,which)))
(home-page "https://eradman.com/ephemeralpg/")
(synopsis "Run temporary PostgreSQL databases")
(description
"@code{pg_tmp} creates temporary PostgreSQL databases, suitable for tasks
@ -520,7 +508,7 @@ replacement for the code@{python-memcached} library.")
("python" ,python-2)
("python2-pymongo" ,python2-pymongo)
("python2-pyyaml" ,python2-pyyaml)
("tzdata" ,tzdata)))
("tzdata" ,tzdata-for-tests)))
(arguments
`(#:scons ,scons-python2
#:phases
@ -1245,19 +1233,20 @@ data in a single database. RocksDB is partially based on @code{LevelDB}.")
(name "sparql-query")
(version "1.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/tialaramex/"
name "/archive/" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/tialaramex/sparql-query")
(commit version)))
(sha256
(base32 "0yq3k20472rv8npcc420q9ab6idy584g5y0q501d360k5q0ggr8w"))
(file-name (string-append name "-" version ".tar.gz"))))
(base32 "0a84a89idpjhj9w2y3fmvzv7ldps1cva1kxvfmh897k02kaniwxk"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(inputs
`(("readline" ,readline)
("ncurses" ,ncurses)
`(("curl" ,curl)
("glib" ,glib)
("libxml2" ,libxml2)
("curl" ,curl)))
("ncurses" ,ncurses)
("readline" ,readline)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(arguments
@ -2205,6 +2194,41 @@ can autogenerate peewee models using @code{pwiz}, a model generator.")
(define-public python2-peewee
(package-with-python2 python-peewee))
(define-public python-tortoise-orm
(package
(name "python-tortoise-orm")
(version "0.16.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "tortoise-orm" version))
(sha256
(base32
"01hbvfyxs2qd1mjc96aipwsdxxhydw8ww686r4gsf87bl6f98dvz"))))
(build-system python-build-system)
;; Disable tests for now. They pull in a lot of dependencies.
(arguments `(#:tests? #f))
(native-inputs
`(("python-ciso8601" ,python-ciso8601)
("python-asynctest" ,python-asynctest)
("python-nose2" ,python-nose2)))
(propagated-inputs
`(("python-aiosqlite" ,python-aiosqlite)
("python-pypika" ,python-pypika)
("python-typing-extensions"
,python-typing-extensions)))
(home-page
"https://github.com/tortoise/tortoise-orm")
(synopsis
"Easy async ORM for python, built with relations in mind")
(description
"Tortoise ORM is an easy-to-use asyncio ORM (Object Relational Mapper)
inspired by Django. Tortoise ORM was build with relations in mind and
admiration for the excellent and popular Django ORM. Its engraved in its
design that you are working not with just tables, you work with relational
data.")
(license license:asl2.0)))
(define-public sqlcipher
(package
(name "sqlcipher")
@ -2716,6 +2740,29 @@ translate the complete SQLite API into Python.")
(define-public python2-apsw
(package-with-python2 python-apsw))
(define-public python-aiosqlite
(package
(name "python-aiosqlite")
(version "0.11.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "aiosqlite" version))
(sha256
(base32
"1f3zdldp9zgrw6qz5fsp3wa5zw73cjf139pj4vf24ryv895320jg"))))
(build-system python-build-system)
(native-inputs
`(("python-aiounittest" ,python-aiounittest)))
(home-page "https://github.com/jreese/aiosqlite")
(synopsis
"Asyncio bridge for sqlite3")
(description
"The package aiosqlite replicates the standard sqlite3 module, but with
async versions of all the standard connection and cursor methods, and context
managers for automatically closing connections.")
(license license:expat)))
(define-public python2-neo4j-driver
(package
(name "python2-neo4j-driver")
@ -3024,6 +3071,27 @@ transforms idiomatic python function calls to well-formed SQL queries.")
(define-public python2-sql
(package-with-python2 python-sql))
(define-public python-pypika
(package
(name "python-pypika")
(version "0.36.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "PyPika" version))
(sha256
(base32
"0qzn5vygirg52dlizm6ayzdc5llq8p2krrx0kymr236lrz89wqp8"))))
(build-system python-build-system)
(native-inputs
`(("python-parameterized" ,python-parameterized)))
(home-page "https://github.com/kayak/pypika")
(synopsis "SQL query builder API for Python")
(description
"PyPika is a python SQL query builder that exposes the full richness of
the SQL language using a syntax that reflects the resulting query.")
(license license:asl2.0)))
(define-public mongo-tools
(package
(name "mongo-tools")

View File

@ -29,7 +29,7 @@
(define-public datamash
(package
(name "datamash")
(version "1.6")
(version "1.7")
(source
(origin
(method url-fetch)
@ -37,7 +37,7 @@
version ".tar.gz"))
(sha256
(base32
"1jvqxcyh0aghnqh3m2rk5av1x0038flcmfzd493vasv1k69vgfdr"))))
"1cxdlhgz3wzjqlq8bgwad93fgqymk2abbldfzw1ffnhcp4mmjjjp"))))
(native-inputs
`(("which" ,which) ;for tests
("perl" ,perl))) ;for help2man

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2016, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016, 2017, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com>
;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
;;;
@ -105,17 +105,20 @@ and time-efficient for good hash functions.")
(define-public ssdeep
(package
(name "ssdeep")
(version "2.13")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/ssdeep/"
name "-" version "/"
name "-" version ".tar.gz"))
(sha256
(base32
"1igqy0j7jrklb8fdlrm6ald4cyl1fda5ipfl8crzyl6bax2ajk3f"))))
(version "2.14.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/ssdeep-project/ssdeep/"
"releases/download/release-" version "/"
"ssdeep-" version ".tar.gz"))
(sha256
(base32 "04qkjc6kksxkv7xbnk32rwmf3a8czdv2vvrdzfs0kw06h73snbpz"))))
(build-system gnu-build-system)
(home-page "http://ssdeep.sourceforge.net")
(arguments
`(#:configure-flags
(list "--disable-static")))
(home-page "https://ssdeep-project.github.io")
(synopsis "Context-triggered piecewise hashing algorithm")
(description "ssdeep computes and matches context triggered piecewise
hashes (CTPH), also called fuzzy checksums. It can identify similar files
@ -126,14 +129,14 @@ in between these sequences may be different in both content and length.")
(define-public liburcu
(package
(name "liburcu")
(version "0.11.1")
(version "0.12.1")
(source (origin
(method url-fetch)
(uri (string-append "https://www.lttng.org/files/urcu/"
"userspace-rcu-" version ".tar.bz2"))
(sha256
(base32
"0l1kxgzch4m8fxiz2hc8fwg56hrvzzspp7n0svnl7i7iycdrgfcj"))))
"03nd1gy2c3fdb6xwdrd5lr1jcjxbzffqh3z91mzbjhjn6k8fmymv"))))
(build-system gnu-build-system)
(native-inputs
`(("perl" ,perl))) ; for tests
@ -149,7 +152,7 @@ queues, stacks, and doubly-linked lists.")
(define-public uthash
(package
(name "uthash")
(version "2.0.2")
(version "2.1.0")
(source
(origin
(method git-fetch)
@ -158,8 +161,7 @@ queues, stacks, and doubly-linked lists.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0kslz8k6lssh7fl7ayzwlj62p0asxs3dq03357ls5ywjad238gqg"))))
(base32 "0k80bjbb6ss5wpmfmfji6xbyjm990hg9kcshwwnhdnh73vxkcd1m"))))
(build-system gnu-build-system)
(native-inputs
`(("perl" ,perl)))
@ -178,7 +180,7 @@ queues, stacks, and doubly-linked lists.")
;; There is no top-level Makefile to do this for us.
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(doc (string-append out "/share/doc/" ,name))
(doc (string-append out "/share/doc/" ,name "-" ,version))
(include (string-append out "/include")))
;; Don't install HTML files: they're just the below .txt files
;; dolled up, can be stale, and regeneration requires asciidoc.

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -117,7 +117,7 @@ contains the archive keys used for that.")
(define-public debootstrap
(package
(name "debootstrap")
(version "1.0.119")
(version "1.0.123")
(source
(origin
(method git-fetch)
@ -126,8 +126,7 @@ contains the archive keys used for that.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0p0p8qmlsbvpfa0r7ifghr67zrrc96d83r9qwahzaxyxkvnhr4x4"))))
(base32 "0fr5ir8arzisx71jybbk4xz85waz50lf2y052nfimzh6vv9dx54c"))))
(build-system gnu-build-system)
(arguments
`(#:phases

View File

@ -4,6 +4,7 @@
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2019 Pkill -9 <pkill9@runbox.com>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -119,11 +120,11 @@ program to exhibit a bug.")
(sha256
(base32 "0qx0zq8jxzx2as2zf0740g7kvgq163ayn3041di4vwk77490y76v"))))
(build-system gnu-build-system)
(native-inputs `(("flex" ,flex)))
(inputs
`(("astyle" ,astyle)
("llvm" ,llvm)
("clang" ,clang)
("flex" ,flex)
("indent" ,indent)
("perl" ,perl)
("exporter-lite" ,perl-exporter-lite)

View File

@ -2,6 +2,7 @@
;;; Copyright © 2015, 2016, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -63,13 +64,13 @@
(lambda _
;; Test '71: append + dooffs + env' fails if $V is not 2.
(invoke "make" "check" "V=2"))))))
(native-inputs `(("groff" ,groff)))
(inputs
`(("m4" ,m4) ;used at run time
("pcre" ,pcre)
("python" ,python-2)
("guile" ,guile-2.2)
("gsasl" ,gsasl)
("groff" ,groff)
("readline" ,readline)
("zlib" ,zlib)
("wordnet" ,wordnet)

View File

@ -205,24 +205,24 @@ It comes with a German-English dictionary with approximately 270,000 entries.")
(define-public grammalecte
(package
(name "grammalecte")
(version "1.8.0")
(version "1.9.0")
(source
(origin
(method url-fetch/zipbomb)
(uri (string-append "https://grammalecte.net/grammalecte/zip/"
"Grammalecte-fr-v" version ".zip"))
(sha256
(base32 "06z2na1zs5q6vla45q5b8fzjwpckanmwh42r8in8vhb7a8v2fkyp"))))
(base32 "1dmbmvf27dy0cnq2x7ldp9xmni8fl1p7vflgpy0yrgifgrjvnxzr"))))
(build-system python-build-system)
(home-page "https://grammalecte.net")
(synopsis "French spelling and grammar checker")
(description "Grammalecte is a grammar checker dedicated to the French
language, derived from Lightproof.
(description "Grammalecte is a grammar checker for the French language,
derived from Lightproof.
Grammalecte aims at helping to write a proper French without distracting users
with false positives. This grammar checker follows the principle: the less
false positives, the better; if it cannot know with a good chance if
a dubious expression is wrong, it will keep silent.
Grammalecte helps writing a proper French, without distracting users with
false positives. This grammar checker follows the principle: the less false
positives, the better; if it cannot know with a good chance that a dubious
expression is wrong, it keeps silent.
The package provides the command line interface, along with a server
and a Python library.")

View File

@ -45,6 +45,7 @@
#:use-module (gnu packages linux)
#:use-module (gnu packages llvm)
#:use-module (gnu packages man)
#:use-module (gnu packages maths)
#:use-module (gnu packages mono)
#:use-module (gnu packages ocaml)
#:use-module (gnu packages package-management)
@ -68,7 +69,7 @@
#:use-module (ice-9 match))
(define-public diffoscope
(let ((version "137"))
(let ((version "141"))
(package
(name "diffoscope")
(version version)
@ -80,7 +81,7 @@
(file-name (git-file-name name version))
(sha256
(base32
"11llnh2h2mx3xygj4482ld1rnjnhszk4828pmcbi75kanxfrqzq6"))))
"0pls2jryx394ysaz0g8h959lhrsdqak9bkxjd5r6sdckgiikplkj"))))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
@ -91,6 +92,12 @@
(lambda _
(substitute* "setup.py"
(("'python-magic',") ""))))
;; Patch in support for known tools
(add-after 'unpack 'add-known-tools
(lambda _
(substitute* "diffoscope/external_tools.py"
(("'debian': 'hdf5-tools'")
"'debian': 'hdf5-tools', 'guix': 'hdf5'"))))
;; This test is broken because our `file` package has a
;; bug in berkeley-db file type detection.
(add-after 'unpack 'remove-berkeley-test
@ -189,6 +196,7 @@
("giflib:bin" ,giflib "bin")
("gnumeric" ,gnumeric)
("gnupg" ,gnupg)
("hdf5" ,hdf5)
("imagemagick" ,imagemagick)
("libarchive" ,libarchive)
("llvm" ,llvm)
@ -228,7 +236,7 @@ install.")
(define-public reprotest
(package
(name "reprotest")
(version "0.7.13")
(version "0.7.14")
(source
(origin
(method git-fetch)
@ -236,10 +244,9 @@ install.")
(url "https://salsa.debian.org/reproducible-builds/reprotest.git")
(commit version)))
(file-name (git-file-name name version))
(patches (search-patches "reprotest-support-guix.patch"))
(sha256
(base32
"0jj9sqxbdpypnc0y8md352wwzh1by6nyhmx5fwqnvrbznrng332f"))))
"12d07xq5zx5dfbsgakm6zcn7hgf0h9f5kvfjqkiyak4ix5aa6xkf"))))
(inputs
`(("python-debian" ,python-debian)
("python-distro" ,python-distro)

View File

@ -16,6 +16,8 @@
;;; Copyright © 2019 Leo Famulari <leo@famulari.name>
;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2020 Pkill -9 <pkill9@runbox.com>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -45,10 +47,13 @@
#:use-module (gnu packages docbook)
#:use-module (gnu packages documentation)
#:use-module (gnu packages elf)
#:use-module (gnu packages file-systems)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages graphics)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages linux)
@ -60,6 +65,7 @@
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages readline)
#:use-module (gnu packages samba)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages swig)
@ -69,6 +75,7 @@
#:use-module (gnu packages w3m)
#:use-module (gnu packages web)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system python)
@ -79,6 +86,52 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages))
(define-public udevil
(package
(name "udevil")
(version "0.4.4")
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/IgnorantGuru/udevil.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0x9mjr9abvbxzfa9mrip5264iz1qxvsl01k3ybz95q4a7xl4jcb3"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(list "--disable-systemd"
(string-append "--sysconfdir="
(assoc-ref %outputs "out")
"/etc"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'remove-root-reference
(lambda _
(substitute* "src/Makefile.in"
(("-o root -g root") ""))
#t)))))
(native-inputs
`(("intltool" ,intltool)
("pkg-config" ,pkg-config)))
(inputs
`(("cifs-utils" ,cifs-utils)
("curlftpfs" ,curlftpfs)
("eudev" ,eudev)
("fakeroot" ,fakeroot)
("glib" ,glib)
("sshfs" ,sshfs)))
(synopsis "Device and file system manager")
(description "udevil is a command line program that mounts and unmounts
removable devices without a password, shows device info, and monitors device
changes. It can also mount ISO files, NFS, SMB, FTP, SSH and WebDAV URLs, and
tmpfs/ramfs filesystems.")
(home-page "https://ignorantguru.github.io/udevil/")
(license license:gpl3+)))
(define-public parted
(package
(name "parted")
@ -368,12 +421,12 @@ and can dramatically shorten the lifespan of the drive if left unchecked.")
("parted" ,parted)
("glib" ,glib)
("gtkmm" ,gtkmm)
("libxml2" ,libxml2)
("yelp-tools" ,yelp-tools)))
("libxml2" ,libxml2)))
(native-inputs
`(("intltool" ,intltool)
("itstool" ,itstool)
("lvm2" ,lvm2) ; for tests
("yelp-tools" ,yelp-tools)
("pkg-config" ,pkg-config)))
(home-page "https://gparted.org/")
(synopsis "Partition editor to graphically manage disk partitions")
@ -617,7 +670,7 @@ passphrases.")
(define-public ndctl
(package
(name "ndctl")
(version "67")
(version "68")
(source (origin
(method git-fetch)
(uri (git-reference
@ -626,7 +679,7 @@ passphrases.")
(file-name (git-file-name name version))
(sha256
(base32
"076jgw1g2aafqgnq705in0wnabysqk46dq5yxdv1qzgjmyhka39n"))))
"0xmim7z4qp6x2ggndnbwd940c73pa1qlf3hxyn3qh5pyr69nh9y8"))))
(build-system gnu-build-system)
(native-inputs
`(("asciidoc" ,asciidoc)
@ -855,3 +908,49 @@ written in Go. It is heavily inspired by ranger with some missing and
extra features. Some of the missing features are deliberately omitted
since they are better handled by external tools.")
(license license:expat)))
(define-public xfe
(package
(name "xfe")
(version "1.43.2")
(source
(origin
(method url-fetch)
(uri
(string-append "https://sourceforge.net/projects/xfe/files/xfe/"
version
"/xfe-" version ".tar.gz"))
(sha256
(base32 "1fl51k5jm2vrfc2g66agbikzirmp0yb0lqhmsssixfb4mky3hpzs"))))
(build-system gnu-build-system)
(native-inputs
`(("intltool" ,intltool)
("pkg-config" ,pkg-config)))
(inputs
`(("fox" ,fox)
("freetype" ,freetype)
("x11" ,libx11)
("xcb" ,libxcb)
("xcb-util" ,xcb-util)
("xft" ,libxft)
("xrandr" ,libxrandr)))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-xferc-path
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(xferc (string-append out "/share/xfe/xferc")))
(substitute* "src/XFileExplorer.cpp"
(("/usr/share/xfe/xferc") xferc))
#t))))
#:make-flags
(let ((out (assoc-ref %outputs "out")))
(list (string-append "BASH_COMPLETION_DIR=" out
"/share/bash-completion/completions")))))
(synopsis "File Manager for X-Based Graphical Systems")
(description"XFE (X File Explorer) is a file manager for X. It is based on
the popular but discontinued, X Win Commander. It aims to be the file manager
of choice for all light thinking Unix addicts!")
(home-page "http://roland65.free.fr/xfe/")
(license license:gpl2+)))

View File

@ -5,7 +5,7 @@
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -199,7 +199,7 @@ display manager which supports different greeters.")
(define-public lightdm-gtk-greeter
(package
(name "lightdm-gtk-greeter")
(version "2.0.2")
(version "2.0.7")
(source (origin
(method url-fetch)
(uri (string-append
@ -208,7 +208,7 @@ display manager which supports different greeters.")
"/+download/lightdm-gtk-greeter-" version ".tar.gz"))
(sha256
(base32
"1436sdm83xqhxyr1rzqxhsl8if2xmidlvb341xcv6dv83lyxkrlf"))))
"1g7wc3d3vqfa7mrdhx1w9ywydgjbffla6rbrxq9k3sc62br97qms"))))
(build-system gnu-build-system)
(native-inputs
`(("exo" ,exo)

View File

@ -44,7 +44,7 @@
(define-public boinc-client
(package
(name "boinc-client")
(version "7.16.5")
(version "7.16.6")
(source (origin
(method git-fetch)
(uri (git-reference
@ -55,7 +55,7 @@
(file-name (git-file-name "boinc" version))
(sha256
(base32
"107rpw9qd5x4pyxm9jd1lqxva5nxwb01dm5h61d6msv2vgiy0r8n"))))
"00xpzxxnki9hsf2vg9p67dk9ilw9ychpgm09fp3c41zyylb33ml5"))))
(build-system gnu-build-system)
(arguments '(#:configure-flags '("--disable-server")))
(inputs `(("openssl" ,openssl)

View File

@ -4,6 +4,7 @@
;;; Copyright © 2017 Frederick Muriithi <fredmanglis@gmail.com>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Guy Fleury Iteriteka <gfleury@disroot.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -35,9 +36,11 @@
#:use-module (gnu packages gdb)
#:use-module (gnu packages libedit)
#:use-module (gnu packages llvm)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages textutils))
#:use-module (gnu packages textutils)
#:use-module (gnu packages xorg))
(define-public rdmd
(package
@ -348,3 +351,49 @@ The design emphasis is on maximum simplicity for simple projects,
while providing the opportunity to customize things when
needed.")
(license license:expat)))
(define-public gtkd
(package
(name "gtkd")
(version "3.9.0")
(source
(origin
(method url-fetch/zipbomb)
(uri (string-append "https://gtkd.org/Downloads/sources/GtkD-"
version ".zip"))
(sha256
(base32 "0qv8qlpwwb1d078pnrf0a59vpbkziyf53cf9p6m8ms542wbcxllp"))))
(build-system gnu-build-system)
(native-inputs
`(("unzip" ,unzip)
("ldc" ,ldc)
("pkg-config" ,pkg-config)
("xorg-server-for-tests" ,xorg-server-for-tests)))
(arguments
`(#:test-target "test"
#:make-flags
`("DC=ldc2"
,(string-append "prefix=" (assoc-ref %outputs "out"))
,(string-append "libdir=" (assoc-ref %outputs "out")
"/lib"))
#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-before 'build 'patch-makefile
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "GNUmakefile"
;; We do the tests ourselves.
(("default-goal: libs test") "default-goal: libs")
(("all: libs shared-libs test") "all: libs shared-libs")
;; Work around upstream bug.
(("\\$\\(prefix\\)\\/\\$\\(libdir\\)") "$(libdir)"))
#t))
(add-before 'check 'prepare-x
(lambda _
(system "Xvfb :1 &")
(setenv "DISPLAY" ":1")
#t)))))
(home-page "https://gtkd.org/")
(synopsis "D binding and OO wrapper of GTK+")
(description "This package provides bindings to GTK+ for D.")
(license license:lgpl2.1)))

View File

@ -13,6 +13,8 @@
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2020 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -41,6 +43,7 @@
#:use-module (gnu packages crypto)
#:use-module (gnu packages datastructures)
#:use-module (gnu packages flex)
#:use-module (gnu packages gcc)
#:use-module (gnu packages glib)
#:use-module (gnu packages groff)
#:use-module (gnu packages groff)
@ -75,7 +78,7 @@
(define-public dnsmasq
(package
(name "dnsmasq")
(version "2.80")
(version "2.81")
(source (origin
(method url-fetch)
(uri (string-append
@ -83,7 +86,7 @@
version ".tar.xz"))
(sha256
(base32
"1fv3g8vikj3sn37x1j6qsywn09w1jipvlv34j3q5qrljbrwa5ayd"))))
"1yzq6anwgr5rlnwydpszb51cyhp2vjq29b24ck19flbwac1sk73l"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@ -114,7 +117,7 @@ and BOOTP/TFTP for network booting of diskless machines.")
(define-public isc-bind
(package
(name "bind")
(version "9.16.1")
(version "9.16.2")
(source (origin
(method url-fetch)
(uri (string-append
@ -122,7 +125,7 @@ and BOOTP/TFTP for network booting of diskless machines.")
"/bind-" version ".tar.xz"))
(sha256
(base32
"14ayswxnyaqwb935iqdi1w9ih3zs0a0va59j4cyi5f9mh7kxf4x9"))))
"0gwr4p14zy5jqq050n762rfc33km51qwipcwy6bsvk55ziybgrfr"))))
(build-system gnu-build-system)
(outputs `("out" "utils"))
(inputs
@ -305,7 +308,7 @@ the two.")
(synopsis "Asynchronous resolver library by the OpenBSD project")
(description
"libasr is a free, simple and portable asynchronous resolver library.
It allows to run DNS queries and perform hostname resolutions in a fully
It runs DNS queries and performs hostname resolution in a fully
asynchronous fashion.")
(license (list license:isc
license:bsd-2 ; last part of getrrsetbyname_async.c
@ -948,3 +951,58 @@ 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))))
(define-public maradns
(package
(name "maradns")
(version "3.5.0004")
(source
(origin
(method url-fetch)
(uri (string-append "https://maradns.samiam.org/download/"
(version-major+minor version) "/"
version "/maradns-" version ".tar.xz"))
(sha256
(base32
"1zv0i6m4m05ay5zlhwq1h88hgjq2d81cjanpnb3gyhr0xhmjwk6a"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; need to be root to run tests
#:make-flags
(list
(string-append "CC="
(if ,(%current-target-system)
(string-append (assoc-ref %build-inputs "cross-gcc")
"/bin/" ,(%current-target-system) "-gcc")
"gcc"))
(string-append "PREFIX=" %output)
(string-append "RPM_BUILD_ROOT=" %output))
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key native-inputs target #:allow-other-keys)
;; make_32bit_tables generates a header file that is used during
;; compilation. Hence, during cross compilation, it should be
;; built for the host system.
(when target
(substitute* "rng/Makefile"
(("\\$\\(CC\\) -o make_32bit_tables")
(string-append (assoc-ref native-inputs "gcc")
"/bin/gcc -o make_32bit_tables"))))
(invoke "./configure")))
(add-before 'install 'create-install-directories
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(for-each (lambda (dir)
(mkdir-p (string-append out dir)))
(list "/bin" "/sbin" "/etc"
"/share/man/man1"
"/share/man/man5"
"/share/man/man8"))
#t))))))
(home-page "https://maradns.samiam.org")
(synopsis "Small lightweight DNS server")
(description "MaraDNS is a small and lightweight DNS server. MaraDNS
consists of a UDP-only authoritative DNS server for hosting domains, and a UDP
and TCP-capable recursive DNS server for finding domains on the internet.")
(license license:bsd-2)))

View File

@ -503,6 +503,7 @@ built-in registry server of Docker.")
(replace 'configure
(lambda _
(setenv "DOCKER_GITCOMMIT" (string-append "v" ,%docker-version))
(setenv "VERSION" (string-append ,%docker-version "-ce"))
;; Automatically use bundled dependencies.
;; TODO: Unbundle - see file "vendor.conf".
(setenv "AUTO_GOPATH" "1")
@ -540,7 +541,9 @@ built-in registry server of Docker.")
(let* ((out (assoc-ref outputs "out"))
(out-bin (string-append out "/bin")))
(install-file "bundles/dynbinary-daemon/dockerd" out-bin)
(install-file "bundles/dynbinary-daemon/dockerd-dev" out-bin)
(install-file (string-append "bundles/dynbinary-daemon/dockerd-"
(getenv "VERSION"))
out-bin)
#t))))))
(inputs
`(("btrfs-progs" ,btrfs-progs)

View File

@ -104,6 +104,7 @@
(delete-file "resources/calibre-portable.sh")
#t))
(patches (search-patches "calibre-no-updates-dialog.patch"
"calibre-msgpack-compat.patch"
"calibre-remove-test-bs4.patch" ; TODO: fix test.
"calibre-remove-test-sqlite.patch" ; TODO: fix test.
"calibre-remove-test-unrar.patch"))))

View File

@ -6,6 +6,7 @@
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2020 Robert Smith <robertsmith@posteo.net>
;;; Copyright © 2020 Guy Fleury Iteriteka <gfleury@disroot.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -31,6 +32,7 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages flex)
#:use-module (gnu packages fonts)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages game-development)
@ -43,12 +45,14 @@
#:use-module (gnu packages kde)
#:use-module (gnu packages kde-frameworks) ; extra-cmake-modules
#:use-module (gnu packages mp3)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
#:use-module (gnu packages sdl)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages texinfo)
@ -935,3 +939,40 @@ TuxMath also includes Factoroids, a game that gives practice in
factoring numbers and simplifying fractions, as well as zapping rocks
floating through space.")
(license license:gpl3+)))
(define-public mdk
(package
(name "mdk")
(version "1.2.10")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/mdk/v1.2.10/mdk-"
version ".tar.gz"))
(sha256
(base32
"1rwcq2b5vvv7318j92nxc5dayj27dpfhzc4rjiv4ccvsc0x35x5h"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags (list "--enable-gui=yes" "-with-readline=yes")))
(native-inputs
`(("flex" ,flex)
("pkg-config" ,pkg-config)
("intltool" ,intltool)
("ncurses" ,ncurses)))
(inputs
`(("readline" ,readline)
("glib" ,glib)
("gtk+" ,gtk+)
("pango" ,pango)
("libglade" ,libglade)))
(home-page "https://www.gnu.org/software/mdk/")
(synopsis "Virtual development environment for Knuth's MIX")
(description
"GNU MDK is the Mix Development Kit, an emulation of the pedagogical
computer MIX and its assembly language MIXAL. MIX has a virtual CPU with
standard features such as registers, memory cells, an overflow toggle,
comparison flags, input-output devices, and a set of binary instructions.
The package includes a compiler, a virtual machine, a GUI for the virtual
machine, and more.")
(license license:gpl3+)))

View File

@ -33,7 +33,7 @@
(define-public elixir
(package
(name "elixir")
(version "1.10.2")
(version "1.10.3")
(source
(origin
(method git-fetch)
@ -42,7 +42,7 @@
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "04yi1hljq7ii9flh6pmb5411z7q1bdq9f9sq8323k9hm1f5jwkx6"))
(base32 "18bqqqzvhr1zj491wc3d36a310mg1wcs12npp70zfmgqrc60q65a"))
(patches (search-patches "elixir-path-length.patch"))))
(build-system gnu-build-system)
(arguments

File diff suppressed because it is too large Load Diff

View File

@ -290,6 +290,8 @@ languages.")
#t))))
(arguments
(substitute-keyword-arguments (package-arguments emacs)
((#:configure-flags flags)
`(cons* "--with-harfbuzz" ,flags))
((#:phases phases)
`(modify-phases ,phases
;; The 'reset-gzip-timestamps phase will throw a
@ -318,6 +320,7 @@ languages.")
#t)))))))
(inputs
`(("jansson" ,jansson)
("harfbuzz" ,harfbuzz)
,@(package-inputs emacs)))
(native-inputs
`(("autoconf" ,autoconf) ; needed when building from trunk
@ -398,6 +401,17 @@ editor (without an X toolkit)" )
((#:configure-flags cf)
`(cons "--with-x-toolkit=no" ,cf)))))))
(define-public emacs-wide-int
(package
(inherit emacs)
(name "emacs-wide-int")
(synopsis "The extensible, customizable, self-documenting text
editor (with wide ints)" )
(arguments
(substitute-keyword-arguments (package-arguments emacs)
((#:configure-flags flags)
`(cons "--with-wide-int" ,flags))))))
(define-public guile-emacs
(let ((commit "41120e0f595b16387eebfbf731fff70481de1b4b")
(revision "0"))

View File

@ -197,7 +197,7 @@
"-DX11_FOUND=1")))
(native-inputs
`(("pkg-config" ,pkg-config)
("gettext" ,gnu-gettext)))
("gettext" ,gettext-minimal)))
(inputs
`(("alsa-lib" ,alsa-lib)
("ao" ,ao)
@ -311,28 +311,19 @@ and a game metadata scraper.")
(home-page "https://emulationstation.org")
(license license:expat))))
;; Note: higan v107 has been released, but as explained by the dialog that
;; appears after starting the new version, it's an experimental release. The
;; author recommends v106 for general use.
;;
;; When updating to v107 (or probably beyond), sdl will have to be replaced
;; with sdl2, and libxrandr will need to be added to inputs. The patch
;; `higan-remove-march-native-flag.patch' will not be necessary, since the flag
;; is now being added only for `platform=local', which is not the default.
(define-public higan
(package
(name "higan")
(version "106")
(version "110")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/byuu/higan/")
(commit (string-append "v" version))))
(url "https://github.com/higan-emu/higan.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1mxivf8124vz4hl0b0xa1yqv0z9m3i12v9psmbpqkprrbq0wbgn1"))
(patches (search-patches "higan-remove-march-native-flag.patch"))))
(base32 "11rvm53c3p2f6zk8xbyv2j51xp8zmqnch7zravhj3fk590qrjrr2"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@ -342,11 +333,12 @@ and a game metadata scraper.")
("eudev" ,eudev)
("gtk+" ,gtk+-2)
("gtksourceview-2" ,gtksourceview-2)
("libxrandr" ,libxrandr)
("libxv" ,libxv)
("mesa" ,mesa)
("openal" ,openal)
("pulseaudio" ,pulseaudio)
("sdl" ,sdl)))
("sdl2" ,sdl2)))
(arguments
'(#:phases
(let ((build-phase (assoc-ref %standard-phases 'build))
@ -405,18 +397,19 @@ and a game metadata scraper.")
(string-append "prefix=" (assoc-ref %outputs "out")))
;; There is no test suite.
#:tests? #f))
(home-page "https://byuu.org/higan")
(synopsis "Nintendo multi-system emulator")
(home-page "https://github.com/higan-emu/higan/")
(synopsis "Multi-system emulator")
(description
"higan (formerly bsnes) is an emulator for multiple Nintendo video game
consoles, including the Nintendo Entertainment System (NES/Famicom), Super
Nintendo Entertainment System (SNES/Super Famicom), Game Boy, Game Boy
Color (GBC), and Game Boy Advance (GBA). It also supports the subsystems
Super Game Boy, BS-X Satellaview, and Sufami Turbo.")
;; As noted in these files among more:
;; - icarus/icarus.cpp
;; - higan/emulator/emulator.hpp
(license license:gpl3)))
"higan is a multi-system emulator with an uncompromising focus on
accuracy and code readability.
It currently emulates the following systems: Famicom, Famicom Disk System,
Super Famicom, Super Game Boy, Game Boy, Game Boy Color, Game Boy Advance,
Game Boy Player, SG-1000, SC-3000, Master System, Game Gear, Mega Drive, Mega
CD, PC Engine, SuperGrafx, MSX, MSX2, ColecoVision, Neo Geo Pocket, Neo Geo
Pocket Color, WonderSwan, WonderSwan Color, SwanCrystal, Pocket Challenge
V2.")
(license license:gpl3+)))
(define-public mgba
(package
@ -511,7 +504,8 @@ and Game Boy Color games.")
(with-directory-excursion "build/bin/SDL"
(install-file "sameboy" bin)
(delete-file "sameboy")
(copy-recursively "." data))))))))
(copy-recursively "." data))
#t))))))
(home-page "https://sameboy.github.io/")
(synopsis "Accurate Game Boy, Game Boy Color and Super Game Boy emulator")
(description "SameBoy is a user friendly Game Boy, Game Boy Color
@ -1280,7 +1274,7 @@ play them on systems for which they were never designed!")
(define-public mame
(package
(name "mame")
(version "0.219")
(version "0.220")
(source
(origin
(method git-fetch)
@ -1289,7 +1283,7 @@ play them on systems for which they were never designed!")
(commit (apply string-append "mame" (string-split version #\.)))))
(file-name (git-file-name name version))
(sha256
(base32 "0s3nhkfa5c17ar1lzgvm20ndqain9llgqkab0ji5ycv2c85f06fl"))
(base32 "0x3yr195zi7xjr21p1c2l8c0vhg0a0af0mpz4i1w7q7r9krvcvz4"))
(modules '((guix build utils)))
(snippet
;; Remove bundled libraries.

View File

@ -15,6 +15,7 @@
;;; Copyright © 2019 Steve Sprang <scs@stevesprang.com>
;;; Copyright © 2019 John Soo <jsoo1@asu.edu>
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -227,13 +228,13 @@ plans and designs.")
("glib" ,glib)
("gtk" ,gtk+-2)
("guile" ,guile-2.0)
("desktop-file-utils" ,desktop-file-utils)
("shared-mime-info" ,shared-mime-info)
("m4" ,m4)
("pcb" ,pcb)
("python" ,python-2))) ; for xorn
(native-inputs
`(("pkg-config" ,pkg-config)
("desktop-file-utils" ,desktop-file-utils)
("perl" ,perl))) ; for tests
(home-page "http://geda-project.org/")
(synopsis "Schematic capture, netlister, symbols, symbol checker, and utils")
@ -266,8 +267,9 @@ utilities.")
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("desktop-file-utils" ,desktop-file-utils)
("libtool" ,libtool)
("gettext" ,gnu-gettext)
("gettext" ,gettext-minimal)
("texinfo" ,texinfo)
("groff" ,groff)
("which" ,which)
@ -276,7 +278,6 @@ utilities.")
`(("glib" ,glib)
("gtk" ,gtk+-2)
("guile" ,guile-2.2)
("desktop-file-utils" ,desktop-file-utils)
("shared-mime-info" ,shared-mime-info)
("m4" ,m4)
("pcb" ,pcb)))
@ -385,13 +386,13 @@ features.")))
("gd" ,gd)
("gtk" ,gtk+-2)
("gtkglext" ,gtkglext)
("desktop-file-utils" ,desktop-file-utils)
("shared-mime-info" ,shared-mime-info)
("tk" ,tk)))
(native-inputs
`(("pkg-config" ,pkg-config)
("intltool" ,intltool)
("bison" ,bison)
("desktop-file-utils" ,desktop-file-utils)
("flex" ,flex)
;; For tests
("imagemagick" ,imagemagick)
@ -675,11 +676,11 @@ ready for production.")
(build-system gnu-build-system)
(native-inputs
`(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
("desktop-file-utils" ,desktop-file-utils)
("pkg-config" ,pkg-config)))
(inputs
`(("cairo" ,cairo)
("gtk" ,gtk+-2)
("desktop-file-utils" ,desktop-file-utils)))
("gtk" ,gtk+-2)))
(home-page "http://gerbv.geda-project.org/")
(synopsis "Gerber file viewer")
(description
@ -791,9 +792,6 @@ language.")
(license (list license:mpl2.0 ;library
license:gpl2+))))) ;Guile bindings and GUI
(define-public ao
(deprecated-package "ao-cad" libfive))
;; TODO Add doc https://gitlab.com/kicad/services/kicad-doc/-/tree/master
(define-public kicad
(package
@ -858,7 +856,7 @@ language.")
(native-inputs
`(("boost" ,boost)
("desktop-file-utils" ,desktop-file-utils)
("gettext" ,gnu-gettext)
("gettext" ,gettext-minimal)
("kicad-i18l" ,kicad-i18l)
("pkg-config" ,pkg-config)
("swig" ,swig)
@ -905,7 +903,7 @@ electrical diagrams), gerbview (viewing Gerber files) and others.")
(delete 'build)
(delete 'check))))
(native-inputs
`(("gettext" ,gnu-gettext)))
`(("gettext" ,gettext-minimal)))
(home-page "https://kicad-pcb.org/")
(synopsis "KiCad GUI translations")
(description "This package contains the po files that are used for the GUI
@ -1019,22 +1017,42 @@ the 'showing the effect of'-style of operation.")
(define-public volk
(package
(name "volk")
(version "1.3")
(version "2.2.1")
(source
(origin
(method url-fetch)
(uri (string-append "http://libvolk.org/releases/volk-"
(uri (string-append "https://www.libvolk.org/releases/volk-"
version ".tar.gz"))
(sha256
(base32
"1bz3ywc6y5wmz3i8p4z2wbzhns8bc0ywdkl9qnxpcvfcscarbdlh"))))
"1wz5nhmw6np8ka30pgy1qnima3rk2ksln4klfhrj7wah3fian0k9"))))
(build-system cmake-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'install 'wrap-pythonpath
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(python (assoc-ref inputs "python"))
(file (string-append out "/bin/volk_modtool"))
(path (string-append
out
"/lib/python"
,(version-major+minor
(package-version python))
"/site-packages:"
(getenv "PYTHONPATH"))))
(wrap-program file
`("PYTHONPATH" ":" prefix (,path))
`("PATH" ":" prefix
(,(string-append python "/bin:")))))
#t)))))
(inputs
`(("boost" ,boost)))
(native-inputs
`(("python-2" ,python-2)
("python2-cheetah" ,python2-cheetah)))
(home-page "http://libvolk.org/")
`(("python" ,python-wrapper)
("python-mako" ,python-mako)))
(home-page "https://www.libvolk.org/")
(synopsis "Vector-Optimized Library of Kernels")
(description
"@code{volk} contains procedures with machine-specific optimizations

View File

@ -249,7 +249,7 @@ from the jfsutils package. It is meant to be used in initrds.")
(define-public disorderfs
(package
(name "disorderfs")
(version "0.5.8")
(version "0.5.9")
(source
(origin
(method git-fetch)
@ -259,7 +259,7 @@ from the jfsutils package. It is meant to be used in initrds.")
(file-name (git-file-name name version))
(sha256
(base32
"0pk9i0dycjq0wl6dp37r2hbadgpgmzbmjk2xpbjl36x4yrm4jns8"))))
"0irgr9hkm9icx1s44m9382484yx8hddzjxbsz621ip9c946pif0g"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))

View File

@ -13,9 +13,11 @@
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2019, 2020 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
;;; Copyright © 2019 Martin Becze <mjbecze@riseup.net>
;;; Copyright © 2019, 2020 Martin Becze <mjbecze@riseup.net>
;;; Copyright © 2019 Sebastian Schott <sschott@mailbox.org>
;;; Copyright © 2020 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2020 Christopher Lemmer Webber <cwebber@dustycloud.org>
;;; Copyright © 2020 Tom Zander <tomz@freedommail.ch>
;;;
;;; This file is part of GNU Guix.
;;;
@ -39,6 +41,8 @@
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system emacs)
#:use-module (guix build-system python)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system go)
@ -238,11 +242,11 @@ and dynamically with report tools based on filtering and graphical charts.")
("libedit" ,libedit)
("mpfr" ,mpfr)
("python" ,python-2)
("tzdata" ,tzdata)
("utfcpp" ,utfcpp)))
(native-inputs
`(("groff" ,groff)
("texinfo" ,texinfo)))
("texinfo" ,texinfo)
("tzdata" ,tzdata-for-tests)))
(home-page "https://ledger-cli.org/")
(synopsis "Command-line double-entry accounting program")
(description
@ -387,11 +391,11 @@ This package provides the Emacs mode.")
(synopsis "Free Elster client, for sending Germany VAT declarations")
(description
"Geierlein is a free Elster client, i.e. an application that
allows to send VAT declarations to Germany's fiscal authorities.
sends VAT declarations to Germany's fiscal authorities.
Currently it is *not* possible to send returns that are due annually
(especially the income tax return) since the fiscal authority doesn't
allow to do that off the ERiC library (which is proprietary however).
allow doing that off the ERiC library (which is proprietary however).
It's not clear at the moment whether one day it will be possible to
do so.")
(license license:agpl3+)))
@ -744,9 +748,6 @@ the Monero command line client and daemon.")
the Monero GUI client.")
(license license:bsd-3)))
(define-public monero-core
(deprecated-package "monero-core" monero-gui))
(define-public python-trezor-agent
(package
(name "python-trezor-agent")
@ -1049,13 +1050,13 @@ Luhn and family of ISO/IEC 7064 check digit algorithms. ")
(define-public python-duniterpy
(package
(name "python-duniterpy")
(version "0.56.0")
(version "0.57.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "duniterpy" version))
(sha256
(base32 "1h8d8cnr6k5sw4cqy8r82zy4ldzpvn4nlk2221lz2haqq7xm4s5z"))))
(base32 "0rw2c7r9gcqhymp82gbk1ky45zqbypsi2q5x4vdwjc6g00kh7h6l"))))
(build-system python-build-system)
(arguments
;; FIXME: Tests fail with: "ModuleNotFoundError: No module named
@ -1165,10 +1166,37 @@ information.")
(home-page "https://grisbi.org")
(license license:gpl2+)))
(define-public trezord-udev-rules
(let ((commit "bff7fdfe436c727982cc553bdfb29a9021b423b0")
(revision "0"))
(package
(name "trezord-udev-rules")
(version (git-version "0.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/trezor/trezor-common.git")
(commit commit)))
(sha256
(base32
"14mrirrn68if7ja6qdk9qlxs1hv0f21vrxy5ncnms0gx9iwakp2l"))
(file-name (git-file-name name version))))
(build-system copy-build-system)
(arguments
'(#:install-plan
'(("./udev/51-trezor.rules" "lib/udev/rules.d/"))))
(home-page "https://github.com/trezor/trezor-common")
(synopsis "Udev rules for trezord")
(description
"This contains the udev rules for trezord. This will let a user run
trezord as a regular user instead of needing to it run as root.")
(license license:lgpl3+))))
(define-public trezord
(package
(name "trezord")
(version "2.0.17")
(version "2.0.29")
(source
(origin
(method git-fetch)
@ -1177,7 +1205,7 @@ information.")
(commit (string-append "v" version))))
(sha256
(base32
"0nqzpq0i3crh0i4r1cppja5sn3rwi1fv9afxzwzv63096x5l30a7"))
"1ks1fa0027s3xp0z6qp0dxmayvrb4dwwscfhbx7da0khp153f2cp"))
(file-name (git-file-name name version))))
(build-system go-build-system)
(arguments
@ -1401,3 +1429,168 @@ entity management.")
electronic cash system. This package provides a command line client and
a Qt GUI.")
(license license:expat)))
(define-public fulcrum
(package
(name "fulcrum")
(version "1.1.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://gitlab.com/FloweeTheHub/fulcrum/-/archive/v"
version "/fulcrum-v" version ".tar.gz"))
(sha256
(base32 "1xywwgsdhkiblv6la0pfhvn2s9q8vnz6pjg35647rlwzi6ybf0ak"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
;; Call qmake instead of configure to create a Makefile.
(replace 'configure
(lambda _
(invoke
"qmake"
(string-append "PREFIX=" %output)
"features="))))))
(native-inputs
`(("qttools" ,qttools)))
(inputs
`(("python" ,python)
("qtbase" ,qtbase)
("rocksdb" ,rocksdb)
("zlib" ,zlib)))
(home-page "https://gitlab.com/FloweeTheHub/fulcrum/")
(synopsis "Fast and nimble SPV server for Bitcoin Cash")
(description
"Flowee Fulcrum is a server that is the back-end for @acronym{SPV,
Simplified Payment Verification} wallets, it provides the full API for those
walets in a fast and small server. The full data is stored in a full node,
like Flowee the Hub, which Fulcrum connects to over RPC.")
(license license:gpl3+)))
(define-public flowee
(package
(name "flowee")
(version "2020.03.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://gitlab.com/FloweeTheHub/thehub/-/archive/"
version "/thehub-" version ".tar.gz"))
(sha256
(base32 "1m8wfwxljvd2gqpfj1w37xky4isa3h9a7g57cnf3l4r90r4bxj47"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags '("-Dbuild_tests=ON" "-Denable_gui=OFF")
#:phases
(modify-phases %standard-phases
(add-before 'configure 'make-qt-deterministic
(lambda _
;; Make Qt deterministic.
(setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1")
#t))
(add-before 'configure 'disable-black-box
;; the black-box testing runs full hubs and lets them interact.
;; this is more fragile and a slow machine, or low memory machine, may
;; make the tests timeout and fail. We just disable them here.
(lambda _
(substitute* "testing/CMakeLists.txt"
(("test_api") ""))
#t))
(add-after 'configure 'set-build-info
;; Their genbuild.sh to generate a build.h fails in guix (no .git dir) .
;; Its purpose is to write the tag name in the build.h file. We do that
;; here instead.
(lambda _
(with-output-to-file "include/build.h"
(lambda _
(display
(string-append "#define BUILD_DESC " "\"", version "\""))))))
(add-before 'check 'set-home
(lambda _
(setenv "HOME" (getenv "TMPDIR")) ; tests write to $HOME
#t))
(replace 'check
(lambda _
(invoke "make" "check" "-C" "testing"))))))
(inputs
`(("boost" ,boost)
("gmp" ,gmp)
("libevent" ,libevent)
("miniupnpc" ,miniupnpc)
("openssl" ,openssl)
("qtbase" ,qtbase)))
(native-inputs
`(("pkg-config" ,pkg-config)
("qttools" ,qttools)
("util-linux" ,util-linux))) ; provides the hexdump command for tests
(home-page "https://flowee.org")
(synopsis "Flowee infrastructure tools and services")
(description
"Flowee packages all tier-1 applications and services from the Flowee group.
This includes components like The Hub and Indexer which and various others
that allows you to run services and through them access the Bitcoin Cash networks.")
(license license:gpl3+)))
(define-public beancount
(package
(name "beancount")
(version "2.2.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "beancount" version))
(sha256
(base32
"0pcfl2rx2ng06i4f9izdpnlnb1k0rdzsckbzzn4cn4ixfzyssm0m"))
(patches (search-patches "beancount-disable-googleapis-fonts.patch"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; Says test is missing, not sure why
#:phases
(modify-phases %standard-phases
;; Not importing the googleapis package for now
(add-after 'unpack 'ignore-googleapis
(lambda _
(substitute* "setup.py"
(("'google-api-python-client',") ""))
#t)))))
(inputs
`(("python-beautifulsoup4" ,python-beautifulsoup4)
("python-bottle" ,python-bottle)
("python-chardet" ,python-chardet)
("python-dateutil" ,python-dateutil)
("python-lxml" ,python-lxml)
("python-magic" ,python-magic)
("python-ply" ,python-ply)
("python-requests" ,python-requests)))
(native-inputs
`(("python-pytest" ,python-pytest)))
(home-page "http://furius.ca/beancount")
(synopsis "Command-line double-entry accounting tool")
(description
"Beancount is a double-entry bookkeeping computer language that lets you
define financial transaction records in a text file, read them in memory,
generate a variety of reports from them, and provides a web interface.")
(license license:gpl2)))
;; The beancount source ships with elisp in a subdirectory
(define-public emacs-beancount
(package
(inherit beancount)
(name "emacs-beancount")
(build-system emacs-build-system)
(arguments
`(#:tests? #f ;no tests
#:phases
(modify-phases %standard-phases
(add-before 'install 'chdir-emacs
(lambda _
(chdir "editors/emacs")
#t)))))
(inputs '())
(native-inputs '())
(synopsis "Emacs mode for beancount")
(description
"Emacs-beancount is an Emacs mode for the Beancount accounting tool.")))

View File

@ -86,7 +86,7 @@
("cross-binutils" ,(cross-binutils "xtensa-elf"))
("cmake" ,cmake-minimal)
("perl" ,perl)))
(home-page "http://wireless.kernel.org/en/users/Drivers/ath9k_htc")
(home-page "https://wireless.wiki.kernel.org/en/users/Drivers/ath9k_htc")
(synopsis "Firmware for the Atheros AR7010 and AR9271 USB 802.11n NICs")
(description
"This is the firmware for the Qualcomm Atheros AR7010 and AR9271 USB
@ -445,7 +445,7 @@ Virtual Machines. OVMF contains a sample UEFI firmware for QEMU and KVM.")
(define* (make-arm-trusted-firmware platform #:optional (arch "aarch64"))
(package
(name (string-append "arm-trusted-firmware-" platform))
(version "2.2")
(version "2.3")
(source
(origin
(method git-fetch)
@ -454,11 +454,9 @@ Virtual Machines. OVMF contains a sample UEFI firmware for QEMU and KVM.")
(url "https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/")
(commit (string-append "v" version))))
(file-name (git-file-name "arm-trusted-firmware" version))
(patches (search-patches
"arm-trusted-firmware-disable-hdcp.patch"))
(sha256
(base32
"03fjl5hy1bqlya6fg553bqz7jrvilzrzpbs87cv6jd04v8qrvry8"))))
"113mcf1hwwl0i90cqh08lywxs1bfbg0nwqibay9wlkmx1a5v0bnj"))))
(build-system gnu-build-system)
(arguments
`(#:phases

View File

@ -19,7 +19,7 @@
;;; Copyright © 2017 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2017, 2018, 2019 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017, 2018, 2019, 2020 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017 Mohammed Sadiq <sadiq@sadiqpk.org>
;;; Copyright © 2018 Charlie Ritter <chewzerita@posteo.net>
;;; Copyright © 2018 Gabriel Hondet <gabrielhondet@gmail.com>
@ -30,6 +30,9 @@
;;; Copyright © 2019 Alexandros Theodotou <alex@zrythm.org>
;;; Copyright © 2020 Damien Cassou <damien@cassou.me>
;;; Copyright © 2020 Amin Bandali <bandali@gnu.org>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020 John Soo <jsoo1@asu.edu>
;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -62,9 +65,11 @@
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages xorg))
(define-public font-ibm-plex
@ -228,9 +233,9 @@ The Lato 2.010 family supports more than 100 Latin-based languages, over
50 Cyrillic-based languages as well as Greek and IPA phonetics.")
(license license:silofl1.1)))
(define-public font-gnu-freefont-ttf
(define-public font-gnu-freefont
(package
(name "font-gnu-freefont-ttf")
(name "font-gnu-freefont")
(version "20120503")
(source (origin
(method url-fetch)
@ -247,18 +252,41 @@ The Lato 2.010 family supports more than 100 Latin-based languages, over
(lambda _
(let ((doc-dir (string-append %output "/share/doc/"
,name "-" ,version))
(font-dir (string-append %output
"/share/fonts/truetype")))
(ttf-font-dir (string-append %output
"/share/fonts/ttf"))
(otf-font-dir (string-append %output
"/share/fonts/otf"))
(woff-font-dir (string-append %output
"/share/fonts/woff")))
(mkdir-p doc-dir)
(substitute* "Makefile"
(("\\$\\(TMPDIR\\)") doc-dir)
(("sfd/\\*.ttf") ""))
(system* "make" "ttftar")
(mkdir-p font-dir)
(("sfd/\\*.ttf") "")
(("sfd/\\*.otf") "")
(("sfd/\\*.woff") ""))
;; XXX The FreeFont Makefile tries to use the current
;; time and date as names for generated files, and fails
;; silently. But the fonts are still installed, so we
;; leave the issue alone for now.
;; See <https://bugs.gnu.org/40783>
(system* "make" "ttftar" "otftar" "wofftar")
(mkdir-p ttf-font-dir)
(mkdir-p otf-font-dir)
(mkdir-p woff-font-dir)
(for-each (lambda (file)
(install-file file font-dir))
(install-file file ttf-font-dir))
(filter
(lambda (file) (string-suffix? "ttf" file))
(find-files "." "")))
(for-each (lambda (file)
(install-file file otf-font-dir))
(filter
(lambda (file) (string-suffix? "otf" file))
(find-files "." "")))
(for-each (lambda (file)
(install-file file woff-font-dir))
(filter
(lambda (file) (string-suffix? "woff" file))
(find-files "." "")))))))
#:test-target "tests"))
;; replace python 3 with python 2
@ -277,6 +305,9 @@ The Lato 2.010 family supports more than 100 Latin-based languages, over
(properties '((upstream-name . "freefont")
(ftp-directory . "/gnu/freefont")))))
(define-public font-gnu-freefont-ttf
(deprecated-package "font-gnu-freefont-ttf" font-gnu-freefont))
(define-public font-liberation
(package
(name "font-liberation")
@ -558,17 +589,16 @@ fonts.")
(define-public font-rachana
(package
(name "font-rachana")
(version "7.0")
(version "7.0.3")
(source
(origin
(method url-fetch)
(uri (string-append
"https://gitlab.com/smc/rachana/repository/archive.tar.gz?ref=Version"
version))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/smc/fonts/rachana")
(commit (string-append "Version" version))))
(sha256
(base32
"0jc091gshna6p1dd6lf507jxkgk6rsja835fc9dm71mcplq53bm1"))))
(base32 "0r100pvk56y1s38nbv24d78s8nd7dkblgasbn8s887dzj6dps23d"))
(file-name (git-file-name name version))))
(build-system font-build-system)
(home-page "https://smc.org.in")
(synopsis "Malayalam font")
@ -649,7 +679,7 @@ for use at smaller text sizes")))
(define-public font-gnu-unifont
(package
(name "font-gnu-unifont")
(version "12.1.04")
(version "13.0.01")
(source
(origin
(method url-fetch)
@ -659,7 +689,7 @@ for use at smaller text sizes")))
(string-append "mirror://gnu/unifont/unifont-"
version "/unifont-" version ".tar.gz")))
(sha256
(base32 "1h5dyhg4j8sh4qpbwnsn34igb8mfapz5b3nf4k71hq1c5z3j0mcv"))))
(base32 "1svzm3xahb2m8r79ha9gb1z3zlckykx9d87cghswj7dxn9868j4b"))))
(build-system gnu-build-system)
(outputs '("out" ; TrueType version
"pcf" ; PCF (bitmap) version
@ -702,7 +732,7 @@ for use at smaller text sizes")))
"GNU Unifont is a bitmap font covering essentially all of
Unicode's Basic Multilingual Plane. The package also includes
utilities to ease adding new glyphs to the font.")
(home-page "http://unifoundry.com/unifont.html")
(home-page "http://unifoundry.com/unifont/index.html")
(properties '((upstream-name . "unifont")))
(license license:gpl2+)))
@ -1177,6 +1207,50 @@ programming. Iosevka is completely generated from its source code.")
(sha256
(base32 "1rkmgi08kknc1fg54zpa6w92m3b3v7pc8cpwygz22kgd2h0mdrr8"))))))
(define-public font-iosevka-term
(package
(inherit font-iosevka)
(name "font-iosevka-term")
(version (package-version font-iosevka))
(source
(origin
(method url-fetch/zipbomb)
(uri (string-append "https://github.com/be5invis/Iosevka"
"/releases/download/v" version
"/02-iosevka-term-" version ".zip"))
(sha256
(base32
"1mxlb3qf64nykjd0x4gjfvib3k5kyv9ssv9iyzxxgk2z80bydz00"))))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'install 'make-files-writable
(lambda _
(for-each make-file-writable (find-files "." ".*"))
#t)))))))
(define-public font-iosevka-term-slab
(package
(inherit font-iosevka)
(name "font-iosevka-term-slab")
(version (package-version font-iosevka))
(source
(origin
(method url-fetch/zipbomb)
(uri (string-append "https://github.com/be5invis/Iosevka"
"/releases/download/v" version
"/06-iosevka-term-slab-" version ".zip"))
(sha256
(base32
"1gc16hih157qy6vpa8f88psq0fnksiigi3msqazc75zsm3z4kzqj"))))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'install 'make-files-writable
(lambda _
(for-each make-file-writable (find-files "." ".*"))
#t)))))))
(define-public font-go
(let ((commit "f03a046406d4d7fbfd4ed29f554da8f6114049fc")
(revision "1"))
@ -1569,7 +1643,7 @@ This package provides the TrueType fonts.")
(define-public font-jetbrains-mono
(package
(name "font-jetbrains-mono")
(version "1.0.2")
(version "1.0.3")
(source
(origin
(method url-fetch)
@ -1577,7 +1651,7 @@ This package provides the TrueType fonts.")
(string-append "https://download.jetbrains.com/fonts/"
"JetBrainsMono-" version ".zip"))
(sha256
(base32 "0qlp4902i1v6ni04b6gdip8rxw6wpkdk9w7dir1yn9an5mvbkyar"))))
(base32 "0zvhwmpdwpm4vywmm6i9a4najz0c7vfi411yikgkd66l5hwd1p6f"))))
(build-system font-build-system)
(home-page "https://www.jetbrains.com/lp/mono/")
(synopsis "Mono typeface for developers")
@ -1625,3 +1699,43 @@ always uses Farsi digits, and does not include Latin glyphs from Roboto.
(license:x11-style ; ...the Bitstream Vera typeface
"file://LICENSE" "Bitstream Vera License")
license:asl2.0)))) ; Latin glyphs from Roboto
(define-public font-meera-inimai
(package
(name "font-meera-inimai")
(version "2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/smc/meera-inimai")
(commit "0f39cdd7dbf1b6d1bed7df85834d33789dce20a7")))
(file-name (git-file-name name version))
(sha256
(base32
"1x5mhrpx24imh0r4l83mkaiszxgwi1q4ppyyvq63h3ddwk20cwdg"))))
(build-system gnu-build-system)
(native-inputs
`(("fontforge" ,fontforge)
("harfbuzz" ,harfbuzz "bin")
("python" ,python-minimal)
("python-fonttools" ,python-fonttools)
("python-google-brotli" ,python-google-brotli)))
(arguments
`(#:make-flags (list "PY=python3"
(string-append "DESTDIR=" %output)
"fontpath=/share/fonts/truetype")
#:test-target "test"
#:phases
(modify-phases %standard-phases
(delete 'configure))))
(home-page "https://gitlab.com/smc/meera-inimai")
(synopsis "Meera Inimai Tamil font")
(description "Meera Inimai is a Unicode font for the Tamil Script. Meera
Inimai is a san-serif typeface. It is best used as a screen font for body
text. It is also useful for body text of printed pamphlets or single page
designs. Meera Inimai can be thought of as similar to Helvetica and its
variation Arial. Tamil characters are inherently vertically-elliptical. The
orthography of Roman glyphs of Meera Inimai are also based on this
characteristic so that they sit smoothly with the Tamil glyphs.")
(license license:silofl1.1)))

View File

@ -727,7 +727,7 @@ maintain the Noto Fonts project.")
(define-public fontmanager
(package
(name "fontmanager")
(version "0.7.5")
(version "0.7.7")
(source
(origin
(method git-fetch)
@ -737,7 +737,7 @@ maintain the Noto Fonts project.")
(file-name (git-file-name name version))
(sha256
(base32
"16hma8rrkam6ngn5vbdaryn31vdixvii6920g9z928gylz9xkd3g"))))
"1bzqvspplp1zj0n0869jqbc60wgbjhf0vdrn5bj8dfawxynh8s5f"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t

View File

@ -271,6 +271,7 @@ Includes the actual FTDI connector.")
(uri (git-reference
(url "git://github.com/YosysHQ/nextpnr")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0g2ar1z89b31qw5vgqj2rrcv9rzncs94184dgcsrz19p866654mf"))))
@ -289,8 +290,8 @@ Includes the actual FTDI connector.")
"/share/icebox"))
#:tests? #f))
(synopsis "Place-and-Route tool for FPGAs")
(description "nextpnr aims to be a vendor neutral, timing driven,
FOSS FPGA place and route tool. ")
(description "Nextpnr aims to be a vendor neutral, timing driven,
FOSS FPGA place and route tool.")
(home-page "https://github.com/YosysHQ/nextpnr")
(license license:expat))))

View File

@ -1671,8 +1671,8 @@ encoding names are iconv-compatible.")
(home-page "https://github.com/coldfix/udiskie")
(synopsis "Automounter for removable media")
(description
"The @command{udiskie} program is a udisks2 front-end that allows to
manage removable media such as CDs or flash drives from userspace.
"The @command{udiskie} program is a udisks2 front-end that
manages removable media such as CDs or flash drives from userspace.
Its features include:

View File

@ -1777,7 +1777,7 @@ that parenthetically inclined game developers need to make 2D (and eventually
(define-public guile3.0-chickadee
(package
(inherit guile-chickadee)
(name "guile-chickadee")
(name "guile3.0-chickadee")
(version "0.4.0")
(source (origin
(method url-fetch)

View File

@ -19,7 +19,7 @@
;;; Copyright © 2016 Albin Söderqvist <albin@fripost.org>
;;; Copyright © 2016, 2017, 2018, 2019 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016 Steve Webber <webber.sl@gmail.com>
;;; Copyright © 2017 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@hyperbola.info>
@ -48,6 +48,9 @@
;;; Copyright © 2017, 2019 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2020 Alberto Eleuterio Flores Guerrero <barbanegra+guix@posteo.mx>
;;; Copyright © 2020 Naga Malleswari <nagamalli@riseup.net>
;;; Copyright © 2020 Vitaliy Shatrov <D0dyBo0D0dyBo0@protonmail.com>
;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -172,6 +175,7 @@
#:use-module (gnu packages xml)
#:use-module (gnu packages messaging)
#:use-module (gnu packages networking)
#:use-module (guix build-system copy)
#:use-module (guix build-system glib-or-gtk)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
@ -329,9 +333,6 @@ the more advanced player there are new game modes and a wide variety of
physics settings to tweak as well.")
(license license:gpl2+)))
(define-public armagetron-advanced
(deprecated-package "armagetron-advanced" armagetronad))
(define-public bastet
(package
(name "bastet")
@ -396,62 +397,112 @@ Playing bastet can be a painful experience, especially if you usually make
canyons and wait for the long I-shaped block to clear four rows at a time.")
(license license:gpl3+)))
(define-public blobwars
(package
(name "blobwars")
(version "2.00")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/blobwars/"
"blobwars-" version ".tar.gz"))
(sha256
(base32 "16aagvkx6azf75gm5kaa94bh5npydvhqp3fvdqyfsanzdjgjf1n4"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;no test
#:make-flags
(let ((out (assoc-ref %outputs "out")))
(list (string-append "PREFIX=" out)
(string-append "BINDIR=" out "/bin/")
"USEPAK=1"
"RELEASE=1"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'werror-begone
(lambda _
(substitute* "Makefile" (("-Werror") ""))
#t))
(delete 'configure)))) ;no configure script
(native-inputs
`(("gettext" ,gettext-minimal)
("pkg-config" ,pkg-config)))
(inputs
`(("hicolor-icon-theme" ,hicolor-icon-theme)
("sdl" ,(sdl-union (list sdl2
sdl2-image
sdl2-mixer
sdl2-ttf
sdl2-net)))))
(home-page "https://sourceforge.net/projects/blobwars/")
(synopsis "Platform action game featuring a blob with a lot of weapons")
(description "Blobwars: Metal Blob Solid is a 2D platform game, the first
in the Blobwars series. You take on the role of a fearless Blob agent. Your
mission is to infiltrate various enemy bases and rescue as many MIAs as
possible, while battling many vicious aliens.")
(license (list license:gpl2 ; For code and graphics
license:cc0 ; Music and sounds have specific licenses
license:cc-by3.0 ; see /doc/readme
license:cc-by-sa3.0
license:lgpl2.1+
license:bsd-2))))
(define-public cataclysm-dda
(let ((commit "9c732a5de48928691ab863d3ab275ca7b0e522fc"))
(package
(name "cataclysm-dda")
(version "0.D")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/CleverRaven/Cataclysm-DDA.git")
(commit commit)))
(sha256
(base32
"00zzhx1mh1qjq668cga5nbrxp2qk6b82j5ak65skhgnlr6ii4ysc"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
'(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
"USE_HOME_DIR=1" "DYNAMIC_LINKING=1" "RELEASE=1"
"LOCALIZE=1" "LANGUAGES=all")
#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-after 'build 'build-tiles
(lambda* (#:key make-flags outputs #:allow-other-keys)
;; Change prefix directory and enable tile graphics and sound.
(apply invoke "make" "TILES=1" "SOUND=1"
(string-append "PREFIX="
(assoc-ref outputs "tiles"))
(cdr make-flags))))
(add-after 'install 'install-tiles
(lambda* (#:key make-flags outputs #:allow-other-keys)
(apply invoke "make" "install" "TILES=1" "SOUND=1"
(string-append "PREFIX="
(assoc-ref outputs "tiles"))
(cdr make-flags)))))
;; TODO: Add libtap++ from https://github.com/cbab/libtappp as a native
;; input in order to support tests.
#:tests? #f))
(outputs '("out"
"tiles")) ; For tile graphics and sound support.
(native-inputs
`(("gettext" ,gettext-minimal)
("pkg-config" ,pkg-config)))
(inputs
`(("freetype" ,freetype)
("libogg" ,libogg)
("libvorbis" ,libvorbis)
("ncurses" ,ncurses)
("sdl2" ,sdl2)
("sdl2-image" ,sdl2-image)
("sdl2-ttf" ,sdl2-ttf)
("sdl2-mixer" ,sdl2-mixer)))
(home-page "https://cataclysmdda.org/")
(synopsis "Survival horror roguelike video game")
(description
"Cataclysm: Dark Days Ahead (or \"DDA\" for short) is a roguelike set
(package
(name "cataclysm-dda")
(version "0.E")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/CleverRaven/Cataclysm-DDA.git")
(commit version)))
(sha256
(base32 "0pbi0fw37zimzdklfj58s1ql0wlqq7dy6idkcsib3hn910ajaxan"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
'(#:make-flags
(list (string-append "PREFIX=" (assoc-ref %outputs "out"))
"USE_HOME_DIR=1" "DYNAMIC_LINKING=1" "RELEASE=1"
"LOCALIZE=1" "LANGUAGES=all")
#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-after 'build 'build-tiles
(lambda* (#:key make-flags outputs #:allow-other-keys)
;; Change prefix directory and enable tile graphics and sound.
(apply invoke "make" "TILES=1" "SOUND=1"
(string-append "PREFIX="
(assoc-ref outputs "tiles"))
(cdr make-flags))))
(add-after 'install 'install-tiles
(lambda* (#:key make-flags outputs #:allow-other-keys)
(apply invoke "make" "install" "TILES=1" "SOUND=1"
(string-append "PREFIX="
(assoc-ref outputs "tiles"))
(cdr make-flags)))))
;; TODO: Add libtap++ from https://github.com/cbab/libtappp as a native
;; input in order to support tests.
#:tests? #f))
(outputs '("out"
"tiles")) ;for tile graphics and sound support
(native-inputs
`(("gettext" ,gettext-minimal)
("pkg-config" ,pkg-config)))
(inputs
`(("freetype" ,freetype)
("libogg" ,libogg)
("libvorbis" ,libvorbis)
("ncurses" ,ncurses)
("sdl2" ,sdl2)
("sdl2-image" ,sdl2-image)
("sdl2-ttf" ,sdl2-ttf)
("sdl2-mixer" ,sdl2-mixer)))
(home-page "https://cataclysmdda.org/")
(synopsis "Survival horror roguelike video game")
(description
"Cataclysm: Dark Days Ahead (or \"DDA\" for short) is a roguelike set
in a post-apocalyptic world. Struggle to survive in a harsh, persistent,
procedurally generated world. Scavenge the remnants of a dead civilization
for food, equipment, or, if you are lucky, a vehicle with a full tank of gas
@ -459,10 +510,7 @@ to get you out of Dodge. Fight to defeat or escape from a wide variety of
powerful monstrosities, from zombies to giant insects to killer robots and
things far stranger and deadlier, and against the others like yourself, that
want what you have.")
(license license:cc-by-sa3.0))))
(define-public cataclysm-dark-days-ahead
(deprecated-package "cataclysm-dark-days-ahead" cataclysm-dda))
(license license:cc-by-sa3.0)))
(define-public corsix-th
(package
@ -1099,6 +1147,46 @@ destroying an ancient book using a special wand.")
;; license. The whole package is released under GPLv3+.
(license license:gpl3+)))
(define-public gnome-chess
(package
(name "gnome-chess")
(version "3.36.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"1a9fgi749gy1f60vbcyrqqkab9vqs42hji70q73k1xx8rv0agmg0"))))
(build-system meson-build-system)
(arguments
'(#:glib-or-gtk? #t
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'skip-gtk-update-icon-cache
;; Don't create 'icon-theme.cache'.
(lambda _
(substitute* "meson_post_install.py"
(("gtk-update-icon-cache") "true"))
#t)))))
(inputs
`(("gtk+" ,gtk+)
("librsvg" ,librsvg)))
(native-inputs
`(("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin") ; for desktop-file-validate and appstream-util
("itstool" ,itstool)
("pkg-config" ,pkg-config)
("vala" ,vala)))
(home-page "https://wiki.gnome.org/Apps/Chess")
(synopsis "Chess board for GNOME")
(description "GNOME Chess provides a 2D board for playing chess games
against human or computer players. It supports loading and saving games in
Portable Game Notation. To play against a computer, install a chess engine
such as chess or stockfish.")
(license license:gpl3+)))
(define-public gnubg
(package
(name "gnubg")
@ -1151,9 +1239,6 @@ beginners and advanced players. In addition to a command-line interface, it
also features an attractive, 3D representation of the playing board.")
(license license:gpl3+)))
(define-public gnubackgammon
(deprecated-package "gnubackgammon" gnubg))
(define-public gnubik
(package
(name "gnubik")
@ -1259,10 +1344,11 @@ watch your CPU playing while enjoying a cup of tea!")
(string-join (string-split version #\.) "") "-src.tgz"))
(sha256
(base32 "1liyckjp34j354qnxc1zn9730lh1p2dabrg1hap24z6xnqx0rpng"))))
(native-inputs
`(("bison" ,bison)
("flex" ,flex)))
(inputs
`(("ncurses" ,ncurses)
("bison" ,bison)
("flex" ,flex)
("less" ,less)))
(build-system gnu-build-system)
(arguments
@ -1704,9 +1790,6 @@ them, called Jean Raymond, found an old church in which to hide, not knowing
that beneath its ruins lay buried an ancient evil.")
(license license:gpl3)))
(define-public l-abbaye-des-morts
(deprecated-package "l-abbaye-des-morts" abbaye))
(define-public angband
(package
(name "angband")
@ -1872,7 +1955,7 @@ asynchronously and at a user-defined speed.")
(define-public chess
(package
(name "chess")
(version "6.2.5")
(version "6.2.6")
(source
(origin
(method url-fetch)
@ -1880,13 +1963,15 @@ asynchronously and at a user-defined speed.")
".tar.gz"))
(sha256
(base32
"00j8s0npgfdi41a0mr5w9qbdxagdk2v41lcr42rwl1jp6miyk6cs"))))
"0kxhdv01ia91v2y0cmzbll391ns2vbmn65jjrv37h4s1srszh5yn"))))
(build-system gnu-build-system)
(home-page "https://www.gnu.org/software/chess/")
(synopsis "Full chess implementation")
(description "GNU Chess is a chess engine. It allows you to compete
against the computer in a game of chess, either through the default terminal
interface or via an external visual interface such as GNU XBoard.")
(properties '((upstream-name . "gnuchess")
(ftp-directory . "/chess")))
(license license:gpl3+)))
(define freedink-engine
@ -2835,9 +2920,6 @@ experience and advance levels, and are carried over from one scenario to the
next campaign.")
(license license:gpl2+)))
(define-public the-battle-for-wesnoth
(deprecated-package "the-battle-for-wesnoth" wesnoth))
(define-public wesnoth-server
(package
(inherit wesnoth)
@ -2854,9 +2936,6 @@ next campaign.")
(description "This package contains a dedicated server for @emph{The
Battle for Wesnoth}.")))
(define-public the-battle-for-wesnoth-server
(deprecated-package "the-battle-for-wesnoth-server" wesnoth-server))
(define-public gamine
(package
(name "gamine")
@ -2944,20 +3023,14 @@ world}, @uref{http://evolonline.org, Evol Online} and
(define openttd-engine
(package
(name "openttd-engine")
(version "1.9.3")
(version "1.10.0")
(source
(origin (method url-fetch)
(uri (string-append "https://proxy.binaries.openttd.org/openttd-releases/"
(uri (string-append "https://cdn.openttd.org/openttd-releases/"
version "/openttd-" version "-source.tar.xz"))
(sha256
(base32
"0ijq72kgx997ggw40i5f4a3nf7y2g72z37l47i18yjvgbdzy320r"))
(modules '((guix build utils)))
(snippet
;; The DOS port contains proprietary software.
'(begin
(delete-file-recursively "os/dos")
#t))))
"0lz2y2rjc23k0d97y65cqhy2splw9cmrbvhgz0iqps8xkan1m8hv"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no "check" target
@ -3007,15 +3080,15 @@ engine. When you start it you will be prompted to download a graphics set.")
(define openttd-opengfx
(package
(name "openttd-opengfx")
(version "0.5.5")
(version "0.6.0")
(source
(origin
(method url-fetch)
(uri (string-append "http://binaries.openttd.org/extra/opengfx/"
(uri (string-append "https://cdn.openttd.org/opengfx-releases/"
version "/opengfx-" version "-source.tar.xz"))
(sha256
(base32
"009fa1bdin1bk0ynzhzc30hzkmmwzmwkk6j591ax3f6w75l28n49"))))
"0qxc6gl2gxcrn1np88dnjgbaaakkkx96b13rcmy1spryc8c09hyr"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags (list "CC=gcc"
@ -3045,6 +3118,7 @@ engine. When you start it you will be prompted to download a graphics set.")
("gimp" ,gimp)
("grfcodec" ,grfcodec)
("nml" ,nml)
("which" ,which)
("python" ,python-2)))
(home-page "http://dev.openttdcoop.org/projects/opengfx")
(synopsis "Base graphics set for OpenTTD")
@ -3689,6 +3763,69 @@ fullscreen, use F5 or Alt+Enter.")
;; Code mainly BSD-2, some parts under Boost 1.0. All assets are WTFPL2.
(license (list license:bsd-2 license:boost1.0 license:wtfpl2))))
(define-public tennix
(package
(name "tennix")
(version "1.3.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://repo.or.cz/tennix.git")
(commit (string-append "tennix-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "02cj4lrdrisal5s9pnbf2smx7qz9czczjzndfkhfx0qy67b957sk"))
;; Remove non-free images.
(modules '((guix build utils)))
(snippet
'(begin
(for-each delete-file
'("data/loc_training_camp.png"
"data/loc_austrian_open.png"
"data/loc_olympic_green_tennis.png"))
#t))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;no test
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-include
(lambda _
(substitute* '("src/graphics.h" "src/sound.h")
(("#include \"(SDL_(image|ttf|mixer)\\.h)\"" _ header)
(string-append "#include \"SDL/" header "\"")))
(substitute* '("src/tennix.h" "src/network.h" "src/SDL_rotozoom.h")
(("#include <SDL.h>") "#include <SDL/SDL.h>")
(("#include <SDL_net.h>") "#include <SDL/SDL_net.h>"))
#t))
(add-after 'unpack 'locate-install
;; Build process cannot expand "$(INSTALL)" in Makefile.
(lambda _
(substitute* "makefile"
(("^CONFIGURE_OUTPUT :=.*" all)
(string-append "INSTALL := install -c\n" all)))
#t))
(replace 'configure
;; The "configure" script is picky about the arguments it
;; gets. Call it ourselves.
(lambda _
(invoke "./configure" "--prefix" (assoc-ref %outputs "out")))))))
(native-inputs
`(("which" ,which)))
(inputs
`(("python" ,python-wrapper)
("sdl" ,(sdl-union (list sdl sdl-image sdl-mixer sdl-ttf sdl-net)))))
(home-page "http://icculus.org/tennix/")
(synopsis "Play tennis against the computer or a friend")
(description "Tennix is a 2D tennis game. You can play against the
computer or against another player using the keyboard. The game runs
in-window at 640x480 resolution or fullscreen.")
;; Project is licensed under GPL2+ terms. It includes images
;; released under Public Domain terms, and SDL_rotozoom, released
;; under LGPL2.1 terms.
(license (list license:gpl2+ license:public-domain license:lgpl2.1))))
(define-public warzone2100
(package
(name "warzone2100")
@ -3745,7 +3882,7 @@ fullscreen, use F5 or Alt+Enter.")
modes. An extensive tech tree with over 400 different technologies, combined
with the unit design system, allows for a wide variety of possible units and
tactics.")
; Everything is GPLv2+ unless otherwise specified in COPYING.NONGPL
; Everything is GPLv2+ unless otherwise specified in COPYING.NONGPL
(license (list license:bsd-3
license:cc0
license:cc-by-sa3.0
@ -3790,9 +3927,6 @@ in strikes against the evil corporation.")
license:cc0
license:public-domain))))
(define-public project-starfighter
(deprecated-package "project-starfighter" starfighter))
(define-public chromium-bsu
(package
(name "chromium-bsu")
@ -3994,7 +4128,7 @@ with the \"Stamp\" tool within Tux Paint.")
(define-public supertux
(package
(name "supertux")
(version "0.6.1")
(version "0.6.1.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/SuperTux/supertux/"
@ -4003,7 +4137,7 @@ with the \"Stamp\" tool within Tux Paint.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0lqch5gcq6ccnspy93z9r13bp8w2j1vrd8jhvk5kp4qhrd1f069s"))
"0n36qxwjlkdlksximz4s729az6pry2sdjavwgm7m65vfgdiz139f"))
(patches
(search-patches "supertux-unbundle-squirrel.patch"))))
(arguments
@ -4728,9 +4862,6 @@ small robot living in the nano world, repair its maker.")
;; for a statement from the author.
(license license:public-domain)))
(define-public kiki-the-nano-bot
(deprecated-package "kiki-the-nano-bot" kiki))
(define-public teeworlds
(package
(name "teeworlds")
@ -5000,9 +5131,6 @@ underwater realm quarrel among themselves or comment on the efforts of your
fish. The whole game is accompanied by quiet, comforting music.")
(license license:gpl2+)))
(define-public fish-fillets-ng
(deprecated-package "fish-fillets-ng" fillets-ng))
(define-public crawl
(package
(name "crawl")
@ -5082,9 +5210,6 @@ monsters in a quest to find the mystifyingly fabulous Orb of Zot.")
license:zlib
license:asl2.0))))
(define-public dungeon-crawl-stone-soup
(deprecated-package "dungeon-crawl-stone-soup" crawl))
;; The linter here claims that patch file names should start with the package
;; name. But, in this case, the patches are inherited from crawl with the
;; "crawl-" prefix instead of "crawl-tiles-".
@ -5121,9 +5246,6 @@ monsters in a quest to find the mystifyingly fabulous Orb of Zot.")
("which" ,which)))
(synopsis "Graphical roguelike dungeon crawler game")))
(define-public dungeon-crawl-stone-soup-tiles
(deprecated-package "dungeon-crawl-stone-soup-tiles" crawl-tiles))
(define-public lugaru
(package
(name "lugaru")
@ -5533,9 +5655,6 @@ intuitive mouse control, streamlined mechanics and deep, challenging combat,
Tales of MajEyal offers engaging roguelike gameplay for the 21st century.")
(license license:gpl3+)))
(define-public tales-of-maj-eyal
(deprecated-package "tales-of-maj-eyal" tome4))
(define-public quakespasm
(package
(name "quakespasm")
@ -6072,7 +6191,7 @@ affect gameplay).")
(package
(inherit chocolate-doom)
(name "crispy-doom")
(version "5.7.1")
(version "5.7.2")
(source (origin
(method git-fetch)
(uri (git-reference
@ -6080,7 +6199,7 @@ affect gameplay).")
(commit (string-append "crispy-doom-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1gqivy4pxasy7phyznixsagylf9f70bk33b0knpfzzlks6cc6zzj"))))
(base32 "002aqbgsksrgzqridwdlkrjincaxh0dkvwlrbb8d2f3kwk7lj4fq"))))
(native-inputs
(append
(package-native-inputs chocolate-doom)
@ -6685,7 +6804,7 @@ GameController.")
#t)))))
(native-inputs
`(("desktop-file-utils" ,desktop-file-utils) ;for desktop-file-validate
("gettext" ,gnu-gettext)
("gettext" ,gettext-minimal)
("glib" ,glib "bin") ;for glib-compile-resources
("itstool" ,itstool)
("libxml2" ,libxml2) ;for xmllint
@ -7001,9 +7120,6 @@ and cooperative.")
;; developers.
(license (list license:gpl2+ license:lgpl2.1+))))
(define-public battle-tanks
(deprecated-package "battle-tanks" btanks))
(define-public slingshot
(package
(name "slingshot")
@ -7193,7 +7309,7 @@ where the player draws runes in real time to effect the desired spell.")
`(("pkg-config" ,pkg-config)
("autoconf" ,autoconf)
("automake" ,automake)
("gnu-gettext" ,gnu-gettext)
("gnu-gettext" ,gettext-minimal)
("libtool" ,libtool)
("which" ,which)))
(synopsis "2d action platformer game")
@ -7204,9 +7320,6 @@ a fortress beyond the forbidden swamp.")
(home-page "https://www.parallelrealities.co.uk/games/edgar/")
(license license:gpl2+)))
(define-public the-legend-of-edgar
(deprecated-package "the-legend-of-edgar" edgar))
(define-public openclonk
(package
(name "openclonk")
@ -10352,3 +10465,119 @@ to conquer opponents by defeating them in war (with troops or machines),
capturing their buildings with spies, or offering opponents money for their
kingdom.")
(license license:gpl2+)))
(define-public neverball
;; Git version is 6-years younger than latest release.
(let ((commit "760a25d32a5fb0661b99426d4ddcb9ac9f3d1644")
(revision "1"))
(package
(name "neverball")
(version (git-version "1.6.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Neverball/neverball.git")
(commit commit)))
(sha256
(base32
"0bwh67df3lyf33bv710y25l3frjdd34j9b7gsjadwxviz6r1vpj5"))
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet
'(begin
;; Octocat seems to be non-free. Oddly, Debian doesn't strip it.
(delete-file-recursively "data/ball/octocat")
#t))))
(build-system copy-build-system)
(arguments
`(#:install-plan
'(("neverball" "bin/")
("neverputt" "bin/")
("mapc" "bin/")
("data" "share/games/neverball/")
("locale" "share/")
("dist/" "share/games/neverball" #:include ("neverball_replay.png"
"neverlogos.svg"
"svg readme.txt"))
("dist/" "share/applications" #:include ("neverball.desktop"
"neverputt.desktop"))
("dist/neverball_16.png"
"/share/icons/hicolor/16x16/apps/neverball.png")
("dist/neverball_24.png"
"/share/icons/hicolor/24x24/apps/neverball.png")
("dist/neverball_32.png"
"/share/icons/hicolor/32x32/apps/neverball.png")
("dist/neverball_48.png"
"/share/icons/hicolor/48x48/apps/neverball.png")
("dist/neverball_64.png"
"/share/icons/hicolor/64x64/apps/neverball.png")
("dist/neverball_128.png"
"/share/icons/hicolor/128x128/apps/neverball.png")
("dist/neverball_256.png"
"/share/icons/hicolor/256x256/apps/neverball.png")
("dist/neverball_512.png"
"/share/icons/hicolor/512x512/apps/neverball.png")
("dist/neverputt_16.png"
"/share/icons/hicolor/16x16/apps/neverputt.png")
("dist/neverputt_24.png"
"/share/icons/hicolor/24x24/apps/neverputt.png")
("dist/neverputt_32.png"
"/share/icons/hicolor/32x32/apps/neverputt.png")
("dist/neverputt_48.png"
"/share/icons/hicolor/48x48/apps/neverputt.png")
("dist/neverputt_64.png"
"/share/icons/hicolor/64x64/apps/neverputt.png")
("dist/neverputt_128.png"
"/share/icons/hicolor/128x128/apps/neverputt.png")
("dist/neverputt_256.png"
"/share/icons/hicolor/256x256/apps/neverputt.png")
("dist/neverputt_512.png"
"/share/icons/hicolor/512x512/apps/neverputt.png")
("dist/" "share/man/man1" #:include ("mapc.1"))
("dist/" "share/man/man6" #:include ("neverball.6" "neverputt.6"))
("doc/" "share/doc/neverball")
("README.md" "share/doc/neverball/"))
#:phases
(modify-phases %standard-phases
(add-before 'install 'build
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(sdl (assoc-ref inputs "sdl")))
(invoke "make" "-j" (number->string (parallel-job-count))
"--environment-overrides"
"CC=gcc" "BUILD=release"
(string-append "DATADIR="
out
"/share/games/neverball/data")
(string-append "LOCALEDIR=" out "/share/locale")
(string-append "SDL_CPPFLAGS=-I"
sdl
"/include/SDL2/")))
#t))
(add-after 'install 'fix-some-broken-fonts
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")))
(wrap-program (string-append out "/bin/neverball")
`("LANG" = ("en_US.utf8")))
(wrap-program (string-append out "/bin/neverputt")
`("LANG" = ("en_US.utf8"))))
#t)))))
(native-inputs
`(("gettext" ,gettext-minimal))) ;for msgfmt
(inputs
`(("libjpeg" ,libjpeg)
("libpng" ,libpng)
("libvorbis" ,libvorbis)
("physfs" ,physfs)
("sdl" ,(sdl-union (list sdl2 sdl2-ttf)))))
(home-page "https://neverball.org/")
(synopsis "3D floor-tilting game")
(description
"In the grand tradition of Marble Madness and Super Monkey Ball,
Neverball has you guide a rolling ball through dangerous territory. Balance
on narrow bridges, navigate mazes, ride moving platforms, and dodge pushers
and shovers to get to the goal. Race against the clock to collect coins to
earn extra balls. Also included is Neverputt, which is a 3D miniature golf
game.") ;thanks to Debian for description
(license license:gpl2+))))

View File

@ -55,7 +55,7 @@
("intltool" ,intltool)))
(inputs
`(("cairo" ,cairo)
("font-gnu-freefont-ttf" ,font-gnu-freefont-ttf)
("font-gnu-freefont" ,font-gnu-freefont)
("geocode-glib" ,geocode-glib)
("gexiv2" ,gexiv2)
("ghostscript" ,ghostscript)

View File

@ -41,7 +41,7 @@
(define-public genimage
(package
(name "genimage")
(version "10")
(version "11")
(source (origin
(method git-fetch)
(uri (git-reference
@ -50,7 +50,7 @@
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0had00p2why2l1fl14mq7nbhmmfbd3na4qnnpg36akdy05g67jbn"))))
"15jmh17lvm3jw9c92bjarly7iwhmnfl322d91mprfv10ppb9ip54"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@ -149,6 +149,7 @@
(substitute* '("test/ext2test.dump"
"test/ext3test.dump"
"test/ext4test.dump"
"test/ext2test-percent.dump"
"test/mke2fs.dump")
(("root") "unknown"))
#t))

View File

@ -1153,8 +1153,8 @@ persisted.
(copy-file "JMapViewer.jar" (string-append dir "JMapViewer.jar"))))))))
(home-page "https://wiki.openstreetmap.org/wiki/JMapViewer")
(synopsis "OSM map integration in Java")
(description "JMapViewer is a Java component which allows to easily
integrate an OSM map view into your Java application. It is maintained as
(description "JMapViewer is a Java component which easily
integrates an OSM map view into your Java application. It is maintained as
an independent project by the JOSM team.")
(license license:gpl2)))
@ -1292,7 +1292,7 @@ an independent project by the JOSM team.")
(synopsis "OSM editor")
(description "JOSM is an extensible editor for OpenStreetMap (OSM). It
supports loading GPX tracks, background imagery and OSM data from local
sources as well as from online sources and allows to edit the OSM data (nodes,
sources as well as from online sources and allows editing the OSM data (nodes,
ways, and relations) and their metadata tags.")
(license license:gpl2+)))
@ -1933,6 +1933,22 @@ growing set of geoscientific methods.")
(add-after 'wrap-python 'wrap-qt
(lambda* (#:key outputs #:allow-other-keys)
(wrap-qt-program (assoc-ref outputs "out") "qgis")
#t))
(add-after 'wrap-qt 'wrap-gis
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(saga (string-append (assoc-ref inputs "saga") "/bin"))
(grass-version ,(package-version grass))
(grass-majorminor (string-join
(list-head
(string-split grass-version #\.) 2)
""))
(grass (string-append (assoc-ref inputs "grass")
"/grass" grass-majorminor)))
(wrap-program (string-append out "/bin/qgis")
`("PATH" ":" prefix (,saga))
`("QGIS_PREFIX_PATH" = (,out))
`("GISBASE" = (,grass))))
#t)))))
(inputs
`(("exiv2" ,exiv2)

View File

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2018 Thorsten Wilms <t_w_@freenet.de>
@ -151,6 +151,9 @@ buffers.")
(list (string-append "--with-html-dir="
(assoc-ref %outputs "doc")
"/share/gtk-doc/html")
;; Disable automatic network request on startup to check for
;; version updates.
"--disable-check-update"
;; ./configure requests not to annoy upstream with packaging bugs.
"--with-bug-report-url=https://bugs.gnu.org/guix")
#:phases
@ -180,7 +183,7 @@ buffers.")
("gexiv2" ,gexiv2)
("gtk+" ,gtk+-2)
("libmypaint" ,libmypaint)
("mypaint-brushes" ,mypaint-brushes)
("mypaint-brushes" ,mypaint-brushes-1.3)
("exif" ,libexif) ; optional, EXIF + XMP support
("lcms" ,lcms) ; optional, color management
("librsvg" ,librsvg) ; optional, SVG support
@ -267,7 +270,7 @@ inverse fourier transform.")
(define-public libmypaint
(package
(name "libmypaint")
(version "1.3.0")
(version "1.5.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/mypaint/libmypaint/"
@ -275,7 +278,7 @@ inverse fourier transform.")
version ".tar.xz"))
(sha256
(base32
"0wd6jk69vmhsq1mdw96v0fh7b28n3glkr5ca466zcq7agzaxj1va"))))
"0aqcv4fyscpfhknxgfpq0v84aj2nzigqvpi4zgv2zkl41h51by5f"))))
(build-system gnu-build-system)
(native-inputs
`(("intltool" ,intltool)
@ -295,34 +298,42 @@ brushstrokes which is used by MyPaint and GIMP.")
(define-public mypaint-brushes
(package
(name "mypaint-brushes")
(version "1.3.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Jehan/mypaint-brushes.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1iz89z6v2mp8j1lrf942k561s8311i3s34ap36wh4rybb2lq15m0"))))
(version "2.0.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mypaint/mypaint-brushes.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0kcqz13vzpy24dhmrx9hbs6s7hqb8y305vciznm15h277sabpmw9"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'relax-dependency-version
(lambda _
(substitute* "autogen.sh"
(("automake-1.13") "automake")
(("aclocal-1.13") "aclocal"))
#t)))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)))
(synopsis "Default brushes for MyPaint")
(description "This package provides the default set of brushes for
MyPaint.")
(home-page "https://github.com/Jehan/mypaint-brushes")
(license license:cc0)))
(home-page "https://github.com/mypaint/mypaint-brushes/")
;; Scripts are distributed under GPL2+ terms, brushes are provided as
;; public domain or under CC0 terms.
(license (list license:gpl2+ license:cc0 license:public-domain))))
(define-public mypaint-brushes-1.3
(package
(inherit mypaint-brushes)
(name "mypaint-brushes")
(version "1.3.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mypaint/mypaint-brushes.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1c95l1vfz7sbrdlzrbz7h1p6s1k113kyjfd9wfnxlm0p6562cz3j"))))))
(define-public gimp-resynthesizer
;; GIMP does not respect any plugin search path environment variable, so after
@ -334,13 +345,14 @@ MyPaint.")
(version "2.0.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/bootchk/resynthesizer/archive/v"
version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/bootchk/resynthesizer")
(commit (string-append "v" version))))
(sha256
(base32
"0l3404w6rqny7h3djskxf149gzx6x4qhndgbh3403c9lbh4pi1kr"))
(file-name (string-append name "-" version ".tar.gz"))))
"1jwc8bhhm21xhrgw56nzbma6fwg59gc8anlmyns7jdiw83y0zx3j"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
`( ;; Turn off tests to avoid:
@ -348,11 +360,11 @@ MyPaint.")
#:tests? #f
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'set-env
(lambda _
(setenv "CONFIG_SHELL" (which "sh"))
#t))
(add-after 'configure 'set-prefix
(add-after 'unpack 'set-env
(lambda _
(setenv "CONFIG_SHELL" (which "sh"))
#t))
(add-after 'configure 'set-prefix
;; Install plugin under $prefix, not under GIMP's libdir.
(lambda* (#:key outputs #:allow-other-keys)
(let ((target (string-append (assoc-ref outputs "out")
@ -361,8 +373,8 @@ MyPaint.")
(package-version gimp))
".0")))
(substitute* (list "src/resynthesizer/Makefile"
"src/resynthesizer-gui/Makefile")
(("GIMP_LIBDIR = .*")
"src/resynthesizer-gui/Makefile")
(("GIMP_LIBDIR = .*")
(string-append "GIMP_LIBDIR = " target "\n")))
(mkdir-p target)
#t))))))

View File

@ -3,7 +3,7 @@
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014, 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
;;; Copyright © 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Petter <petter@mykolab.ch>
@ -770,7 +770,7 @@ useful for C++.")
(define-public perl-glib
(package
(name "perl-glib")
(version "1.3291")
(version "1.3292")
(source (origin
(method url-fetch)
(uri (string-append
@ -778,7 +778,7 @@ useful for C++.")
version ".tar.gz"))
(sha256
(base32
"0whz5f87wvzq8zsva85h06mkfqim2ciq845ixlvmafwxggccv0xr"))))
"1q5075d6v2g5sm675hyzrcpxsrh09z83crfci8b0wl3jwmnz0frg"))))
(build-system perl-build-system)
(native-inputs
`(("perl-extutils-depends" ,perl-extutils-depends)

View File

@ -5,6 +5,7 @@
;;; Copyright © 2020 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us>
;;; Copyright © 2020 Ekaitz Zarraga <ekaitz@elenq.tech>
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -358,7 +359,7 @@ control.")
(propagated-inputs
`(("glib" ,glib)))
(synopsis "Hide app icon from GNOME's panel")
(description "This extension allows to hide the icon and/or title of the
(description "This extension hides the icon and/or title of the
currently focused application in the top panel of the GNOME shell.")
(home-page
"https://github.com/michael-rapp/gnome-shell-extension-hide-app-icon/")
@ -467,9 +468,9 @@ scrollable tiling of windows and per monitor workspaces. It's inspired by paper
notebooks and tiling window managers.")
(license license:gpl3)))
(define-public numix-theme
(define-public numix-gtk-theme
(package
(name "numix-theme")
(name "numix-gtk-theme")
(version "2.6.7")
(source (origin
(method git-fetch)
@ -482,11 +483,14 @@ notebooks and tiling window managers.")
"12mw0kr0kkvg395qlbsvkvaqccr90cmxw5rrsl236zh43kj8grb7"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags (list (string-append "DESTDIR=" (assoc-ref %outputs "out")))
'(#:make-flags
(list (string-append "INSTALL_DIR="
(assoc-ref %outputs "out")
"/share/themes/Numix"))
#:tests? #f
#:phases
(modify-phases %standard-phases
(delete 'configure)
(delete 'check))))
(delete 'configure)))) ; no configure script
(native-inputs
`(("glib:bin" ,glib "bin") ; for glib-compile-schemas
("gnome-shell" ,gnome-shell)
@ -499,6 +503,9 @@ dark elements. It supports GNOME, Unity, Xfce, and Openbox.")
(home-page "https://numixproject.github.io")
(license license:gpl3+)))
(define-public numix-theme
(deprecated-package "numix-theme" numix-gtk-theme))
(define-public papirus-icon-theme
(let ((version "0.0.0") ;; The package does not use semver
(revision "0")

View File

@ -27,7 +27,7 @@
;;; Copyright © 2017, 2018 nee <nee-git@hidamari.blue>
;;; Copyright © 2017 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2017 Mohammed Sadiq <sadiq@sadiqpk.org>
;;; Copyright © 2017 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2017, 2020 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Jovany Leandro G.C <bit4bit@riseup.net>
;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com>
@ -48,6 +48,8 @@
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2020 raingloom <raingloom@riseup.net>
;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2020 Naga Malleswari <nagamalli@riseup.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -160,9 +162,11 @@
#:use-module (gnu packages spice)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages ssh)
#:use-module (gnu packages swig)
#:use-module (gnu packages tex)
#:use-module (gnu packages time)
#:use-module (gnu packages tls)
#:use-module (gnu packages valgrind)
#:use-module (gnu packages version-control)
#:use-module (gnu packages video)
#:use-module (gnu packages virtualization)
@ -248,6 +252,77 @@ Desktop. It is designed to be as simple as possible and has some unique
features to enable users to create their discs easily and quickly.")
(license license:gpl2+)))
(define-public notification-daemon
(package
(name "notification-daemon")
(version "3.20.0")
(source
(origin
(method url-fetch)
(uri
(string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"1rgchqi4j2ll7d6a7lgy7id0w9rrkwkgic1096fbm2zx6n7pc4yx"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("intltool" ,intltool)
("pkg-config" ,pkg-config)))
(inputs
`(("glib" ,glib)
("gtk+" ,gtk+)
("x11" ,libx11)))
(synopsis "Notification Daemon for GNOME Desktop")
(description "Notification-Daemon is the server implementation of the
freedesktop.org desktop notification specification.")
(home-page "https://wiki.gnome.org/Projects/NotificationDaemon")
(license license:gpl2+)))
(define-public mm-common
(package
(name "mm-common")
(version "1.0.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"1m4w33da9f4rx2d6kdj3ix3kl0gn16ml82v2mdn4hljr3q29nzdr"))))
(build-system meson-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "util/mm-common-prepare.in"
(("ln") (string-append (assoc-ref inputs "coreutils")
"/bin/ln"))
(("cp") (string-append (assoc-ref inputs "coreutils")
"/bin/cp"))
(("sed") (string-append (assoc-ref inputs "sed")
"/bin/sed"))
(("cat") (string-append (assoc-ref inputs "coreutils")
"/bin/cat")))
#t)))))
(native-inputs
`(("coreutils" ,coreutils)
("gettext" ,gettext-minimal)
("pkg-config" ,pkg-config)
("sed" ,sed)))
(inputs
`(("python" ,python)))
(synopsis "Module of GNOME C++ bindings")
(description "The mm-common module provides the build infrastructure
and utilities shared among the GNOME C++ binding libraries. Release
archives of mm-common include the Doxygen tag file for the GNU C++
Library reference documentation.")
(home-page "https://gitlab.gnome.org/GNOME/mm-common")
(license license:gpl2+)))
(define-public phodav
(package
(name "phodav")
@ -333,7 +408,7 @@ in the GNOME desktop.")
(define-public gnome-online-miners
(package
(name "gnome-online-miners")
(version "3.30.0")
(version "3.34.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@ -341,7 +416,7 @@ in the GNOME desktop.")
name "-" version ".tar.xz"))
(sha256
(base32
"0pjamwwzn5wqgihyss357dyl2q70r0bngnqmwsqawchx5f9aja9c"))))
"1n2jz9i8a42zwxx5h8j2gdy6q1vyydh4vl00r0al7w8jzdh24p44"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("gettext" ,gettext-minimal)
@ -535,7 +610,18 @@ extraction, and lookup for applications on the desktop.")
(arguments
'(#:configure-flags '(;; Enable camera support for user selfie.
"-Dcheese=auto"
"-Dsystemd=false")))
"-Dsystemd=false")
#:phases (modify-phases %standard-phases
(add-after 'unpack 'set-gkbd-file-name
(lambda* (#:key inputs #:allow-other-keys)
;; Allow the "Preview" button in the keyboard layout
;; selection dialog to display the layout.
(let ((libgnomekbd (assoc-ref inputs "libgnomekbd")))
(substitute* "gnome-initial-setup/pages/keyboard/cc-input-chooser.c"
(("\"gkbd-keyboard-display")
(string-append "\"" libgnomekbd
"/bin/gkbd-keyboard-display")))
#t))))))
(native-inputs
`(("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin")
@ -564,7 +650,8 @@ extraction, and lookup for applications on the desktop.")
("pwquality" ,libpwquality)
("rest" ,rest)
("upower" ,upower)
("webkitgtk" ,webkitgtk)))
("webkitgtk" ,webkitgtk)
("libgnomekbd" ,libgnomekbd)))
(synopsis "Initial setup wizard for GNOME desktop")
(description "This package provides a set-up wizard when a
user logs into GNOME for the first time. It typically provides a
@ -5064,7 +5151,7 @@ supports image conversion, rotation, and slideshows.")
(synopsis "Extensions for the Eye of GNOME image viewer")
(native-inputs
`(("pkg-config" ,pkg-config)
("gettext" ,gnu-gettext)))
("gettext" ,gettext-minimal)))
(inputs
`(("eog" ,eog)
("glib" ,glib)
@ -6080,7 +6167,7 @@ window manager.")
(define-public gnome-online-accounts
(package
(name "gnome-online-accounts")
(version "3.32.1")
(version "3.36.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@ -6088,7 +6175,7 @@ window manager.")
name "-" version ".tar.xz"))
(sha256
(base32
"08g9kdj8fzcgp76z2zsj9m7wfjks9z6xfrfrbfmcr69k40mapfx8"))))
"0bigfi225g1prnxpb9lcc1i7mdcrkplwb05vilc43jik12cn53qw"))))
(outputs '("out" "lib"))
(build-system glib-or-gtk-build-system)
(arguments
@ -6719,7 +6806,8 @@ libxml2.")
name "-" version ".tar.xz"))
(sha256
(base32
"12ypdz9i24hwbl1d1wnnxb8zlvfa4f49n9ac5cl9d6h8qp4b0gb4"))))
"12ypdz9i24hwbl1d1wnnxb8zlvfa4f49n9ac5cl9d6h8qp4b0gb4"))
(patches (search-patches "gdm-default-session.patch"))))
(build-system glib-or-gtk-build-system)
(arguments
'(#:configure-flags
@ -7642,7 +7730,7 @@ software that do not provide their own configuration interface.")
(let* ((out (assoc-ref %outputs "out"))
(apps (string-append out "/share/applications")))
(mkdir-p apps)
(call-with-output-file (string-append apps "/defaults.list")
(call-with-output-file (string-append apps "/gnome-mimeapps.list")
(lambda (port)
(format port "[Default Applications]\n")
(format port "inode/directory=org.gnome.Nautilus.desktop\n")
@ -7714,6 +7802,17 @@ associations for GNOME.")
("gjs" ,gjs)
("gnome-desktop" ,gnome-desktop)
("libgweather" ,libgweather)))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'install 'fix-desktop-file
;; FIXME: "gapplication launch org.gnome.Weather" fails for some reason.
;; See https://issues.guix.gnu.org/issue/39324.
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(applications (string-append out "/share/applications")))
(substitute* (string-append applications "/org.gnome.Weather.desktop")
(("Exec=.*") "Exec=gnome-weather\n"))))))))
(synopsis "Weather monitoring for GNOME desktop")
(description "GNOME Weather is a small application that allows you to
monitor the current weather conditions for your city, or anywhere in the
@ -8156,10 +8255,6 @@ alternative user interface themes, changes in window management behavior,
GNOME Shell appearance and extension, etc.")
(license license:gpl3+)))
;; This package has been renamed by upstream.
(define-public gnome-tweak-tool
(deprecated-package "gnome-tweak-tool" gnome-tweaks))
(define-public gnome-shell-extensions
(package
(name "gnome-shell-extensions")
@ -8890,10 +8985,15 @@ views can be printed as PDF or PostScript files, or exported to HTML.")
(base32 "1ng9492k8754vlqggbfsyzbmfdx4w17fzc4ad21fr92710na0w5a"))))
(build-system meson-build-system)
(arguments
`(#:imported-modules ((guix build python-build-system)
,@%meson-build-system-modules)
`(#:imported-modules
(,@%meson-build-system-modules
(guix build python-build-system))
#:modules
((guix build meson-build-system)
((guix build python-build-system) #:prefix python:)
(guix build utils))
#:glib-or-gtk? #t
#:tests? #f ; no test suite
#:tests? #f ; no test suite
#:phases
(modify-phases %standard-phases
(add-after 'install 'wrap-program
@ -8904,9 +9004,7 @@ views can be printed as PDF or PostScript files, or exported to HTML.")
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))))
#t))
(add-after 'install 'wrap-python
(@@ (guix build python-build-system) wrap))
(add-after 'install 'wrap-glib-or-gtk
(@@ (guix build glib-or-gtk-build-system) wrap-all-programs)))))
(assoc-ref python:%standard-phases 'wrap)))))
(native-inputs
`(("intltool" ,intltool)
("itstool" ,itstool)
@ -9133,7 +9231,7 @@ configurable file renaming. ")
(define-public workrave
(package
(name "workrave")
(version "1.10.37")
(version "1.10.42")
(source
(origin
(method git-fetch)
@ -9144,7 +9242,7 @@ configurable file renaming. ")
version)))))
(file-name (git-file-name name version))
(sha256
(base32 "01cxy7606hx9wgxl550l4p2xa9hsy0rk7swsp58hyi842z2z0y13"))))
(base32 "03i9kk8r1wgrfkkbwikx8wxaw4r4kn62vismr2zdq5g34fkkjh95"))))
(build-system glib-or-gtk-build-system)
(arguments
;; The only tests are maintainer tests (in po/), which fail.
@ -9162,7 +9260,7 @@ configurable file renaming. ")
("libxscrnsaver" ,libxscrnsaver)))
(native-inputs `(("boost" ,boost)
("pkg-config" ,pkg-config)
("gettext" ,gnu-gettext)
("gettext" ,gettext-minimal)
("autoconf" ,autoconf)
("autoconf-archive" , autoconf-archive)
("automake" ,automake)
@ -9611,7 +9709,7 @@ repository and commit your work.")
(description
"Gamin is a file and directory monitoring system defined to be a subset
of the FAM (File Alteration Monitor) system. This is a service provided by a
library which allows to detect when a file or a directory has been modified.")
library which detects when a file or a directory has been modified.")
(license license:gpl2+)))
(define-public gnome-mahjongg
@ -9859,7 +9957,7 @@ join_paths\\('build-aux', 'post_install.py'\\)\\)")
`(("appstream-glib" ,appstream-glib)
("cmake-minimal" ,cmake-minimal)
("desktop-file-utils" ,desktop-file-utils)
("gettext" ,gnu-gettext)
("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin")
("gobject-introspection" ,gobject-introspection)
("itstool" ,itstool)
@ -9888,3 +9986,219 @@ to.")
license:public-domain
;; snowball
license:bsd-2))))
(define-public libratbag
(package
(name "libratbag")
(version "0.13")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/libratbag/libratbag.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "18y8mfr63d91278m1kcid0wvrxa1sgjs8na9af1ks2n28ssvciwq"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags
(list "-Dsystemd=false"
"-Dlogind-provider=elogind")
#:phases
(modify-phases %standard-phases
(add-after 'install 'wrap
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(site (string-append
"/lib/python"
,(version-major+minor (package-version python))
"/site-packages"))
(evdev (string-append
(assoc-ref inputs "python-evdev") site))
(pygo (string-append
(assoc-ref inputs "python-pygobject") site))
(python-wrap
`("PYTHONPATH" = (,evdev ,pygo))))
(wrap-program (string-append out "/bin/" "ratbagctl")
python-wrap)
#t))))))
(native-inputs
`(("check" ,check)
("pkg-config" ,pkg-config)
("swig" ,swig)
("valgrind" ,valgrind)))
(inputs
`(("glib" ,glib)
("json-glib" ,json-glib)
("libevdev" ,libevdev)
("libsystemd" ,elogind)
("libunistring" ,libunistring)
("python-evdev" ,python-evdev)
("python-pygobject" ,python-pygobject)
("udev" ,eudev)))
(home-page "https://github.com/libratbag/libratbag")
(synopsis "DBus daemon and utility for configuring gaming mice")
(description "libratbag provides @command{ratbagd}, a DBus daemon to
configure input devices, mainly gaming mice. The daemon provides a generic
way to access the various features exposed by these mice and abstracts away
hardware-specific and kernel-specific quirks. There is also the
@command{ratbagctl} command line interface for configuring devices.
libratbag currently supports devices from Logitech, Etekcity, GSkill, Roccat,
Steelseries.
The ratbagd DBus service can be enabled by adding the following service to
your operating-system definition:
(simple-service 'ratbagd dbus-root-service-type (list libratbag))")
(license license:expat)))
(define-public piper
(package
(name "piper")
(version "0.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/libratbag/piper.git")
(commit version)))
(sha256
(base32 "17h06j8lxpbfygq8fzycl7lml4vv7r05bsyhh3gga2hp0zms4mvg"))))
(build-system meson-build-system)
(native-inputs
`(("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin")
("gobject-introspection" ,gobject-introspection)
("pkg-config" ,pkg-config)
("python-flake8" ,python-flake8)))
(inputs
`(("adwaita-icon-theme" ,adwaita-icon-theme)
("gtk" ,gtk+)
("gtk:bin" ,gtk+ "bin")
("librsvg" ,librsvg)
("python-evdev" ,python-evdev)
("python-lxml" ,python-lxml)
("python-pycairo" ,python-pycairo)
("python-pygobject" ,python-pygobject)))
(arguments
`(#:imported-modules ((guix build python-build-system)
,@%meson-build-system-modules)
#:modules (((guix build python-build-system) #:prefix python:)
(guix build meson-build-system)
(guix build utils))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'dont-update-gtk-icon-cache
(lambda _
(substitute* "meson.build"
(("meson.add_install_script('meson_install.sh')") ""))
#t))
;; TODO: Switch to wrap-script when it is fixed.
(add-after 'install 'wrap-python
(assoc-ref python:%standard-phases 'wrap))
(add-after 'wrap-python 'wrap
(lambda* (#:key outputs #:allow-other-keys)
(wrap-program
(string-append (assoc-ref outputs "out" )"/bin/piper")
`("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
#t)))))
(home-page "https://github.com/libratbag/piper/")
(synopsis "Configure bindings and LEDs on gaming mice")
(description "Piper is a GTK+ application for configuring gaming mice with
onboard configuration for key bindings via libratbag. Piper requires
a @command{ratbagd} daemon running with root privileges. It can be run
manually as root, but is preferably configured as a DBus service that can
launch on demand. This can be configured by enabling the following service,
provided there is a DBus service present:
(simple-service 'ratbagd dbus-root-service-type (list libratbag))")
(license license:gpl2)))
(define-public parlatype
;; This is one commit away from 2.0, because the latter introduced
;; a regression in ASR.
(let ((commit "7d22ead13ef7578f99d24146663cc1bdb7d8c2a9")
(revision "0"))
(package
(name "parlatype")
(version (git-version "2.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gkarsay/parlatype.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0r3k3qczbzi7bs5s1rddhpsnadyr805df40bqkx0srlxgh5mfghf"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
#:tests? #f ;require internet access
#:phases
(modify-phases %standard-phases
(add-after 'install 'wrap-parlatype
;; Add gstreamer plugin provided in this package to system's
;; plugins.
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(gst-plugin-path (string-append
out "/lib/gstreamer-1.0/"
":"
(getenv "GST_PLUGIN_SYSTEM_PATH"))))
(wrap-program (string-append out "/bin/parlatype")
`("GST_PLUGIN_SYSTEM_PATH" ":" = (,gst-plugin-path))))
#t)))))
(native-inputs
`(("appstream-glib" ,appstream-glib)
("desktop-file-utils" ,desktop-file-utils) ;for desktop-file-validate
("gettext" ,gettext-minimal)
("glib" ,glib "bin") ;for glib-compile-resources
("pkg-config" ,pkg-config)
("yelp-tools" ,yelp-tools)))
(inputs
`(("gst-plugins-base" ,gst-plugins-base)
("gst-plugins-good" ,gst-plugins-good)
("gstreamer" ,gstreamer)
("gtk+" ,gtk+)
("pocketsphinx" ,pocketsphinx)
("pulseaudio" ,pulseaudio)
("sphinxbase" ,sphinxbase)))
(home-page "http://gkarsay.github.io/parlatype/")
(synopsis "GNOME audio player for transcription")
(description "Parlatype is an audio player for the GNOME desktop
environment. Its main purpose is the manual transcription of spoken
audio files.")
(license license:gpl3+))))
(define-public jsonrpc-glib
(package
(name "jsonrpc-glib")
(version "3.34.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"0j05x4xv2cp3cbmp30m68z8g4rdw7b030ip4wszyfj9ya15v5kni"))))
(build-system meson-build-system)
(inputs
`(("json-glib" ,json-glib)
("glib" ,glib)))
(native-inputs
`(("pkg-config" ,pkg-config)
("glib:bin" ,glib "bin") ; for glib-genmarshal, etc.
("gobject-introspection" ,gobject-introspection)
("vala" ,vala)))
(home-page "https://gitlab.gnome.org/GNOME/jsonrpc-glib")
(synopsis "JSON-RPC library for GLib")
(description "Jsonrpc-GLib is a library to communicate with JSON-RPC based
peers in either a synchronous or asynchronous fashion. It also allows
communicating using the GVariant serialization format instead of JSON when
both peers support it. You might want that when communicating on a single
host to avoid parser overhead and memory-allocator fragmentation.")
(license license:lgpl2.1+)))

Some files were not shown because too many files have changed in this diff Show More