Merge branch 'staging'
Conflicts: gnu/packages/admin.scm gnu/packages/commencement.scm gnu/packages/gdb.scm gnu/packages/llvm.scm gnu/packages/package-management.scm gnu/packages/tls.scmmaster
commit
5e2140511c
|
@ -74,6 +74,7 @@
|
|||
/etc/guix-publish.conf
|
||||
/etc/guix-publish.service
|
||||
/etc/init.d/guix-daemon
|
||||
/etc/openrc/guix-daemon
|
||||
/guix-daemon
|
||||
/guix/config.scm
|
||||
/libformat.a
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;; This is the list of OpenPGP keys currently authorized to sign commits in
|
||||
;; this repository.
|
||||
;; This file, which is best viewed as -*- Scheme -*-, lists the OpenPGP keys
|
||||
;; currently authorized to sign commits in this repository.
|
||||
|
||||
(authorizations
|
||||
(version 0)
|
||||
|
@ -84,6 +84,8 @@
|
|||
(name "lfam"))
|
||||
("2AE3 1395 932B E642 FC0E D99C 9BED 6EDA 32E5 B0BC"
|
||||
(name "lsl88"))
|
||||
("8887 84C4 1459 ACCB 83E7 E84C 634C 6E89 79FA BEC2"
|
||||
(name "m1gu3l"))
|
||||
("CBF5 9755 CBE7 E7EF EF18 3FB1 DD40 9A15 D822 469D"
|
||||
(name "marusich"))
|
||||
("BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA"
|
||||
|
|
19
Makefile.am
19
Makefile.am
|
@ -47,6 +47,18 @@ scripts/guix: scripts/guix.in Makefile
|
|||
$(AM_V_GEN)$(do_subst) < "$(srcdir)/$@.in" > "$@-t"
|
||||
$(AM_V_at)chmod a+x,a-w "$@-t" && mv -f "$@-t" "$@"
|
||||
|
||||
# This is our variant of the 'guile' executable, one that doesn't complain
|
||||
# about locales.
|
||||
pkglibexec_PROGRAMS = guile
|
||||
guile_SOURCES = gnu/packages/aux-files/guile-launcher.c
|
||||
guile_LDADD = $(GUILE_LIBS)
|
||||
guile_CFLAGS = $(GUILE_CFLAGS)
|
||||
|
||||
# Have the 'guix' command refer to our 'guile'.
|
||||
install-exec-hook:
|
||||
$(SED) -i "$(DESTDIR)$(bindir)/guix" \
|
||||
-e 's,^#![[:graph:]]\+,#!$(pkglibexecdir)/guile,g'
|
||||
|
||||
nodist_noinst_SCRIPTS = \
|
||||
pre-inst-env \
|
||||
test-env
|
||||
|
@ -394,6 +406,7 @@ SCM_TESTS = \
|
|||
tests/base16.scm \
|
||||
tests/base32.scm \
|
||||
tests/base64.scm \
|
||||
tests/boot-parameters.scm \
|
||||
tests/bournish.scm \
|
||||
tests/builders.scm \
|
||||
tests/build-utils.scm \
|
||||
|
@ -570,6 +583,7 @@ EXTRA_DIST += \
|
|||
build-aux/hydra/guix-modular.scm \
|
||||
build-aux/cuirass/gnu-system.scm \
|
||||
build-aux/cuirass/guix-modular.scm \
|
||||
build-aux/cuirass/hurd-manifest.scm \
|
||||
build-aux/cuirass/hydra-to-cuirass.scm \
|
||||
build-aux/check-final-inputs-self-contained.scm \
|
||||
build-aux/check-channel-news.scm \
|
||||
|
@ -832,9 +846,8 @@ release: dist-with-updated-version
|
|||
-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 \
|
||||
--label="GUIX_$${system}_$(VERSION)" \
|
||||
guix system disk-image -t iso9660 \
|
||||
--label="GUIX_$${system}_$(VERSION)" \
|
||||
--system=$$system --fallback \
|
||||
gnu/system/install.scm` ; \
|
||||
if [ ! -f "$$image" ] ; then \
|
||||
|
|
|
@ -0,0 +1,74 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
||||
;;; under the terms of the GNU General Public License as published by
|
||||
;;; the Free Software Foundation; either version 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix is distributed in the hope that it will be useful, but
|
||||
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;;; GNU General Public License for more details.
|
||||
;;;
|
||||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
;;; Commentary:
|
||||
;;;
|
||||
;;; This file defines a manifest with a selection of packages for Cuirass to
|
||||
;;; build for GNU/Hurd.
|
||||
;;;
|
||||
;;; Code:
|
||||
|
||||
(use-modules (gnu)
|
||||
(gnu system hurd)
|
||||
(guix packages)
|
||||
(guix utils)
|
||||
(ice-9 match)
|
||||
(srfi srfi-1))
|
||||
|
||||
(use-package-modules
|
||||
base commencement compression file gawk gdb gettext guile
|
||||
hurd less m4 package-management python ssh version-control)
|
||||
|
||||
(define (input->package input)
|
||||
"Return the INPUT as package, or #f."
|
||||
(match input
|
||||
((label (and (? package?) package))
|
||||
package)
|
||||
((label (and (? package?) package . output))
|
||||
(cons package output))
|
||||
(_ #f)))
|
||||
|
||||
(define guix-dependencies
|
||||
(filter-map input->package
|
||||
(fold alist-delete (package-direct-inputs guix)
|
||||
'("glibc-utf8-locales" "graphviz" "po4a"))))
|
||||
|
||||
(define (package-without-tests p)
|
||||
(package/inherit p
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments p)
|
||||
((#:tests? _ #f) #f)))))
|
||||
|
||||
(packages->manifest
|
||||
(cons*
|
||||
;; where it all starts
|
||||
hello
|
||||
|
||||
;; development utililities
|
||||
diffutils file findutils gawk grep gzip less m4 openssh-sans-x tar xz
|
||||
|
||||
;; development packages
|
||||
gcc-toolchain gdb-minimal git-minimal gnu-make
|
||||
|
||||
;; guix environment guix --without-tests=python-minimal --without-tests=gettext-minimal
|
||||
(package-without-tests gettext-minimal)
|
||||
(package-without-tests python-minimal)
|
||||
|
||||
(append
|
||||
guix-dependencies
|
||||
(delete guile-3.0 %base-packages/hurd))))
|
|
@ -43,17 +43,25 @@ for SYSTEM. Use VERSION as the version identifier."
|
|||
(define build
|
||||
(primitive-load (string-append source "/build-aux/build-self.scm")))
|
||||
|
||||
`((derivation . ,(derivation-file-name
|
||||
(run-with-store store
|
||||
(build source #:version version #:system system
|
||||
#:pull-version 1
|
||||
#:guile-version "2.2")))) ;the latest 2.2.x
|
||||
(description . "Modular Guix")
|
||||
(long-description
|
||||
. "This is the modular Guix package as produced by 'guix pull'.")
|
||||
(license . ,license:gpl3+)
|
||||
(home-page . ,%guix-home-page-url)
|
||||
(maintainers . (,%guix-bug-report-address)))))
|
||||
(let ((drv (run-with-store store
|
||||
(build source #:version version #:system system
|
||||
#:pull-version 1
|
||||
#:guile-version "2.2"))))
|
||||
`((derivation . ,(derivation-file-name drv)) ;the latest 2.2.x
|
||||
(log . ,(log-file store (derivation-file-name drv)))
|
||||
(outputs . ,(filter-map (lambda (res)
|
||||
(match res
|
||||
((name . path)
|
||||
`(,name . ,path))))
|
||||
(derivation->output-paths drv)))
|
||||
(nix-name . ,(derivation-name drv))
|
||||
(system . ,(derivation-system drv))
|
||||
(description . "Modular Guix")
|
||||
(long-description
|
||||
. "This is the modular Guix package as produced by 'guix pull'.")
|
||||
(license . ,license:gpl3+)
|
||||
(home-page . ,%guix-home-page-url)
|
||||
(maintainers . (,%guix-bug-report-address))))))
|
||||
|
||||
(define (hydra-jobs store arguments)
|
||||
"Return Hydra jobs."
|
||||
|
|
|
@ -105,6 +105,9 @@ if test "x$GUILE_EFFECTIVE_VERSION" = "x2.2"; then
|
|||
PKG_CHECK_MODULES([GUILE], [guile-2.2 >= 2.2.3])
|
||||
fi
|
||||
|
||||
dnl Get CFLAGS and LDFLAGS for libguile.
|
||||
GUILE_FLAGS
|
||||
|
||||
dnl Installation directories for .scm and .go files.
|
||||
guilemoduledir="${datarootdir}/guile/site/$GUILE_EFFECTIVE_VERSION"
|
||||
guileobjectdir="${libdir}/guile/$GUILE_EFFECTIVE_VERSION/site-ccache"
|
||||
|
|
455
doc/build.scm
455
doc/build.scm
|
@ -33,6 +33,7 @@
|
|||
(guix utils)
|
||||
(git)
|
||||
(gnu packages base)
|
||||
(gnu packages compression)
|
||||
(gnu packages gawk)
|
||||
(gnu packages gettext)
|
||||
(gnu packages guile)
|
||||
|
@ -40,7 +41,10 @@
|
|||
(gnu packages iso-codes)
|
||||
(gnu packages texinfo)
|
||||
(gnu packages tex)
|
||||
(ice-9 match)
|
||||
(srfi srfi-1)
|
||||
(srfi srfi-19)
|
||||
(srfi srfi-26)
|
||||
(srfi srfi-71))
|
||||
|
||||
(define file-append*
|
||||
|
@ -204,9 +208,168 @@ content=\"width=device-width, initial-scale=1\" />"))
|
|||
(setenv "XFAIL_TESTS" "htmlprag.scm")
|
||||
#t))))))))
|
||||
|
||||
(define (normalize-language-code language) ;XXX: deduplicate
|
||||
;; Normalize LANGUAGE. For instance, "zh_CN" becomes "zh-cn".
|
||||
(string-map (match-lambda
|
||||
(#\_ #\-)
|
||||
(chr chr))
|
||||
(string-downcase language)))
|
||||
|
||||
(define* (html-manual-identifier-index manual base-url
|
||||
#:key
|
||||
(name "html-manual-identifier-index"))
|
||||
"Return an index of all the identifiers that appear in MANUAL, a
|
||||
makeinfo-generated manual. The index is a file that contains an alist; each
|
||||
key is an identifier and the associated value is the URL reference pointing to
|
||||
that identifier. The URL is constructed by concatenating BASE-URL to the
|
||||
actual file name."
|
||||
(define build
|
||||
(with-extensions (list guile-lib/htmlprag-fixed)
|
||||
(with-imported-modules '((guix build utils))
|
||||
#~(begin
|
||||
(use-modules (guix build utils)
|
||||
(htmlprag)
|
||||
(srfi srfi-1)
|
||||
(srfi srfi-26)
|
||||
(ice-9 ftw)
|
||||
(ice-9 match)
|
||||
(ice-9 threads)
|
||||
(ice-9 pretty-print))
|
||||
|
||||
(define file-url
|
||||
(let ((prefix (string-append #$manual "/")))
|
||||
(lambda (file)
|
||||
;; Return the URL for FILE.
|
||||
(let ((file (string-drop file (string-length prefix)))
|
||||
(base #$base-url))
|
||||
(if (string-null? base)
|
||||
file
|
||||
(string-append base "/" 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 (anchors '()))
|
||||
;; Collect the anchors that appear in FILE, a makeinfo-generated
|
||||
;; file. Grab those from <dt> tags, which corresponds to
|
||||
;; Texinfo @deftp, @defvr, etc. Return ANCHORS 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)
|
||||
(anchors anchors))
|
||||
(match shtml
|
||||
(('dt ('@ ('id id)) rest ...)
|
||||
(if (and (string-prefix? "index-" id)
|
||||
(worthy-entry? rest))
|
||||
(alist-cons (anchor-id->key id)
|
||||
(string-append (file-url file)
|
||||
"#" id)
|
||||
anchors)
|
||||
anchors))
|
||||
((tag ('@ _ ...) body ...)
|
||||
(fold loop anchors body))
|
||||
((tag body ...)
|
||||
(fold loop anchors body))
|
||||
(_ anchors)))))
|
||||
|
||||
(define (html-files directory)
|
||||
;; Return the list of HTML files under DIRECTORY.
|
||||
(map (cut string-append directory "/" <>)
|
||||
(scandir #$manual (lambda (file)
|
||||
(string-suffix? ".html" file)))))
|
||||
|
||||
(define anchors
|
||||
(sort (concatenate
|
||||
(n-par-map (parallel-job-count)
|
||||
(cut collect-anchors <>)
|
||||
(html-files #$manual)))
|
||||
(match-lambda*
|
||||
(((key1 . url1) (key2 . url2))
|
||||
(if (string=? key1 key2)
|
||||
(string<? url1 url2)
|
||||
(string<? key1 key2))))))
|
||||
|
||||
(call-with-output-file #$output
|
||||
(lambda (port)
|
||||
(display ";; Identifier index for the manual.\n\n"
|
||||
port)
|
||||
(pretty-print anchors port)))))))
|
||||
|
||||
(computed-file name build))
|
||||
|
||||
(define* (html-identifier-indexes manual directory-suffix
|
||||
#:key (languages %languages)
|
||||
(manual-name %manual)
|
||||
(base-url (const "")))
|
||||
(map (lambda (language)
|
||||
(let ((language (normalize-language-code language)))
|
||||
(list language
|
||||
(html-manual-identifier-index
|
||||
(file-append manual "/" language directory-suffix)
|
||||
(base-url language)
|
||||
#:name (string-append manual-name "-html-index-"
|
||||
language)))))
|
||||
languages))
|
||||
|
||||
(define* (syntax-highlighted-html input
|
||||
#:key
|
||||
(name "highlighted-syntax")
|
||||
(languages %languages)
|
||||
(mono-node-indexes
|
||||
(html-identifier-indexes input ""
|
||||
#:languages
|
||||
languages))
|
||||
(split-node-indexes
|
||||
(html-identifier-indexes input
|
||||
"/html_node"
|
||||
#:languages
|
||||
languages))
|
||||
(syntax-css-url
|
||||
"/static/base/css/code.css"))
|
||||
"Return a derivation called NAME that processes all the HTML files in INPUT
|
||||
|
@ -341,78 +504,6 @@ its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')."
|
|||
((? string? str)
|
||||
str))))
|
||||
|
||||
(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.
|
||||
|
@ -444,38 +535,59 @@ its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')."
|
|||
(define (html? file stat)
|
||||
(string-suffix? ".html" file))
|
||||
|
||||
(define language+node-anchors
|
||||
(match-lambda
|
||||
((language files ...)
|
||||
(cons language
|
||||
(fold (lambda (file vhash)
|
||||
(let ((alist (call-with-input-file file read)))
|
||||
;; Use 'fold-right' so that the first entry
|
||||
;; wins (e.g., "car" from "Pairs" rather than
|
||||
;; from "rnrs base" in the Guile manual).
|
||||
(fold-right (match-lambda*
|
||||
(((key . value) vhash)
|
||||
(vhash-cons key value vhash)))
|
||||
vhash
|
||||
alist)))
|
||||
vlist-null
|
||||
files)))))
|
||||
|
||||
(define mono-node-anchors
|
||||
;; List of language/vhash pairs, where each vhash maps an
|
||||
;; identifier to the corresponding URL in a single-page manual.
|
||||
(map language+node-anchors '#$mono-node-indexes))
|
||||
|
||||
(define multi-node-anchors
|
||||
;; Likewise for split-node manuals.
|
||||
(map language+node-anchors '#$split-node-indexes))
|
||||
|
||||
;; 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 (mono)
|
||||
(let ((anchors (collect-anchors mono)))
|
||||
(process-html mono anchors)))
|
||||
(find-files
|
||||
#$input
|
||||
"^guix(-cookbook|)(\\.[a-zA-Z_-]+)?\\.html$"))
|
||||
(for-each (match-lambda
|
||||
((language . anchors)
|
||||
(let ((files (find-files
|
||||
(string-append #$input "/" language)
|
||||
"^guix(-cookbook|)(\\.[a-zA-Z_-]+)?\\.html$")))
|
||||
(n-par-for-each (parallel-job-count)
|
||||
(cut process-html <> anchors)
|
||||
files))))
|
||||
mono-node-anchors)
|
||||
|
||||
;; 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)))
|
||||
;; Process the multi-node HTML files.
|
||||
(for-each (match-lambda
|
||||
((language . anchors)
|
||||
(let ((files (find-files
|
||||
(string-append #$input "/" language
|
||||
"/html_node")
|
||||
"\\.html$")))
|
||||
(n-par-for-each (parallel-job-count)
|
||||
(cut process-html <> anchors)
|
||||
files))))
|
||||
multi-node-anchors)
|
||||
|
||||
;; Last, copy non-HTML files as is.
|
||||
(for-each copy-as-is
|
||||
|
@ -486,6 +598,8 @@ its <pre class=\"lisp\"> blocks (as produced by 'makeinfo --html')."
|
|||
(define* (html-manual source #:key (languages %languages)
|
||||
(version "0.0")
|
||||
(manual %manual)
|
||||
(mono-node-indexes (map list languages))
|
||||
(split-node-indexes (map list languages))
|
||||
(date 1)
|
||||
(options %makeinfo-html-options))
|
||||
"Return the HTML manuals built from SOURCE for all LANGUAGES, with the given
|
||||
|
@ -574,6 +688,8 @@ makeinfo OPTIONS."
|
|||
(let* ((name (string-append manual "-html-manual"))
|
||||
(manual (computed-file name build)))
|
||||
(syntax-highlighted-html manual
|
||||
#:mono-node-indexes mono-node-indexes
|
||||
#:split-node-indexes split-node-indexes
|
||||
#:name (string-append name "-highlighted"))))
|
||||
|
||||
(define* (pdf-manual source #:key (languages %languages)
|
||||
|
@ -920,6 +1036,8 @@ languages:\n"
|
|||
#:key (languages %languages)
|
||||
(version "0.0")
|
||||
(date (time-second (current-time time-utc)))
|
||||
(mono-node-indexes (map list %languages))
|
||||
(split-node-indexes (map list %languages))
|
||||
(manual %manual))
|
||||
"Return the union of the HTML and PDF manuals, as well as the indexes."
|
||||
(directory-union (string-append manual "-manual")
|
||||
|
@ -930,7 +1048,12 @@ languages:\n"
|
|||
#:version version
|
||||
#:manual manual))
|
||||
(list html-manual-indexes
|
||||
html-manual pdf-manual))
|
||||
(lambda (source . args)
|
||||
(apply html-manual source
|
||||
#:mono-node-indexes mono-node-indexes
|
||||
#:split-node-indexes split-node-indexes
|
||||
args))
|
||||
pdf-manual))
|
||||
#:copy? #t))
|
||||
|
||||
(define (latest-commit+date directory)
|
||||
|
@ -943,18 +1066,144 @@ commit date (an integer)."
|
|||
;; TODO: Use (git describe) when it's widely available.
|
||||
(values (oid->string oid) (commit-time commit))))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Guile manual.
|
||||
;;;
|
||||
|
||||
(define guile-manual
|
||||
;; The Guile manual as HTML, including both the mono-node "guile.html" and
|
||||
;; the split-node "html_node" directory.
|
||||
(let ((guile guile-3.0-latest))
|
||||
(computed-file (string-append "guile-manual-" (package-version guile))
|
||||
(with-imported-modules '((guix build utils))
|
||||
#~(begin
|
||||
(use-modules (guix build utils)
|
||||
(ice-9 match))
|
||||
|
||||
(setenv "PATH"
|
||||
(string-append #+tar "/bin:"
|
||||
#+xz "/bin:"
|
||||
#+texinfo "/bin"))
|
||||
(invoke "tar" "xf" #$(package-source guile))
|
||||
(mkdir-p (string-append #$output "/en/html_node"))
|
||||
|
||||
(let* ((texi (find-files "." "^guile\\.texi$"))
|
||||
(documentation (match texi
|
||||
((file) (dirname file)))))
|
||||
(with-directory-excursion documentation
|
||||
(invoke "makeinfo" "--html" "--no-split"
|
||||
"-o" (string-append #$output
|
||||
"/en/guile.html")
|
||||
"guile.texi")
|
||||
(invoke "makeinfo" "--html" "-o" "split"
|
||||
"guile.texi")
|
||||
(copy-recursively
|
||||
"split"
|
||||
(string-append #$output "/en/html_node")))))))))
|
||||
|
||||
(define %guile-manual-base-url
|
||||
"https://www.gnu.org/software/guile/manual")
|
||||
|
||||
(define (for-all-languages index)
|
||||
(map (lambda (language)
|
||||
(list language index))
|
||||
%languages))
|
||||
|
||||
(define guile-mono-node-indexes
|
||||
;; The Guile manual is only available in English so use the same index in
|
||||
;; all languages.
|
||||
(for-all-languages
|
||||
(html-manual-identifier-index (file-append guile-manual "/en")
|
||||
%guile-manual-base-url
|
||||
#:name "guile-html-index-en")))
|
||||
|
||||
(define guile-split-node-indexes
|
||||
(for-all-languages
|
||||
(html-manual-identifier-index (file-append guile-manual "/en/html_node")
|
||||
(string-append %guile-manual-base-url
|
||||
"/html_node")
|
||||
#:name "guile-html-index-en")))
|
||||
|
||||
(define (merge-index-alists alist1 alist2)
|
||||
"Merge ALIST1 and ALIST2, both of which are list of tuples like:
|
||||
|
||||
(LANGUAGE INDEX1 INDEX2 ...)
|
||||
|
||||
where LANGUAGE is a string like \"en\" and INDEX1 etc. are indexes as returned
|
||||
by 'html-identifier-indexes'."
|
||||
(let ((languages (delete-duplicates
|
||||
(append (match alist1
|
||||
(((languages . _) ...)
|
||||
languages))
|
||||
(match alist2
|
||||
(((languages . _) ...)
|
||||
languages))))))
|
||||
(map (lambda (language)
|
||||
(cons language
|
||||
(append (or (assoc-ref alist1 language) '())
|
||||
(or (assoc-ref alist2 language) '()))))
|
||||
languages)))
|
||||
|
||||
|
||||
(let* ((root (canonicalize-path
|
||||
(string-append (current-source-directory) "/..")))
|
||||
(commit date (latest-commit+date root)))
|
||||
(commit date (latest-commit+date root))
|
||||
(version (or (getenv "GUIX_MANUAL_VERSION")
|
||||
(string-take commit 7)))
|
||||
(select? (let ((vcs? (git-predicate root)))
|
||||
(lambda (file stat)
|
||||
(and (vcs? file stat)
|
||||
;; Filter out this file.
|
||||
(not (string=? (basename file) "build.scm"))))))
|
||||
(source (local-file root "guix" #:recursive? #t
|
||||
#:select? select?)))
|
||||
|
||||
(define guix-manual
|
||||
(html-manual source
|
||||
#:manual "guix"
|
||||
#:version version
|
||||
#:date date))
|
||||
|
||||
(define guix-mono-node-indexes
|
||||
;; Alist of indexes for GUIX-MANUAL, where each key is a language code and
|
||||
;; each value is a file-like object containing the identifier index.
|
||||
(html-identifier-indexes guix-manual ""
|
||||
#:manual-name "guix"
|
||||
#:base-url (if (string=? %manual "guix")
|
||||
(const "")
|
||||
(cut string-append "/manual/" <>))
|
||||
#:languages %languages))
|
||||
|
||||
(define guix-split-node-indexes
|
||||
;; Likewise for the split-node variant of GUIX-MANUAL.
|
||||
(html-identifier-indexes guix-manual "/html_node"
|
||||
#:manual-name "guix"
|
||||
#:base-url (if (string=? %manual "guix")
|
||||
(const "")
|
||||
(cut string-append "/manual/" <>
|
||||
"/html_node"))
|
||||
#:languages %languages))
|
||||
|
||||
(define mono-node-indexes
|
||||
(merge-index-alists guix-mono-node-indexes guile-mono-node-indexes))
|
||||
|
||||
(define split-node-indexes
|
||||
(merge-index-alists guix-split-node-indexes guile-split-node-indexes))
|
||||
|
||||
(format (current-error-port)
|
||||
"building manual from work tree around commit ~a, ~a~%"
|
||||
commit
|
||||
(let* ((time (make-time time-utc 0 date))
|
||||
(date (time-utc->date time)))
|
||||
(date->string date "~e ~B ~Y")))
|
||||
(pdf+html-manual (local-file root "guix" #:recursive? #t
|
||||
#:select? (git-predicate root))
|
||||
#:version (or (getenv "GUIX_MANUAL_VERSION")
|
||||
(string-take commit 7))
|
||||
|
||||
(pdf+html-manual source
|
||||
;; Always use the identifier indexes of GUIX-MANUAL and
|
||||
;; GUILE-MANUAL. Both "guix" and "guix-cookbook" can
|
||||
;; contain links to definitions that appear in either of
|
||||
;; these two manuals.
|
||||
#:mono-node-indexes mono-node-indexes
|
||||
#:split-node-indexes split-node-indexes
|
||||
#:version version
|
||||
#:date date))
|
||||
|
|
|
@ -121,8 +121,9 @@ more information.
|
|||
Then, run @command{./configure} as usual. Make sure to pass
|
||||
@code{--localstatedir=@var{directory}} where @var{directory} is the
|
||||
@code{localstatedir} value used by your current installation (@pxref{The
|
||||
Store}, for information about this). We recommend to use the value
|
||||
@code{/var}.
|
||||
Store}, for information about this), usually @file{/var}. Note that you
|
||||
will probably not run @command{make install} at the end (you don't have
|
||||
to) but it's still important to pass the right @code{localstatedir}.
|
||||
|
||||
Finally, you have to invoke @code{make check} to run tests
|
||||
(@pxref{Running the Test Suite}). If anything
|
||||
|
@ -159,13 +160,11 @@ with all the dependencies available (@pxref{Building from Git}), and then
|
|||
simply prefix each command with
|
||||
@command{./pre-inst-env} (the @file{pre-inst-env} script lives in the
|
||||
top build tree of Guix; it is generated by @command{./configure}).
|
||||
An example@footnote{The @option{-E} flag to
|
||||
@command{sudo} guarantees that @code{GUILE_LOAD_PATH} is correctly set
|
||||
such that @command{guix-daemon} and the tools it uses can find the Guile
|
||||
modules they need.}:
|
||||
As an example, here is how you would build the @code{hello} package as
|
||||
defined in your working tree (this assumes @command{guix-daemon} is
|
||||
already running on your system; it's OK if it's a different version):
|
||||
|
||||
@example
|
||||
$ sudo -E ./pre-inst-env guix-daemon --build-users-group=guixbuild
|
||||
$ ./pre-inst-env guix build hello
|
||||
@end example
|
||||
|
||||
|
@ -200,6 +199,17 @@ scheme@@(guile-user)> (length snakes)
|
|||
$1 = 361
|
||||
@end example
|
||||
|
||||
If you are hacking on the daemon and its supporting code or if
|
||||
@command{guix-daemon} is not already running on your system, you can
|
||||
launch it straight from the build tree@footnote{The @option{-E} flag to
|
||||
@command{sudo} guarantees that @code{GUILE_LOAD_PATH} is correctly set
|
||||
such that @command{guix-daemon} and the tools it uses can find the Guile
|
||||
modules they need.}:
|
||||
|
||||
@example
|
||||
$ sudo -E ./pre-inst-env guix-daemon --build-users-group=guixbuild
|
||||
@end example
|
||||
|
||||
The @command{pre-inst-env} script sets up all the environment variables
|
||||
necessary to support this, including @env{PATH} and @env{GUILE_LOAD_PATH}.
|
||||
|
||||
|
@ -353,7 +363,7 @@ Once your package builds correctly, please send us a patch
|
|||
(@pxref{Submitting Patches}). Well, if you need help, we will be happy to
|
||||
help you too. Once the patch is committed in the Guix repository, the
|
||||
new package automatically gets built on the supported platforms by
|
||||
@url{@value{SUBSTITUTE-SERVER}, our continuous integration system}.
|
||||
@url{@value{SUBSTITUTE-URL}, our continuous integration system}.
|
||||
|
||||
@cindex substituter
|
||||
Users can obtain the new package definition simply by running
|
||||
|
@ -1016,7 +1026,7 @@ changes). This branch is intended to be merged in @code{master} every
|
|||
6 months or so.
|
||||
@end table
|
||||
|
||||
All these branches are @uref{@value{SUBSTITUTE-SERVER},
|
||||
All these branches are @uref{@value{SUBSTITUTE-URL},
|
||||
tracked by our build farm} and merged into @code{master} once
|
||||
everything has been successfully built. This allows us to fix issues
|
||||
before they hit users, and to reduce the window during which pre-built
|
||||
|
|
|
@ -128,8 +128,9 @@ REPL.
|
|||
@item
|
||||
Scheme syntax boils down to a tree of expressions (or @emph{s-expression} in
|
||||
Lisp lingo). An expression can be a literal such as numbers and strings, or a
|
||||
compound which is a parenthesized list of compounds and literals. @code{#t}
|
||||
and @code{#f} stand for the Booleans ``true'' and ``false'', respectively.
|
||||
compound which is a parenthesized list of compounds and literals. @code{#true}
|
||||
and @code{#false} (abbreviated @code{#t} and @code{#f}) stand for the
|
||||
Booleans ``true'' and ``false'', respectively.
|
||||
|
||||
Examples of valid expressions:
|
||||
|
||||
|
@ -249,8 +250,10 @@ definitions.
|
|||
@end lisp
|
||||
|
||||
@item
|
||||
The keyword syntax is @code{#:}; it is used to create unique identifiers.
|
||||
@pxref{Keywords,,, guile, GNU Guile Reference Manual}.
|
||||
@dfn{Keywords} are typically used to identify the named parameters of a
|
||||
procedure. They are prefixed by @code{#:} (hash, colon) followed by
|
||||
alphanumeric characters: @code{#:like-this}.
|
||||
@xref{Keywords,,, guile, GNU Guile Reference Manual}.
|
||||
|
||||
@item
|
||||
The percentage @code{%} is typically used for read-only global variables in
|
||||
|
@ -791,11 +794,11 @@ another, more sophisticated package (slightly modified from the source):
|
|||
(snippet '(begin
|
||||
;; Remove bundled software.
|
||||
(delete-file-recursively "deps")
|
||||
#t))))
|
||||
#true))))
|
||||
(build-system cmake-build-system)
|
||||
(outputs '("out" "debug"))
|
||||
(arguments
|
||||
`(#:tests? #t ; Run the test suite (this is the default)
|
||||
`(#:tests? #true ; Run the test suite (this is the default)
|
||||
#:configure-flags '("-DUSE_SHA1DC=ON") ; SHA-1 collision detection
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
|
@ -806,12 +809,12 @@ another, more sophisticated package (slightly modified from the source):
|
|||
(substitute* "tests/clar/fs.h"
|
||||
(("/bin/cp") (which "cp"))
|
||||
(("/bin/rm") (which "rm")))
|
||||
#t))
|
||||
#true))
|
||||
;; Run checks more verbosely.
|
||||
(replace 'check
|
||||
(lambda _ (invoke "./libgit2_clar" "-v" "-Q")))
|
||||
(add-after 'unpack 'make-files-writable-for-tests
|
||||
(lambda _ (for-each make-file-writable (find-files "." ".*")))))))
|
||||
(lambda _ (for-each make-file-writable (find-files "." ".*")))))))
|
||||
(inputs
|
||||
`(("libssh2" ,libssh2)
|
||||
("http-parser" ,http-parser)
|
||||
|
@ -1029,7 +1032,7 @@ If you want to know more about what happens during those phases, consult the
|
|||
associated procedures.
|
||||
|
||||
For instance, as of this writing the definition of @code{unpack} for the GNU build
|
||||
system is
|
||||
system is:
|
||||
|
||||
@lisp
|
||||
(define* (unpack #:key source #:allow-other-keys)
|
||||
|
@ -1044,13 +1047,13 @@ working directory."
|
|||
;; Preserve timestamps (set to the Epoch) on the copied tree so that
|
||||
;; things work deterministically.
|
||||
(copy-recursively source "."
|
||||
#:keep-mtime? #t))
|
||||
#:keep-mtime? #true))
|
||||
(begin
|
||||
(if (string-suffix? ".zip" source)
|
||||
(invoke "unzip" source)
|
||||
(invoke "tar" "xvf" source))
|
||||
(chdir (first-subdirectory "."))))
|
||||
#t)
|
||||
#true)
|
||||
@end lisp
|
||||
|
||||
Note the @code{chdir} call: it changes the working directory to where the source was
|
||||
|
@ -1066,16 +1069,16 @@ the following forms:
|
|||
|
||||
@itemize
|
||||
@item
|
||||
@code{(add-before PHASE NEW-PHASE PROCEDURE)}: Run @code{PROCEDURE} named @code{NEW-PHASE} before @code{PHASE}.
|
||||
@code{(add-before @var{phase} @var{new-phase} @var{procedure})}: Run @var{procedure} named @var{new-phase} before @var{phase}.
|
||||
@item
|
||||
@code{(add-after PHASE NEW-PHASE PROCEDURE)}: Same, but afterwards.
|
||||
@code{(add-after @var{phase} @var{new-phase} @var{procedure})}: Same, but afterwards.
|
||||
@item
|
||||
@code{(replace PHASE PROCEDURE)}.
|
||||
@code{(replace @var{phase} @var{procedure})}.
|
||||
@item
|
||||
@code{(delete PHASE)}.
|
||||
@code{(delete @var{phase})}.
|
||||
@end itemize
|
||||
|
||||
The @code{PROCEDURE} supports the keyword arguments @code{inputs} and @code{outputs}. Each
|
||||
The @var{procedure} supports the keyword arguments @code{inputs} and @code{outputs}. Each
|
||||
input (whether @emph{native}, @emph{propagated} or not) and output directory is referenced
|
||||
by their name in those variables. Thus @code{(assoc-ref outputs "out")} is the store
|
||||
directory of the main output of the package. A phase procedure may look like
|
||||
|
@ -1083,16 +1086,16 @@ this:
|
|||
|
||||
@lisp
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let (((bash-directory (assoc-ref inputs "bash"))
|
||||
(output-directory (assoc-ref outputs "out"))
|
||||
(doc-directory (assoc-ref outputs "doc"))
|
||||
; ...
|
||||
#t)
|
||||
(let ((bash-directory (assoc-ref inputs "bash"))
|
||||
(output-directory (assoc-ref outputs "out"))
|
||||
(doc-directory (assoc-ref outputs "doc")))
|
||||
;; ...
|
||||
#true))
|
||||
@end lisp
|
||||
|
||||
The procedure must return @code{#t} on success. It's brittle to rely on the return
|
||||
The procedure must return @code{#true} on success. It's brittle to rely on the return
|
||||
value of the last expression used to tweak the phase because there is no
|
||||
guarantee it would be a @code{#t}. Hence the trailing @code{#t} to ensure the right value
|
||||
guarantee it would be a @code{#true}. Hence the trailing @code{#true} to ensure the right value
|
||||
is returned on success.
|
||||
|
||||
@subsubsection Code staging
|
||||
|
@ -1118,7 +1121,7 @@ Some of those functions can be found in
|
|||
@samp{$GUIX_CHECKOUT/guix/guix/build/utils.scm}. Most of them mirror the behaviour
|
||||
of the traditional Unix system commands:
|
||||
|
||||
@table @asis
|
||||
@table @code
|
||||
@item which
|
||||
Like the @samp{which} system command.
|
||||
@item find-files
|
||||
|
@ -1142,6 +1145,9 @@ then restore the previous working directory.
|
|||
A ``@command{sed}-like'' function.
|
||||
@end table
|
||||
|
||||
@xref{Build Utilities,,, guix, GNU Guix Reference Manual}, for more
|
||||
information on these utilities.
|
||||
|
||||
@subsubsection Module prefix
|
||||
|
||||
The license in our last example needs a prefix: this is because of how the
|
||||
|
@ -1352,6 +1358,7 @@ reference.
|
|||
* Running Guix on a Linode Server:: Running Guix on a Linode Server
|
||||
* Setting up a bind mount:: Setting up a bind mount in the file-systems definition.
|
||||
* Getting substitutes from Tor:: Configuring Guix daemon to get substitutes through Tor.
|
||||
* Setting up NGINX with Lua:: Configuring NGINX web-server to load Lua modules.
|
||||
@end menu
|
||||
|
||||
@node Customizing the Kernel
|
||||
|
@ -1384,8 +1391,8 @@ creates a package.
|
|||
#:key
|
||||
;; A function that takes an arch and a variant.
|
||||
;; See kernel-config for an example.
|
||||
(extra-version #f)
|
||||
(configuration-file #f)
|
||||
(extra-version #false)
|
||||
(configuration-file #false)
|
||||
(defconfig "defconfig")
|
||||
(extra-options %default-extra-linux-options)
|
||||
(patches (list %boot-logo-patch)))
|
||||
|
@ -1428,7 +1435,7 @@ the @code{make-linux-libre} package definition:
|
|||
(begin
|
||||
(copy-file config ".config")
|
||||
(chmod ".config" #o666))
|
||||
(invoke "make" ,defconfig))
|
||||
(invoke "make" ,defconfig)))
|
||||
@end lisp
|
||||
|
||||
Below is a sample kernel package. The @code{linux-libre} package is nothing
|
||||
|
@ -1459,7 +1466,7 @@ it:
|
|||
@lisp
|
||||
(define %default-extra-linux-options
|
||||
`(;; https://lists.gnu.org/archive/html/guix-devel/2014-04/msg00039.html
|
||||
("CONFIG_DEVPTS_MULTIPLE_INSTANCES" . #t)
|
||||
("CONFIG_DEVPTS_MULTIPLE_INSTANCES" . #true)
|
||||
;; Modules required for initrd:
|
||||
("CONFIG_NET_9P" . m)
|
||||
("CONFIG_NET_9P_VIRTIO" . m)
|
||||
|
@ -1476,9 +1483,9 @@ it:
|
|||
(string-join (map (match-lambda
|
||||
((option . 'm)
|
||||
(string-append option "=m"))
|
||||
((option . #t)
|
||||
((option . #true)
|
||||
(string-append option "=y"))
|
||||
((option . #f)
|
||||
((option . #false)
|
||||
(string-append option "=n")))
|
||||
options)
|
||||
"\n"))
|
||||
|
@ -1494,7 +1501,7 @@ And in the custom configure script from the `make-linux-libre` package:
|
|||
(display extra-configuration port)
|
||||
(close-port port))
|
||||
|
||||
(invoke "make" "oldconfig"))))
|
||||
(invoke "make" "oldconfig")
|
||||
@end lisp
|
||||
|
||||
So by not providing a configuration-file the @file{.config} starts blank, and
|
||||
|
@ -1865,7 +1872,7 @@ is below. Save the resulting file as @file{guix-config.scm}.
|
|||
(bootloader
|
||||
(bootloader
|
||||
(inherit grub-bootloader)
|
||||
(installer #~(const #t))))))
|
||||
(installer #~(const #true))))))
|
||||
(file-systems (cons (file-system
|
||||
(device "/dev/sda")
|
||||
(mount-point "/")
|
||||
|
@ -1897,7 +1904,7 @@ is below. Save the resulting file as @file{guix-config.scm}.
|
|||
(service openssh-service-type
|
||||
(openssh-configuration
|
||||
(openssh openssh-sans-x)
|
||||
(password-authentication? #f)
|
||||
(password-authentication? #false)
|
||||
(authorized-keys
|
||||
`(("janedoe" ,(local-file "janedoe_rsa.pub"))
|
||||
("root" ,(local-file "janedoe_rsa.pub"))))))
|
||||
|
@ -2113,6 +2120,63 @@ sudo herd set-http-proxy guix-daemon http://localhost:9250
|
|||
guix build --substitute-urls=https://bp7o7ckwlewr4slm.onion …
|
||||
@end example
|
||||
|
||||
@node Setting up NGINX with Lua
|
||||
@section Setting up NGINX with Lua
|
||||
@cindex nginx, lua, openresty, resty
|
||||
|
||||
NGINX could be extended with Lua scripts.
|
||||
|
||||
Guix provides NGINX service with ability to load Lua module and specific
|
||||
Lua packages, and reply to requests by evaluating Lua scripts.
|
||||
|
||||
The following example demonstrates system definition with configuration
|
||||
to evaluate @file{index.lua} Lua script on HTTP request to
|
||||
@uref{http://localhost/hello} endpoint:
|
||||
|
||||
@example
|
||||
local shell = require "resty.shell"
|
||||
|
||||
local stdin = ""
|
||||
local timeout = 1000 -- ms
|
||||
local max_size = 4096 -- byte
|
||||
|
||||
local ok, stdout, stderr, reason, status =
|
||||
shell.run([[/run/current-system/profile/bin/ls /tmp]], stdin, timeout, max_size)
|
||||
|
||||
ngx.say(stdout)
|
||||
@end example
|
||||
|
||||
@lisp
|
||||
(use-modules (gnu))
|
||||
(use-service-modules #;… web)
|
||||
(use-package-modules #;… lua)
|
||||
(operating-system
|
||||
;; …
|
||||
(services
|
||||
;; …
|
||||
(service nginx-service-type
|
||||
(nginx-configuration
|
||||
(modules
|
||||
(list
|
||||
(file-append nginx-lua-module "/etc/nginx/modules/ngx_http_lua_module.so")))
|
||||
(lua-package-path (list lua-resty-core
|
||||
lua-resty-lrucache
|
||||
lua-resty-signal
|
||||
lua-tablepool
|
||||
lua-resty-shell))
|
||||
(lua-package-cpath (list lua-resty-signal))
|
||||
(server-blocks
|
||||
(list (nginx-server-configuration
|
||||
(server-name '("localhost"))
|
||||
(listen '("80"))
|
||||
(root "/etc")
|
||||
(locations (list
|
||||
(nginx-location-configuration
|
||||
(uri "/hello")
|
||||
(body (list #~(format #f "content_by_lua_file ~s;"
|
||||
#$(local-file "index.lua"))))))))))))))
|
||||
@end lisp
|
||||
|
||||
@c *********************************************************************
|
||||
@node Advanced package management
|
||||
@chapter Advanced package management
|
||||
|
|
2204
doc/guix.texi
2204
doc/guix.texi
File diff suppressed because it is too large
Load Diff
|
@ -175,8 +175,8 @@ corresponding to the top-level definition containing the staged changes."
|
|||
(let ((old-values (get-values old field))
|
||||
(new-values (get-values new field)))
|
||||
(or (equal? old-values new-values)
|
||||
(let ((removed (lset-difference eq? old-values new-values))
|
||||
(added (lset-difference eq? new-values old-values)))
|
||||
(let ((removed (lset-difference equal? old-values new-values))
|
||||
(added (lset-difference equal? new-values old-values)))
|
||||
(format port
|
||||
"[~a]: ~a~%" field
|
||||
(match (list (map symbol->string removed)
|
||||
|
|
|
@ -27,8 +27,9 @@ _guix_complete_command ()
|
|||
if [ -z "$_guix_commands" ]
|
||||
then
|
||||
# Cache the list of commands to speed things up.
|
||||
_guix_commands="$(guix --help 2> /dev/null \
|
||||
| grep '^ ' | cut -c 2-)"
|
||||
_guix_commands="$(guix --help 2> /dev/null \
|
||||
| grep '^ ' \
|
||||
| sed '-es/^ *\([a-z-]\+\).*$/\1/g')"
|
||||
fi
|
||||
COMPREPLY=($(compgen -W "$_guix_commands" -- "$word_at_point"))
|
||||
}
|
||||
|
@ -181,7 +182,7 @@ _guix_complete ()
|
|||
*)
|
||||
if _guix_is_command "package"
|
||||
then
|
||||
if _guix_is_dash_L || _guix_is_dash_m
|
||||
if _guix_is_dash_L || _guix_is_dash_m || _guix_is_dash_p
|
||||
then
|
||||
_guix_complete_file
|
||||
elif _guix_is_removing
|
||||
|
|
|
@ -4,6 +4,8 @@
|
|||
# Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
# Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
# Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
# Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com>
|
||||
# Copyright © 2020 Simon Tournier <zimon.toutoune@gmail.com>
|
||||
#
|
||||
# This file is part of GNU Guix.
|
||||
#
|
||||
|
@ -53,6 +55,7 @@ REQUIRE=(
|
|||
|
||||
PAS=$'[ \033[32;1mPASS\033[0m ] '
|
||||
ERR=$'[ \033[31;1mFAIL\033[0m ] '
|
||||
WAR=$'[ \033[33;1mWARN\033[0m ] '
|
||||
INF="[ INFO ] "
|
||||
|
||||
DEBUG=0
|
||||
|
@ -150,6 +153,10 @@ chk_init_sys()
|
|||
_msg "${INF}init system is: sysv-init"
|
||||
INIT_SYS="sysv-init"
|
||||
return 0
|
||||
elif [[ $(openrc --version 2>/dev/null) =~ \(OpenRC\) ]]; then
|
||||
_msg "${INF}init system is: OpenRC"
|
||||
INIT_SYS="openrc"
|
||||
return 0
|
||||
else
|
||||
INIT_SYS="NA"
|
||||
_err "${ERR}Init system could not be detected."
|
||||
|
@ -194,6 +201,19 @@ chk_sys_arch()
|
|||
ARCH_OS="${arch}-${os}"
|
||||
}
|
||||
|
||||
chk_sys_nscd()
|
||||
{ # Check if nscd is up and suggest to start it or install it
|
||||
if [ "$(type -P pidof)" ]; then
|
||||
if [ ! "$(pidof nscd)" ]; then
|
||||
_msg "${WAR}We recommend installing and/or starting your distribution 'nscd' service"
|
||||
_msg "${WAR}Please read 'info guix \"Application Setup\"' about \"Name Service Switch\""
|
||||
fi
|
||||
else
|
||||
_msg "${INF}We cannot determine if your distribution 'nscd' service is running"
|
||||
_msg "${INF}Please read 'info guix \"Application Setup\"' about \"Name Service Switch\""
|
||||
fi
|
||||
}
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
#+MAIN
|
||||
|
||||
|
@ -212,7 +232,7 @@ guix_get_bin_list()
|
|||
| sort -Vu)")
|
||||
|
||||
latest_ver="$(echo "$bin_ver_ls" \
|
||||
| grep -oP "([0-9]{1,2}\.){2}[0-9]{1,2}" \
|
||||
| grep -oE "([0-9]{1,2}\.){2}[0-9]{1,2}" \
|
||||
| tail -n1)"
|
||||
|
||||
default_ver="guix-binary-${latest_ver}.${ARCH_OS}"
|
||||
|
@ -268,8 +288,7 @@ sys_create_store()
|
|||
_debug "--- [ $FUNCNAME ] ---"
|
||||
|
||||
cd "$tmp_path"
|
||||
tar --warning=no-timestamp \
|
||||
--extract \
|
||||
tar --extract \
|
||||
--file "$pkg" &&
|
||||
_msg "${PAS}unpacked archive"
|
||||
|
||||
|
@ -384,6 +403,16 @@ sys_enable_guix_daemon()
|
|||
service guix-daemon start; } &&
|
||||
_msg "${PAS}enabled Guix daemon via sysv"
|
||||
;;
|
||||
openrc)
|
||||
{ mkdir -p /etc/init.d;
|
||||
cp "${ROOT_HOME}/.config/guix/current/etc/openrc/guix-daemon" \
|
||||
/etc/init.d/guix-daemon;
|
||||
chmod 775 /etc/init.d/guix-daemon;
|
||||
|
||||
rc-update add guix-daemon default &&
|
||||
rc-service guix-daemon start; } &&
|
||||
_msg "${PAS}enabled Guix daemon via OpenRC"
|
||||
;;
|
||||
NA|*)
|
||||
_msg "${ERR}unsupported init system; run the daemon manually:"
|
||||
echo " ${ROOT_HOME}/.config/guix/current/bin/guix-daemon --build-users-group=guixbuild"
|
||||
|
@ -445,6 +474,26 @@ export XDG_DATA_DIRS="$GUIX_PROFILE/share:${XDG_DATA_DIRS:-/usr/local/share/:/us
|
|||
EOF
|
||||
}
|
||||
|
||||
sys_create_shell_completion()
|
||||
{ # Symlink supported shell completions system-wide
|
||||
|
||||
var_guix=/var/guix/profiles/per-user/root/current-guix
|
||||
bash_completion=/etc/bash_completion.d
|
||||
zsh_completion=/usr/share/zsh/site-functions
|
||||
fish_completion=/usr/share/fish/vendor_completions.d
|
||||
|
||||
{ # Just in case
|
||||
for dir_shell in $bash_completion $zsh_completion $fish_completion; do
|
||||
[ -d "$dir_shell" ] || mkdir -p $dir_shell
|
||||
done;
|
||||
|
||||
ln -sf ${var_guix}/etc/bash_completion.d/* "$bash_completion";
|
||||
ln -sf ${var_guix}/share/zsh/site-functions/* "$zsh_completion";
|
||||
ln -sf ${var_guix}/share/fish/vendor_completions.d/* "$fish_completion"; } &&
|
||||
_msg "${PAS}installed shell completion"
|
||||
}
|
||||
|
||||
|
||||
welcome()
|
||||
{
|
||||
cat<<"EOF"
|
||||
|
@ -488,6 +537,7 @@ main()
|
|||
chk_gpg_keyring
|
||||
chk_init_sys
|
||||
chk_sys_arch
|
||||
chk_sys_nscd
|
||||
|
||||
_msg "${INF}system is ${ARCH_OS}"
|
||||
|
||||
|
@ -502,6 +552,7 @@ main()
|
|||
sys_enable_guix_daemon
|
||||
sys_authorize_build_farms
|
||||
sys_create_init_profile
|
||||
sys_create_shell_completion
|
||||
|
||||
_msg "${INF}cleaning up ${tmp_path}"
|
||||
rm -r "${tmp_path}"
|
||||
|
|
373
etc/news.scm
373
etc/news.scm
|
@ -2,6 +2,11 @@
|
|||
;;
|
||||
;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org>
|
||||
;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;; Copyright © 2019, 2020 Miguel Ángel Arruga Vivas <rosen644835@gmail.com>
|
||||
;; Copyright © 2019, 2020 Konrad Hinsen <konrad.hinsen@fastmail.net>
|
||||
;; Copyright © 2019, 2020 Julien Lepiller <julien@lepiller.eu>
|
||||
;; Copyright © 2019, 2020 Florian Pelz <pelzflorian@pelzflorian.de>
|
||||
;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
|
||||
;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
|
@ -13,8 +18,297 @@
|
|||
(channel-news
|
||||
(version 0)
|
||||
|
||||
(entry (commit "abd7a474615353149a44f4504f0b4b248dcc0716")
|
||||
(title (en "New @option{--with-c-toolchain} package transformation option")
|
||||
(de "Neue Paketumwandlungsoption @option{--with-c-toolchain}")
|
||||
(fr "Nouvelle option de transformation @option{--with-c-toolchain}"))
|
||||
(body
|
||||
(en "The new @option{--with-c-toolchain} package transformation
|
||||
options provides an easy way for developers to rebuild their favorite packages
|
||||
with the C/C++ tool chain of their choice instead of the default one.
|
||||
|
||||
For example, the following command rebuilds the @code{fftw} and @code{fftwf}
|
||||
packages as well as every package that depends on them, up to and including
|
||||
@code{octave-cli}, using GCC version 10 (currently GCC 7.5 is used by
|
||||
default):
|
||||
|
||||
@example
|
||||
guix build octave-cli \\
|
||||
--with-c-toolchain=fftw=gcc-toolchain@@10 \\
|
||||
--with-c-toolchain=fftwf=gcc-toolchain@@10
|
||||
@end example
|
||||
|
||||
Run @command{info \"(guix) Package Transformation Options\"} for more info.")
|
||||
(de "Die neue Paketumwandlungsoption @option{--with-c-toolchain}
|
||||
bietet Entwicklern die Möglichkeit, leicht ihre Lieblingspakete mit der
|
||||
selbstgewählten Toolchain für C/C++ anstelle der vorgegebenen neu zu
|
||||
erstellen.
|
||||
|
||||
Zum Beispiel werden mit folgendem Befehl die Pakete @code{fftw} und
|
||||
@code{fftwf} sowie alle davon abhängigen Pakete bis einschließlich
|
||||
@code{octave-cli} mit Version 10 der GCC erstellt (vorgegeben wäre zurzeit,
|
||||
GCC 7.5 zu benutzen):
|
||||
|
||||
@example
|
||||
guix build octave-cli \\
|
||||
--with-c-toolchain=fftw=gcc-toolchain@@10 \\
|
||||
--with-c-toolchain=fftwf=gcc-toolchain@@10
|
||||
@end example
|
||||
|
||||
Führen Sie für mehr Informationen @command{info \"(guix.de)
|
||||
Paketumwandlungsoptionen\"} aus.")
|
||||
(fr "La nouvelle option de transformation de paquets
|
||||
@option{--with-c-toolchain} permet aux développeur·euses de recompiler leurs
|
||||
paquets préférés avec la chaîne d'outils C/C++ de leur choix à la place de
|
||||
celle par défaut.
|
||||
|
||||
Par exemple, la commande ci-dessous recompile @code{fftw}, @code{fftwf} et
|
||||
tous les paquets qui en dépendent, jusqu'à @code{octave-cli} inclus, avec GCC
|
||||
10 (actuellement c'est GCC 7.5 qui est utilisé par défaut):
|
||||
|
||||
@example
|
||||
guix build octave-cli \\
|
||||
--with-c-toolchain=fftw=gcc-toolchain@@10 \\
|
||||
--with-c-toolchain=fftwf=gcc-toolchain@@10
|
||||
@end example
|
||||
|
||||
Voir @command{info \"(guix.fr) Options de transformation de paquets\"} pour
|
||||
plus de détails.")))
|
||||
|
||||
(entry (commit "8e1907a72430aa989125b053573ef0897c480697")
|
||||
(title (en "Package transformation options now recorded in profiles")
|
||||
(es "Las opciones de transformación de paquetes ahora se
|
||||
quedan registradas en el perfil")
|
||||
(de "Paketumwandlungsoptionen werden nun in Profilen gesichert")
|
||||
(fr "Options de transformation sauvegardées dans les profils"))
|
||||
(body
|
||||
(en "When installing packages in a profile, package transformation
|
||||
options such as @option{--with-input} are now recorded in the profile. When
|
||||
you eventually run @command{guix upgrade}, those transformations will be
|
||||
automatically applied to the upgraded packages.
|
||||
|
||||
Run @command{info \"(guix) Package Transformation Options\"} for more info.")
|
||||
(es "Si durante la instalación de paquetes en un perfil se utilizaron
|
||||
opciones de transformación de paquetes, como por ejemplo
|
||||
@option{--with-input}, éstas se registran en el perfil. Cuando vuelva a
|
||||
ejecutar @command{guix upgrade}, dichas transformaciones se aplicarán
|
||||
automáticamente a los paquetes actualizados.
|
||||
|
||||
Ejecute @command{info \"(guix.es) Opciones de transformación de paquetes\"}
|
||||
para obtener más información.")
|
||||
(de "Wenn Sie ein Paket in ein Profil installieren, werden nun
|
||||
Paketumwandlungsoptionen wie @option{--with-input} im Profil gespeichert.
|
||||
Sobald Sie später @command{guix upgrade} ausführen, werden dieselben
|
||||
Umwandlungen automatisch auf die aktualisierten Pakete angewandt.
|
||||
|
||||
Führen Sie für mehr Informationen @command{info \"(guix.de)
|
||||
Paketumwandlungsoptionen\"} aus.")
|
||||
(fr "Lorsqu'on installe des paquets dans un profil, les options de
|
||||
transformation telles que @option{--with-input} sont désormais enregistrées
|
||||
dans le profil. Quand on le met plus tard à jour avec @command{guix upgrade},
|
||||
ces transformations sont automatiquement appliquées aux nouveaux paquets.
|
||||
|
||||
Voir @command{info \"(guix.fr) Options de transformation de paquets\"} pour
|
||||
plus de détails.")))
|
||||
|
||||
(entry (commit "313f492657f1d0863c641fa5ee7f5b7028e27c94")
|
||||
(title (en "New @option{--image-type} option for @command{guix system disk-image}.")
|
||||
(es "Nueva opción @option{--image-type} para @command{guix system disk-image}.")
|
||||
(de "Neue Option @option{--image-type} für @command{guix system disk-image}.")
|
||||
(fr "Nouvelle option @option{--image-type} pour @command{guix system disk-image}."))
|
||||
(body
|
||||
(en "The @option{--file-system-type} option for @command{guix system
|
||||
disk-image} command has been replaced by the new @option{--image-type} option.
|
||||
By default, @code{raw} disk images are produced, but @code{hurd-qcow2},
|
||||
@code{hurd-raw}, @code{uncompressed-iso9660} and @code{iso9660} image types
|
||||
are also available.
|
||||
|
||||
The @option{--list-image-types} option lists all the available image types.")
|
||||
(es "La opción @option{--file-system-type} de @command{guix system
|
||||
disk-image} se ha sustituido por la nueva opción @option{--image-type}. De
|
||||
manera predeterminada se producen imágenes en formato crudo (@code{raw}) pero
|
||||
también están disponibles los tipos de imagen @code{hurd-qcow2},
|
||||
@code{hurd-raw}, @code{uncompressed-iso9660} y @code{iso9660}.
|
||||
|
||||
La opción @option{--list-image-types} muestra una lista con todos los tipos
|
||||
de imagen disponibles.")
|
||||
(de "Anstelle der Befehlszeilenoption @option{--file-system-type} für
|
||||
@command{guix system disk-image} gibt es nun die neue Option
|
||||
@option{--image-type}. In der Vorgabeeinstellung @code{raw} werden rohe
|
||||
Disk-Images erzeugt, aber es können auch die Abbildtypen @code{hurd-qcow2},
|
||||
@code{hurd-raw}, @code{uncompressed-iso9660} und @code{iso9660} ausgewählt
|
||||
werden.
|
||||
|
||||
Mit der Option @option{--list-image-types} werden alle verfügbaren Abbildtypen
|
||||
aufgelistet.")
|
||||
(fr "L'option @option{--file-system-type} pour la commande
|
||||
@command{guix system disk-image} a été remplacée par la nouvelle option
|
||||
@option{--image-type}. Par défaut, l'option @code{raw}, produisant des images
|
||||
disque brutes est sélectionnée. Les options @code{hurd-qcow2},
|
||||
@code{hurd-raw}, @code{uncompressed-iso9660} et @code{iso9660} sont également
|
||||
disponibles.
|
||||
|
||||
La nouvelle option @option{--list-image-types} énumère les types d'image
|
||||
disponibles.")))
|
||||
|
||||
(entry (commit "8819551c8d2a12cd4e84e09b51e434d05a012c9d")
|
||||
(title (en "Package transformations now apply to implicit inputs")
|
||||
(es "Las transformaciones de paquetes ahora afectan también
|
||||
a las dependencias implícitas")
|
||||
(de "Paketumwandlungen betreffen jetzt auch implizite Eingaben")
|
||||
(fr "Les transformations de paquets s'appliquent aux
|
||||
dépendances implicites"))
|
||||
(body
|
||||
(en "Package transformation options such as @option{--with-branch},
|
||||
@option{--with-input}, and so on now apply to implicit inputs---previously
|
||||
only a package's explicit inputs would be affected. This allows for things
|
||||
such as replacing the Python dependency of a package that uses
|
||||
@code{python-build-system}:
|
||||
|
||||
@example
|
||||
guix install --with-input=python=python2 python-itsdangerous
|
||||
@end example
|
||||
|
||||
Another example is grafting a different version of the GNU C
|
||||
Library (@code{glibc} is an implicit input of almost all the packages and is
|
||||
``deep down'' in the dependency graph):
|
||||
|
||||
@example
|
||||
guix build --with-graft=glibc=glibc@@2.31 hello
|
||||
@end example
|
||||
|
||||
Run @command{info \"(guix) Package Transformation Options\"} for more
|
||||
info.")
|
||||
(es "Las opciones de transformación de paquetes como
|
||||
@option{--with-branch}, @option{--with-input}, etcétera, ahora también
|
||||
influyen en las entradas implícitas---antes únicamente las entradas explícitas
|
||||
del paquete se veían afectadas. Esto permite, por ejemplo, sustituir la
|
||||
dependencia en python de un paquete que use @code{python-build-system}:
|
||||
|
||||
@example
|
||||
guix install --with-input=python=python2 python-itsdangerous
|
||||
@end example
|
||||
|
||||
Otro ejemplo podría ser el injerto de una versión diferente de la biblioteca
|
||||
de C de GNU (@code{glibc} es una entrada implícita de casi todos los paquetes
|
||||
y ``muy abajo'' en el grafo de dependencias):
|
||||
|
||||
@example
|
||||
guix build --with-graft=glibc=glibc@@2.31 hello
|
||||
@end example
|
||||
|
||||
Ejecute @command{info \"(guix.es) Opciones de transformación de paquetes\"}
|
||||
para obtener más información.")
|
||||
(de "Paketumwandlungsoptionen wie @option{--with-branch},
|
||||
@option{--with-input} und so weiter betreffen nun auch implizite Eingaben —
|
||||
zuvor haben sie sich nur auf die expliziten Eingaben eines Pakets
|
||||
ausgewirkt. Dadurch kann jetzt zum Beispiel die Python-Abhängigkeit eines
|
||||
Pakets, welches @code{python-build-system} benutzt, ersetzt werden:
|
||||
|
||||
@example
|
||||
guix install --with-input=python=python2 python-itsdangerous
|
||||
@end example
|
||||
|
||||
Ein weiteres Beispiel ist, mit einer anderen Version der GNU-C-Bibliothek zu
|
||||
veredeln (@code{glibc} ist eine implizite Eingabe fast aller Pakete und steckt
|
||||
„ganz tief“ im Abhängigkeitsgraphen):
|
||||
|
||||
@example
|
||||
guix build --with-graft=glibc=glibc@@2.31 hello
|
||||
@end example
|
||||
|
||||
Führen Sie für mehr Informationen @command{info \"(guix.de)
|
||||
Paketumwandlungsoptionen\"} aus.")
|
||||
(fr "Les options de transformation de paquets telles que
|
||||
@option{--with-branch} et @option{--with-input} s'appliquent désormais aux
|
||||
dépendances implicites — jusque là seules les dépendances explicites des
|
||||
paquets étaient prises en compte. Cela permet certaines choses telles que
|
||||
remplacer la dépendance sur Python d'un paquet utilisant
|
||||
@code{python-build-system} :
|
||||
|
||||
@example
|
||||
guix install --with-input=python=python2 python-itsdangerous
|
||||
@end example
|
||||
|
||||
Un autre exemple est la possibilité de greffer une version différente de la
|
||||
bibliothèque C GNU (la @code{glibc} est une dépendance implicite de tous les
|
||||
paquets et se trouve « tout en bas » du graphe de dépendance) :
|
||||
|
||||
@example
|
||||
guix build --with-graft=glibc=glibc@@2.31 hello
|
||||
@end example
|
||||
|
||||
Voir @command{info \"(guix.fr) Options de transformation de paquets\"} pour
|
||||
plus de détails.")))
|
||||
|
||||
(entry (commit "f458cfbcc54ed87b1a87dd9e150ea276f17eab74")
|
||||
(title (en "New @option{--without-tests} transformation option")
|
||||
(es "Nueva opción de transformación @option{--without-tests}")
|
||||
(de "Neue Paketumwandlungsoption @option{--without-tests}")
|
||||
(fr "Nouvelle option de transformation @option{--without-tests}"))
|
||||
(body
|
||||
(en "The new @option{--without-tests} package transformation option
|
||||
instructs Guix to skip the test suite of a given package. In the example
|
||||
below, @code{guile-gcrypt} is built using a variant of @code{automake} itself
|
||||
built without running its (lengthy) test suite:
|
||||
|
||||
@example
|
||||
guix build guile-gcrypt --without-tests=automake
|
||||
@end example
|
||||
|
||||
This is primarily useful as a way to speed up development cycles, or to work
|
||||
around flaky test suites---skipping tests can hide real issues, so use with
|
||||
care. Run @command{info \"(guix) Package Transformation Options\"} for more
|
||||
info.")
|
||||
(es "La nueva opción de transformación de paquetes
|
||||
@option{--without-tests} indica a Guix que omita la batería de pruebas del
|
||||
paquete proporcionado. En el siguiente ejemplo @code{guile-gcrypt} se
|
||||
construye usando una variación de @code{automake}, la cual se ha construido
|
||||
sin ejecutar su (larga) batería de pruebas:
|
||||
|
||||
@example
|
||||
guix build guile-gcrypt --without-tests=automake
|
||||
@end example
|
||||
|
||||
Esto es principalmente útil como una forma de acelerar ciclos de desarrollo o
|
||||
de omitir temporalmente baterías de pruebas problemáticas---omitir las pruebas
|
||||
puede ocultar problemas reales, por lo que debe usarse con precaución.
|
||||
Ejecute @command{info \"(guix.es) Opciones de transformación de paquetes\"}
|
||||
para obtener más información.")
|
||||
(de "Mit der neuen Paketumwandlungsoption @option{--without-tests}
|
||||
wird Guix angewiesen, den Testkatalog des angegebenen Pakets zu
|
||||
überspringen. Im folgenden Beispiel wird @code{guile-gcrypt} mit einer
|
||||
Variante von @code{automake} erstellt, die wiederum ohne Durchlauf ihres (viel
|
||||
Zeit in Anspruch nehmenden) Testkatalogs erstellt wird:
|
||||
|
||||
@example
|
||||
guix build guile-gcrypt --without-tests=automake
|
||||
@end example
|
||||
|
||||
Der hauptsächliche Nutzen liegt in der Beschleunigung von Entwicklungszyklen
|
||||
oder im Umgehen unzuverlässiger Testkataloge. Allerdings kann das Überspringen
|
||||
dazu führen, dass echte Probleme verborgen bleiben. Setzen Sie es mit Bedacht
|
||||
ein. Führen Sie @command{info \"(guix.de) Paketumwandlungsoptionen\"} aus, um
|
||||
mehr Informationen zu erhalten.")
|
||||
(fr "La nouvelle option de transformation de paquets
|
||||
@option{--without-tests} demande à Guix de sauter la suite de tests d'un
|
||||
paquet. Dans l'exemple ci-dessous, @code{guile-gcrypt} est construit en
|
||||
utilisant une variante de @code{automake} construite sans lancer sa suite de
|
||||
tests :
|
||||
|
||||
@example
|
||||
guix build guile-gcrypt --without-tests=automake
|
||||
@end example
|
||||
|
||||
Cette option est surtout intéressante pour raccourcir le cycle de
|
||||
développement ou pour contourner une suite de tests qui n'est pas
|
||||
fiable — sauter les tests peut cacher des vrais problèmes, à utiliser avec
|
||||
précaution donc. Voir @command{info \"(guix.fr) Options de transformation de
|
||||
paquets\"} pour plus de détails.")))
|
||||
|
||||
(entry (commit "a98712785e0b042a290420fd74e5a4a5da4fc68f")
|
||||
(title (en "New @command{guix git authenticate} command")
|
||||
(es "Nueva orden @command{guix git authenticate}")
|
||||
(de "Neuer Befehl @command{guix git authenticate}")
|
||||
(fr "Nouvelle commande @command{guix git authenticate}"))
|
||||
(body
|
||||
|
@ -30,6 +324,20 @@ to allow people to authenticate code fetched from your repository.
|
|||
Run @command{info \"(guix) Invoking guix git authenticate\"} for more info,
|
||||
and see @uref{https://guix.gnu.org/blog/2020/securing-updates/} for details on
|
||||
these mechanisms.")
|
||||
(es "La nueva orden @command{guix git authenticate} comprueba la
|
||||
validez de un repositorio git verificando las firmas de las revisiones y
|
||||
comprobando que todas las firmas están autorizadas, exactamente igual que
|
||||
@command{guix pull}.
|
||||
|
||||
Esta orden es principalmente útil para desarrolladoras de canales. Permite
|
||||
asegurar, antes de subir nada al repositorio remoto, que el canal contiene
|
||||
únicamente revisiones firmadas por claves autorizadas. No obstante esta orden
|
||||
es útil siempre que use git y quiera que otras personas puedan verificar el
|
||||
código obtenido de su repositorio.
|
||||
|
||||
Ejecute @command{info \"(guix.es) Invocación de guix git authenticate\"}
|
||||
para obtener más información y vea detalles sobre estos mecanismos en
|
||||
@uref{https://guix.gnu.org/blog/2020/securing-updates/}.")
|
||||
(de "Mit dem neuen Befehl @command{guix git authenticate} können Sie
|
||||
ein Git-Repository authentifizieren. Dazu werden alle Commit-Signaturen
|
||||
verifiziert und geprüft, dass jede von einer autorisierten Quelle kommt, genau
|
||||
|
@ -62,6 +370,7 @@ pour en savoir plus sur ces mécanismes.")))
|
|||
|
||||
(entry (commit "43badf261f4688c8a7a7a9004a4bff8acb205835")
|
||||
(title (en "@command{guix pull} authenticates channels")
|
||||
(es "@command{guix pull} verifica los canales")
|
||||
(de "@command{guix pull} authentifiziert Kanäle")
|
||||
(fr "@command{guix pull} authentifie les canaux"))
|
||||
(body
|
||||
|
@ -74,6 +383,16 @@ repository and from attempts to ship malicious code to users.
|
|||
|
||||
This feature is currently limited to the @code{guix} channel but will soon be
|
||||
available to third-party channel authors.")
|
||||
(es "Las ordenes @command{guix pull} y @command{guix time-machine}
|
||||
ahora verifican el código fuente que obtienen, a menos que se proporcione la
|
||||
opción @option{--disable-authentication}. Lo que esto significa es que Guix se
|
||||
asegura de que cada revisión que recibe está firmada criptográficamente por
|
||||
una desarrolladora autorizada. Esto le protege de intentos de modificación del
|
||||
repositorio de Guix y de entregas de código con malas intenciones sobre las
|
||||
usuarias.
|
||||
|
||||
Esta característica está limitada actualmente al canal @code{guix} pero pronto
|
||||
estará disponible para autoras de canales independientes.")
|
||||
(de "Die Befehle @command{guix pull} und @command{guix time-machine}
|
||||
prüfen nun die Authentizität des heruntergeladenen Quellcodes, außer wenn die
|
||||
neue Befehlszeilenoption @option{--disable-authentication} angegeben
|
||||
|
@ -97,6 +416,7 @@ Cette fonctionnalité n'est actuellement disponible que pour le canal
|
|||
|
||||
(entry (commit "c924e541390f9595d819edc33c19d979917c15ec")
|
||||
(title (en "@command{guix repl} adds support for running Guile scripts")
|
||||
(es "@command{guix repl} puede ejecutar guiones de Guile")
|
||||
(de "@command{guix repl} kann Guile-Skripte ausführen")
|
||||
(fr "@command{guix repl} permet d'exécuter des scripts en langage Guile"))
|
||||
(body
|
||||
|
@ -110,6 +430,18 @@ guix repl -- my-script,scm --option1 --option2=option-arg arg1 arg2
|
|||
@end example
|
||||
|
||||
Run @command{info \"(guix) Invoking guix repl\"} for more information.")
|
||||
(es "La orden @command{guix repl} ahora se puede usar para
|
||||
ejecutar guiones de Guile. En comparación con únicamente la ejecución
|
||||
de la orden @command{guile}, @command{guix repl} garantiza que todos
|
||||
los módulos de Guix y sus dependencias están disponibles en la ruta
|
||||
de búsqueda. Los guiones se ejecutan de este modo:
|
||||
|
||||
@example
|
||||
guix repl -- mi-guion.scm --opcion1 --opcion2=param-op2 param1 param2
|
||||
@end example
|
||||
|
||||
Ejecute @command{info \"(guix.es) Invocación de guix repl\"} para obtener
|
||||
más información.")
|
||||
(de "Der Befehl @command{guix repl} kann jetzt zur Ausführung von
|
||||
Guile-Skripten verwendet werden. Im Vergleich zum Befehl
|
||||
@command{guile} garantiert @command{guix repl}, dass alle Guix-Module und
|
||||
|
@ -136,6 +468,7 @@ Exécutez @command{info \"(guix.fr) Invoquer guix repl\"} pour plus d'informatio
|
|||
|
||||
(entry (commit "b460ba7992a0b4af2ddb5927dcf062784539ef7b")
|
||||
(title (en "Add support to boot from a Btrfs subvolume")
|
||||
(es "Implementado el arranque desde un subvolumen de Btrfs")
|
||||
(de "Unterstützung für Systemstart von einem
|
||||
Btrfs-Unterlaufwerk hinzugefügt")
|
||||
(fr "Ajout du support pour démarrer depuis un sous-volume Btrfs")
|
||||
|
@ -146,6 +479,11 @@ operating system declaration now takes into account the use of a Btrfs
|
|||
subvolume for the partition holding @file{/gnu/store}. Run the command
|
||||
@command{info \"(guix) Btrfs file system\"} for more information and
|
||||
examples.")
|
||||
(es "El fichero de configuración de GRUB producido por la
|
||||
declaración de sistema operativo ahora tiene en cuenta el uso de
|
||||
subvolúmenes de Btrfs en la partición que contiene @file{/gnu/store}.
|
||||
Ejecute la orden @command{info \"(guix.es) Sistema de ficheros Btrfs\"}
|
||||
para obtener más información y ejemplos.")
|
||||
(de "Für die Erzeugung einer GRUB-Konfigurationsdatei aus einer
|
||||
Betriebssystemdeklaration kann jetzt ein Btrfs-Unterlaufwerk („Subvolume“) für
|
||||
die Partition mit @file{/gnu/store} angegeben werden. Führen Sie
|
||||
|
@ -165,6 +503,8 @@ voorbeelden.")))
|
|||
(entry (commit "6456232164890dbf5aa20394ee24637feb4b7b9e")
|
||||
(title (en "@command{guix pack -RR} introduces a new execution
|
||||
engine")
|
||||
(es "@command{guix pack -RR} introduce un nuevo motor
|
||||
de ejecución")
|
||||
(de "@command{guix pack -RR} führt neuen Ausführungstreiber
|
||||
ein"))
|
||||
(body
|
||||
|
@ -185,6 +525,26 @@ export GUIX_EXECUTION_ENGINE
|
|||
@end example
|
||||
|
||||
Run @command{info \"(guix) Invoking guix pack\"} for more information.")
|
||||
(es "La orden @command{guix pack -RR} le permite crear un
|
||||
archivador tar que contiene @dfn{binarios reposicionables}. Hasta ahora
|
||||
dichos binarios dependían o bien de los ``espacios de nombres de usuarias
|
||||
sin privilegios'' de Linux o en PRoot, cuando estos no estaban
|
||||
implementados. No obstante, PRoot introduce una sobrecarga significativa
|
||||
en algunos escenarios de trabajo.
|
||||
|
||||
Para estos casos @command{guix pack -RR} introduce una tercera opción
|
||||
basada en una extensión al enlazador de tiempo de ejecución de GNU (ld.so)
|
||||
y en Fakechroot, lo que conlleva muy poca sobrecarga. Puede seleccionar
|
||||
la opción más rápida cuando ejecute un binario reposicionable de esta
|
||||
manera:
|
||||
|
||||
@example
|
||||
GUIX_EXECUTION_ENGINE=performance
|
||||
export GUIX_EXECUTION_ENGINE
|
||||
@end example
|
||||
|
||||
Ejecute @command{info \"(guix.es) Invocación de guix pack\"} para
|
||||
obtener más información.")
|
||||
(de "Mit dem Befehl @command{guix pack -RR} können Sie einen Tarball
|
||||
mit @dfn{verschieblichen Binärdateien} erzeugen (englisch „Relocatable
|
||||
Binaries“). Bisher wurden diese entweder in „unprivilegierten
|
||||
|
@ -209,6 +569,7 @@ mehr wissen wollen.")))
|
|||
|
||||
(entry (commit "88a96c568c47c97d05d883ada5afbc4e1200b10f")
|
||||
(title (en "New @option{--path} option for @command{guix graph}")
|
||||
(es "Nueva opción @option{--path} para @command{guix graph}")
|
||||
(de "Neue Option @option{--path} für @command{guix graph}"))
|
||||
(body
|
||||
(en "The @command{guix graph} command has a new @option{--path}
|
||||
|
@ -221,6 +582,18 @@ guix graph --path libreoffice libunistring
|
|||
@end example
|
||||
|
||||
Run @code{info \"(guix) Invoking guix graph\"} for more information.")
|
||||
(es "La orden @command{guix graph} tiene una nueva opción
|
||||
@option{--path} que le indica que debe mostrar la ruta más corta entre dos
|
||||
paquetes, derivaciones o elementos del almacén. Por ejemplo, la siguiente
|
||||
orden muestra la ruta más corta desde el paquete @code{libreoffice} hasta
|
||||
@code{libunistring}:
|
||||
|
||||
@example
|
||||
guix graph --path libreoffice libunistring
|
||||
@end example
|
||||
|
||||
Ejecute @code{info \"(guix.es) Invocación de guix graph\"} para obtener más
|
||||
información.")
|
||||
(de "Der Befehl @command{guix graph} verfügt über eine neue
|
||||
Befehlszeilenoption @option{--path}, die ihn den kürzesten Pfad zwischen zwei
|
||||
Paketen, Ableitungen oder Store-Objekten ausgeben lässt. Zum Beispiel zeigt
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
#!/sbin/openrc-run
|
||||
# GNU Guix --- Functional package management for GNU
|
||||
# Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.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/>.
|
||||
|
||||
export GUIX_LOCPATH=@localstatedir@/guix/profiles/per-user/root/guix-profile/lib/locale
|
||||
export LC_ALL=en_US.utf8
|
||||
command="@localstatedir@/guix/profiles/per-user/root/current-guix/bin/guix-daemon"
|
||||
command_args="--build-users-group=guixbuild"
|
||||
command_background="yes"
|
||||
pidfile="/var/run/guix-daemon.pid"
|
||||
|
||||
output_log="/var/log/guix-daemon-stdout.log"
|
||||
error_log="/var/log/guix-daemon-stderr.log"
|
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2020 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -53,6 +54,7 @@ TARGET."
|
|||
(append (map specification->package
|
||||
'("xorg-server" "xfce" "gnome" "mate" "enlightenment"
|
||||
"openbox" "awesome" "i3-wm" "ratpoison"
|
||||
"emacs" "emacs-exwm" "emacs-desktop-environment"
|
||||
"xlockmore" "slock" "libreoffice"
|
||||
"connman" "network-manager" "network-manager-applet"
|
||||
"openssh" "ntp" "tor"
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2017, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2019, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2019 Miguel Ángel Arruga Vivas <rosen644835@gmail.com>
|
||||
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2020 Stefan <stefan-guix@vodafonemail.de>
|
||||
;;;
|
||||
|
@ -23,14 +24,17 @@
|
|||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu bootloader grub)
|
||||
#:use-module (guix build union)
|
||||
#:use-module (guix records)
|
||||
#:use-module ((guix utils) #:select (%current-system))
|
||||
#:use-module (guix store)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (gnu artwork)
|
||||
#:use-module (gnu bootloader)
|
||||
#:use-module (gnu system uuid)
|
||||
#:use-module (gnu system file-systems)
|
||||
#:use-module (gnu system keyboard)
|
||||
#:use-module (gnu system locale)
|
||||
#:use-module (gnu packages bootloaders)
|
||||
#:autoload (gnu packages gtk) (guile-cairo guile-rsvg)
|
||||
#:autoload (gnu packages xorg) (xkeyboard-config)
|
||||
|
@ -46,8 +50,11 @@
|
|||
grub-theme-color-highlight
|
||||
grub-theme-gfxmode
|
||||
|
||||
install-grub-efi-netboot
|
||||
|
||||
grub-bootloader
|
||||
grub-efi-bootloader
|
||||
grub-efi-netboot-bootloader
|
||||
grub-mkrescue-bootloader
|
||||
grub-minimal-bootloader
|
||||
|
||||
|
@ -297,9 +304,11 @@ code."
|
|||
(file-system-label->string label)))
|
||||
((? (lambda (device)
|
||||
(and (string? device) (string-contains device ":/"))) nfs-uri)
|
||||
;; This assumes that if your root file system is on NFS, then
|
||||
;; you also want to load your grub extra files, kernel and initrd
|
||||
;; from there.
|
||||
;; If the device is an NFS share, then we assume that the expected
|
||||
;; file on that device (e.g. the GRUB background image or the kernel)
|
||||
;; has to be loaded over the network. Otherwise we would need an
|
||||
;; additional device information for some local disk to look for that
|
||||
;; file, which we do not have.
|
||||
;;
|
||||
;; We explicitly set "root=(tftp)" here even though if grub.cfg
|
||||
;; had been loaded via TFTP, Grub would have set "root=(tftp)"
|
||||
|
@ -327,6 +336,7 @@ code."
|
|||
|
||||
(define* (grub-configuration-file config entries
|
||||
#:key
|
||||
(locale #f)
|
||||
(system (%current-system))
|
||||
(old-entries '())
|
||||
store-directory-prefix)
|
||||
|
@ -391,6 +401,20 @@ menuentry ~s {
|
|||
#:store-directory-prefix store-directory-prefix
|
||||
#:port #~port)))
|
||||
|
||||
(define locale-config
|
||||
#~(let ((locale #$(and locale
|
||||
(locale-definition-source
|
||||
(locale-name->definition locale)))))
|
||||
(when locale
|
||||
(format port "\
|
||||
# Localization configuration.
|
||||
if search --file --set boot_partition /grub/grub.cfg; then
|
||||
set locale_dir=(${boot_partition})/grub/locale
|
||||
else
|
||||
set locale_dir=/boot/grub/locale
|
||||
fi
|
||||
set lang=~a~%" locale))))
|
||||
|
||||
(define keyboard-layout-config
|
||||
(let* ((layout (bootloader-configuration-keyboard-layout config))
|
||||
(grub (bootloader-package
|
||||
|
@ -415,6 +439,7 @@ keymap ~a~%" #$keymap))))
|
|||
# will be lost upon reconfiguration.
|
||||
")
|
||||
#$(sugar)
|
||||
#$locale-config
|
||||
#$keyboard-layout-config
|
||||
(format port "
|
||||
set default=~a
|
||||
|
@ -528,6 +553,99 @@ fi~%"))))
|
|||
"--bootloader-id=Guix"
|
||||
"--efi-directory" target-esp))))
|
||||
|
||||
(define (install-grub-efi-netboot subdir)
|
||||
"Define a grub-efi-netboot bootloader installer for installation in SUBDIR,
|
||||
which is usually efi/Guix or efi/boot."
|
||||
(let* ((system (string-split (nix-system->gnu-triplet
|
||||
(or (%current-target-system)
|
||||
(%current-system)))
|
||||
#\-))
|
||||
(arch (first system))
|
||||
(boot-efi-link (match system
|
||||
;; These are the supportend systems and the names
|
||||
;; defined by the UEFI standard for removable media.
|
||||
(("i686" _ ...) "/bootia32.efi")
|
||||
(("x86_64" _ ...) "/bootx64.efi")
|
||||
(("arm" _ ...) "/bootarm.efi")
|
||||
(("aarch64" _ ...) "/bootaa64.efi")
|
||||
(("riscv" _ ...) "/bootriscv32.efi")
|
||||
(("riscv64" _ ...) "/bootriscv64.efi")
|
||||
;; Other systems are not supported, although defined.
|
||||
;; (("riscv128" _ ...) "/bootriscv128.efi")
|
||||
;; (("ia64" _ ...) "/bootia64.efi")
|
||||
((_ ...) #f)))
|
||||
(core-efi (string-append
|
||||
;; This is the arch dependent file name of GRUB, e.g.
|
||||
;; i368-efi/core.efi or arm64-efi/core.efi.
|
||||
(match arch
|
||||
("i686" "i386")
|
||||
("aarch64" "arm64")
|
||||
("riscv" "riscv32")
|
||||
(_ arch))
|
||||
"-efi/core.efi")))
|
||||
(with-imported-modules
|
||||
'((guix build union))
|
||||
#~(lambda (bootloader target mount-point)
|
||||
"Install the BOOTLOADER, which must be the package grub, as e.g.
|
||||
bootx64.efi or bootaa64.efi into SUBDIR, which is usually efi/Guix or efi/boot,
|
||||
below the directory TARGET for the system whose root is mounted at MOUNT-POINT.
|
||||
|
||||
MOUNT-POINT is the last argument in 'guix system init /etc/config.scm mnt/point'
|
||||
or '/' for other 'guix system' commands.
|
||||
|
||||
TARGET is the target argument given to the bootloader-configuration in
|
||||
|
||||
(operating-system
|
||||
(bootloader (bootloader-configuration
|
||||
(target \"/boot\")
|
||||
…))
|
||||
…)
|
||||
|
||||
TARGET is required to be an absolute directory name, usually mounted via NFS,
|
||||
and finally needs to be provided by a TFTP server as the TFTP root directory.
|
||||
|
||||
GRUB will load tftp://server/SUBDIR/grub.cfg and this file will instruct it to
|
||||
load more files from the store like tftp://server/gnu/store/…-linux…/Image.
|
||||
|
||||
To make this possible two symlinks will be created. The first symlink points
|
||||
relatively form MOUNT-POINT/TARGET/SUBDIR/grub.cfg to
|
||||
MOUNT-POINT/boot/grub/grub.cfg, and the second symlink points relatively from
|
||||
MOUNT-POINT/TARGET/%store-prefix to MOUNT-POINT/%store-prefix.
|
||||
|
||||
It is important to note that these symlinks need to be relativ, as the absolute
|
||||
paths on the TFTP server side are unknown.
|
||||
|
||||
It is also important to note that both symlinks will point outside the TFTP root
|
||||
directory and that the TARGET/%store-prefix symlink makes the whole store
|
||||
accessible via TFTP. Possibly the TFTP server must be configured
|
||||
to allow accesses outside its TFTP root directory. This may need to be
|
||||
considered for security aspects."
|
||||
(use-modules ((guix build union) #:select (symlink-relative)))
|
||||
(let* ((net-dir (string-append mount-point target "/"))
|
||||
(sub-dir (string-append net-dir #$subdir "/"))
|
||||
(store (string-append mount-point (%store-prefix)))
|
||||
(store-link (string-append net-dir (%store-prefix)))
|
||||
(grub-cfg (string-append mount-point "/boot/grub/grub.cfg"))
|
||||
(grub-cfg-link (string-append sub-dir (basename grub-cfg)))
|
||||
(boot-efi-link (string-append sub-dir #$boot-efi-link)))
|
||||
;; Prepare the symlink to the store.
|
||||
(mkdir-p (dirname store-link))
|
||||
(false-if-exception (delete-file store-link))
|
||||
(symlink-relative store store-link)
|
||||
;; Prepare the symlink to the grub.cfg, which points into the store.
|
||||
(mkdir-p (dirname grub-cfg-link))
|
||||
(false-if-exception (delete-file grub-cfg-link))
|
||||
(symlink-relative grub-cfg grub-cfg-link)
|
||||
;; Install GRUB, which refers to the grub.cfg, with support for
|
||||
;; encrypted partitions,
|
||||
(setenv "GRUB_ENABLE_CRYPTODISK" "y")
|
||||
(invoke/quiet (string-append bootloader "/bin/grub-mknetdir")
|
||||
(string-append "--net-directory=" net-dir)
|
||||
(string-append "--subdir=" #$subdir))
|
||||
;; Prepare the bootloader symlink, which points to core.efi of GRUB.
|
||||
(false-if-exception (delete-file boot-efi-link))
|
||||
(symlink #$core-efi boot-efi-link))))))
|
||||
|
||||
|
||||
|
||||
;;;
|
||||
|
@ -560,6 +678,12 @@ fi~%"))))
|
|||
(name 'grub-efi)
|
||||
(package grub-efi)))
|
||||
|
||||
(define grub-efi-netboot-bootloader
|
||||
(bootloader
|
||||
(inherit grub-efi-bootloader)
|
||||
(name 'grub-efi-netboot-bootloader)
|
||||
(installer (install-grub-efi-netboot "efi/Guix"))))
|
||||
|
||||
(define grub-mkrescue-bootloader
|
||||
(bootloader
|
||||
(inherit grub-efi-bootloader)
|
||||
|
|
|
@ -45,7 +45,7 @@
|
|||
u-boot-wandboard-bootloader))
|
||||
|
||||
(define install-u-boot
|
||||
#~(lambda (bootloader device mount-point)
|
||||
#~(lambda (bootloader root-index image)
|
||||
(if bootloader
|
||||
(error "Failed to install U-Boot"))))
|
||||
|
||||
|
@ -56,74 +56,74 @@
|
|||
;; the MLO and is expected at 0x60000. Write both first stage ("MLO") and
|
||||
;; second stage ("u-boot.img") images, read in BOOTLOADER directory, to the
|
||||
;; specified DEVICE.
|
||||
#~(lambda (bootloader device mount-point)
|
||||
#~(lambda (bootloader root-index image)
|
||||
(let ((mlo (string-append bootloader "/libexec/MLO"))
|
||||
(u-boot (string-append bootloader "/libexec/u-boot.img")))
|
||||
(write-file-on-device mlo (* 256 512)
|
||||
device (* 256 512))
|
||||
image (* 256 512))
|
||||
(write-file-on-device u-boot (* 1024 512)
|
||||
device (* 768 512)))))
|
||||
image (* 768 512)))))
|
||||
|
||||
(define install-allwinner-u-boot
|
||||
#~(lambda (bootloader device mount-point)
|
||||
#~(lambda (bootloader root-index image)
|
||||
(let ((u-boot (string-append bootloader
|
||||
"/libexec/u-boot-sunxi-with-spl.bin")))
|
||||
(write-file-on-device u-boot (stat:size (stat u-boot))
|
||||
device (* 8 1024)))))
|
||||
image (* 8 1024)))))
|
||||
|
||||
(define install-allwinner64-u-boot
|
||||
#~(lambda (bootloader device mount-point)
|
||||
#~(lambda (bootloader root-index image)
|
||||
(let ((spl (string-append bootloader "/libexec/spl/sunxi-spl.bin"))
|
||||
(u-boot (string-append bootloader "/libexec/u-boot.itb")))
|
||||
(write-file-on-device spl (stat:size (stat spl))
|
||||
device (* 8 1024))
|
||||
image (* 8 1024))
|
||||
(write-file-on-device u-boot (stat:size (stat u-boot))
|
||||
device (* 40 1024)))))
|
||||
image (* 40 1024)))))
|
||||
|
||||
(define install-imx-u-boot
|
||||
#~(lambda (bootloader device mount-point)
|
||||
#~(lambda (bootloader root-index image)
|
||||
(let ((spl (string-append bootloader "/libexec/SPL"))
|
||||
(u-boot (string-append bootloader "/libexec/u-boot.img")))
|
||||
(write-file-on-device spl (stat:size (stat spl))
|
||||
device (* 1 1024))
|
||||
image (* 1 1024))
|
||||
(write-file-on-device u-boot (stat:size (stat u-boot))
|
||||
device (* 69 1024)))))
|
||||
image (* 69 1024)))))
|
||||
|
||||
(define install-puma-rk3399-u-boot
|
||||
#~(lambda (bootloader device mount-point)
|
||||
#~(lambda (bootloader root-index image)
|
||||
(let ((spl (string-append bootloader "/libexec/u-boot-spl.rksd"))
|
||||
(u-boot (string-append bootloader "/libexec/u-boot.itb")))
|
||||
(write-file-on-device spl (stat:size (stat spl))
|
||||
device (* 64 512))
|
||||
image (* 64 512))
|
||||
(write-file-on-device u-boot (stat:size (stat u-boot))
|
||||
device (* 512 512)))))
|
||||
image (* 512 512)))))
|
||||
|
||||
(define install-firefly-rk3399-u-boot
|
||||
#~(lambda (bootloader device mount-point)
|
||||
#~(lambda (bootloader root-index image)
|
||||
(let ((idb (string-append bootloader "/libexec/idbloader.img"))
|
||||
(u-boot (string-append bootloader "/libexec/u-boot.itb")))
|
||||
(write-file-on-device idb (stat:size (stat idb))
|
||||
device (* 64 512))
|
||||
image (* 64 512))
|
||||
(write-file-on-device u-boot (stat:size (stat u-boot))
|
||||
device (* 16384 512)))))
|
||||
image (* 16384 512)))))
|
||||
|
||||
(define install-rock64-rk3328-u-boot
|
||||
#~(lambda (bootloader device mount-point)
|
||||
#~(lambda (bootloader root-index image)
|
||||
(let ((idb (string-append bootloader "/libexec/idbloader.img"))
|
||||
(u-boot (string-append bootloader "/libexec/u-boot.itb")))
|
||||
(write-file-on-device idb (stat:size (stat idb))
|
||||
device (* 64 512))
|
||||
image (* 64 512))
|
||||
(write-file-on-device u-boot (stat:size (stat u-boot))
|
||||
device (* 16384 512)))))
|
||||
image (* 16384 512)))))
|
||||
|
||||
(define install-rockpro64-rk3399-u-boot
|
||||
#~(lambda (bootloader device mount-point)
|
||||
#~(lambda (bootloader root-index image)
|
||||
(let ((idb (string-append bootloader "/libexec/idbloader.img"))
|
||||
(u-boot (string-append bootloader "/libexec/u-boot.itb")))
|
||||
(write-file-on-device idb (stat:size (stat idb))
|
||||
device (* 64 512))
|
||||
image (* 64 512))
|
||||
(write-file-on-device u-boot (stat:size (stat u-boot))
|
||||
device (* 16384 512)))))
|
||||
image (* 16384 512)))))
|
||||
|
||||
(define install-pinebook-pro-rk3399-u-boot install-rockpro64-rk3399-u-boot)
|
||||
|
||||
|
@ -138,28 +138,29 @@
|
|||
(inherit extlinux-bootloader)
|
||||
(name 'u-boot)
|
||||
(package #f)
|
||||
(installer install-u-boot)))
|
||||
(installer #f)
|
||||
(disk-image-installer install-u-boot)))
|
||||
|
||||
(define u-boot-beaglebone-black-bootloader
|
||||
(bootloader
|
||||
(inherit u-boot-bootloader)
|
||||
(package u-boot-am335x-boneblack)
|
||||
(installer install-beaglebone-black-u-boot)))
|
||||
(disk-image-installer install-beaglebone-black-u-boot)))
|
||||
|
||||
(define u-boot-allwinner-bootloader
|
||||
(bootloader
|
||||
(inherit u-boot-bootloader)
|
||||
(installer install-allwinner-u-boot)))
|
||||
(disk-image-installer install-allwinner-u-boot)))
|
||||
|
||||
(define u-boot-allwinner64-bootloader
|
||||
(bootloader
|
||||
(inherit u-boot-bootloader)
|
||||
(installer install-allwinner64-u-boot)))
|
||||
(disk-image-installer install-allwinner64-u-boot)))
|
||||
|
||||
(define u-boot-imx-bootloader
|
||||
(bootloader
|
||||
(inherit u-boot-bootloader)
|
||||
(installer install-imx-u-boot)))
|
||||
(disk-image-installer install-imx-u-boot)))
|
||||
|
||||
(define u-boot-nintendo-nes-classic-edition-bootloader
|
||||
(bootloader
|
||||
|
@ -196,7 +197,7 @@
|
|||
(bootloader
|
||||
(inherit u-boot-bootloader)
|
||||
(package u-boot-firefly-rk3399)
|
||||
(installer install-firefly-rk3399-u-boot)))
|
||||
(disk-image-installer install-firefly-rk3399-u-boot)))
|
||||
|
||||
(define u-boot-mx6cuboxi-bootloader
|
||||
(bootloader
|
||||
|
@ -232,25 +233,25 @@
|
|||
(bootloader
|
||||
(inherit u-boot-bootloader)
|
||||
(package u-boot-puma-rk3399)
|
||||
(installer install-puma-rk3399-u-boot)))
|
||||
(disk-image-installer install-puma-rk3399-u-boot)))
|
||||
|
||||
(define u-boot-rock64-rk3328-bootloader
|
||||
;; SD and eMMC use the same format
|
||||
(bootloader
|
||||
(inherit u-boot-bootloader)
|
||||
(package u-boot-rock64-rk3328)
|
||||
(installer install-rock64-rk3328-u-boot)))
|
||||
(disk-image-installer install-rock64-rk3328-u-boot)))
|
||||
|
||||
(define u-boot-rockpro64-rk3399-bootloader
|
||||
;; SD and eMMC use the same format
|
||||
(bootloader
|
||||
(inherit u-boot-bootloader)
|
||||
(package u-boot-rockpro64-rk3399)
|
||||
(installer install-rockpro64-rk3399-u-boot)))
|
||||
(disk-image-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)))
|
||||
(disk-image-installer install-pinebook-pro-rk3399-u-boot)))
|
||||
|
|
|
@ -22,6 +22,8 @@
|
|||
#:use-module (guix utils)
|
||||
#:use-module (ice-9 binary-ports)
|
||||
#:use-module (ice-9 format)
|
||||
#:use-module (rnrs io ports)
|
||||
#:use-module (rnrs io simple)
|
||||
#:export (write-file-on-device
|
||||
install-efi-loader))
|
||||
|
||||
|
@ -35,11 +37,14 @@
|
|||
(call-with-input-file file
|
||||
(lambda (input)
|
||||
(let ((bv (get-bytevector-n input size)))
|
||||
(call-with-output-file device
|
||||
(lambda (output)
|
||||
(seek output offset SEEK_SET)
|
||||
(put-bytevector output bv))
|
||||
#:binary #t)))))
|
||||
(call-with-port
|
||||
(open-file-output-port device
|
||||
(file-options no-truncate no-create)
|
||||
(buffer-mode block)
|
||||
(native-transcoder))
|
||||
(lambda (output)
|
||||
(seek output offset SEEK_SET)
|
||||
(put-bytevector output bv)))))))
|
||||
|
||||
|
||||
;;;
|
||||
|
|
|
@ -211,6 +211,9 @@ set."
|
|||
("dev/vcs" ("/hurd/console"))
|
||||
("dev/tty" ("/hurd/magic" "tty") #o666)
|
||||
|
||||
;; 'fd_to_filename' in libc expects it.
|
||||
("dev/fd" ("/hurd/magic" "--directory" "fd") #o555)
|
||||
|
||||
("dev/tty1" ("/hurd/term" "/dev/tty1" "hurdio" "/dev/vcs/1/console")
|
||||
#o666)
|
||||
("dev/tty2" ("/hurd/term" "/dev/tty2" "hurdio" "/dev/vcs/2/console")
|
||||
|
@ -240,10 +243,10 @@ set."
|
|||
(for-each scope-set-translator devices)
|
||||
|
||||
(false-if-EEXIST (symlink "/dev/random" (scope "dev/urandom")))
|
||||
(mkdir* "dev/fd")
|
||||
(false-if-EEXIST (symlink "/dev/fd/0" (scope "dev/stdin")))
|
||||
(false-if-EEXIST (symlink "/dev/fd/1" (scope "dev/stdout")))
|
||||
(false-if-EEXIST (symlink "/dev/fd/2" (scope "dev/stderr")))
|
||||
(false-if-EEXIST (symlink "crash-dump-core" (scope "servers/crash")))
|
||||
|
||||
;; Make sure /etc/mtab is a symlink to /proc/mounts.
|
||||
(false-if-exception (delete-file (scope "etc/mtab")))
|
||||
|
|
|
@ -37,6 +37,7 @@
|
|||
#:use-module (srfi srfi-34)
|
||||
#:use-module (srfi srfi-35)
|
||||
#:export (make-partition-image
|
||||
convert-disk-image
|
||||
genimage
|
||||
initialize-efi-partition
|
||||
initialize-root-partition
|
||||
|
@ -120,13 +121,22 @@ ROOT directory to populate the image."
|
|||
(format (current-error-port)
|
||||
"Unsupported partition type~%.")))))
|
||||
|
||||
(define* (genimage config target)
|
||||
(define (convert-disk-image image format output)
|
||||
"Convert IMAGE to OUTPUT according to the given FORMAT."
|
||||
(case format
|
||||
((compressed-qcow2)
|
||||
(begin
|
||||
(invoke "qemu-img" "convert" "-c" "-f" "raw"
|
||||
"-O" "qcow2" image output)))
|
||||
(else
|
||||
(copy-file image output))))
|
||||
|
||||
(define* (genimage config)
|
||||
"Use genimage to generate in TARGET directory, the image described in the
|
||||
given CONFIG file."
|
||||
;; genimage needs a 'root' directory.
|
||||
(mkdir "root")
|
||||
(invoke "genimage" "--config" config
|
||||
"--outputpath" target))
|
||||
(invoke "genimage" "--config" config))
|
||||
|
||||
(define* (register-closure prefix closure
|
||||
#:key
|
||||
|
|
|
@ -170,7 +170,8 @@ for the process."
|
|||
(pivot-root root put-old)
|
||||
(chdir "/")
|
||||
(umount "real-root" MNT_DETACH)
|
||||
(rmdir "real-root")))
|
||||
(rmdir "real-root")
|
||||
(chmod "/" #o755)))
|
||||
|
||||
(define* (initialize-user-namespace pid host-uids
|
||||
#:key (guest-uid 0) (guest-gid 0))
|
||||
|
|
|
@ -35,44 +35,86 @@
|
|||
;;;
|
||||
;;; Code:
|
||||
|
||||
(define* (secret-service-send-secrets port secret-root #:key (retry 60))
|
||||
"Copy all files under SECRET-ROOT using TCP to secret-service listening at
|
||||
local PORT. If connect fails, sleep 1s and retry RETRY times."
|
||||
(define-syntax log
|
||||
(lambda (s)
|
||||
"Log the given message."
|
||||
(syntax-case s ()
|
||||
((_ fmt args ...)
|
||||
(with-syntax ((fmt (string-append "secret service: "
|
||||
(syntax->datum #'fmt))))
|
||||
;; Log to the current output port. That way, when
|
||||
;; 'secret-service-send-secrets' is called from shepherd, output goes
|
||||
;; to syslog.
|
||||
#'(format (current-output-port) fmt args ...))))))
|
||||
|
||||
(define* (secret-service-send-secrets port secret-root
|
||||
#:key (retry 60)
|
||||
(handshake-timeout 120))
|
||||
"Copy all files under SECRET-ROOT using TCP to secret-service listening at
|
||||
local PORT. If connect fails, sleep 1s and retry RETRY times; once connected,
|
||||
wait for at most HANDSHAKE-TIMEOUT seconds for handshake to complete. Return
|
||||
#f on failure."
|
||||
(define (file->file+size+mode file-name)
|
||||
(let ((stat (stat file-name))
|
||||
(target (substring file-name (string-length secret-root))))
|
||||
(list target (stat:size stat) (stat:mode stat))))
|
||||
|
||||
(format (current-error-port) "sending secrets to ~a~%" port)
|
||||
(let ((sock (socket AF_INET SOCK_STREAM 0))
|
||||
(addr (make-socket-address AF_INET INADDR_LOOPBACK port)))
|
||||
;; connect to wait for port
|
||||
(let loop ((retry retry))
|
||||
(catch 'system-error
|
||||
(cute connect sock addr)
|
||||
(lambda (key . args)
|
||||
(when (zero? retry)
|
||||
(apply throw key args))
|
||||
(format (current-error-port) "retrying connection~%")
|
||||
(sleep 1)
|
||||
(loop (1- retry)))))
|
||||
|
||||
(format (current-error-port) "connected! sending files in ~s %~"
|
||||
secret-root)
|
||||
(define (send-files sock)
|
||||
(let* ((files (if secret-root (find-files secret-root) '()))
|
||||
(files-sizes-modes (map file->file+size+mode files))
|
||||
(secrets `(secrets
|
||||
(version 0)
|
||||
(files ,files-sizes-modes))))
|
||||
(write secrets sock)
|
||||
(for-each (compose (cute dump-port <> sock)
|
||||
(cute open-input-file <>))
|
||||
files))))
|
||||
(for-each (lambda (file)
|
||||
(call-with-input-file file
|
||||
(lambda (input)
|
||||
(dump-port input sock))))
|
||||
files)))
|
||||
|
||||
(log "sending secrets to ~a~%" port)
|
||||
(let ((sock (socket AF_INET SOCK_STREAM 0))
|
||||
(addr (make-socket-address AF_INET INADDR_LOOPBACK port)))
|
||||
;; Connect to QEMU on the forwarded port. The 'connect' call succeeds as
|
||||
;; soon as QEMU is ready, even if there's no server listening on the
|
||||
;; forward port inside the guest.
|
||||
(let loop ((retry retry))
|
||||
(catch 'system-error
|
||||
(cute connect sock addr)
|
||||
(lambda (key . args)
|
||||
(when (zero? retry)
|
||||
(apply throw key args))
|
||||
(log "retrying connection [~a attempts left]~%"
|
||||
(- retry 1))
|
||||
(sleep 1)
|
||||
(loop (1- retry)))))
|
||||
|
||||
(log "connected; waiting for handshake...~%")
|
||||
|
||||
;; Wait for "hello" message from the server. This is the only way to know
|
||||
;; that we're really connected to the server inside the guest.
|
||||
(match (select (list sock) '() '() handshake-timeout)
|
||||
(((_) () ())
|
||||
(match (read sock)
|
||||
(('secret-service-server ('version version ...))
|
||||
(log "sending files from ~s...~%" secret-root)
|
||||
(send-files sock)
|
||||
(log "done sending files to port ~a~%" port)
|
||||
(close-port sock)
|
||||
secret-root)
|
||||
(x
|
||||
(log "invalid handshake ~s~%" x)
|
||||
(close-port sock)
|
||||
#f)))
|
||||
((() () ()) ;timeout
|
||||
(log "timeout while sending files to ~a~%" port)
|
||||
(close-port sock)
|
||||
#f))))
|
||||
|
||||
(define (secret-service-receive-secrets port)
|
||||
"Listen to local PORT and wait for a secret service client to send secrets.
|
||||
Write them to the file system."
|
||||
Write them to the file system. Return the list of files installed on success,
|
||||
and #f otherwise."
|
||||
|
||||
(define (wait-for-client port)
|
||||
;; Wait for a TCP connection on PORT. Note: We cannot use the
|
||||
|
@ -81,16 +123,26 @@ Write them to the file system."
|
|||
(let ((sock (socket AF_INET SOCK_STREAM 0)))
|
||||
(bind sock AF_INET INADDR_ANY port)
|
||||
(listen sock 1)
|
||||
(format (current-error-port)
|
||||
"waiting for secrets on port ~a...~%"
|
||||
port)
|
||||
(match (accept sock)
|
||||
((client . address)
|
||||
(format (current-error-port) "client connection from ~a~%"
|
||||
(log "waiting for secrets on port ~a...~%" port)
|
||||
(match (select (list sock) '() '() 60)
|
||||
(((_) () ())
|
||||
(match (accept sock)
|
||||
((client . address)
|
||||
(log "client connection from ~a~%"
|
||||
(inet-ntop (sockaddr:fam address)
|
||||
(sockaddr:addr address)))
|
||||
|
||||
;; Send a "hello" message. This allows the client running on the
|
||||
;; host to know that it's now actually connected to server running
|
||||
;; in the guest.
|
||||
(write '(secret-service-server (version 0)) client)
|
||||
(force-output client)
|
||||
(close-port sock)
|
||||
client)))
|
||||
((() () ())
|
||||
(log "did not receive any secrets; time out~%")
|
||||
(close-port sock)
|
||||
client))))
|
||||
#f))))
|
||||
|
||||
;; TODO: Remove when (@ (guix build utils) dump-port) has a 'size'
|
||||
;; parameter.
|
||||
|
@ -115,23 +167,24 @@ Write them to the file system."
|
|||
(('secrets ('version 0)
|
||||
('files ((files sizes modes) ...)))
|
||||
(for-each (lambda (file size mode)
|
||||
(format (current-error-port)
|
||||
"installing file '~a' (~a bytes)...~%"
|
||||
file size)
|
||||
(log "installing file '~a' (~a bytes)...~%"
|
||||
file size)
|
||||
(mkdir-p (dirname file))
|
||||
(call-with-output-file file
|
||||
(lambda (output)
|
||||
(dump port output size)
|
||||
(chmod file mode))))
|
||||
files sizes modes))
|
||||
files sizes modes)
|
||||
(log "received ~a secret files~%" (length files))
|
||||
files)
|
||||
(_
|
||||
(format (current-error-port)
|
||||
"invalid secrets received~%")
|
||||
(log "invalid secrets received~%")
|
||||
#f)))
|
||||
|
||||
(let* ((port (wait-for-client port))
|
||||
(result (read-secrets port)))
|
||||
(close-port port)
|
||||
(let* ((port (wait-for-client port))
|
||||
(result (and=> port read-secrets)))
|
||||
(when port
|
||||
(close-port port))
|
||||
result))
|
||||
|
||||
;;; secret-service.scm ends here
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2020 Mathieu Othacehe <othacehe@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -196,11 +197,16 @@ namespace, in addition to essential bind-mounts such /proc."
|
|||
#:allow-other-keys
|
||||
#:rest args)
|
||||
"This is a variant of 'fork+exec-command' procedure, that joins the
|
||||
namespaces of process PID beforehand."
|
||||
(container-excursion* pid
|
||||
(lambda ()
|
||||
(apply fork+exec-command command
|
||||
(strip-keyword-arguments '(#:pid) args)))))
|
||||
namespaces of process PID beforehand. If there is no support for containers,
|
||||
on Hurd systems for instance, fallback to direct forking."
|
||||
(let ((container-support?
|
||||
(file-exists? "/proc/self/ns"))
|
||||
(fork-proc (lambda ()
|
||||
(apply fork+exec-command command
|
||||
(strip-keyword-arguments '(#:pid) args)))))
|
||||
(if container-support?
|
||||
(container-excursion* pid fork-proc)
|
||||
(fork-proc))))
|
||||
|
||||
;; Local Variables:
|
||||
;; eval: (put 'container-excursion* 'scheme-indent-function 1)
|
||||
|
|
98
gnu/ci.scm
98
gnu/ci.scm
|
@ -1,6 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2017, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2018, 2019 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu>
|
||||
;;;
|
||||
|
@ -56,6 +56,7 @@
|
|||
#:use-module (gnu system vm)
|
||||
#:use-module (gnu system install)
|
||||
#:use-module (gnu system images hurd)
|
||||
#:use-module (gnu system images pine64)
|
||||
#:use-module (gnu tests)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-26)
|
||||
|
@ -75,28 +76,36 @@
|
|||
#:optional (package-derivation package-derivation))
|
||||
"Convert PACKAGE to an alist suitable for Hydra."
|
||||
(parameterize ((%graft? #f))
|
||||
`((derivation . ,(derivation-file-name
|
||||
(package-derivation store package system
|
||||
#:graft? #f)))
|
||||
(description . ,(package-synopsis package))
|
||||
(long-description . ,(package-description package))
|
||||
(let ((drv (package-derivation store package system
|
||||
#:graft? #f)))
|
||||
`((derivation . ,(derivation-file-name drv))
|
||||
(log . ,(log-file store (derivation-file-name drv)))
|
||||
(outputs . ,(filter-map (lambda (res)
|
||||
(match res
|
||||
((name . path)
|
||||
`(,name . ,path))))
|
||||
(derivation->output-paths drv)))
|
||||
(nix-name . ,(derivation-name drv))
|
||||
(system . ,(derivation-system drv))
|
||||
(description . ,(package-synopsis package))
|
||||
(long-description . ,(package-description package))
|
||||
|
||||
;; XXX: Hydra ignores licenses that are not a <license> structure or a
|
||||
;; list thereof.
|
||||
(license . ,(let loop ((license (package-license package)))
|
||||
(match license
|
||||
((? license?)
|
||||
(license-name license))
|
||||
((lst ...)
|
||||
(map loop license)))))
|
||||
;; XXX: Hydra ignores licenses that are not a <license> structure or a
|
||||
;; list thereof.
|
||||
(license . ,(let loop ((license (package-license package)))
|
||||
(match license
|
||||
((? license?)
|
||||
(license-name license))
|
||||
((lst ...)
|
||||
(map loop license)))))
|
||||
|
||||
(home-page . ,(package-home-page package))
|
||||
(maintainers . ("bug-guix@gnu.org"))
|
||||
(max-silent-time . ,(or (assoc-ref (package-properties package)
|
||||
'max-silent-time)
|
||||
3600)) ;1 hour by default
|
||||
(timeout . ,(or (assoc-ref (package-properties package) 'timeout)
|
||||
72000))))) ;20 hours by default
|
||||
(home-page . ,(package-home-page package))
|
||||
(maintainers . ("bug-guix@gnu.org"))
|
||||
(max-silent-time . ,(or (assoc-ref (package-properties package)
|
||||
'max-silent-time)
|
||||
3600)) ;1 hour by default
|
||||
(timeout . ,(or (assoc-ref (package-properties package) 'timeout)
|
||||
72000)))))) ;20 hours by default
|
||||
|
||||
(define (package-job store job-name package system)
|
||||
"Return a job called JOB-NAME that builds PACKAGE on SYSTEM."
|
||||
|
@ -195,12 +204,21 @@ SYSTEM."
|
|||
'("x86_64-linux" "i686-linux"))
|
||||
|
||||
(define %guix-system-images
|
||||
(list hurd-barebones-disk-image))
|
||||
(list hurd-barebones-qcow2-image
|
||||
pine64-barebones-raw-image))
|
||||
|
||||
(define (image-jobs store system)
|
||||
"Return a list of jobs that build images for SYSTEM."
|
||||
(define (->alist drv)
|
||||
`((derivation . ,(derivation-file-name drv))
|
||||
(log . ,(log-file store (derivation-file-name drv)))
|
||||
(outputs . ,(filter-map (lambda (res)
|
||||
(match res
|
||||
((name . path)
|
||||
`(,name . ,path))))
|
||||
(derivation->output-paths drv)))
|
||||
(nix-name . ,(derivation-name drv))
|
||||
(system . ,(derivation-system drv))
|
||||
(description . "Stand-alone image of the GNU system")
|
||||
(long-description . "This is a demo stand-alone image of the GNU
|
||||
system.")
|
||||
|
@ -304,6 +322,14 @@ system.")
|
|||
(system-test-value test))))
|
||||
|
||||
`((derivation . ,(derivation-file-name drv))
|
||||
(log . ,(log-file store (derivation-file-name drv)))
|
||||
(outputs . ,(filter-map (lambda (res)
|
||||
(match res
|
||||
((name . path)
|
||||
`(,name . ,path))))
|
||||
(derivation->output-paths drv)))
|
||||
(nix-name . ,(derivation-name drv))
|
||||
(system . ,(derivation-system drv))
|
||||
(description . ,(format #f "Guix '~a' system test"
|
||||
(system-test-name test)))
|
||||
(long-description . ,(system-test-description test))
|
||||
|
@ -333,6 +359,14 @@ system.")
|
|||
"Return Hydra jobs to build the self-contained Guix binary tarball."
|
||||
(define (->alist drv)
|
||||
`((derivation . ,(derivation-file-name drv))
|
||||
(log . ,(log-file store (derivation-file-name drv)))
|
||||
(outputs . ,(filter-map (lambda (res)
|
||||
(match res
|
||||
((name . path)
|
||||
`(,name . ,path))))
|
||||
(derivation->output-paths drv)))
|
||||
(nix-name . ,(derivation-name drv))
|
||||
(system . ,(derivation-system drv))
|
||||
(description . "Stand-alone binary Guix tarball")
|
||||
(long-description . "This is a tarball containing binaries of Guix and
|
||||
all its dependencies, and ready to be installed on \"foreign\" distributions.")
|
||||
|
@ -511,20 +545,16 @@ Return #f if no such checkout is found."
|
|||
(cross-jobs store system)))
|
||||
((hello)
|
||||
;; Build hello package only.
|
||||
(if (string=? system (%current-system))
|
||||
(let ((hello (specification->package "hello")))
|
||||
(list (package-job store (job-name hello) hello system)))
|
||||
'()))
|
||||
(let ((hello (specification->package "hello")))
|
||||
(list (package-job store (job-name hello) hello system))))
|
||||
((list)
|
||||
;; Build selected list of packages only.
|
||||
(if (string=? system (%current-system))
|
||||
(let* ((names (assoc-ref arguments 'subset))
|
||||
(packages (map specification->package names)))
|
||||
(map (lambda (package)
|
||||
(package-job store (job-name package)
|
||||
package system))
|
||||
packages))
|
||||
'()))
|
||||
(let* ((names (assoc-ref arguments 'subset))
|
||||
(packages (map specification->package names)))
|
||||
(map (lambda (package)
|
||||
(package-job store (job-name package)
|
||||
package system))
|
||||
packages)))
|
||||
((manifests)
|
||||
;; Build packages in the list of manifests.
|
||||
(let* ((manifests (arguments->manifests arguments))
|
||||
|
|
|
@ -39,7 +39,14 @@
|
|||
image-partitions
|
||||
image-compression?
|
||||
image-volatile-root?
|
||||
image-substitutable?))
|
||||
image-substitutable?
|
||||
|
||||
image-type
|
||||
image-type?
|
||||
image-type-name
|
||||
image-type-constructor
|
||||
|
||||
os->image))
|
||||
|
||||
|
||||
;;;
|
||||
|
@ -84,3 +91,23 @@
|
|||
(default #t))
|
||||
(substitutable? image-substitutable? ;boolean
|
||||
(default #t)))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Image type.
|
||||
;;;
|
||||
|
||||
(define-record-type* <image-type>
|
||||
image-type make-image-type
|
||||
image-type?
|
||||
(name image-type-name) ;symbol
|
||||
(constructor image-type-constructor)) ;<operating-system> -> <image>
|
||||
|
||||
|
||||
;;;
|
||||
;;; Image creation.
|
||||
;;;
|
||||
|
||||
(define* (os->image os #:key type)
|
||||
(let ((constructor (image-type-constructor type)))
|
||||
(constructor os)))
|
||||
|
|
|
@ -71,7 +71,7 @@
|
|||
(_ #f)))
|
||||
|
||||
(define* (build-compiled-file name locale-builder)
|
||||
"Return a file-like object that evalutes the gexp LOCALE-BUILDER and store
|
||||
"Return a file-like object that evaluates the gexp LOCALE-BUILDER and store
|
||||
its result in the scheme file NAME. The derivation will also build a compiled
|
||||
version of this file."
|
||||
(define set-utf8-locale
|
||||
|
@ -308,7 +308,8 @@ selected keymap."
|
|||
;; translated.
|
||||
#~(begin
|
||||
(bindtextdomain "guix" (string-append #$guix "/share/locale"))
|
||||
(textdomain "guix")))
|
||||
(textdomain "guix")
|
||||
(setlocale LC_ALL "")))
|
||||
|
||||
(define set-installer-path
|
||||
;; Add the specified binary to PATH for later use by the installer.
|
||||
|
|
|
@ -180,7 +180,7 @@ Return the corresponding association list of '((KEY . VALUE) (KEY2 . VALUE2)
|
|||
(define (connman-state)
|
||||
"Return the state of connman. The nominal states are 'offline, 'idle,
|
||||
'ready, 'oneline. If an unexpected state is read, 'unknown is
|
||||
returned. Finally, an error is raised if the comman output could not be
|
||||
returned. Finally, an error is raised if the connman output could not be
|
||||
parsed, usually because the connman daemon is not responding."
|
||||
(let* ((output (connman "state"))
|
||||
(state-keys (parse-keys output)))
|
||||
|
|
|
@ -107,7 +107,7 @@ problem. The backtrace is displayed below. Please report it by email to \
|
|||
(run-user-page))
|
||||
|
||||
(define (partition-page)
|
||||
(run-partioning-page))
|
||||
(run-partitioning-page))
|
||||
|
||||
(define (services-page)
|
||||
(run-services-page))
|
||||
|
|
|
@ -106,7 +106,7 @@ symbol.")
|
|||
territory, codeset and modifier. Use SUPPORTED-LOCALES as the list of glibc
|
||||
available locales. ISO639-LANGUAGES is an association list associating a
|
||||
locale code to a locale name. ISO3166-TERRITORIES is an association list
|
||||
associating a territory code with a territory name. The formated locale, under
|
||||
associating a territory code with a territory name. The formatted locale, under
|
||||
glibc format is returned."
|
||||
|
||||
(define (break-on-locale-found locales)
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
#:use-module (srfi srfi-35)
|
||||
#:use-module (newt)
|
||||
#:use-module (parted)
|
||||
#:export (run-partioning-page))
|
||||
#:export (run-partitioning-page))
|
||||
|
||||
(define (button-exit-action)
|
||||
"Raise the &installer-step-abort condition."
|
||||
|
@ -725,7 +725,7 @@ by pressing the Exit button.~%~%")))
|
|||
(run-disk-page result-disks new-user-partitions
|
||||
#:guided? guided?)))))
|
||||
|
||||
(define (run-partioning-page)
|
||||
(define (run-partitioning-page)
|
||||
"Run a page asking the user for a partitioning method."
|
||||
(define (run-page devices)
|
||||
(let* ((items
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -40,7 +41,7 @@ choose the one to use on the log-in screen.")
|
|||
#:items items
|
||||
#:selection (map system-service-recommended? items)
|
||||
#:item->text system-service-name ;no i18n for DE names
|
||||
#:checkbox-tree-height 8
|
||||
#:checkbox-tree-height 9
|
||||
#:exit-button-callback-procedure
|
||||
(lambda ()
|
||||
(raise
|
||||
|
|
|
@ -1201,13 +1201,13 @@ the FS-TYPE field set to 'swap, return the empty list if none found."
|
|||
user-partitions))
|
||||
|
||||
(define (start-swapping user-partitions)
|
||||
"Start swaping on <user-partition> records with FS-TYPE equal to 'swap."
|
||||
"Start swapping on <user-partition> records with FS-TYPE equal to 'swap."
|
||||
(let* ((swap-user-partitions (find-swap-user-partitions user-partitions))
|
||||
(swap-devices (map user-partition-file-name swap-user-partitions)))
|
||||
(for-each swapon swap-devices)))
|
||||
|
||||
(define (stop-swapping user-partitions)
|
||||
"Stop swaping on <user-partition> records with FS-TYPE equal to 'swap."
|
||||
"Stop swapping on <user-partition> records with FS-TYPE equal to 'swap."
|
||||
(let* ((swap-user-partitions (find-swap-user-partitions user-partitions))
|
||||
(swap-devices (map user-partition-file-name swap-user-partitions)))
|
||||
(for-each swapoff swap-devices)))
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -82,6 +83,11 @@
|
|||
(name "ratpoison")
|
||||
(packages '((specification->package "ratpoison")
|
||||
(specification->package "xterm"))))
|
||||
(desktop-environment
|
||||
(name "Emacs EXWM")
|
||||
(packages '((specification->package "emacs")
|
||||
(specification->package "emacs-exwm")
|
||||
(specification->package "emacs-desktop-environment"))))
|
||||
|
||||
;; Networking.
|
||||
(system-service
|
||||
|
|
|
@ -88,7 +88,7 @@
|
|||
(rewind-strategy 'previous)
|
||||
(menu-proc (const #f)))
|
||||
"Run the COMPUTE procedure of all <installer-step> records in STEPS
|
||||
sequencially. If the &installer-step-abort condition is raised, fallback to a
|
||||
sequentially. If the &installer-step-abort condition is raised, fallback to a
|
||||
previous install-step, accordingly to the specified REWIND-STRATEGY.
|
||||
|
||||
REWIND-STRATEGY possible values are 'previous, 'menu and 'start. If 'previous
|
||||
|
|
40
gnu/local.mk
40
gnu/local.mk
|
@ -144,6 +144,8 @@ GNU_SYSTEM_MODULES = \
|
|||
%D%/packages/cppi.scm \
|
||||
%D%/packages/cran.scm \
|
||||
%D%/packages/crates-io.scm \
|
||||
%D%/packages/crates-graphics.scm \
|
||||
%D%/packages/crates-gtk.scm \
|
||||
%D%/packages/cross-base.scm \
|
||||
%D%/packages/crypto.scm \
|
||||
%D%/packages/cryptsetup.scm \
|
||||
|
@ -646,6 +648,7 @@ GNU_SYSTEM_MODULES = \
|
|||
%D%/system/vm.scm \
|
||||
\
|
||||
%D%/system/images/hurd.scm \
|
||||
%D%/system/images/pine64.scm \
|
||||
\
|
||||
%D%/machine.scm \
|
||||
\
|
||||
|
@ -858,6 +861,7 @@ dist_patch_DATA = \
|
|||
%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-11.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/clang-runtime-9-libsanitizer-mode-field.patch \
|
||||
|
@ -894,7 +898,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/dbus-c++-gcc-compat.patch \
|
||||
%D%/packages/patches/dbus-c++-threading-mutex.patch \
|
||||
%D%/packages/patches/dbxfs-remove-sentry-sdk.patch \
|
||||
%D%/packages/patches/dconf-meson-0.52.patch \
|
||||
%D%/packages/patches/debops-constants-for-external-program-names.patch \
|
||||
%D%/packages/patches/debops-debops-defaults-fall-back-to-less.patch \
|
||||
%D%/packages/patches/dee-vapi.patch \
|
||||
|
@ -969,6 +972,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/foomatic-filters-CVE-2015-8560.patch \
|
||||
%D%/packages/patches/fontconfig-hurd-path-max.patch \
|
||||
%D%/packages/patches/fpc-reproducibility.patch \
|
||||
%D%/packages/patches/fplll-std-fenv.patch \
|
||||
%D%/packages/patches/freedink-engine-fix-sdl-hints.patch \
|
||||
%D%/packages/patches/freeimage-unbundle.patch \
|
||||
%D%/packages/patches/fuse-overlapping-headers.patch \
|
||||
|
@ -1069,6 +1073,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/gmp-faulty-test.patch \
|
||||
%D%/packages/patches/gnome-shell-theme.patch \
|
||||
%D%/packages/patches/gnome-shell-disable-test.patch \
|
||||
%D%/packages/patches/gnome-settings-daemon-gc.patch \
|
||||
%D%/packages/patches/gnome-todo-delete-esource-duplicate.patch \
|
||||
%D%/packages/patches/gnome-tweaks-search-paths.patch \
|
||||
%D%/packages/patches/gnupg-default-pinentry.patch \
|
||||
|
@ -1084,6 +1089,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/gpsbabel-qstring.patch \
|
||||
%D%/packages/patches/grantlee-merge-theme-dirs.patch \
|
||||
%D%/packages/patches/grep-timing-sensitive-test.patch \
|
||||
%D%/packages/patches/grim-revert-output-rotation.patch \
|
||||
%D%/packages/patches/grocsvs-dont-use-admiral.patch \
|
||||
%D%/packages/patches/gromacs-tinyxml2.patch \
|
||||
%D%/packages/patches/groovy-add-exceptionutilsgenerator.patch \
|
||||
|
@ -1132,6 +1138,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/hubbub-sort-entities.patch \
|
||||
%D%/packages/patches/hurd-cross.patch \
|
||||
%D%/packages/patches/hurd-xattr.patch \
|
||||
%D%/packages/patches/hplip-fix-bug-1898438.patch \
|
||||
%D%/packages/patches/hplip-remove-imageprocessor.patch \
|
||||
%D%/packages/patches/hydra-disable-darcs-test.patch \
|
||||
%D%/packages/patches/icecat-makeicecat.patch \
|
||||
|
@ -1155,8 +1162,14 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/json-c-0.13-CVE-2020-12762.patch \
|
||||
%D%/packages/patches/json-c-0.12-CVE-2020-12762.patch \
|
||||
%D%/packages/patches/jacal-fix-texinfo.patch \
|
||||
%D%/packages/patches/jamvm-1.5.1-aarch64-support.patch \
|
||||
%D%/packages/patches/jamvm-1.5.1-armv7-support.patch \
|
||||
%D%/packages/patches/jamvm-2.0.0-aarch64-support.patch \
|
||||
%D%/packages/patches/jamvm-2.0.0-disable-branch-patching.patch \
|
||||
%D%/packages/patches/jamvm-arm.patch \
|
||||
%D%/packages/patches/jamvm-2.0.0-opcode-guard.patch \
|
||||
%D%/packages/patches/java-antlr4-Add-standalone-generator.patch \
|
||||
%D%/packages/patches/java-antlr4-fix-code-too-large.java \
|
||||
%D%/packages/patches/java-tunnelvisionlabs-antlr-code-too-large.patch \
|
||||
%D%/packages/patches/java-apache-ivy-port-to-latest-bouncycastle.patch \
|
||||
%D%/packages/patches/java-commons-collections-fix-java8.patch \
|
||||
%D%/packages/patches/java-jeromq-fix-tests.patch \
|
||||
|
@ -1198,7 +1211,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/kodi-increase-test-timeout.patch \
|
||||
%D%/packages/patches/kodi-set-libcurl-ssl-parameters.patch \
|
||||
%D%/packages/patches/kodi-skip-test-449.patch \
|
||||
%D%/packages/patches/konversation-Fix-build-with-Qt-5.11.patch \
|
||||
%D%/packages/patches/laby-make-install.patch \
|
||||
%D%/packages/patches/lcalc-default-parameters-1.patch \
|
||||
%D%/packages/patches/lcalc-default-parameters-2.patch \
|
||||
|
@ -1219,14 +1231,14 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/libbase-use-own-logging.patch \
|
||||
%D%/packages/patches/libbonobo-activation-test-race.patch \
|
||||
%D%/packages/patches/libcanberra-sound-theme-freedesktop.patch \
|
||||
%D%/packages/patches/libdrm-realpath-virtio.patch \
|
||||
%D%/packages/patches/libcanberra-wayland-crash.patch \
|
||||
%D%/packages/patches/libcyaml-libyaml-compat.patch \
|
||||
%D%/packages/patches/libgeotiff-adapt-test-script-for-proj-6.2.patch \
|
||||
%D%/packages/patches/libgit2-mtime-0.patch \
|
||||
%D%/packages/patches/libgnome-encoding.patch \
|
||||
%D%/packages/patches/libgnomeui-utf8.patch \
|
||||
%D%/packages/patches/libjxr-fix-function-signature.patch \
|
||||
%D%/packages/patches/libjxr-fix-typos.patch \
|
||||
%D%/packages/patches/liblouisutdml-fix-tests.patch \
|
||||
%D%/packages/patches/libofa-ftbfs-1.diff \
|
||||
%D%/packages/patches/libofa-curl.diff \
|
||||
%D%/packages/patches/libofa-ftbfs-2.diff \
|
||||
|
@ -1244,10 +1256,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/libmygpo-qt-missing-qt5-modules.patch \
|
||||
%D%/packages/patches/libqalculate-3.8.0-libcurl-ssl-fix.patch \
|
||||
%D%/packages/patches/libquicktime-ffmpeg.patch \
|
||||
%D%/packages/patches/libsndfile-armhf-type-checks.patch \
|
||||
%D%/packages/patches/libsndfile-CVE-2017-8361-8363-8365.patch \
|
||||
%D%/packages/patches/libsndfile-CVE-2017-8362.patch \
|
||||
%D%/packages/patches/libsndfile-CVE-2017-12562.patch \
|
||||
%D%/packages/patches/libtar-CVE-2013-4420.patch \
|
||||
%D%/packages/patches/libtgvoip-disable-sse2.patch \
|
||||
%D%/packages/patches/libtgvoip-disable-webrtc.patch \
|
||||
|
@ -1283,6 +1291,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/lm-sensors-hwmon-attrs.patch \
|
||||
%D%/packages/patches/lrcalc-includes.patch \
|
||||
%D%/packages/patches/lrzip-CVE-2017-8842.patch \
|
||||
%D%/packages/patches/lsh-fix-x11-forwarding.patch \
|
||||
%D%/packages/patches/lua-CVE-2014-5461.patch \
|
||||
%D%/packages/patches/lua-pkgconfig.patch \
|
||||
%D%/packages/patches/lua51-liblua-so.patch \
|
||||
|
@ -1291,8 +1300,8 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/luajit-no_ldconfig.patch \
|
||||
%D%/packages/patches/luit-posix.patch \
|
||||
%D%/packages/patches/lvm2-static-link.patch \
|
||||
%D%/packages/patches/mailutils-fix-uninitialized-variable.patch \
|
||||
%D%/packages/patches/make-impure-dirs.patch \
|
||||
%D%/packages/patches/mariadb-client-test-32bit.patch \
|
||||
%D%/packages/patches/mars-install.patch \
|
||||
%D%/packages/patches/mars-sfml-2.3.patch \
|
||||
%D%/packages/patches/maxima-defsystem-mkdir.patch \
|
||||
|
@ -1351,9 +1360,10 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/nfs4-acl-tools-0.3.7-fixpaths.patch \
|
||||
%D%/packages/patches/ngircd-handle-zombies.patch \
|
||||
%D%/packages/patches/network-manager-plugin-path.patch \
|
||||
%D%/packages/patches/nginx-socket-cloexec.patch \
|
||||
%D%/packages/patches/nsis-env-passthru.patch \
|
||||
%D%/packages/patches/nss-increase-test-timeout.patch \
|
||||
%D%/packages/patches/nss-pkgconfig.patch \
|
||||
%D%/packages/patches/nss-3.56-pkgconfig.patch \
|
||||
%D%/packages/patches/ntfs-3g-CVE-2019-9755.patch \
|
||||
%D%/packages/patches/nvi-assume-preserve-path.patch \
|
||||
%D%/packages/patches/nvi-dbpagesize-binpower.patch \
|
||||
|
@ -1400,6 +1410,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/pango-skip-libthai-test.patch \
|
||||
%D%/packages/patches/pciutils-hurd-configure.patch \
|
||||
%D%/packages/patches/ppsspp-disable-upgrade-and-gold.patch \
|
||||
%D%/packages/patches/samba-fix-fcntl-hint-detection.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 \
|
||||
|
@ -1407,6 +1418,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/sdl-pango-matrix_declarations.patch \
|
||||
%D%/packages/patches/sdl-pango-sans-serif.patch \
|
||||
%D%/packages/patches/sqlite-hurd.patch \
|
||||
%D%/packages/patches/sunxi-tools-remove-sys-io.patch \
|
||||
%D%/packages/patches/patchutils-test-perms.patch \
|
||||
%D%/packages/patches/patch-hurd-path-max.patch \
|
||||
%D%/packages/patches/perl-autosplit-default-time.patch \
|
||||
|
@ -1421,6 +1433,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/perl-module-pluggable-search.patch \
|
||||
%D%/packages/patches/perl-reproducible-build-date.patch \
|
||||
%D%/packages/patches/perl-www-curl-remove-symbol.patch \
|
||||
%D%/packages/patches/picard-fix-id3-rename-test.patch \
|
||||
%D%/packages/patches/picprog-non-intel-support.patch \
|
||||
%D%/packages/patches/pidgin-add-search-path.patch \
|
||||
%D%/packages/patches/pidgin-libnm.patch \
|
||||
|
@ -1481,7 +1494,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/python2-larch-coverage-4.0a6-compatibility.patch \
|
||||
%D%/packages/patches/python-configobj-setuptools.patch \
|
||||
%D%/packages/patches/python-flask-restful-werkzeug-compat.patch \
|
||||
%D%/packages/patches/python-gst-fix-build-with-python-3.8.patch \
|
||||
%D%/packages/patches/python-keras-integration-test.patch \
|
||||
%D%/packages/patches/python-pep8-stdlib-tokenize-compat.patch \
|
||||
%D%/packages/patches/python-pyfakefs-remove-bad-test.patch \
|
||||
|
@ -1506,6 +1518,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/python-unittest2-remove-argparse.patch \
|
||||
%D%/packages/patches/python-waitress-fix-tests.patch \
|
||||
%D%/packages/patches/pypy3-7.3.1-fix-tests.patch \
|
||||
%D%/packages/patches/qemu-build-info-manual.patch \
|
||||
%D%/packages/patches/qemu-glibc-2.27.patch \
|
||||
%D%/packages/patches/qrcodegen-cpp-make-install.patch \
|
||||
%D%/packages/patches/qt4-ldflags.patch \
|
||||
|
@ -1555,7 +1568,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/rust-reproducible-builds.patch \
|
||||
%D%/packages/patches/rust-openssl-sys-no-vendor.patch \
|
||||
%D%/packages/patches/rxvt-unicode-escape-sequences.patch \
|
||||
%D%/packages/patches/sbcl-graph-asdf-definitions.patch \
|
||||
%D%/packages/patches/scalapack-blacs-mpi-deprecations.patch \
|
||||
%D%/packages/patches/scheme48-tests.patch \
|
||||
%D%/packages/patches/scotch-build-parallelism.patch \
|
||||
|
@ -1625,6 +1637,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/ucx-tcp-iface-ioctl.patch \
|
||||
%D%/packages/patches/udiskie-no-appindicator.patch \
|
||||
%D%/packages/patches/ungoogled-chromium-system-nspr.patch \
|
||||
%D%/packages/patches/unison-fix-ocaml-4.08.patch \
|
||||
%D%/packages/patches/unknown-horizons-python-3.8-distro.patch \
|
||||
%D%/packages/patches/unzip-CVE-2014-8139.patch \
|
||||
%D%/packages/patches/unzip-CVE-2014-8140.patch \
|
||||
|
@ -1688,6 +1701,7 @@ dist_patch_DATA = \
|
|||
%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/xpra-4.0.1-systemd-run.patch \
|
||||
%D%/packages/patches/xpra-4.0.4-norequests.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 \
|
||||
|
|
|
@ -480,6 +480,8 @@ an environment type of 'managed-host."
|
|||
(raise roll-back-failure)))
|
||||
(entries -> (map boot-parameters->menu-entry
|
||||
(list (second boot-parameters))))
|
||||
(locale -> (boot-parameters-locale
|
||||
(second boot-parameters)))
|
||||
(old-entries -> (map boot-parameters->menu-entry
|
||||
(drop boot-parameters 2)))
|
||||
(bootloader -> (operating-system-bootloader
|
||||
|
@ -489,6 +491,7 @@ an environment type of 'managed-host."
|
|||
(bootloader-configuration-bootloader
|
||||
bootloader))
|
||||
bootloader entries
|
||||
#:locale locale
|
||||
#:old-entries old-entries)))
|
||||
(remote-result (machine-remote-eval machine remote-exp)))
|
||||
(when (eqv? 'error remote-result)
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
|
||||
(define-module (gnu packages abduco)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix packages))
|
||||
|
@ -37,7 +38,7 @@
|
|||
"1x1m58ckwsprljgmdy93mvgjyg9x3cqrzdf3mysp0mx97zhhj2f9"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags (list "CC=gcc"
|
||||
`(#:make-flags (list (string-append "CC=" ,(cc-for-target))
|
||||
(string-append "PREFIX=" (assoc-ref %outputs "out")))
|
||||
#:phases (modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019 Andrew Miloradovsky <andrew@interpretmath.pw>
|
||||
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -272,7 +273,7 @@ available to help to click.")
|
|||
`(("hidapi" ,hidapi)))
|
||||
(arguments
|
||||
`(#:tests? #f ; no tests
|
||||
#:make-flags (list "CC=gcc")
|
||||
#:make-flags (list (string-append "CC=" ,(cc-for-target)))
|
||||
#:phases (modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
;; Install target in the Makefile does not work for Guix
|
||||
|
@ -308,7 +309,7 @@ devices have vendorId:productId = 0c45:7403 or 0c45:7404.")
|
|||
(arguments
|
||||
`(#:tests? #f ; none included
|
||||
#:make-flags
|
||||
(list "CC=gcc"
|
||||
(list (string-append "CC=" ,(cc-for-target))
|
||||
(string-append "prefix=" (assoc-ref %outputs "out")))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -25,6 +26,7 @@
|
|||
#:use-module (guix licenses)
|
||||
#:use-module (gnu packages attr)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages hurd)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (guix packages)
|
||||
|
@ -49,6 +51,7 @@
|
|||
`(#:modules ((ice-9 ftw)
|
||||
,@%gnu-build-system-modules)
|
||||
#:configure-flags '("--disable-static")
|
||||
#:tests? ,(not (hurd-target?))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; XXX After repacking the sources the timestamps are reset to the
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2016 Pjotr Prins <pjotr.guix@thebird.nl>
|
||||
;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; 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 Peter Feigl <peter.feigl@nexoid.at>
|
||||
;;; Copyright © 2016 John J. Foerch <jjfoerch@earthlink.net>
|
||||
;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
|
||||
|
@ -443,7 +443,7 @@ graphs and can export its output to different formats.")
|
|||
(define-public facter
|
||||
(package
|
||||
(name "facter")
|
||||
(version "4.0.35")
|
||||
(version "4.0.43")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -452,7 +452,7 @@ graphs and can export its output to different formats.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1f203g2hp96cp8w4x1myhqdj5j09z9s23kylwkrxr69fjhn0vhnb"))))
|
||||
"0ppzr7vsl6iw8x82c4g60mx1vz06nzwcy8byablhg0n0g6qa3pb0"))))
|
||||
(build-system ruby-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
@ -514,7 +514,7 @@ or via the @code{facter} Ruby library.")
|
|||
(define-public htop
|
||||
(package
|
||||
(name "htop")
|
||||
(version "3.0.1")
|
||||
(version "3.0.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -522,7 +522,7 @@ or via the @code{facter} Ruby library.")
|
|||
(url "https://github.com/htop-dev/htop")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32 "0kjlphdvwwbj91kk91s4ksc954d3c2bznddzx2223jmb1bn9rcsa"))
|
||||
(base32 "1qmqhbnc5yw4brd24yrp85k09770c1c00nl03mkv5pdz2bvqivk7"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
|
@ -834,7 +834,7 @@ would need and has several interesting built-in capabilities.")
|
|||
(define-public netcat-openbsd
|
||||
(package
|
||||
(name "netcat-openbsd")
|
||||
(version "1.217-1")
|
||||
(version "1.217-2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -843,12 +843,12 @@ would need and has several interesting built-in capabilities.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0kcvi3pav2fdx5c22psjv5dggk4cmrqiaq2cklhqngsk4a7vrjan"))))
|
||||
"19sr52ix14w344pv13ppb0c1wyg5dxhic1fw2q0s3qfmx57b9hhp"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no test suite
|
||||
#:make-flags
|
||||
(list "CC=gcc")
|
||||
(list (string-append "CC=" ,(cc-for-target)))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
|
@ -1404,7 +1404,7 @@ system administrator.")
|
|||
(define-public sudo
|
||||
(package
|
||||
(name "sudo")
|
||||
(version "1.9.2")
|
||||
(version "1.9.3p1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
|
@ -1414,25 +1414,19 @@ system administrator.")
|
|||
version ".tar.gz")))
|
||||
(sha256
|
||||
(base32
|
||||
"05432672iilb7s52j9l9xzrlambb1wg3k7qvf5973i41y40x563w"))
|
||||
"17mldsg5d08s23cskmjxfa81ibnqw3slgf3l4023j72ywi9xxffw"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
(delete-file-recursively "lib/zlib")
|
||||
#t))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs (list "out" "python"))
|
||||
(outputs (list "out"))
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list (string-append "--docdir=" (assoc-ref %outputs "out")
|
||||
"/share/doc/" ,name "-" ,version)
|
||||
|
||||
;; XXX: Disable Python support when cross-compiling because
|
||||
;; 'configure' tries to run 'python', which fails.
|
||||
,(if (%current-target-system)
|
||||
"--disable-python"
|
||||
"--enable-python") ; for plug-ins written in ~
|
||||
|
||||
"--with-logpath=/var/log/sudo.log"
|
||||
"--with-rundir=/var/run/sudo" ; must be cleaned up at boot time
|
||||
"--with-vardir=/var/db/sudo"
|
||||
|
@ -1479,34 +1473,19 @@ system administrator.")
|
|||
(substitute* "plugins/sudoers/Makefile.in"
|
||||
(("^pre-install:" match)
|
||||
(string-append match "\ndisabled-" match)))
|
||||
#t))
|
||||
(add-after 'install 'separate-python-output
|
||||
(lambda* (#:key target outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(out:python (assoc-ref outputs "python")))
|
||||
(if target
|
||||
(mkdir-p (string-append out:python "/empty"))
|
||||
(for-each
|
||||
(lambda (file)
|
||||
(let ((old (string-append out "/" file))
|
||||
(new (string-append out:python "/" file)))
|
||||
(mkdir-p (dirname new))
|
||||
(rename-file old new)))
|
||||
(list "libexec/sudo/python_plugin.so"
|
||||
"libexec/sudo/python_plugin.la")))
|
||||
#t))))
|
||||
#t)))
|
||||
|
||||
;; 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)))
|
||||
;; XXX TODO: Remove on next rebuild cycle.
|
||||
(if (hurd-target?)
|
||||
'()
|
||||
`(("groff" ,groff))))
|
||||
(inputs
|
||||
`(("coreutils" ,coreutils)
|
||||
("linux-pam" ,linux-pam)
|
||||
,@(if (%current-target-system)
|
||||
'()
|
||||
`(("python" ,python)))
|
||||
("zlib" ,zlib)))
|
||||
(home-page "https://www.sudo.ws/")
|
||||
(synopsis "Run commands as root")
|
||||
|
@ -1837,21 +1816,24 @@ network, which causes enabled computers to power on.")
|
|||
(define-public dmidecode
|
||||
(package
|
||||
(name "dmidecode")
|
||||
(version "3.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://savannah/dmidecode/dmidecode-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1pcfhcgs2ifdjwp7amnsr3lq95pgxpr150bjhdinvl505px0cw07"))))
|
||||
(version "3.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://savannah/dmidecode/dmidecode-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "0m8lzg9rf1qssasiix672bxk5qwms90561g8hfkkhk31h2kkgiw2"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases (modify-phases %standard-phases (delete 'configure))
|
||||
#:tests? #f ; no 'check' target
|
||||
#:make-flags (list (string-append "prefix="
|
||||
(assoc-ref %outputs "out")))))
|
||||
`(#:tests? #f ; no 'check' target
|
||||
#:make-flags
|
||||
(list (string-append "CC=" ,(cc-for-target))
|
||||
(string-append "prefix="
|
||||
(assoc-ref %outputs "out")))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)))) ; no configure script
|
||||
(home-page "https://www.nongnu.org/dmidecode/")
|
||||
(synopsis "Read hardware information from the BIOS")
|
||||
(description
|
||||
|
@ -2613,14 +2595,14 @@ done with the @code{auditctl} utility.")
|
|||
(define-public nmap
|
||||
(package
|
||||
(name "nmap")
|
||||
(version "7.80")
|
||||
(version "7.91")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://nmap.org/dist/nmap-" version
|
||||
".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1aizfys6l9f9grm82bk878w56mg0zpkfns3spzj157h98875mypw"))
|
||||
"001kb5xadqswyw966k2lqi6jr6zz605jpp9w4kmm272if184pk0q"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
@ -2698,7 +2680,7 @@ advanced netcat implementation (ncat), a utility for comparing scan
|
|||
results (ndiff), and a packet generation and response analysis tool (nping).")
|
||||
;; This package uses nmap's bundled versions of libdnet and liblinear, which
|
||||
;; both use a 3-clause BSD license.
|
||||
(license (list license:nmap license:bsd-3))))
|
||||
(license (list license:npsl license:bsd-3))))
|
||||
|
||||
(define-public dstat
|
||||
(package
|
||||
|
@ -2718,9 +2700,8 @@ results (ndiff), and a packet generation and response analysis tool (nping).")
|
|||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no make check
|
||||
#:make-flags (let ((out (assoc-ref %outputs "out")))
|
||||
(list (string-append "DESTDIR=" out)
|
||||
"prefix=/"))
|
||||
#:make-flags
|
||||
(list (string-append "prefix=" (assoc-ref %outputs "out")))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-python3-DeprecationWarning
|
||||
|
@ -2952,6 +2933,8 @@ Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.")
|
|||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "04f3jqg8ww4jxsf9c6ddcdgy2xbhkyp0b3l5f1hvvbv94p81rjxd"))
|
||||
(patches
|
||||
(search-patches "sunxi-tools-remove-sys-io.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Remove binaries contained in the tarball which are only for the
|
||||
|
@ -3595,7 +3578,7 @@ Python loading in HPC environments.")
|
|||
(let ((real-name "inxi"))
|
||||
(package
|
||||
(name "inxi-minimal")
|
||||
(version "3.1.06-1")
|
||||
(version "3.1.07-1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -3604,7 +3587,7 @@ Python loading in HPC environments.")
|
|||
(commit version)))
|
||||
(file-name (git-file-name real-name version))
|
||||
(sha256
|
||||
(base32 "0h65n03q9kdsv0i1q5f88i11iv79ca7fqq97rdkzkmiqb4whhnm2"))))
|
||||
(base32 "0hs4m2vmfc6srscaz72r6zpkn6n7msgzlps376ks38gj1l103xfn"))))
|
||||
(build-system trivial-build-system)
|
||||
(inputs
|
||||
`(("bash" ,bash-minimal)
|
||||
|
@ -4105,3 +4088,44 @@ the system configuration; hosts only works when using the Guix package manager
|
|||
on a foreign distro. @command{hosts} works with existing hosts files and
|
||||
entries, providing commands to add, remove, comment, and search.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public nmrpflash
|
||||
(package
|
||||
(name "nmrpflash")
|
||||
(version "0.9.14")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri
|
||||
(git-reference
|
||||
(url "https://github.com/jclehner/nmrpflash.git")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "1fdjrxhjs96rdclbkld57xarf592slhkp79h46z833npxpn12ck1"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("libnl" ,libnl)
|
||||
("libpcap" ,libpcap)))
|
||||
(arguments
|
||||
`(#:tests? #f ; None exist
|
||||
#:make-flags
|
||||
(list (string-append "CC=" ,(cc-for-target))
|
||||
(string-append "PREFIX=" (assoc-ref %outputs "out")))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(add-before 'install 'prepare-install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(mkdir-p (string-append (assoc-ref outputs "out") "/bin"))
|
||||
#t)))))
|
||||
(home-page "https://github.com/jclehner/nmrpflash")
|
||||
(synopsis "Netgear unbrick utility")
|
||||
(description "This package provides a utility to flash a new firmware
|
||||
image to a Netgear device. It has been tested on Netgear EX2700, EX6120,
|
||||
EX6150v2, DNG3700v2, R6100, R6220, R7000, D7000, WNR3500, R6400, R6800,
|
||||
R8000, R8500, WNDR3800, but is likely to be compatible with many other
|
||||
Netgear devices.")
|
||||
(license license:gpl3+)))
|
||||
|
|
|
@ -48,6 +48,7 @@
|
|||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages mpi)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages ocaml)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages pulseaudio)
|
||||
|
@ -123,15 +124,15 @@ greatest common divisor operations.")
|
|||
(define-public cm
|
||||
(package
|
||||
(name "cm")
|
||||
(version "0.3")
|
||||
(version "0.3.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://www.multiprecision.org/cm/download/cm-"
|
||||
"http://www.multiprecision.org/downloads/cm-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1nf5kr0nqmhbzrsrinky18z0ighjpsmb5cr8zyg8jf04bfbyrfmc"))))
|
||||
"0qq6b1kwb1byj8ws33ya5awq0ilkpm32037pi1l4cf2737fg9m42"))))
|
||||
(build-system gnu-build-system)
|
||||
(propagated-inputs
|
||||
`(("mpfrcx" ,mpfrcx)
|
||||
|
@ -151,12 +152,7 @@ line applications.")
|
|||
(define-public fplll
|
||||
(package
|
||||
(name "fplll")
|
||||
;; The most recent version 5.3.3 fails in the configure phase:
|
||||
;; ./configure: line 12956: syntax error near unexpected token `LIBQD,'
|
||||
;; ./configure: line 12956: ` PKG_CHECK_MODULES(LIBQD, qd, have_libqd="yes",'
|
||||
;; The error disappears when adding qd as an input; but this is
|
||||
;; supposed to be an optional input.
|
||||
(version "5.3.2")
|
||||
(version "5.3.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -165,13 +161,15 @@ line applications.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"00iyz218ywspizjiimrjdcqvdqmrsb2367zyy3vkmypnf9i9l680"))))
|
||||
"06nyfidagp8pc2kfcw88ldgb2b1xm0a8z31n0sln7j72ihlmd8zj"))
|
||||
(patches (search-patches "fplll-std-fenv.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("libtool" ,libtool)))
|
||||
(inputs
|
||||
("libtool" ,libtool)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(propagated-inputs ; header files pulled in by fplll/defs.h
|
||||
`(("gmp" ,gmp)
|
||||
("mpfr" ,mpfr)))
|
||||
(home-page "https://github.com/fplll/fplll")
|
||||
|
@ -357,7 +355,7 @@ precision.")
|
|||
(define-public giac
|
||||
(package
|
||||
(name "giac")
|
||||
(version "1.6.0-7")
|
||||
(version "1.6.0-25")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -369,7 +367,7 @@ precision.")
|
|||
"~parisse/debian/dists/stable/main/source/"
|
||||
"giac_" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1pvgp137zcl0rbhdn1j41xxfml7fp771a7x4ph8qrhhlx0hxzn3p"))))
|
||||
(base32 "11kik2csdg9wy0npiih21kaag0nc89i9ldgk7ak7gvf9ycddm6mh"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:modules ((ice-9 ftw)
|
||||
|
@ -380,7 +378,8 @@ precision.")
|
|||
(add-after 'unpack 'patch-bin-cp
|
||||
;; Some Makefiles contain hard-coded "/bin/cp".
|
||||
(lambda _
|
||||
(substitute* (find-files "doc" "^Makefile")
|
||||
(substitute* (cons "micropython-1.12/xcas/Makefile"
|
||||
(find-files "doc" "^Makefile"))
|
||||
(("/bin/cp") (which "cp")))
|
||||
#t))
|
||||
(add-after 'unpack 'disable-failing-test
|
||||
|
@ -409,7 +408,7 @@ precision.")
|
|||
(delete-file (string-append out "/bin/xcasnew"))
|
||||
#t))))))
|
||||
(inputs
|
||||
;;; TODO: Add libnauty.
|
||||
;; TODO: Add libnauty, unbundle "libmicropython.a".
|
||||
`(("fltk" ,fltk)
|
||||
("glpk" ,glpk)
|
||||
("gmp" ,gmp)
|
||||
|
@ -433,6 +432,8 @@ precision.")
|
|||
(native-inputs
|
||||
`(("bison" ,bison)
|
||||
("flex" ,flex)
|
||||
("hevea" ,hevea)
|
||||
("python" ,python-wrapper)
|
||||
("readline" ,readline)
|
||||
("texlive" ,texlive-tiny)))
|
||||
(home-page "https://www-fourier.ujf-grenoble.fr/~parisse/giac.html")
|
||||
|
@ -1554,7 +1555,7 @@ structure constants of Schubert polynomials.")
|
|||
"0akwhhz9b40bz6lrfxpamp7r7wkk48p455qbn04mfnl9a1l6db8x"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("gmp", gmp)
|
||||
`(("gmp" ,gmp)
|
||||
("cblas" ,openblas))) ; or any other BLAS library; the documentation
|
||||
; mentions ATLAS in particular
|
||||
(arguments
|
||||
|
|
|
@ -44,14 +44,14 @@
|
|||
(define-public clamav
|
||||
(package
|
||||
(name "clamav")
|
||||
(version "0.102.4")
|
||||
(version "0.103.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.clamav.net/downloads/production/"
|
||||
"clamav-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"06rrzyrhnr0rswryijpbbzywr6387rv8qjq8sb8cl3h2d1m45ggf"))
|
||||
"0ih5x1rscg2m64y0z20njj7435q8k7ss575cfw7aipdzfx979a9j"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
|
|
@ -9,6 +9,8 @@
|
|||
;;; Copyright © 2019 Jens Mølgaard <jens@zete.tk>
|
||||
;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si>
|
||||
;;; Copyright © 2020 Marcin Karpezo <sirmacik@wioo.waw.pl>
|
||||
;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
||||
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -33,7 +35,9 @@
|
|||
#:use-module (guix utils)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (ice-9 match))
|
||||
|
||||
|
@ -457,3 +461,50 @@ under permissive licensing terms. See the 'Copyright' file."))))
|
|||
(define-word-list-dictionary hunspell-dict-en-us
|
||||
"en_US"
|
||||
(synopsis "Hunspell dictionary for United States English"))
|
||||
|
||||
(define-public ispell
|
||||
(package
|
||||
(name "ispell")
|
||||
(version "3.4.00")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.cs.hmc.edu/~geoff/tars/ispell-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1hmfnz55qzfpz7lz0r3m4kkv31smir92ks9s5l1iiwimhr2jxi2x"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:parallel-build? #f
|
||||
#:tests? #f ; no tests
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
;; Based on local.h.linux
|
||||
(let* ((grep (assoc-ref inputs "grep"))
|
||||
(out (assoc-ref outputs "out")))
|
||||
(call-with-output-file "local.h"
|
||||
(lambda (port)
|
||||
(format port "#define MINIMENU~%")
|
||||
(format port "#define USG~%")
|
||||
(format port "#define HAS_RENAME~%")
|
||||
(format port "#define CC \"gcc\"~%")
|
||||
(format port "#define POUNDBANG \"#!~a\"~%" (which "sh"))
|
||||
(format port "#define EGREPCMD \"~a/bin/grep -Ei\"~%" grep)
|
||||
(format port "#define BINDIR \"~a/bin\"~%" out)
|
||||
(format port "#define LIBDIR \"~a/lib/ispell\"~%" out)
|
||||
(format port "#define MAN1DIR \"~a/share/man/man1\"~%" out)
|
||||
(format port "#define MAN45DIR \"~a/share/man/man5\"~%" out))))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("grep" ,grep)
|
||||
("ncurses" ,ncurses)))
|
||||
(native-inputs
|
||||
`(("bison" ,bison)))
|
||||
(synopsis "Interactive spell-checking tool for Unix")
|
||||
(description "Ispell is an interactive spell-checking tool supporting many
|
||||
European languages.")
|
||||
(home-page "https://www.cs.hmc.edu/~geoff/ispell.html")
|
||||
(license bsd-3)))
|
||||
|
|
|
@ -159,7 +159,7 @@ programs for the manipulation and analysis of astronomical data.")
|
|||
(define-public stellarium
|
||||
(package
|
||||
(name "stellarium")
|
||||
(version "0.20.2")
|
||||
(version "0.20.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -167,7 +167,7 @@ programs for the manipulation and analysis of astronomical data.")
|
|||
"/releases/download/v" version
|
||||
"/stellarium-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "16symz212vjvhfabh39a68qf7d0rm574c6djlibj2qd1q9jgj3j0"))))
|
||||
(base32 "0z5r7b1ac43l330xphxnw54xg7jm87ajix8yl4hkq82cs5ja7097"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs
|
||||
`(("qtbase" ,qtbase)
|
||||
|
@ -328,7 +328,7 @@ Mechanics, Astrometry and Astrodynamics library.")
|
|||
("freetype" ,freetype)
|
||||
("pango" ,pango)
|
||||
("giflib" ,giflib)
|
||||
("libjpeg", libjpeg-turbo)
|
||||
("libjpeg" ,libjpeg-turbo)
|
||||
("libpng" ,libpng)
|
||||
("libtiff" ,libtiff)
|
||||
("netpbm" ,netpbm)
|
||||
|
|
|
@ -33,6 +33,7 @@
|
|||
;;; Copyright © 2020 Jonathan Frederickson <jonathan@terracrypt.net>
|
||||
;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
|
||||
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
|
||||
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -1046,7 +1047,7 @@ tools (analyzer, mono/stereo tools, crossovers).")
|
|||
`(("lv2" ,lv2)))
|
||||
;; home-page of the original LADSPA version: http://quitte.de/dsp/caps.html
|
||||
(home-page "https://github.com/moddevices/caps-lv2")
|
||||
(synopsis "LV2 port of the CAPS audio plugin colection")
|
||||
(synopsis "LV2 port of the CAPS audio plugin collection")
|
||||
(description
|
||||
"LV2 port of CAPS, a collection of audio plugins comprising basic virtual
|
||||
guitar amplification and a small range of classic effects, signal processors and
|
||||
|
@ -1631,7 +1632,7 @@ follower.")
|
|||
(define-public fluidsynth
|
||||
(package
|
||||
(name "fluidsynth")
|
||||
(version "2.1.4")
|
||||
(version "2.1.5")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -1640,7 +1641,7 @@ follower.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1r3khwyw57ybg5m4x0rvdzq7hgw2484sd52k6bm19akbw8yicfna"))))
|
||||
"0ccpq4p1h1g53ng3961g3lh590qnwvpzwdzpl6ai4j6iazq0bh73"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; no check target
|
||||
|
@ -2030,7 +2031,7 @@ synchronous execution of all clients, and low latency operation.")
|
|||
(define-public jack-2
|
||||
(package (inherit jack-1)
|
||||
(name "jack2")
|
||||
(version "1.9.13")
|
||||
(version "1.9.14")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/jackaudio/jack2/releases/"
|
||||
|
@ -2039,7 +2040,7 @@ synchronous execution of all clients, and low latency operation.")
|
|||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1d1d403jn4366mqig6g8ghr8057b3rn7gs26b5p3rkal34j20qw2"))))
|
||||
"0z11hf55a6mi8h50hfz5wry9pshlwl4mzfwgslghdh40cwv342m2"))))
|
||||
(build-system waf-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no check target
|
||||
|
@ -2049,6 +2050,10 @@ synchronous execution of all clients, and low latency operation.")
|
|||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'set-linkflags
|
||||
(lambda _
|
||||
;; Ensure -lstdc++ is the tail of LDFLAGS or the simdtests.cpp
|
||||
;; will not link with undefined reference to symbol
|
||||
;; '__gxx_personality_v0@@CXXABI_1.3'
|
||||
(setenv "LDFLAGS" "-lstdc++")
|
||||
;; Add $libdir to the RUNPATH of all the binaries.
|
||||
(substitute* "wscript"
|
||||
((".*CFLAGS.*-Wall.*" m)
|
||||
|
@ -2676,20 +2681,21 @@ different audio devices such as ALSA or PulseAudio.")
|
|||
(define-public qjackctl
|
||||
(package
|
||||
(name "qjackctl")
|
||||
(version "0.5.9")
|
||||
(version "0.6.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/qjackctl/qjackctl/"
|
||||
version "/qjackctl-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1saywsda9m124rmjp7i3n0llryaliabjxhqhvqr6dm983qy7pypk"))))
|
||||
"0zbb4jlx56qvcqyhx34mbagkqf3wbxgj84hk0ppf5cmcrxv67d4x"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f)) ; no check target
|
||||
(inputs
|
||||
`(("jack" ,jack-1)
|
||||
("alsa-lib" ,alsa-lib)
|
||||
("portaudio" ,portaudio)
|
||||
("qtbase" ,qtbase)
|
||||
("qtx11extras" ,qtx11extras)))
|
||||
(native-inputs
|
||||
|
@ -3054,6 +3060,32 @@ that toolkit will work in all hosts that use Suil automatically.
|
|||
Suil currently supports every combination of Gtk, Qt, and X11.")
|
||||
(license license:isc)))
|
||||
|
||||
(define-public libebur128
|
||||
(package
|
||||
(name "libebur128")
|
||||
(version "1.2.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/jiixyj/libebur128")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0n81rnm8dm1zmibkr2v3q79rsd609y0dbbsrbay18njcjva88p0g"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(;; Tests require proprietary .wav files. See
|
||||
;; https://github.com/jiixyj/libebur128/issues/82.
|
||||
#:tests? #f
|
||||
#:configure-flags '("-DBUILD_STATIC_LIBS=OFF")))
|
||||
(home-page "https://github.com/jiixyj/libebur128")
|
||||
(synopsis "Library implementing the EBU R 128 loudness standard")
|
||||
(description
|
||||
"@code{libebur128} is a C library that implements the EBU R 128 standard
|
||||
for loudness normalisation.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public timidity++
|
||||
(package
|
||||
(name "timidity++")
|
||||
|
@ -3298,7 +3330,7 @@ Tracker 3 S3M and Impulse Tracker IT files.")
|
|||
(define-public soundtouch
|
||||
(package
|
||||
(name "soundtouch")
|
||||
(version "2.1.2")
|
||||
(version "2.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -3307,7 +3339,7 @@ Tracker 3 S3M and Impulse Tracker IT files.")
|
|||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "174wgm3s0inmbnkrlnspxjwm2014qhjhkbdqa5r8rbfi0nzqxzsz"))))
|
||||
(base32 "12i6yg8vvqwyk412lxl2krbfby6hnxld8qxy0k4m5xp4g94jiq4p"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
|
@ -3959,10 +3991,31 @@ mixers.")
|
|||
(define-public python2-pyalsaaudio
|
||||
(package-with-python2 python-pyalsaaudio))
|
||||
|
||||
(define-public ldacbt
|
||||
(package
|
||||
(name "ldacbt")
|
||||
(version "2.0.2.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/EHfive/ldacBT"
|
||||
"/releases/download/v" version
|
||||
"/ldacBT-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1d65dms4klzql29abi15i90f41h523kl6mxrz9hi6p5vg37fxn2b"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments `(#:tests? #f)) ; no check target
|
||||
(home-page "https://github.com/EHfive/ldacBT/")
|
||||
(synopsis "LDAC Bluetooth encoder and ABR library")
|
||||
(description "This package provides an encoder for the LDAC
|
||||
high-resolution Bluetooth audio streaming codec for streaming at up to 990
|
||||
kbps at 24 bit/96 kHz.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public bluez-alsa
|
||||
(package
|
||||
(name "bluez-alsa")
|
||||
(version "2.0.0")
|
||||
(version "3.0.0")
|
||||
(source (origin
|
||||
;; The tarballs are mere snapshots and don't contain a
|
||||
;; bootstrapped build system.
|
||||
|
@ -3973,11 +4026,12 @@ mixers.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"08mppgnjf1j2733bk9yf0cny6rfxxwiys0s62lz2zd2lpdl6d9lz"))))
|
||||
"1jlsgxyqfhncfhx1sy3ry0dp6p95kd4agh7g2b7g51h0c4cv74h8"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list (string-append "--with-alsaplugindir="
|
||||
(list "--enable-ldac"
|
||||
(string-append "--with-alsaplugindir="
|
||||
(assoc-ref %outputs "out")
|
||||
"/lib/alsa-lib")
|
||||
(string-append "--with-dbusconfdir="
|
||||
|
@ -3993,6 +4047,7 @@ mixers.")
|
|||
("bluez" ,bluez)
|
||||
("dbus" ,dbus)
|
||||
("glib" ,glib)
|
||||
("ldacbt" ,ldacbt)
|
||||
("libbsd" ,libbsd)
|
||||
("ncurses" ,ncurses)
|
||||
("ortp" ,ortp)
|
||||
|
@ -4464,6 +4519,36 @@ supports both of ID3v1/v2 and APEv2 tags.")
|
|||
(home-page "http://tausoft.org/")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public libsoundio
|
||||
(package
|
||||
(name "libsoundio")
|
||||
(version "2.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/andrewrk/libsoundio")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"12l4rvaypv87vigdrmjz48d4d6sq4gfxf5asvnc4adyabxb73i4x"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f)) ;no tests included
|
||||
(inputs
|
||||
`(("alsa-lib" ,alsa-lib)
|
||||
("jack" ,jack-1)
|
||||
("pulseaudio" ,pulseaudio)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(home-page "http://libsound.io")
|
||||
(synopsis "C library for real-time audio input and output")
|
||||
(description "@code{libsoundio} is a C library providing audio input and
|
||||
output. The API is suitable for real-time software such as digital audio
|
||||
workstations as well as consumer software such as music players.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public redkite
|
||||
(package
|
||||
(name "redkite")
|
||||
|
@ -4483,7 +4568,7 @@ supports both of ID3v1/v2 and APEv2 tags.")
|
|||
(inputs
|
||||
`(("cairo" ,cairo)))
|
||||
(native-inputs
|
||||
`(("pkg-config", pkg-config)))
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(synopsis "Small GUI toolkit")
|
||||
(description "Redkite is a small GUI toolkit developed in C++17 and
|
||||
inspired from other well known GUI toolkits such as Qt and GTK. It is
|
||||
|
@ -4629,7 +4714,7 @@ in the package.")
|
|||
`(("libsamplerate" ,libsamplerate)
|
||||
("libsndfile" ,libsndfile)))
|
||||
(native-inputs
|
||||
`(("pkg-config", pkg-config)))
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(synopsis "Library for reading and resampling audio files")
|
||||
(description "libaudec is a wrapper library over ffmpeg, sndfile and
|
||||
libsamplerate for reading and resampling audio files, based on Robin Gareus'
|
||||
|
@ -4657,11 +4742,11 @@ libsamplerate for reading and resampling audio files, based on Robin Gareus'
|
|||
`("-Delf-tests=true" ; for checking symbol visibility
|
||||
"-Donline-tests=true"))) ; for checking URI existence
|
||||
(inputs
|
||||
`(("curl", curl)
|
||||
("libelf", libelf)
|
||||
("lilv", lilv)))
|
||||
`(("curl" ,curl)
|
||||
("libelf" ,libelf)
|
||||
("lilv" ,lilv)))
|
||||
(native-inputs
|
||||
`(("pkg-config", pkg-config)))
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(synopsis "LV2 plugin lint tool")
|
||||
(description "lv2lint is an LV2 lint-like tool that checks whether a
|
||||
given plugin and its UI(s) match up with the provided metadata and adhere
|
||||
|
@ -4692,11 +4777,11 @@ to well-known best practices.")
|
|||
(modify-phases %standard-phases
|
||||
(delete 'configure))))
|
||||
(inputs
|
||||
`(("jalv", jalv)
|
||||
("lilv", lilv)))
|
||||
`(("jalv" ,jalv)
|
||||
("lilv" ,lilv)))
|
||||
(native-inputs
|
||||
`(("help2man", help2man)
|
||||
("pkg-config", pkg-config)))
|
||||
`(("help2man" ,help2man)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(synopsis "Documentation generator for LV2 plugins")
|
||||
(description
|
||||
"lv2toweb allows the user to create an xhtml page with information
|
||||
|
|
|
@ -0,0 +1,46 @@
|
|||
/* GNU Guix --- Functional package management for GNU
|
||||
Copyright 1996-1997,2000-2001,2006,2008,2011,2013,2018
|
||||
Free Software Foundation, Inc.
|
||||
Copyright (C) 2020 Ludovic Courtès <ludo@gnu.org>
|
||||
|
||||
This file is part of GNU Guix.
|
||||
|
||||
GNU Guix is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 3 of the License, or (at
|
||||
your option) any later version.
|
||||
|
||||
GNU Guix is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. */
|
||||
|
||||
/* This file implements a variant of the 'guile' executable that does not
|
||||
complain about locale issues. */
|
||||
|
||||
#include <locale.h>
|
||||
#include <libguile.h>
|
||||
|
||||
static void
|
||||
inner_main (void *unused, int argc, char **argv)
|
||||
{
|
||||
scm_shell (argc, argv);
|
||||
}
|
||||
|
||||
int
|
||||
main (int argc, char **argv)
|
||||
{
|
||||
/* Try to install the current locale; remain silent if it fails. */
|
||||
if (setlocale (LC_ALL, "") == NULL)
|
||||
/* The 'guix pull'-provided 'guix' includes at least en_US.utf8 so use
|
||||
that. That gives us UTF-8 support for 'scm_to_locale_string', etc.,
|
||||
which is always preferable over the C locale. */
|
||||
setlocale (LC_ALL, "en_US.utf8");
|
||||
|
||||
scm_install_gmp_memory_functions = 1;
|
||||
scm_boot_guile (argc, argv, inner_main, 0);
|
||||
return 0; /* never reached */
|
||||
}
|
|
@ -1023,7 +1023,8 @@ CONFIG_XFRM_IPCOMP=m
|
|||
CONFIG_NET_KEY=m
|
||||
CONFIG_NET_KEY_MIGRATE=y
|
||||
# CONFIG_SMC is not set
|
||||
# CONFIG_XDP_SOCKETS is not set
|
||||
CONFIG_XDP_SOCKETS=y
|
||||
CONFIG_XDP_SOCKETS_DIAG=m
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_ADVANCED_ROUTER=y
|
||||
|
|
|
@ -966,7 +966,8 @@ CONFIG_XFRM_IPCOMP=m
|
|||
CONFIG_NET_KEY=m
|
||||
CONFIG_NET_KEY_MIGRATE=y
|
||||
# CONFIG_SMC is not set
|
||||
# CONFIG_XDP_SOCKETS is not set
|
||||
CONFIG_XDP_SOCKETS=y
|
||||
CONFIG_XDP_SOCKETS_DIAG=m
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_ADVANCED_ROUTER=y
|
||||
|
|
|
@ -1053,7 +1053,8 @@ CONFIG_XFRM_IPCOMP=m
|
|||
CONFIG_NET_KEY=m
|
||||
# CONFIG_NET_KEY_MIGRATE is not set
|
||||
# CONFIG_SMC is not set
|
||||
# CONFIG_XDP_SOCKETS is not set
|
||||
CONFIG_XDP_SOCKETS=y
|
||||
CONFIG_XDP_SOCKETS_DIAG=m
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_ADVANCED_ROUTER=y
|
||||
|
|
|
@ -1063,7 +1063,8 @@ CONFIG_XFRM_IPCOMP=m
|
|||
CONFIG_NET_KEY=m
|
||||
# CONFIG_NET_KEY_MIGRATE is not set
|
||||
# CONFIG_SMC is not set
|
||||
# CONFIG_XDP_SOCKETS is not set
|
||||
CONFIG_XDP_SOCKETS=y
|
||||
CONFIG_XDP_SOCKETS_DIAG=m
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_ADVANCED_ROUTER=y
|
||||
|
|
|
@ -1034,7 +1034,8 @@ CONFIG_XFRM_IPCOMP=m
|
|||
CONFIG_NET_KEY=m
|
||||
CONFIG_NET_KEY_MIGRATE=y
|
||||
# CONFIG_SMC is not set
|
||||
# CONFIG_XDP_SOCKETS is not set
|
||||
CONFIG_XDP_SOCKETS=y
|
||||
CONFIG_XDP_SOCKETS_DIAG=m
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_ADVANCED_ROUTER=y
|
||||
|
|
|
@ -1008,7 +1008,8 @@ CONFIG_XFRM_IPCOMP=m
|
|||
CONFIG_NET_KEY=m
|
||||
CONFIG_NET_KEY_MIGRATE=y
|
||||
# CONFIG_SMC is not set
|
||||
# CONFIG_XDP_SOCKETS is not set
|
||||
CONFIG_XDP_SOCKETS=y
|
||||
CONFIG_XDP_SOCKETS_DIAG=m
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_ADVANCED_ROUTER=y
|
||||
|
|
|
@ -1027,7 +1027,8 @@ CONFIG_XFRM_IPCOMP=m
|
|||
CONFIG_NET_KEY=m
|
||||
# CONFIG_NET_KEY_MIGRATE is not set
|
||||
# CONFIG_SMC is not set
|
||||
# CONFIG_XDP_SOCKETS is not set
|
||||
CONFIG_XDP_SOCKETS=y
|
||||
CONFIG_XDP_SOCKETS_DIAG=m
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_ADVANCED_ROUTER=y
|
||||
|
|
|
@ -1044,7 +1044,8 @@ CONFIG_XFRM_IPCOMP=m
|
|||
CONFIG_NET_KEY=m
|
||||
# CONFIG_NET_KEY_MIGRATE is not set
|
||||
# CONFIG_SMC is not set
|
||||
# CONFIG_XDP_SOCKETS is not set
|
||||
CONFIG_XDP_SOCKETS=y
|
||||
CONFIG_XDP_SOCKETS_DIAG=m
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_ADVANCED_ROUTER=y
|
||||
|
|
|
@ -1056,7 +1056,8 @@ CONFIG_XFRM_IPCOMP=m
|
|||
CONFIG_NET_KEY=m
|
||||
CONFIG_NET_KEY_MIGRATE=y
|
||||
# CONFIG_SMC is not set
|
||||
# CONFIG_XDP_SOCKETS is not set
|
||||
CONFIG_XDP_SOCKETS=y
|
||||
CONFIG_XDP_SOCKETS_DIAG=m
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_ADVANCED_ROUTER=y
|
||||
|
|
|
@ -1048,7 +1048,8 @@ CONFIG_XFRM_IPCOMP=m
|
|||
CONFIG_NET_KEY=m
|
||||
CONFIG_NET_KEY_MIGRATE=y
|
||||
# CONFIG_SMC is not set
|
||||
# CONFIG_XDP_SOCKETS is not set
|
||||
CONFIG_XDP_SOCKETS=y
|
||||
CONFIG_XDP_SOCKETS_DIAG=m
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_ADVANCED_ROUTER=y
|
||||
|
|
|
@ -1035,7 +1035,8 @@ CONFIG_XFRM_IPCOMP=m
|
|||
CONFIG_NET_KEY=m
|
||||
# CONFIG_NET_KEY_MIGRATE is not set
|
||||
# CONFIG_SMC is not set
|
||||
# CONFIG_XDP_SOCKETS is not set
|
||||
CONFIG_XDP_SOCKETS=y
|
||||
CONFIG_XDP_SOCKETS_DIAG=m
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_ADVANCED_ROUTER=y
|
||||
|
|
|
@ -1061,7 +1061,8 @@ CONFIG_XFRM_IPCOMP=m
|
|||
CONFIG_NET_KEY=m
|
||||
# CONFIG_NET_KEY_MIGRATE is not set
|
||||
# CONFIG_SMC is not set
|
||||
# CONFIG_XDP_SOCKETS is not set
|
||||
CONFIG_XDP_SOCKETS=y
|
||||
CONFIG_XDP_SOCKETS_DIAG=m
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_ADVANCED_ROUTER=y
|
||||
|
|
|
@ -74,7 +74,7 @@
|
|||
("expat" ,expat)
|
||||
("gdbm" ,gdbm)
|
||||
("glib" ,glib)
|
||||
("libcap" ,libcap) ;to enable chroot support in avahi-daemon
|
||||
("libcap" ,libcap-2.31) ;to enable chroot support in avahi-daemon
|
||||
("libdaemon" ,libdaemon)
|
||||
("libevent" ,libevent)))
|
||||
(native-inputs
|
||||
|
|
|
@ -527,7 +527,7 @@ patcher application.")))
|
|||
(install-file "dist/Axoloti.jar" share)
|
||||
|
||||
;; Install old firmware
|
||||
(let ((target (string-append share "/old_firmware/"))
|
||||
(let ((target (string-append share "/old_firmware/firmware-1.0.12"))
|
||||
(old-firmware
|
||||
(string-append (assoc-ref inputs "axoloti-runtime")
|
||||
"/share/axoloti/firmware/")))
|
||||
|
@ -557,7 +557,7 @@ patcher application.")))
|
|||
toolchain
|
||||
"/arm-none-eabi/include:"
|
||||
toolchain
|
||||
"/arm-none-eabi/include/arm-none-eabi/armv7e-m")))
|
||||
"/arm-none-eabi/include/arm-none-eabi/thumb/v7e-m")))
|
||||
(display
|
||||
(string-append "#!" (which "sh") "\n"
|
||||
"export CROSS_CPATH=" includes "\n"
|
||||
|
|
|
@ -569,13 +569,13 @@ detection, and lossless compression.")
|
|||
(define-public borg
|
||||
(package
|
||||
(name "borg")
|
||||
(version "1.1.13")
|
||||
(version "1.1.14")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "borgbackup" version))
|
||||
(sha256
|
||||
(base32 "089q3flmwbz7dc28zlscwylf64kgck3jf1n6lqpwww8hlrk8cjhn"))
|
||||
(base32 "1fpdj73cgp96xwasdcifxl7q2pr1my2f4vfdjpv771llri3hgfvx"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
@ -606,7 +606,7 @@ detection, and lossless compression.")
|
|||
#t))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:modules ((srfi srfi-26) ; for cut
|
||||
`(#:modules ((srfi srfi-26) ; for cut
|
||||
(guix build utils)
|
||||
(guix build python-build-system))
|
||||
#:phases
|
||||
|
@ -1066,7 +1066,7 @@ other storage medium. Subsequent incremental backups can then be layered on
|
|||
top of the full backup. The restore command performs the inverse function of
|
||||
dump; it can restore a full backup of a file system. Single files and
|
||||
directory subtrees may also be restored from full or partial backups in
|
||||
interractive mode.")
|
||||
interactive mode.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public burp
|
||||
|
@ -1103,7 +1103,7 @@ interractive mode.")
|
|||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("check" ,check)
|
||||
("check" ,check-0.14)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(home-page "https://burp.grke.org")
|
||||
(synopsis "Differential backup and restore")
|
||||
|
|
|
@ -339,7 +339,7 @@ used to apply commands with arbitrarily long arguments.")
|
|||
,@(if (and (not (%current-target-system))
|
||||
(member (%current-system)
|
||||
(package-supported-systems libcap)))
|
||||
`(("libcap" ,libcap)) ;capability support in 'ls', etc.
|
||||
`(("libcap" ,libcap-2.31)) ;capability support in 'ls', etc.
|
||||
'())))
|
||||
(native-inputs
|
||||
;; Perl is needed to run tests in native builds, and to run the bundled
|
||||
|
@ -1238,7 +1238,7 @@ command.")
|
|||
(define-public tzdata
|
||||
(package
|
||||
(name "tzdata")
|
||||
(version "2020a")
|
||||
(version "2020b")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -1246,7 +1246,7 @@ command.")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"18lrp0zh8m931jjlrv8lvjas4ka5dfkzdbwnbw5lwd2dlbn62wal"))))
|
||||
"02g88pbw82zr36x9dz5ib4sq6bfq253yx5hbhnfyhp143naky1cv"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f
|
||||
|
@ -1296,7 +1296,7 @@ command.")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0sfnlqw1p93r7klny69rwr94fh22mz632h52phgzfgg01q9gfakx"))))))
|
||||
"1nj3zvqpy5lm6w365p9ynz4i5arq4fiy8ldq55v4z9p49nagivs7"))))))
|
||||
(home-page "https://www.iana.org/time-zones")
|
||||
(synopsis "Database of current and historical time zones")
|
||||
(description "The Time Zone Database (often called tz or zoneinfo)
|
||||
|
|
|
@ -46,14 +46,14 @@
|
|||
(define-public fio
|
||||
(package
|
||||
(name "fio")
|
||||
(version "3.22")
|
||||
(version "3.23")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://brick.kernel.dk/snaps/"
|
||||
"fio-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0f2x917600y6k0xs34ixgfjm4v1ylbh8svpkqi07xy3474g5s2rv"))))
|
||||
"0cy32431hv0i84yrryna5byj4r610n6i1rm8nfflnrznbf051axs"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:test-target "test"
|
||||
|
|
|
@ -4,6 +4,8 @@
|
|||
;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019 Simon Tournier <zimon.toutoune@gmail.com>
|
||||
;;; Copyright © 2020 Peter Lo <peterloleungyau@gmail.com>
|
||||
;;; Copyright © 2020 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de>
|
||||
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -1113,7 +1115,7 @@ how the coverage distributed across the genome.")
|
|||
(propagated-inputs
|
||||
`(("r-biobase" ,r-biobase)
|
||||
("r-biocgenerics" ,r-biocgenerics)
|
||||
("r-fastcluster", r-fastcluster)
|
||||
("r-fastcluster" ,r-fastcluster)
|
||||
("r-ggplot2" ,r-ggplot2)
|
||||
("r-gviz" ,r-gviz)
|
||||
("r-plyr" ,r-plyr)
|
||||
|
@ -1607,14 +1609,14 @@ problems in genomics, brain imaging, astrophysics, and data mining.")
|
|||
(define-public r-diffbind
|
||||
(package
|
||||
(name "r-diffbind")
|
||||
(version "2.16.0")
|
||||
(version "2.16.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "DiffBind" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1mwqgljya1c7r2dfrdds3nswn9bn1l3ak1wavbpv4lbv3nkmykn5"))))
|
||||
"11y9kigdikqcd0cnksh306nsaadak0kgivk7773mv3yszrxxwzj1"))))
|
||||
(properties `((upstream-name . "DiffBind")))
|
||||
(build-system r-build-system)
|
||||
(inputs
|
||||
|
@ -1795,14 +1797,14 @@ determining dependencies between variables, code improvement suggestions.")
|
|||
(define-public r-chippeakanno
|
||||
(package
|
||||
(name "r-chippeakanno")
|
||||
(version "3.22.3")
|
||||
(version "3.22.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "ChIPpeakAnno" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0q3f55hh0a2hl96272js6gagmgps9cxs8s13pf6fii64rzaz5m7y"))))
|
||||
"0wxgjdikinkqj7jvs2725ak0291q6zhikyf1c93w8cngwvd9i1gq"))))
|
||||
(properties `((upstream-name . "ChIPpeakAnno")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -2705,13 +2707,13 @@ gene and isoform level using RNA-seq data")
|
|||
(define-public r-karyoploter
|
||||
(package
|
||||
(name "r-karyoploter")
|
||||
(version "1.14.0")
|
||||
(version "1.14.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "karyoploteR" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0h0gk4xd95k5phy6qcsv7j931d7gk3p24i2fg4mz5dsk110lpifs"))))
|
||||
"1wlnzkq58baqj9854nzf5rbglchb2xy4wsp3s0q8xfq8v0p3baxf"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-annotationdbi" ,r-annotationdbi)
|
||||
|
@ -2734,7 +2736,7 @@ gene and isoform level using RNA-seq data")
|
|||
(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
|
||||
offers a complete set of functions to plot arbitrary data on them. It mimics
|
||||
many R base graphics functions coupling them with a coordinate change function
|
||||
automatically mapping the chromosome and data coordinates into the plot
|
||||
coordinates.")
|
||||
|
@ -3626,14 +3628,14 @@ information about samples and features can be added to the plot.")
|
|||
(define-public r-gosemsim
|
||||
(package
|
||||
(name "r-gosemsim")
|
||||
(version "2.14.1")
|
||||
(version "2.14.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "GOSemSim" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0v4q9xr1cm5xr08pgbzrss41kh3yz7xyh31n55l0sjmr1629ykln"))))
|
||||
"02r7m1x6g8bb7q8l0hpvakdzdv5v1nplhx5lbiy798a7c3xg895b"))))
|
||||
(properties `((upstream-name . "GOSemSim")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -3672,7 +3674,7 @@ sets of GO terms, gene products and gene clusters.")
|
|||
(description
|
||||
"Genome wide studies of translational control is emerging as a tool to
|
||||
study various biological conditions. The output from such analysis is both
|
||||
the mRNA level (e.g. cytosolic mRNA level) and the levl of mRNA actively
|
||||
the mRNA level (e.g. cytosolic mRNA level) and the level of mRNA actively
|
||||
involved in translation (the actively translating mRNA level) for each mRNA.
|
||||
The standard analysis of such data strives towards identifying differential
|
||||
translational between two or more sample classes - i.e. differences in
|
||||
|
@ -4362,14 +4364,14 @@ position-specific scores within R and Bioconductor.")
|
|||
(define-public r-atacseqqc
|
||||
(package
|
||||
(name "r-atacseqqc")
|
||||
(version "1.12.4")
|
||||
(version "1.12.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "ATACseqQC" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1gs9862hhh4gr1akij6ykhcj29s9dzg1vnj87hqrm19dfgl43qbh"))))
|
||||
"1103daz82k97vzmxjmf7jwm2nd3w8i0jwplrsi9996bkih11qwbf"))))
|
||||
(properties `((upstream-name . "ATACseqQC")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -4841,7 +4843,7 @@ a more complex way than the simple GC content. Instead, the base types (A, T,
|
|||
G or C) at each position along the probe determine the affinity of each probe.
|
||||
The parameters of the position-specific base contributions to the probe
|
||||
affinity is estimated in an NSB experiment in which only NSB but no
|
||||
gene-specific bidning is expected.")
|
||||
gene-specific binding is expected.")
|
||||
;; Any version of the LGPL
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
|
@ -5060,14 +5062,14 @@ based on @dfn{Continuous Wavelet Transform} (CWT).")
|
|||
(define-public r-xcms
|
||||
(package
|
||||
(name "r-xcms")
|
||||
(version "3.10.1")
|
||||
(version "3.10.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "xcms" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1aa11gy1v7kkamv3hsnvdx715q8f1saw9p664j6wifyjj0hx13kn"))))
|
||||
"0sk53jcl7sjrpw2ncdpl8sw1b1j9mizlrj517rinr1qrbm6lsn8f"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-biobase" ,r-biobase)
|
||||
|
@ -7159,14 +7161,14 @@ data.")
|
|||
(define-public r-activedriverwgs
|
||||
(package
|
||||
(name "r-activedriverwgs")
|
||||
(version "1.1.0")
|
||||
(version "1.1.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "ActiveDriverWGS" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0l6h0f54zjvcx19ngq3kp01dypsjqf28vssjm8yzccmpyacfypag"))))
|
||||
"06mvakdc8d2pn91p0sr4ixc561s4ia5h1cvd1p7pqd6s50dy4say"))))
|
||||
(properties
|
||||
`((upstream-name . "ActiveDriverWGS")))
|
||||
(build-system r-build-system)
|
||||
|
@ -7245,14 +7247,14 @@ gene expression.")
|
|||
(define-public r-bgx
|
||||
(package
|
||||
(name "r-bgx")
|
||||
(version "1.54.0")
|
||||
(version "1.54.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "bgx" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0r67a6m5hrnsxgk0f57hl5yaagi2wai2kpfyjjlhrck4rlm1sjcx"))))
|
||||
"0a10fg9n5p024jrmbis102gqpbz23sc6vdn1sal2697hlxikzb46"))))
|
||||
(properties `((upstream-name . "bgx")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -7476,7 +7478,7 @@ networks and estimated fluxes can be visualized with hypergraphs.")
|
|||
safety and convenience features to the @code{filebacked.big.matrix} class from
|
||||
the @code{bigmemory} package. @code{BigMatrix} protects against segfaults by
|
||||
monitoring and gracefully restoring the connection to on-disk data and it also
|
||||
protects against accidental data modification with a filesystem-based
|
||||
protects against accidental data modification with a file-system-based
|
||||
permissions system. Utilities are provided for using @code{BigMatrix}-derived
|
||||
classes as @code{assayData} matrices within the @code{Biobase} package's
|
||||
@code{eSet} family of classes. @code{BigMatrix} provides some optimizations
|
||||
|
@ -8185,14 +8187,14 @@ truncated data.")
|
|||
(define-public r-interval
|
||||
(package
|
||||
(name "r-interval")
|
||||
(version "1.1-0.1")
|
||||
(version "1.1-0.7")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "interval" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1lln9jkli28i4wivwzqrsxvv2n15560f7msjy5gssrm45vxrxms8"))))
|
||||
"1b31lh0sv7lzy76230djipahxa10lblbr37kdiigr6hp3dd1xmz9"))))
|
||||
(properties `((upstream-name . "interval")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -8212,14 +8214,14 @@ plot them, and perform logrank or Wilcoxon type tests.")
|
|||
(define-public r-fhtest
|
||||
(package
|
||||
(name "r-fhtest")
|
||||
(version "1.4")
|
||||
(version "1.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "FHtest" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1wsn0j9ydpp9nfswiqg21p09kgkvaq8fh0y0h8syqgizah7i8vs2"))))
|
||||
"00mql2r4f5hxhdqf27q3x9s5rz2zzakx2myym97b1w1s7c5znl4q"))))
|
||||
(properties `((upstream-name . "FHtest")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -8242,3 +8244,483 @@ with:
|
|||
@end itemize
|
||||
")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public r-fourcseq
|
||||
(package
|
||||
(name "r-fourcseq")
|
||||
(version "1.22.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "FourCSeq" version))
|
||||
(sha256
|
||||
(base32 "14q1ijnqnbd9xs60sfvyqjfiypjrvhacpwp2v85yfhcxw870cx5b"))))
|
||||
(properties `((upstream-name . "FourCSeq")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-biobase" ,r-biobase)
|
||||
("r-biostrings" ,r-biostrings)
|
||||
("r-deseq2" ,r-deseq2)
|
||||
("r-fda" ,r-fda)
|
||||
("r-genomicalignments" ,r-genomicalignments)
|
||||
("r-genomicranges" ,r-genomicranges)
|
||||
("r-ggbio" ,r-ggbio)
|
||||
("r-ggplot2" ,r-ggplot2)
|
||||
("r-gtools" ,r-gtools)
|
||||
("r-lsd" ,r-lsd)
|
||||
("r-matrix" ,r-matrix)
|
||||
("r-reshape2" ,r-reshape2)
|
||||
("r-rsamtools" ,r-rsamtools)
|
||||
("r-rtracklayer" ,r-rtracklayer)
|
||||
("r-summarizedexperiment" ,r-summarizedexperiment)))
|
||||
(native-inputs
|
||||
`(("r-knitr" ,r-knitr)))
|
||||
(home-page
|
||||
"https://bioconductor.org/packages/release/bioc/html/FourCSeq.html")
|
||||
(synopsis "Analysis of multiplexed 4C sequencing data")
|
||||
(description
|
||||
"This package is an R package dedicated to the analysis of (multiplexed)
|
||||
4C sequencing data. @code{r-fourcseq} provides a pipeline to detect specific
|
||||
interactions between DNA elements and identify differential interactions
|
||||
between conditions. The statistical analysis in R starts with individual bam
|
||||
files for each sample as inputs. To obtain these files, the package contains
|
||||
a Python script to demultiplex libraries and trim off primer sequences. With
|
||||
a standard alignment software the required bam files can be then be
|
||||
generated.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public r-preprocesscore
|
||||
(package
|
||||
(name "r-preprocesscore")
|
||||
(version "1.50.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "preprocessCore" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0q1406kswylc8zn5k3wyd34p34pfzbhi1ggkfsh30zcjp6adbwjl"))))
|
||||
(properties
|
||||
`((upstream-name . "preprocessCore")))
|
||||
(build-system r-build-system)
|
||||
(home-page "https://github.com/bmbolstad/preprocessCore")
|
||||
(synopsis "Collection of pre-processing functions")
|
||||
(description
|
||||
"This package provides a library of core pre-processing and normalization
|
||||
routines.")
|
||||
(license license:lgpl2.0+)))
|
||||
|
||||
;; This is a CRAN package, but it depends on preprocessorcore, which is a
|
||||
;; Bioconductor package.
|
||||
(define-public r-wgcna
|
||||
(package
|
||||
(name "r-wgcna")
|
||||
(version "1.69")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "WGCNA" version))
|
||||
(sha256
|
||||
(base32
|
||||
"022hkprnrafvggi8pkjffkvk1qlnibmbbxxrni00wkrdbga5589f"))))
|
||||
(properties `((upstream-name . "WGCNA")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-annotationdbi" ,r-annotationdbi)
|
||||
("r-doparallel" ,r-doparallel)
|
||||
("r-dynamictreecut" ,r-dynamictreecut)
|
||||
("r-fastcluster" ,r-fastcluster)
|
||||
("r-foreach" ,r-foreach)
|
||||
("r-go-db" ,r-go-db)
|
||||
("r-hmisc" ,r-hmisc)
|
||||
("r-impute" ,r-impute)
|
||||
("r-rcpp" ,r-rcpp)
|
||||
("r-survival" ,r-survival)
|
||||
("r-matrixstats" ,r-matrixstats)
|
||||
("r-preprocesscore" ,r-preprocesscore)))
|
||||
(home-page
|
||||
"http://www.genetics.ucla.edu/labs/horvath/CoexpressionNetwork/Rpackages/WGCNA/")
|
||||
(synopsis "Weighted correlation network analysis")
|
||||
(description
|
||||
"This package provides functions necessary to perform Weighted
|
||||
Correlation Network Analysis on high-dimensional data. It includes functions
|
||||
for rudimentary data cleaning, construction and summarization of correlation
|
||||
networks, module identification and functions for relating both variables and
|
||||
modules to sample traits. It also includes a number of utility functions for
|
||||
data manipulation and visualization.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public r-rgraphviz
|
||||
(package
|
||||
(name "r-rgraphviz")
|
||||
(version "2.32.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "Rgraphviz" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1calpvzgcz6v7s4x6bf35kj83sga95zjp7x87p5d3qnbv7q2wz5y"))))
|
||||
(properties `((upstream-name . "Rgraphviz")))
|
||||
(build-system r-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'make-reproducible
|
||||
(lambda _
|
||||
;; The replacement value is taken from src/graphviz/builddate.h
|
||||
(substitute* "src/graphviz/configure"
|
||||
(("VERSION_DATE=.*")
|
||||
"VERSION_DATE=20200427.2341\n"))
|
||||
#t)))))
|
||||
;; FIXME: Rgraphviz bundles the sources of an older variant of
|
||||
;; graphviz. It does not build with the latest version of graphviz, so
|
||||
;; we do not add graphviz to the inputs.
|
||||
(inputs `(("zlib" ,zlib)))
|
||||
(propagated-inputs
|
||||
`(("r-graph" ,r-graph)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(home-page "https://bioconductor.org/packages/Rgraphviz")
|
||||
(synopsis "Plotting capabilities for R graph objects")
|
||||
(description
|
||||
"This package interfaces R with the graphviz library for plotting R graph
|
||||
objects from the @code{graph} package.")
|
||||
(license license:epl1.0)))
|
||||
|
||||
(define-public r-fithic
|
||||
(package
|
||||
(name "r-fithic")
|
||||
(version "1.14.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "FitHiC" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1dffkdxm08wq4kjd9j2v2625x3p6vbrk33a2zx94pwpgkghr72yp"))))
|
||||
(properties `((upstream-name . "FitHiC")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-data-table" ,r-data-table)
|
||||
("r-fdrtool" ,r-fdrtool)
|
||||
("r-rcpp" ,r-rcpp)))
|
||||
(native-inputs
|
||||
`(("r-knitr" ,r-knitr)))
|
||||
(home-page "https://bioconductor.org/packages/FitHiC")
|
||||
(synopsis "Confidence estimation for intra-chromosomal contact maps")
|
||||
(description
|
||||
"Fit-Hi-C is a tool for assigning statistical confidence estimates to
|
||||
intra-chromosomal contact maps produced by genome-wide genome architecture
|
||||
assays such as Hi-C.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public r-hitc
|
||||
(package
|
||||
(name "r-hitc")
|
||||
(version "1.32.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "HiTC" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1jx2pfa7sbdz7xi466lz1h5xv126g56z73n0a5l2wrq28k47qaxy"))))
|
||||
(properties `((upstream-name . "HiTC")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-biostrings" ,r-biostrings)
|
||||
("r-genomeinfodb" ,r-genomeinfodb)
|
||||
("r-genomicranges" ,r-genomicranges)
|
||||
("r-iranges" ,r-iranges)
|
||||
("r-matrix" ,r-matrix)
|
||||
("r-rcolorbrewer" ,r-rcolorbrewer)
|
||||
("r-rtracklayer" ,r-rtracklayer)))
|
||||
(home-page "https://bioconductor.org/packages/HiTC")
|
||||
(synopsis "High throughput chromosome conformation capture analysis")
|
||||
(description
|
||||
"The HiTC package was developed to explore high-throughput \"C\" data
|
||||
such as 5C or Hi-C. Dedicated R classes as well as standard methods for
|
||||
quality controls, normalization, visualization, and further analysis are also
|
||||
provided.")
|
||||
(license license:artistic2.0)))
|
||||
|
||||
(define-public r-hdf5array
|
||||
(package
|
||||
(name "r-hdf5array")
|
||||
(version "1.16.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "HDF5Array" version))
|
||||
(sha256
|
||||
(base32
|
||||
"01767v90nl0499jcicpxngbbs0af5p9c5aasi5va01w3v5bnqddn"))))
|
||||
(properties `((upstream-name . "HDF5Array")))
|
||||
(build-system r-build-system)
|
||||
(inputs
|
||||
`(("zlib" ,zlib)))
|
||||
(propagated-inputs
|
||||
`(("r-biocgenerics" ,r-biocgenerics)
|
||||
("r-delayedarray" ,r-delayedarray)
|
||||
("r-iranges" ,r-iranges)
|
||||
("r-matrix" ,r-matrix)
|
||||
("r-rhdf5" ,r-rhdf5)
|
||||
("r-rhdf5lib" ,r-rhdf5lib)
|
||||
("r-s4vectors" ,r-s4vectors)))
|
||||
(home-page "https://bioconductor.org/packages/HDF5Array")
|
||||
(synopsis "HDF5 back end for DelayedArray objects")
|
||||
(description "This package provides an array-like container for convenient
|
||||
access and manipulation of HDF5 datasets. It supports delayed operations and
|
||||
block processing.")
|
||||
(license license:artistic2.0)))
|
||||
|
||||
(define-public r-rhdf5lib
|
||||
(package
|
||||
(name "r-rhdf5lib")
|
||||
(version "1.10.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "Rhdf5lib" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0f45sqrvzj6x4mckalyp8366hm8v0rrmzklx3xd4gs6l2wallcn9"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; Delete bundled binaries
|
||||
(delete-file-recursively "src/wininclude/")
|
||||
(delete-file-recursively "src/winlib-4.9.3/")
|
||||
(delete-file-recursively "src/winlib-8.3.0/")
|
||||
(delete-file "src/hdf5small_cxx_hl_1.10.6.tar.gz")
|
||||
#t))))
|
||||
(properties `((upstream-name . "Rhdf5lib")))
|
||||
(build-system r-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'do-not-use-bundled-hdf5
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(for-each delete-file '("configure" "configure.ac"))
|
||||
;; Do not make other packages link with the proprietary libsz.
|
||||
(substitute* "R/zzz.R"
|
||||
((" \"%s/libsz.a\"") ""))
|
||||
(with-directory-excursion "src"
|
||||
(invoke "tar" "xvf" (assoc-ref inputs "hdf5-source"))
|
||||
(rename-file (string-append "hdf5-" ,(package-version hdf5-1.10))
|
||||
"hdf5")
|
||||
;; Remove timestamp and host system information to make
|
||||
;; the build reproducible.
|
||||
(substitute* "hdf5/src/libhdf5.settings.in"
|
||||
(("Configured on: @CONFIG_DATE@")
|
||||
"Configured on: Guix")
|
||||
(("Uname information:.*")
|
||||
"Uname information: Linux\n")
|
||||
;; Remove unnecessary store reference.
|
||||
(("C Compiler:.*")
|
||||
"C Compiler: GCC\n"))
|
||||
(rename-file "Makevars.in" "Makevars")
|
||||
(substitute* "Makevars"
|
||||
(("@ZLIB_LIB@") "-lz")
|
||||
(("@ZLIB_INCLUDE@") "")
|
||||
(("HDF5_CXX_LIB=.*")
|
||||
(string-append "HDF5_CXX_LIB="
|
||||
(assoc-ref inputs "hdf5") "/lib/libhdf5_cpp.a\n"))
|
||||
(("HDF5_LIB=.*")
|
||||
(string-append "HDF5_LIB="
|
||||
(assoc-ref inputs "hdf5") "/lib/libhdf5.a\n"))
|
||||
(("HDF5_CXX_INCLUDE=.*") "HDF5_CXX_INCLUDE=./hdf5/c++/src\n")
|
||||
(("HDF5_INCLUDE=.*") "HDF5_INCLUDE=./hdf5/src\n")
|
||||
(("HDF5_HL_INCLUDE=.*") "HDF5_HL_INCLUDE=./hdf5/hl/src\n")
|
||||
(("HDF5_HL_CXX_INCLUDE=.*") "HDF5_HL_CXX_INCLUDE=./hdf5/hl/c++/src\n")
|
||||
(("HDF5_HL_LIB=.*")
|
||||
(string-append "HDF5_HL_LIB="
|
||||
(assoc-ref inputs "hdf5") "/lib/libhdf5_hl.a\n"))
|
||||
(("HDF5_HL_CXX_LIB=.*")
|
||||
(string-append "HDF5_HL_CXX_LIB="
|
||||
(assoc-ref inputs "hdf5") "/lib/libhdf5_hl_cpp.a\n"))
|
||||
;; szip is non-free software
|
||||
(("cp \"\\$\\{SZIP_LIB\\}.*") "")
|
||||
(("PKG_LIBS =.*") "PKG_LIBS = -lz -lhdf5\n")))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("zlib" ,zlib)))
|
||||
(propagated-inputs
|
||||
`(("hdf5" ,hdf5-1.10)))
|
||||
(native-inputs
|
||||
`(("hdf5-source" ,(package-source hdf5-1.10))
|
||||
("r-knitr" ,r-knitr)))
|
||||
(home-page "https://bioconductor.org/packages/Rhdf5lib")
|
||||
(synopsis "HDF5 library as an R package")
|
||||
(description "This package provides C and C++ HDF5 libraries for use in R
|
||||
packages.")
|
||||
(license license:artistic2.0)))
|
||||
|
||||
(define-public r-beachmat
|
||||
(package
|
||||
(name "r-beachmat")
|
||||
(version "2.4.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "beachmat" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1vl6jbf9ia78cm4ikdb8vz04jv4b46zhvg5i006c63a9pzw7zhxi"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-biocgenerics" ,r-biocgenerics)
|
||||
("r-delayedarray" ,r-delayedarray)
|
||||
("r-matrix" ,r-matrix)))
|
||||
(native-inputs
|
||||
`(("r-knitr" ,r-knitr)))
|
||||
(home-page "https://bioconductor.org/packages/beachmat")
|
||||
(synopsis "Compiling Bioconductor to handle each matrix type")
|
||||
(description "This package provides a consistent C++ class interface for a
|
||||
variety of commonly used matrix types, including sparse and HDF5-backed
|
||||
matrices.")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public r-singlecellexperiment
|
||||
(package
|
||||
(name "r-singlecellexperiment")
|
||||
(version "1.10.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "SingleCellExperiment" version))
|
||||
(sha256
|
||||
(base32
|
||||
"092wvk11n7pa234vlwhxm3gdi4k3sbnz1splhxalbdhz3jf02zfp"))))
|
||||
(properties
|
||||
`((upstream-name . "SingleCellExperiment")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-biocgenerics" ,r-biocgenerics)
|
||||
("r-s4vectors" ,r-s4vectors)
|
||||
("r-summarizedexperiment" ,r-summarizedexperiment)))
|
||||
(native-inputs
|
||||
`(("r-knitr" ,r-knitr)))
|
||||
(home-page "https://bioconductor.org/packages/SingleCellExperiment")
|
||||
(synopsis "S4 classes for single cell data")
|
||||
(description "This package defines an S4 class for storing data from
|
||||
single-cell experiments. This includes specialized methods to store and
|
||||
retrieve spike-in information, dimensionality reduction coordinates and size
|
||||
factors for each cell, along with the usual metadata for genes and
|
||||
libraries.")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public r-scater
|
||||
(package
|
||||
(name "r-scater")
|
||||
(version "1.16.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "scater" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1pa5wvgjb30rw1vsjwbnn07ss3sc5n8ck5d7khdby4r2s9177s33"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-beachmat" ,r-beachmat)
|
||||
("r-biocgenerics" ,r-biocgenerics)
|
||||
("r-biocneighbors" ,r-biocneighbors)
|
||||
("r-biocparallel" ,r-biocparallel)
|
||||
("r-biocsingular" ,r-biocsingular)
|
||||
("r-delayedarray" ,r-delayedarray)
|
||||
("r-delayedmatrixstats" ,r-delayedmatrixstats)
|
||||
("r-ggbeeswarm" ,r-ggbeeswarm)
|
||||
("r-ggplot2" ,r-ggplot2)
|
||||
("r-matrix" ,r-matrix)
|
||||
("r-rcpp" ,r-rcpp)
|
||||
("r-rlang" ,r-rlang)
|
||||
("r-s4vectors" ,r-s4vectors)
|
||||
("r-singlecellexperiment" ,r-singlecellexperiment)
|
||||
("r-summarizedexperiment" ,r-summarizedexperiment)
|
||||
("r-viridis" ,r-viridis)))
|
||||
(native-inputs
|
||||
`(("r-knitr" ,r-knitr)))
|
||||
(home-page "https://github.com/davismcc/scater")
|
||||
(synopsis "Single-cell analysis toolkit for gene expression data in R")
|
||||
(description "This package provides a collection of tools for doing
|
||||
various analyses of single-cell RNA-seq gene expression data, with a focus on
|
||||
quality control.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public r-scran
|
||||
(package
|
||||
(name "r-scran")
|
||||
(version "1.16.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "scran" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1gm4ys4aq8h1pn45k1rxk384wjyf55izivw8kgxbrflj6j4xvvsv"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-beachmat" ,r-beachmat)
|
||||
("r-bh" ,r-bh)
|
||||
("r-biocgenerics" ,r-biocgenerics)
|
||||
("r-biocneighbors" ,r-biocneighbors)
|
||||
("r-biocparallel" ,r-biocparallel)
|
||||
("r-biocsingular" ,r-biocsingular)
|
||||
("r-delayedarray" ,r-delayedarray)
|
||||
("r-delayedmatrixstats" ,r-delayedmatrixstats)
|
||||
("r-dqrng" ,r-dqrng)
|
||||
("r-edger" ,r-edger)
|
||||
("r-igraph" ,r-igraph)
|
||||
("r-iranges" ,r-iranges)
|
||||
("r-limma" ,r-limma)
|
||||
("r-matrix" ,r-matrix)
|
||||
("r-rcpp" ,r-rcpp)
|
||||
("r-s4vectors" ,r-s4vectors)
|
||||
("r-scater" ,r-scater)
|
||||
("r-singlecellexperiment" ,r-singlecellexperiment)
|
||||
("r-statmod" ,r-statmod)
|
||||
("r-summarizedexperiment" ,r-summarizedexperiment)))
|
||||
(native-inputs
|
||||
`(("r-knitr" ,r-knitr)))
|
||||
(home-page "https://bioconductor.org/packages/scran")
|
||||
(synopsis "Methods for single-cell RNA-Seq data analysis")
|
||||
(description "This package implements a variety of low-level analyses of
|
||||
single-cell RNA-seq data. Methods are provided for normalization of
|
||||
cell-specific biases, assignment of cell cycle phase, and detection of highly
|
||||
variable and significantly correlated genes.")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public r-delayedmatrixstats
|
||||
(package
|
||||
(name "r-delayedmatrixstats")
|
||||
(version "1.10.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "DelayedMatrixStats" version))
|
||||
(sha256
|
||||
(base32
|
||||
"046sam0rz42ph0m7jz7v3bck7d3h2mp45gzywh5dvc1qkjq6fdxx"))))
|
||||
(properties
|
||||
`((upstream-name . "DelayedMatrixStats")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-biocparallel" ,r-biocparallel)
|
||||
("r-delayedarray" ,r-delayedarray)
|
||||
("r-hdf5array" ,r-hdf5array)
|
||||
("r-iranges" ,r-iranges)
|
||||
("r-matrix" ,r-matrix)
|
||||
("r-matrixstats" ,r-matrixstats)
|
||||
("r-s4vectors" ,r-s4vectors)))
|
||||
(native-inputs
|
||||
`(("r-knitr" ,r-knitr)))
|
||||
(home-page "https://github.com/PeteHaitch/DelayedMatrixStats")
|
||||
(synopsis "Functions that apply to rows and columns of DelayedMatrix objects")
|
||||
(description
|
||||
"This package provides a port of the @code{matrixStats} API for use with
|
||||
@code{DelayedMatrix} objects from the @code{DelayedArray} package. It
|
||||
contains high-performing functions operating on rows and columns of
|
||||
@code{DelayedMatrix} objects, e.g. @code{colMedians}, @code{rowMedians},
|
||||
@code{colRanks}, @code{rowRanks}, @code{colSds}, and @code{rowSds}. Functions
|
||||
are optimized per data type and for subsetted calculations such that both
|
||||
memory usage and processing time is minimized.")
|
||||
(license license:expat)))
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
|
||||
;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
|
||||
;;; Copyright © 2018, 2019 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de>
|
||||
;;; Copyright © 2018, 2019, 2020 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de>
|
||||
;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2019 Brian Leung <bkleung89@gmail.com>
|
||||
;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
|
||||
|
@ -4225,6 +4225,13 @@ performance.")
|
|||
(base32
|
||||
"16ljv43sc3fxmv63w7b2ff8m1s7h89xhazwmbm1bicz8axq8fjz0"))))
|
||||
(build-system gnu-build-system)
|
||||
;; Let htslib translate "gs://" and "s3://" to regular https links with
|
||||
;; "--enable-gcs" and "--enable-s3". For these options to work, we also
|
||||
;; need to set "--enable-libcurl".
|
||||
(arguments
|
||||
`(#:configure-flags '("--enable-gcs"
|
||||
"--enable-libcurl"
|
||||
"--enable-s3")))
|
||||
(inputs
|
||||
`(("curl" ,curl)
|
||||
("openssl" ,openssl)))
|
||||
|
@ -4496,7 +4503,7 @@ sequencing tag position and orientation.")
|
|||
(define-public mafft
|
||||
(package
|
||||
(name "mafft")
|
||||
(version "7.394")
|
||||
(version "7.471")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -4505,7 +4512,7 @@ sequencing tag position and orientation.")
|
|||
(file-name (string-append name "-" version ".tgz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0bacjkxfg944p5khhyh5rd4y7wkjc9qk4v2jjj442sqlq0f8ar7b"))))
|
||||
"0r1973fx2scq4712zdqfy67wkzqj0c0bhrdy4jxhvq40mdxyry30"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no automated tests, though there are tests in the read me
|
||||
|
@ -4568,7 +4575,7 @@ sequencing tag position and orientation.")
|
|||
("gawk" ,gawk)
|
||||
("grep" ,grep)
|
||||
("coreutils" ,coreutils)))
|
||||
(home-page "http://mafft.cbrc.jp/alignment/software/")
|
||||
(home-page "https://mafft.cbrc.jp/alignment/software/")
|
||||
(synopsis "Multiple sequence alignment program")
|
||||
(description
|
||||
"MAFFT offers a range of multiple alignment methods for nucleotide and
|
||||
|
@ -4576,7 +4583,7 @@ protein sequences. For instance, it offers L-INS-i (accurate; for alignment
|
|||
of <~200 sequences) and FFT-NS-2 (fast; for alignment of <~30,000
|
||||
sequences).")
|
||||
(license (license:non-copyleft
|
||||
"http://mafft.cbrc.jp/alignment/software/license.txt"
|
||||
"https://mafft.cbrc.jp/alignment/software/license.txt"
|
||||
"BSD-3 with different formatting"))))
|
||||
|
||||
(define-public mash
|
||||
|
@ -7539,13 +7546,13 @@ also known as views, in a controlled vocabulary.")
|
|||
(define-public r-biocstyle
|
||||
(package
|
||||
(name "r-biocstyle")
|
||||
(version "2.16.0")
|
||||
(version "2.16.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "BiocStyle" version))
|
||||
(sha256
|
||||
(base32
|
||||
"07rjl2n4sazdg581zh7w3yykzphgr2gpz41ba4ryqs7347vh9nbf"))))
|
||||
"09sz2bnbfbj8wz16k0q8xrvag9fldxqyp5vbg9pvd9skh28hv7c7"))))
|
||||
(properties
|
||||
`((upstream-name . "BiocStyle")))
|
||||
(build-system r-build-system)
|
||||
|
@ -8848,13 +8855,13 @@ of gene-level counts.")
|
|||
(define-public r-rhdf5
|
||||
(package
|
||||
(name "r-rhdf5")
|
||||
(version "2.32.2")
|
||||
(version "2.32.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "rhdf5" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1v6ygi0avh3gmaj2ld2nr7vww4ipw39b5kqci9w27i3ja985lb8j"))))
|
||||
"0fnx60dpf6s2qwq48lg98g18g8k7wgm66pw0kamlbb7l2hnwycvf"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-rhdf5lib" ,r-rhdf5lib)))
|
||||
|
@ -10272,14 +10279,14 @@ interval to data view, mismatch pileup, and several splicing summaries.")
|
|||
(define-public r-gqtlbase
|
||||
(package
|
||||
(name "r-gqtlbase")
|
||||
(version "1.20.0")
|
||||
(version "1.20.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "gQTLBase" version))
|
||||
(sha256
|
||||
(base32
|
||||
"06xvzp4fn3qfa46ggg8kxi267gbyd821vvx4040173xkqxpr0g5j"))))
|
||||
"1ly14vhhqxjpbxjypi6ppd37dycabdhf4ny4nsvp9969k418zv41"))))
|
||||
(properties `((upstream-name . "gQTLBase")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
|
@ -10599,343 +10606,6 @@ EMBL-EBI GWAS catalog.")
|
|||
visualizations for publication-quality multi-panel figures.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public r-fithic
|
||||
(package
|
||||
(name "r-fithic")
|
||||
(version "1.14.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "FitHiC" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1dffkdxm08wq4kjd9j2v2625x3p6vbrk33a2zx94pwpgkghr72yp"))))
|
||||
(properties `((upstream-name . "FitHiC")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-data-table" ,r-data-table)
|
||||
("r-fdrtool" ,r-fdrtool)
|
||||
("r-rcpp" ,r-rcpp)))
|
||||
(native-inputs
|
||||
`(("r-knitr" ,r-knitr)))
|
||||
(home-page "https://bioconductor.org/packages/FitHiC")
|
||||
(synopsis "Confidence estimation for intra-chromosomal contact maps")
|
||||
(description
|
||||
"Fit-Hi-C is a tool for assigning statistical confidence estimates to
|
||||
intra-chromosomal contact maps produced by genome-wide genome architecture
|
||||
assays such as Hi-C.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public r-hitc
|
||||
(package
|
||||
(name "r-hitc")
|
||||
(version "1.32.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "HiTC" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1jx2pfa7sbdz7xi466lz1h5xv126g56z73n0a5l2wrq28k47qaxy"))))
|
||||
(properties `((upstream-name . "HiTC")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-biostrings" ,r-biostrings)
|
||||
("r-genomeinfodb" ,r-genomeinfodb)
|
||||
("r-genomicranges" ,r-genomicranges)
|
||||
("r-iranges" ,r-iranges)
|
||||
("r-matrix" ,r-matrix)
|
||||
("r-rcolorbrewer" ,r-rcolorbrewer)
|
||||
("r-rtracklayer" ,r-rtracklayer)))
|
||||
(home-page "https://bioconductor.org/packages/HiTC")
|
||||
(synopsis "High throughput chromosome conformation capture analysis")
|
||||
(description
|
||||
"The HiTC package was developed to explore high-throughput \"C\" data
|
||||
such as 5C or Hi-C. Dedicated R classes as well as standard methods for
|
||||
quality controls, normalization, visualization, and further analysis are also
|
||||
provided.")
|
||||
(license license:artistic2.0)))
|
||||
|
||||
(define-public r-hdf5array
|
||||
(package
|
||||
(name "r-hdf5array")
|
||||
(version "1.16.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "HDF5Array" version))
|
||||
(sha256
|
||||
(base32
|
||||
"01767v90nl0499jcicpxngbbs0af5p9c5aasi5va01w3v5bnqddn"))))
|
||||
(properties `((upstream-name . "HDF5Array")))
|
||||
(build-system r-build-system)
|
||||
(inputs
|
||||
`(("zlib" ,zlib)))
|
||||
(propagated-inputs
|
||||
`(("r-biocgenerics" ,r-biocgenerics)
|
||||
("r-delayedarray" ,r-delayedarray)
|
||||
("r-iranges" ,r-iranges)
|
||||
("r-matrix" ,r-matrix)
|
||||
("r-rhdf5" ,r-rhdf5)
|
||||
("r-rhdf5lib" ,r-rhdf5lib)
|
||||
("r-s4vectors" ,r-s4vectors)))
|
||||
(home-page "https://bioconductor.org/packages/HDF5Array")
|
||||
(synopsis "HDF5 back end for DelayedArray objects")
|
||||
(description "This package provides an array-like container for convenient
|
||||
access and manipulation of HDF5 datasets. It supports delayed operations and
|
||||
block processing.")
|
||||
(license license:artistic2.0)))
|
||||
|
||||
(define-public r-rhdf5lib
|
||||
(package
|
||||
(name "r-rhdf5lib")
|
||||
(version "1.10.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "Rhdf5lib" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0f45sqrvzj6x4mckalyp8366hm8v0rrmzklx3xd4gs6l2wallcn9"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; Delete bundled binaries
|
||||
(delete-file-recursively "src/wininclude/")
|
||||
(delete-file-recursively "src/winlib-4.9.3/")
|
||||
(delete-file-recursively "src/winlib-8.3.0/")
|
||||
(delete-file "src/hdf5small_cxx_hl_1.10.6.tar.gz")
|
||||
#t))))
|
||||
(properties `((upstream-name . "Rhdf5lib")))
|
||||
(build-system r-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'do-not-use-bundled-hdf5
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(for-each delete-file '("configure" "configure.ac"))
|
||||
;; Do not make other packages link with the proprietary libsz.
|
||||
(substitute* "R/zzz.R"
|
||||
((" \"%s/libsz.a\"") ""))
|
||||
(with-directory-excursion "src"
|
||||
(invoke "tar" "xvf" (assoc-ref inputs "hdf5-source"))
|
||||
(rename-file (string-append "hdf5-" ,(package-version hdf5-1.10))
|
||||
"hdf5")
|
||||
;; Remove timestamp and host system information to make
|
||||
;; the build reproducible.
|
||||
(substitute* "hdf5/src/libhdf5.settings.in"
|
||||
(("Configured on: @CONFIG_DATE@")
|
||||
"Configured on: Guix")
|
||||
(("Uname information:.*")
|
||||
"Uname information: Linux\n")
|
||||
;; Remove unnecessary store reference.
|
||||
(("C Compiler:.*")
|
||||
"C Compiler: GCC\n"))
|
||||
(rename-file "Makevars.in" "Makevars")
|
||||
(substitute* "Makevars"
|
||||
(("@ZLIB_LIB@") "-lz")
|
||||
(("@ZLIB_INCLUDE@") "")
|
||||
(("HDF5_CXX_LIB=.*")
|
||||
(string-append "HDF5_CXX_LIB="
|
||||
(assoc-ref inputs "hdf5") "/lib/libhdf5_cpp.a\n"))
|
||||
(("HDF5_LIB=.*")
|
||||
(string-append "HDF5_LIB="
|
||||
(assoc-ref inputs "hdf5") "/lib/libhdf5.a\n"))
|
||||
(("HDF5_CXX_INCLUDE=.*") "HDF5_CXX_INCLUDE=./hdf5/c++/src\n")
|
||||
(("HDF5_INCLUDE=.*") "HDF5_INCLUDE=./hdf5/src\n")
|
||||
(("HDF5_HL_INCLUDE=.*") "HDF5_HL_INCLUDE=./hdf5/hl/src\n")
|
||||
(("HDF5_HL_CXX_INCLUDE=.*") "HDF5_HL_CXX_INCLUDE=./hdf5/hl/c++/src\n")
|
||||
(("HDF5_HL_LIB=.*")
|
||||
(string-append "HDF5_HL_LIB="
|
||||
(assoc-ref inputs "hdf5") "/lib/libhdf5_hl.a\n"))
|
||||
(("HDF5_HL_CXX_LIB=.*")
|
||||
(string-append "HDF5_HL_CXX_LIB="
|
||||
(assoc-ref inputs "hdf5") "/lib/libhdf5_hl_cpp.a\n"))
|
||||
;; szip is non-free software
|
||||
(("cp \"\\$\\{SZIP_LIB\\}.*") "")
|
||||
(("PKG_LIBS =.*") "PKG_LIBS = -lz -lhdf5\n")))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("zlib" ,zlib)))
|
||||
(propagated-inputs
|
||||
`(("hdf5" ,hdf5-1.10)))
|
||||
(native-inputs
|
||||
`(("hdf5-source" ,(package-source hdf5-1.10))
|
||||
("r-knitr" ,r-knitr)))
|
||||
(home-page "https://bioconductor.org/packages/Rhdf5lib")
|
||||
(synopsis "HDF5 library as an R package")
|
||||
(description "This package provides C and C++ HDF5 libraries for use in R
|
||||
packages.")
|
||||
(license license:artistic2.0)))
|
||||
|
||||
(define-public r-beachmat
|
||||
(package
|
||||
(name "r-beachmat")
|
||||
(version "2.4.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "beachmat" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1vl6jbf9ia78cm4ikdb8vz04jv4b46zhvg5i006c63a9pzw7zhxi"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-biocgenerics" ,r-biocgenerics)
|
||||
("r-delayedarray" ,r-delayedarray)
|
||||
("r-matrix" ,r-matrix)))
|
||||
(native-inputs
|
||||
`(("r-knitr" ,r-knitr)))
|
||||
(home-page "https://bioconductor.org/packages/beachmat")
|
||||
(synopsis "Compiling Bioconductor to handle each matrix type")
|
||||
(description "This package provides a consistent C++ class interface for a
|
||||
variety of commonly used matrix types, including sparse and HDF5-backed
|
||||
matrices.")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public r-singlecellexperiment
|
||||
(package
|
||||
(name "r-singlecellexperiment")
|
||||
(version "1.10.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "SingleCellExperiment" version))
|
||||
(sha256
|
||||
(base32
|
||||
"092wvk11n7pa234vlwhxm3gdi4k3sbnz1splhxalbdhz3jf02zfp"))))
|
||||
(properties
|
||||
`((upstream-name . "SingleCellExperiment")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-biocgenerics" ,r-biocgenerics)
|
||||
("r-s4vectors" ,r-s4vectors)
|
||||
("r-summarizedexperiment" ,r-summarizedexperiment)))
|
||||
(native-inputs
|
||||
`(("r-knitr" ,r-knitr)))
|
||||
(home-page "https://bioconductor.org/packages/SingleCellExperiment")
|
||||
(synopsis "S4 classes for single cell data")
|
||||
(description "This package defines an S4 class for storing data from
|
||||
single-cell experiments. This includes specialized methods to store and
|
||||
retrieve spike-in information, dimensionality reduction coordinates and size
|
||||
factors for each cell, along with the usual metadata for genes and
|
||||
libraries.")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public r-scater
|
||||
(package
|
||||
(name "r-scater")
|
||||
(version "1.16.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "scater" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1pa5wvgjb30rw1vsjwbnn07ss3sc5n8ck5d7khdby4r2s9177s33"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-beachmat" ,r-beachmat)
|
||||
("r-biocgenerics" ,r-biocgenerics)
|
||||
("r-biocneighbors" ,r-biocneighbors)
|
||||
("r-biocparallel" ,r-biocparallel)
|
||||
("r-biocsingular" ,r-biocsingular)
|
||||
("r-delayedarray" ,r-delayedarray)
|
||||
("r-delayedmatrixstats" ,r-delayedmatrixstats)
|
||||
("r-ggbeeswarm" ,r-ggbeeswarm)
|
||||
("r-ggplot2" ,r-ggplot2)
|
||||
("r-matrix" ,r-matrix)
|
||||
("r-rcpp" ,r-rcpp)
|
||||
("r-rlang" ,r-rlang)
|
||||
("r-s4vectors" ,r-s4vectors)
|
||||
("r-singlecellexperiment" ,r-singlecellexperiment)
|
||||
("r-summarizedexperiment" ,r-summarizedexperiment)
|
||||
("r-viridis" ,r-viridis)))
|
||||
(native-inputs
|
||||
`(("r-knitr" ,r-knitr)))
|
||||
(home-page "https://github.com/davismcc/scater")
|
||||
(synopsis "Single-cell analysis toolkit for gene expression data in R")
|
||||
(description "This package provides a collection of tools for doing
|
||||
various analyses of single-cell RNA-seq gene expression data, with a focus on
|
||||
quality control.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public r-scran
|
||||
(package
|
||||
(name "r-scran")
|
||||
(version "1.16.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "scran" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1gm4ys4aq8h1pn45k1rxk384wjyf55izivw8kgxbrflj6j4xvvsv"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-beachmat" ,r-beachmat)
|
||||
("r-bh" ,r-bh)
|
||||
("r-biocgenerics" ,r-biocgenerics)
|
||||
("r-biocneighbors" ,r-biocneighbors)
|
||||
("r-biocparallel" ,r-biocparallel)
|
||||
("r-biocsingular" ,r-biocsingular)
|
||||
("r-delayedarray" ,r-delayedarray)
|
||||
("r-delayedmatrixstats" ,r-delayedmatrixstats)
|
||||
("r-dqrng" ,r-dqrng)
|
||||
("r-edger" ,r-edger)
|
||||
("r-igraph" ,r-igraph)
|
||||
("r-iranges" ,r-iranges)
|
||||
("r-limma" ,r-limma)
|
||||
("r-matrix" ,r-matrix)
|
||||
("r-rcpp" ,r-rcpp)
|
||||
("r-s4vectors" ,r-s4vectors)
|
||||
("r-scater" ,r-scater)
|
||||
("r-singlecellexperiment" ,r-singlecellexperiment)
|
||||
("r-statmod" ,r-statmod)
|
||||
("r-summarizedexperiment" ,r-summarizedexperiment)))
|
||||
(native-inputs
|
||||
`(("r-knitr" ,r-knitr)))
|
||||
(home-page "https://bioconductor.org/packages/scran")
|
||||
(synopsis "Methods for single-cell RNA-Seq data analysis")
|
||||
(description "This package implements a variety of low-level analyses of
|
||||
single-cell RNA-seq data. Methods are provided for normalization of
|
||||
cell-specific biases, assignment of cell cycle phase, and detection of highly
|
||||
variable and significantly correlated genes.")
|
||||
(license license:gpl3)))
|
||||
|
||||
(define-public r-delayedmatrixstats
|
||||
(package
|
||||
(name "r-delayedmatrixstats")
|
||||
(version "1.10.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (bioconductor-uri "DelayedMatrixStats" version))
|
||||
(sha256
|
||||
(base32
|
||||
"046sam0rz42ph0m7jz7v3bck7d3h2mp45gzywh5dvc1qkjq6fdxx"))))
|
||||
(properties
|
||||
`((upstream-name . "DelayedMatrixStats")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-biocparallel" ,r-biocparallel)
|
||||
("r-delayedarray" ,r-delayedarray)
|
||||
("r-hdf5array" ,r-hdf5array)
|
||||
("r-iranges" ,r-iranges)
|
||||
("r-matrix" ,r-matrix)
|
||||
("r-matrixstats" ,r-matrixstats)
|
||||
("r-s4vectors" ,r-s4vectors)))
|
||||
(native-inputs
|
||||
`(("r-knitr" ,r-knitr)))
|
||||
(home-page "https://github.com/PeteHaitch/DelayedMatrixStats")
|
||||
(synopsis "Functions that apply to rows and columns of DelayedMatrix objects")
|
||||
(description
|
||||
"This package provides a port of the @code{matrixStats} API for use with
|
||||
@code{DelayedMatrix} objects from the @code{DelayedArray} package. It
|
||||
contains high-performing functions operating on rows and columns of
|
||||
@code{DelayedMatrix} objects, e.g. @code{colMedians}, @code{rowMedians},
|
||||
@code{colRanks}, @code{rowRanks}, @code{colSds}, and @code{rowSds}. Functions
|
||||
are optimized per data type and for subsetted calculations such that both
|
||||
memory usage and processing time is minimized.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public r-dropbead
|
||||
(let ((commit "d746c6f3b32110428ea56d6a0001ce52a251c247")
|
||||
(revision "2"))
|
||||
|
@ -11484,7 +11154,6 @@ models. TADbit is complemented by TADkit for visualizing 3D models.")
|
|||
("tcsh" ,tcsh)
|
||||
("perl" ,perl)
|
||||
("libpng" ,libpng)
|
||||
("mariadb" ,mariadb "lib")
|
||||
("mariadb-dev" ,mariadb "dev")
|
||||
("openssl" ,openssl-1.0)))
|
||||
(home-page "https://genome.cse.ucsc.edu/index.html")
|
||||
|
@ -15881,7 +15550,7 @@ than is possible with plain-text methods alone.")
|
|||
(propagated-inputs
|
||||
`(("libxml2" ,libxml2)))
|
||||
(native-inputs
|
||||
`(("check" ,check)
|
||||
`(("check" ,check-0.14)
|
||||
("swig" ,swig)))
|
||||
(home-page "http://sbml.org/Software/libSBML")
|
||||
(synopsis "Process SBML files and data streams")
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2015, 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
|
||||
|
@ -41,6 +41,7 @@
|
|||
#:use-module (guix build-system trivial)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages hurd)
|
||||
#:use-module (gnu packages icu4c)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages python)
|
||||
|
@ -132,6 +133,15 @@
|
|||
,(%current-target-system)))))
|
||||
'())
|
||||
|
||||
;; Change an #ifdef __MACH__ that really targets macOS.
|
||||
;; TODO: Inline this on the next rebuild cycle.
|
||||
,@(if (hurd-target?)
|
||||
'((substitute* "boost/test/utils/timer.hpp"
|
||||
(("defined\\(__MACH__\\)")
|
||||
"(defined __MACH__ && !defined __GNU__)"))
|
||||
#t)
|
||||
'())
|
||||
|
||||
(invoke "./bootstrap.sh"
|
||||
(string-append "--prefix=" out)
|
||||
;; Auto-detection looks for ICU only in traditional
|
||||
|
|
|
@ -465,7 +465,6 @@ tree binary files. These are board description files used by Linux and BSD.")
|
|||
("python" ,python)
|
||||
("python-coverage" ,python-coverage)
|
||||
("python-pytest" ,python-pytest)
|
||||
("sdl2" ,sdl2)
|
||||
("swig" ,swig)))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "https://www.denx.de/wiki/U-Boot/")
|
||||
|
@ -478,6 +477,9 @@ also initializes the boards (RAM etc).")
|
|||
(package
|
||||
(inherit u-boot)
|
||||
(name "u-boot-tools")
|
||||
(native-inputs
|
||||
`(("sdl2" ,sdl2)
|
||||
,@(package-native-inputs u-boot)))
|
||||
(arguments
|
||||
`(#:make-flags '("HOSTCC=gcc")
|
||||
#:test-target "tests"
|
||||
|
|
|
@ -111,8 +111,8 @@ generate such a compilation database.")
|
|||
(license license:gpl3+)))
|
||||
|
||||
(define-public gn
|
||||
(let ((commit "eb997b5ab9c3f1ba6a2c52072785884864a84eae")
|
||||
(revision "1794")) ;as returned by `git describe`, used below
|
||||
(let ((commit "e327ffdc503815916db2543ec000226a8df45163")
|
||||
(revision "1819")) ;as returned by `git describe`, used below
|
||||
(package
|
||||
(name "gn")
|
||||
(version (git-version "0.0" revision commit))
|
||||
|
@ -122,7 +122,7 @@ generate such a compilation database.")
|
|||
(uri (git-reference (url home-page) (commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"1vfkcy34wqhg7wsk7jdzhgnnzwim10wgbxv5bnavxzjcs871i2xa"))
|
||||
"0kvlfj3www84zp1vmxh76x8fdjm9hyk8lkh2vdsidafpmm75fphr"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
;;; Copyright © 2019 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright @ 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com>
|
||||
;;; Copyright © 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com>
|
||||
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
|
@ -40,6 +40,7 @@
|
|||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages lua)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages pcre)
|
||||
#:use-module (gnu packages python)
|
||||
|
@ -257,6 +258,64 @@ string formatting and autoresizing, option and config file parsing, type
|
|||
checking casts and more.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public libwuya
|
||||
;; This commit is the one before "wuy_pool.h" was removed from libwuya,
|
||||
;; which libleak currently requires.
|
||||
(let ((revision "1")
|
||||
(commit "883502041044f4616cfbf75c8f2bb60059f704a9"))
|
||||
(package
|
||||
(name "libwuya")
|
||||
(version (git-version "0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/WuBingzheng/libwuya")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1xrsqbgr13g2v0ag165ryp7xrwzv41xfygzk2a3445ca98c1qpdc"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ;no test suite
|
||||
#:phases (modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-lua-includes
|
||||
(lambda _
|
||||
(substitute* '("wuy_cflua.h" "wuy_cflua.c")
|
||||
(("<lua5\\.1/") "<"))
|
||||
#t))
|
||||
(add-after 'unpack 'add--fPIC-to-CFLAGS
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
(("CFLAGS[^\n]*" all)
|
||||
(string-append all " -fPIC")))
|
||||
#t))
|
||||
(add-before 'build 'set-CC
|
||||
(lambda _
|
||||
(setenv "CC" "gcc")
|
||||
#t))
|
||||
(delete 'configure) ;no configure script
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(include-dir (string-append out "/include"))
|
||||
(headers (find-files "." "\\.h$")))
|
||||
(for-each (lambda (h)
|
||||
(install-file h include-dir))
|
||||
headers)
|
||||
(install-file "libwuya.a" (string-append out "/lib"))
|
||||
#t))))))
|
||||
(inputs `(("lua" ,lua)))
|
||||
(home-page "https://github.com/WuBingzheng/libwuya/")
|
||||
(synopsis "C library implementing various data structures")
|
||||
(description "The @code{libwuya} library implements data structures such
|
||||
as dictionaries, skip lists, and memory pools.")
|
||||
;; There is no clear information as to what license this is distributed
|
||||
;; under, but it is included (bundled) with libleak from the same author
|
||||
;; under the GNU GPL v2 or later license, so use this here until it is
|
||||
;; clarified (see: https://github.com/WuBingzheng/libwuya/issues/2).
|
||||
(license license:gpl2+))))
|
||||
|
||||
(define-public packcc
|
||||
(package
|
||||
(name "packcc")
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com
|
||||
;;; Copyright © 2020 Brendan Tildesley <mail@brendan.scot>
|
||||
;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
|
||||
;;; Copyright © 2020 Peng Mei Yu <pengmeiyu@riseup.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -37,6 +38,7 @@
|
|||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages dav)
|
||||
#:use-module (gnu packages docbook)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnome)
|
||||
|
@ -124,12 +126,20 @@ the <tz.h> library for handling time zones and leap seconds.")
|
|||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; test suite appears broken
|
||||
#:parallel-build? #f ;may cause GIR generation failure
|
||||
#:configure-flags '("-DSHARED_ONLY=true"
|
||||
;; required by evolution-data-server
|
||||
"-DGOBJECT_INTROSPECTION=true"
|
||||
"-DICAL_GLIB_VAPI=true")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-docbook-reference
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "doc/reference/libical-glib/libical-glib-docs.sgml.in"
|
||||
(("http://www.oasis-open.org/docbook/xml/4.3/")
|
||||
(string-append (assoc-ref inputs "docbook-xml")
|
||||
"/xml/dtd/docbook/")))
|
||||
#t))
|
||||
(add-before 'configure 'patch-paths
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; TODO: libical 3.1.0 supports using TZDIR instead of a hard-coded
|
||||
|
@ -144,7 +154,8 @@ the <tz.h> library for handling time zones and leap seconds.")
|
|||
(("\\\"/usr/share/lib/zoneinfo\\\"") "")))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("gobject-introspection" ,gobject-introspection)
|
||||
`(("docbook-xml" ,docbook-xml-4.3)
|
||||
("gobject-introspection" ,gobject-introspection)
|
||||
("gtk-doc" ,gtk-doc)
|
||||
("perl" ,perl)
|
||||
("pkg-config" ,pkg-config)
|
||||
|
@ -339,3 +350,45 @@ DebConf, FrOSCon, Grazer LinuxTage, and the CCC congresses.
|
|||
ConfClerk is targeted at mobile devices but works on any system running Qt.")
|
||||
(license (list license:gpl2+
|
||||
license:lgpl3)))) ; or cc-by3.0 for src/icons/*
|
||||
|
||||
(define-public ccal
|
||||
(package
|
||||
(name "ccal")
|
||||
(version "2.5.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://ccal.chinesebay.com/ccal/ccal-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"15nza1d1lvk3dp0wcl53wsd32yhbgyzznha092mh5kh5z74vsk1x"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(substitute* "Makefile"
|
||||
(("/usr/local/bin")
|
||||
(string-append out "/bin"))
|
||||
(("/usr/local/man")
|
||||
(string-append out "/share/man"))))
|
||||
#t))
|
||||
(add-after 'install 'install-manuals
|
||||
(lambda _
|
||||
(invoke "make" "install-man"))))
|
||||
;; no tests
|
||||
#:tests? #f))
|
||||
(home-page "http://ccal.chinesebay.com/ccal/ccal.htm")
|
||||
(synopsis "Command line program for Chinese calendar")
|
||||
(description "@command{ccal} is a command line program which writes a
|
||||
Gregorian calendar together with Chinese calendar to standard output. Its
|
||||
usage is similar to the @command{cal} program. In addition to console output,
|
||||
it can also generate Encapsulated Postscript and HTML table outputs for use in
|
||||
do-it-yourself calendars and web pages. It supports both simplified and
|
||||
traditional Chinese characters.")
|
||||
;; Both licenses are in use in various source files. Note that
|
||||
;; COPYING.LESSER specifies LGPL 3.0, but all source files say
|
||||
;; 'Lesser GPL version 2 or later'.
|
||||
(license (list license:gpl2+ license:lgpl2.1+))))
|
||||
|
|
|
@ -30,14 +30,14 @@
|
|||
(define-public ccache
|
||||
(package
|
||||
(name "ccache")
|
||||
(version "3.7.11")
|
||||
(version "3.7.12")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/ccache/ccache/releases/download/v"
|
||||
version "/ccache-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "0s1g0ylrayzax68xlqnxx46f5bhvr2pcm1yzswmj0kcs14404icd"))))
|
||||
(base32 "005liq8csgxdn7m9hj2ah07hishww855p8sc96y1hrnwc21lwbx0"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("perl" ,perl) ; for test/run
|
||||
("which" ,(@ (gnu packages base) which))))
|
||||
|
|
|
@ -737,16 +737,15 @@ information is written to standard error.")
|
|||
(define-public asunder
|
||||
(package
|
||||
(name "asunder")
|
||||
(version "2.9.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append "http://www.littlesvr.ca/asunder/releases/asunder-"
|
||||
version
|
||||
".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1ycnd82lh7qy1pcbngd4b41s16j9hnm2kyfrncg4cwr3bfk7yg7a"))))
|
||||
(version "2.9.7")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append "http://www.littlesvr.ca/asunder/releases/asunder-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "1x3l308ss0iqhz90qyjb94gyd8b4piyrm2nzjmg5kf049k9prjf1"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(arguments
|
||||
'(#:out-of-source? #f
|
||||
|
|
|
@ -76,7 +76,7 @@
|
|||
(define-public nss-certs
|
||||
(package
|
||||
(name "nss-certs")
|
||||
(version "3.52.1")
|
||||
(version "3.57")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (let ((version-with-underscores
|
||||
|
@ -87,7 +87,7 @@
|
|||
"nss-" version ".tar.gz")))
|
||||
(sha256
|
||||
(base32
|
||||
"0y4jb9095f7bbgw7d7kvzm4c3g4p5i6y68fwhb8wlkpb7b1imj5w"))))
|
||||
"10n3pncg6k81ikjz12la147rppwqn57bkrdl9gb820w6pq0nra2m"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out"))
|
||||
(native-inputs
|
||||
|
|
|
@ -135,7 +135,7 @@ like Jasmine or Mocha.")
|
|||
(define-public check
|
||||
(package
|
||||
(name "check")
|
||||
(version "0.14.0")
|
||||
(version "0.15.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -143,7 +143,7 @@ like Jasmine or Mocha.")
|
|||
version "/check-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"02zkfiyklckmivrfvdsrlzvzphkdsgjrz3igncw05dv5pshhq3xx"))))
|
||||
"02m25y9m46pb6n46s51av62kpd936lkfv3b13kfpckgvmh5lxpm8"))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "https://libcheck.github.io/check/")
|
||||
(synopsis "Unit test framework for C")
|
||||
|
@ -156,7 +156,19 @@ faults or other signals. The output from unit tests can be used within
|
|||
source code editors and IDEs.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
;; Some packages require this older version. Removed once no longer needed.
|
||||
;; Some packages require older versions. Removed once no longer needed.
|
||||
(define-public check-0.14
|
||||
(package
|
||||
(inherit check)
|
||||
(version "0.14.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/libcheck/check/releases"
|
||||
"/download/" version "/check-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"02zkfiyklckmivrfvdsrlzvzphkdsgjrz3igncw05dv5pshhq3xx"))))))
|
||||
|
||||
(define-public check-0.12
|
||||
(package
|
||||
(inherit check)
|
||||
|
@ -337,7 +349,7 @@ a multi-paradigm automated test framework for C++ and Objective-C.")
|
|||
(define-public catch-framework2
|
||||
(package
|
||||
(name "catch2")
|
||||
(version "2.13.0")
|
||||
(version "2.13.2")
|
||||
(home-page "https://github.com/catchorg/Catch2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
|
@ -347,7 +359,7 @@ a multi-paradigm automated test framework for C++ and Objective-C.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0i4w0c9280a5fyi00mvvf13wlnfzyifr487n1iyr30zvvj5s5f1h"))))
|
||||
"100r0kmra8jmra2hv92lzvwcmphpaiccwvq3lpdsa5b7hailhach"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs
|
||||
`(("python" ,python-wrapper)))
|
||||
|
@ -924,13 +936,13 @@ and many external plugins.")
|
|||
(package
|
||||
(inherit (strip-python2-variant python-pytest))
|
||||
(name "python2-pytest")
|
||||
(version "4.6.9")
|
||||
(version "4.6.11")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pytest" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0fgkmpc31nzy97fxfrkqbzycigdwxwwmninx3qhkzp81migggs0r"))))
|
||||
"0ls3pqr86xgif6bphsb6wrww9r2vc7p7a2naq8zcq8115wwq5yjh"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:python ,python-2
|
||||
|
@ -1562,14 +1574,14 @@ have failed since the last commit or what tests are currently failing.")))
|
|||
(define-public python-coverage
|
||||
(package
|
||||
(name "python-coverage")
|
||||
(version "5.0.3")
|
||||
(version "5.2.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "coverage" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1vrg8panqw79pswg52ygbrff3wdnxarrd9qz6c64ah0c4h2cmbvp"))))
|
||||
"16z8i18msgs8k74n73dj9x49wzkl0vk4vq8k5pl1bsj70y7b4k53"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
;; FIXME: 95 tests failed, 539 passed, 6 skipped, 2 errors.
|
||||
|
@ -2681,7 +2693,7 @@ provides a simple way to achieve this.")
|
|||
(define-public umockdev
|
||||
(package
|
||||
(name "umockdev")
|
||||
(version "0.14.2")
|
||||
(version "0.14.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/martinpitt/umockdev/"
|
||||
|
@ -2689,7 +2701,7 @@ provides a simple way to achieve this.")
|
|||
"umockdev-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1nh6xsssmssmk0lxp9c9dmq3wzlpbpkg77nmmd09csbpybibgxfp"))))
|
||||
"15smnxwplk48nas2c8ji6a5fqcsh770f1yl5nc2j5iprjspbm4mg"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
|
|
@ -59,7 +59,7 @@
|
|||
|
||||
;; Parallel builds are not supported, as noted in README.
|
||||
#:parallel-build? #f))
|
||||
(propagated-inputs `(("gcc-toolchain", gcc-toolchain)))
|
||||
(propagated-inputs `(("gcc-toolchain" ,gcc-toolchain)))
|
||||
(home-page "https://www.call-cc.org/")
|
||||
(synopsis "R5RS Scheme implementation that compiles native code via C")
|
||||
(description
|
||||
|
|
|
@ -83,6 +83,9 @@
|
|||
"base/third_party/symbolize" ;BSD-3
|
||||
"base/third_party/xdg_mime" ;LGPL2.0+ or Academic 2.0
|
||||
"base/third_party/xdg_user_dirs" ;Expat
|
||||
;; XXX: Chromium requires a newer C++ standard library. Remove this when
|
||||
;; the default GCC is 9 or later.
|
||||
"buildtools/third_party/libc++" ;ASL2.0, with LLVM exceptions
|
||||
"chrome/third_party/mozilla_security_manager" ;MPL-1.1/GPL2+/LGPL2.1+
|
||||
"courgette/third_party/bsdiff" ;BSD-2, BSD protection license
|
||||
"courgette/third_party/divsufsort" ;Expat
|
||||
|
@ -111,7 +114,6 @@
|
|||
"third_party/boringssl/src/third_party/fiat" ;Expat
|
||||
"third_party/breakpad" ;BSD-3
|
||||
"third_party/brotli" ;Expat
|
||||
"third_party/cacheinvalidation" ;ASL2.0
|
||||
"third_party/catapult" ;BSD-3
|
||||
"third_party/catapult/common/py_vulcanize/third_party/rcssmin" ;ASL2.0
|
||||
"third_party/catapult/common/py_vulcanize/third_party/rjsmin" ;ASL2.0
|
||||
|
@ -139,9 +141,15 @@
|
|||
"third_party/depot_tools/owners.py" ;BSD-3
|
||||
"third_party/devtools-frontend" ;BSD-3
|
||||
"third_party/devtools-frontend/src/front_end/third_party/acorn" ;Expat
|
||||
"third_party/devtools-frontend/src/front_end/third_party/chromium" ;BSD-3
|
||||
"third_party/devtools-frontend/src/front_end/third_party/codemirror" ;Expat
|
||||
"third_party/devtools-frontend/src/front_end/third_party/fabricjs" ;Expat
|
||||
"third_party/devtools-frontend/src/front_end/third_party/i18n" ;ASL2.0
|
||||
"third_party/devtools-frontend/src/front_end/third_party/intl-messageformat" ;BSD-3
|
||||
"third_party/devtools-frontend/src/front_end/third_party/lighthouse" ;ASL2.0
|
||||
"third_party/devtools-frontend/src/front_end/third_party/lit-html" ;BSD-3
|
||||
"third_party/devtools-frontend/src/front_end/third_party/lodash-isequal" ;Expat
|
||||
"third_party/devtools-frontend/src/front_end/third_party/marked" ;Expat, BSD-3
|
||||
"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
|
||||
|
@ -159,6 +167,8 @@
|
|||
"third_party/iccjpeg" ;IJG
|
||||
"third_party/inspector_protocol" ;BSD-3
|
||||
"third_party/jinja2" ;BSD-3
|
||||
;; XXX: Unbundle this when switching back to libstdc++.
|
||||
"third_party/jsoncpp" ;Public Domain or Expat
|
||||
"third_party/jstemplate" ;ASL2.0
|
||||
"third_party/khronos" ;Expat, SGI
|
||||
"third_party/leveldatabase" ;BSD-3
|
||||
|
@ -175,6 +185,11 @@
|
|||
"third_party/libsrtp" ;BSD-3
|
||||
"third_party/libsync" ;ASL2.0
|
||||
"third_party/libudev" ;LGPL2.1+
|
||||
|
||||
;; FIXME: build/linux/unbundle/libvpx.gn does not work for all users.
|
||||
"third_party/libvpx" ;BSD-3
|
||||
"third_party/libvpx/source/libvpx/third_party/x86inc" ;Expat
|
||||
|
||||
"third_party/libwebm" ;BSD-3
|
||||
"third_party/libxml/chromium" ;BSD-3
|
||||
"third_party/libyuv" ;BSD-3
|
||||
|
@ -186,6 +201,7 @@
|
|||
"third_party/metrics_proto" ;BSD-3
|
||||
"third_party/modp_b64" ;BSD-3
|
||||
"third_party/nasm" ;BSD-2
|
||||
"third_party/nearby" ;ASL2.0
|
||||
"third_party/node" ;Expat
|
||||
"third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2" ;BSD-2
|
||||
"third_party/one_euro_filter" ;BSD-3
|
||||
|
@ -208,9 +224,13 @@
|
|||
"third_party/protobuf/third_party/six" ;Expat
|
||||
"third_party/pyjson5" ;ASL2.0
|
||||
"third_party/qcms" ;Expat
|
||||
;; XXX: System re2 cannot be used when Chromium uses libc++ because the re2
|
||||
;; ABI relies on libstdc++ internals. See build/linux/unbundle/re2.gn.
|
||||
"third_party/re2" ;BSD-3
|
||||
"third_party/rnnoise" ;BSD-3
|
||||
"third_party/s2cellid" ;ASL2.0
|
||||
"third_party/schema_org" ;CC-BY-SA3.0
|
||||
"third_party/securemessage" ;ASL2.0
|
||||
"third_party/skia" ;BSD-3
|
||||
"third_party/skia/include/third_party/skcms" ;BSD-3
|
||||
"third_party/skia/third_party/skcms" ;BSD-3
|
||||
|
@ -222,12 +242,13 @@
|
|||
"third_party/sqlite" ;Public domain
|
||||
"third_party/swiftshader" ;ASL2.0
|
||||
"third_party/swiftshader/third_party/astc-encoder" ;ASL2.0
|
||||
"third_party/swiftshader/third_party/llvm-7.0" ;NCSA
|
||||
"third_party/swiftshader/third_party/llvm-10.0" ;ASL2.0, with LLVM exception
|
||||
"third_party/swiftshader/third_party/llvm-subzero" ;NCSA
|
||||
"third_party/swiftshader/third_party/marl" ;ASL2.0
|
||||
"third_party/swiftshader/third_party/subzero" ;NCSA
|
||||
"third_party/swiftshader/third_party/SPIRV-Headers" ;X11-style
|
||||
"third_party/tcmalloc/chromium" ;BSD-3
|
||||
"third_party/ukey2" ;ASL2.0
|
||||
"third_party/usb_ids" ;BSD-3
|
||||
"third_party/usrsctp" ;BSD-2
|
||||
"third_party/vulkan_memory_allocator" ;Expat
|
||||
|
@ -246,8 +267,10 @@
|
|||
"third_party/widevine/cdm/widevine_cdm_version.h" ;BSD-3
|
||||
"third_party/widevine/cdm/widevine_cdm_common.h" ;BSD-3
|
||||
"third_party/woff2" ;ASL2.0
|
||||
"third_party/xcbproto" ;X11
|
||||
"third_party/xdg-utils" ;Expat
|
||||
"third_party/zlib/google" ;BSD-3
|
||||
"third_party/zxcvbn-cpp" ;Expat
|
||||
"url/third_party/mozilla" ;BSD-3, MPL1.1/GPL2+/LGPL2.1+
|
||||
"v8/src/third_party/siphash" ;Public domain
|
||||
"v8/src/third_party/utf8-decoder" ;Expat
|
||||
|
@ -258,27 +281,9 @@
|
|||
(define %blacklisted-files
|
||||
;; 'third_party/blink/perf_tests/resources/svg/HarveyRayner.svg' carries a
|
||||
;; nonfree license according to LICENSES in the same directory. As we don't
|
||||
;; run the Blink performance tests, just remove everything to save ~24MiB.
|
||||
;; run the Blink performance tests, just remove everything to save ~70MiB.
|
||||
'("third_party/blink/perf_tests"))
|
||||
|
||||
(define (gentoo-patch name revision hash)
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://gitweb.gentoo.org/repo/gentoo.git/plain"
|
||||
"/www-client/chromium/files/" name "?id=" revision))
|
||||
(file-name (string-append "ungoogled-" name))
|
||||
(sha256 (base32 hash))))
|
||||
|
||||
;; This repository contains libstdc++ compatibility patches for Chromium.
|
||||
(define (chromium-gcc-patchset commit hash)
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/stha09/chromium-patches")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "chromium-gcc-patches" commit))
|
||||
(sha256 (base32 hash))))
|
||||
|
||||
(define (debian-patch name revision hash)
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -289,38 +294,34 @@
|
|||
(string-append "ungoogled-chromium-" category "-" name))))
|
||||
(sha256 (base32 hash))))
|
||||
|
||||
(define %ungoogled-revision "57244cdfc21dc05910862152d91cc528103c988a")
|
||||
(define %debian-revision "debian/83.0.4103.116-3")
|
||||
(define %gentoo-revision "f3f649046d31ebdbc8c4a302b2384504eff78027")
|
||||
(define (arch-patch name revision hash)
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://raw.githubusercontent.com/archlinux"
|
||||
"/svntogit-packages/" revision "/trunk/" name))
|
||||
(sha256 (base32 hash))))
|
||||
|
||||
(define %gentoo-patches
|
||||
;; This patch is necessary for compatibility with FFmpeg 4.3.
|
||||
(list (gentoo-patch "chromium-84-mediaalloc.patch" %gentoo-revision
|
||||
"0snxdc4nb8ykzncz62vpsl8hgxpy24m17mycx67i2gckmrpslzzv")))
|
||||
|
||||
(define %chromium-gcc-patches
|
||||
(chromium-gcc-patchset
|
||||
"chromium-84-patchset-3"
|
||||
"0l05gx3pn703n47anjwsl5sjcqw8kaxmivf7llax97kj3k6d127v"))
|
||||
(define %chromium-version "86.0.4240.75")
|
||||
(define %ungoogled-revision "c34a56db4c121238fface560e21531b6199ce5dd")
|
||||
(define %debian-revision "debian/84.0.4147.105-1")
|
||||
(define %arch-revision "2cbe439471932d30ff2c8ded6b3dfd51b312bbc9")
|
||||
|
||||
(define %debian-patches
|
||||
(list (debian-patch "system/zlib.patch" %debian-revision
|
||||
"0bp2vh1cgmwjrn1zkpphkd3bs662s23xwdhy3abm9cfjvwrj117n")
|
||||
(debian-patch "system/jsoncpp.patch" %debian-revision
|
||||
"0d95brl4a5y5w142yd0rvf59z513h7chsz0vnm034d6lqf22ahwf")
|
||||
"09vqgs37w9ycc7par14wa7rnvmg9bm0z9pqg6fyl3iqvpghyjyr4")
|
||||
(debian-patch "system/openjpeg.patch" %debian-revision
|
||||
"0zd6v5njx1pc7i0y6mslxvpx5j4cq01mmyx55qcqx8qzkm0gm48j")))
|
||||
|
||||
(define %arch-patches
|
||||
(list (origin
|
||||
(method url-fetch)
|
||||
(uri "https://git.archlinux.org/svntogit/packages.git/plain/trunk/\
|
||||
chromium-fix-vaapi-on-intel.patch?h=packages/chromium\
|
||||
&id=93b5b90621b4827084288197c6e0e09b987b372a")
|
||||
(file-name "ungoogled-chromium-fix-vaapi-on-intel.patch")
|
||||
(sha256
|
||||
(base32
|
||||
"16jbjjf4d9jp52rdrrxx5vm69nx3w0qrijgjpwapnmcif13z55g4")))))
|
||||
(list (arch-patch "check-for-enable-accelerated-video-decode-on-Linux.patch"
|
||||
%arch-revision
|
||||
"12qj23dcp2g2ivyfyj13m4fzf68nllb9djwcxf1h195gn8wkml03")
|
||||
(arch-patch "only-fall-back-to-the-i965-driver-if-we-re-on-iHD.patch"
|
||||
%arch-revision
|
||||
"0073qjp0dp9kj2ix2j6cxrima01rpdpkcjj9crxlb9b43b4cc53m")
|
||||
(arch-patch "fix-invalid-end-iterator-usage-in-CookieMonster.patch"
|
||||
%arch-revision
|
||||
"1p1wy3dfncw0hhz77a1km0xjhix69ksgbpa569qz86nv76jbgn39")))
|
||||
|
||||
(define %ungoogled-origin
|
||||
(origin
|
||||
|
@ -331,7 +332,7 @@ chromium-fix-vaapi-on-intel.patch?h=packages/chromium\
|
|||
(string-take %ungoogled-revision 7)))
|
||||
(sha256
|
||||
(base32
|
||||
"15a1xpmabdxr1mn61m0jm9a5l987rxdji8b1b6zy39mr636vcwfi"))))
|
||||
"18p9a7qffmy8m03nqva7maalgil13lj2mn0s56v3crbs4wk4lalj"))))
|
||||
|
||||
;; This is a source 'snippet' that does the following:
|
||||
;; *) Applies various patches for unbundling purposes and libstdc++ compatibility.
|
||||
|
@ -354,20 +355,18 @@ chromium-fix-vaapi-on-intel.patch?h=packages/chromium\
|
|||
(for-each (lambda (patch)
|
||||
(invoke "patch" "-p1" "--force" "--input"
|
||||
patch "--no-backup-if-mismatch"))
|
||||
(append
|
||||
'#+%gentoo-patches '#+%debian-patches '#+%arch-patches
|
||||
(find-files #$%chromium-gcc-patches "\\.patch$")
|
||||
'#+(list (local-file
|
||||
(search-patch
|
||||
"ungoogled-chromium-system-nspr.patch")))))
|
||||
(append '#+%debian-patches '#+%arch-patches
|
||||
'#+(list (local-file
|
||||
(search-patch
|
||||
"ungoogled-chromium-system-nspr.patch")))))
|
||||
|
||||
(with-directory-excursion #+%ungoogled-origin
|
||||
(format #t "Ungooglifying...~%")
|
||||
(force-output)
|
||||
(invoke "python" "utils/prune_binaries.py" chromium-dir
|
||||
"pruning.list")
|
||||
(invoke "python" "utils/patches.py" "apply"
|
||||
chromium-dir "patches")
|
||||
(invoke "python" "utils/patches.py" "apply" chromium-dir
|
||||
"patches")
|
||||
(invoke "python" "utils/domain_substitution.py" "apply" "-r"
|
||||
"domain_regex.list" "-f" "domain_substitution.list"
|
||||
"-c" "/tmp/domainscache.tar.gz" chromium-dir))
|
||||
|
@ -396,8 +395,8 @@ chromium-fix-vaapi-on-intel.patch?h=packages/chromium\
|
|||
(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"
|
||||
"libxslt" "openh264" "opus" "re2" "snappy" "zlib")
|
||||
"libjpeg" "libpng" "libwebp" "libxml" "libxslt"
|
||||
"openh264" "opus" "snappy" "zlib")
|
||||
#t))))
|
||||
|
||||
(define opus+custom
|
||||
|
@ -412,16 +411,6 @@ chromium-fix-vaapi-on-intel.patch?h=packages/chromium\
|
|||
`(cons "--enable-custom-modes"
|
||||
,flags))))))
|
||||
|
||||
;; Chromium still has Python2-only code, so we need this special Python 2
|
||||
;; variant of xcb-proto.
|
||||
(define xcb-proto/python2
|
||||
(package/inherit
|
||||
xcb-proto
|
||||
(name "python2-xcb-proto")
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("python" ,python-2)))))
|
||||
|
||||
;; 'make-ld-wrapper' can only work with an 'ld' executable, so we need
|
||||
;; this trick to make it wrap 'lld'.
|
||||
(define (make-lld-wrapper lld)
|
||||
|
@ -450,7 +439,7 @@ chromium-fix-vaapi-on-intel.patch?h=packages/chromium\
|
|||
(define-public ungoogled-chromium
|
||||
(package
|
||||
(name "ungoogled-chromium")
|
||||
(version (string-append "84.0.4147.125-0."
|
||||
(version (string-append %chromium-version "-0."
|
||||
(string-take %ungoogled-revision 7)))
|
||||
(synopsis "Graphical web browser")
|
||||
(source (origin
|
||||
|
@ -460,7 +449,7 @@ chromium-fix-vaapi-on-intel.patch?h=packages/chromium\
|
|||
(car (string-split version #\-)) ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1xdg9pnnvbzasmra09rl7wdrir61rfcqml46jj7kv39drwk9chwq"))
|
||||
"1ddw4p9zfdzhi5hrd8x14k4w326znljzprnpfi2f917rlpnl2ynx"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet (force ungoogled-chromium-snippet))))
|
||||
(build-system gnu-build-system)
|
||||
|
@ -470,8 +459,6 @@ chromium-fix-vaapi-on-intel.patch?h=packages/chromium\
|
|||
#:validate-runpath? #f
|
||||
#:modules ((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(ice-9 ftw)
|
||||
(ice-9 regex)
|
||||
(srfi srfi-26))
|
||||
#:configure-flags
|
||||
;; See tools/gn/docs/cookbook.md and
|
||||
|
@ -486,7 +473,6 @@ chromium-fix-vaapi-on-intel.patch?h=packages/chromium\
|
|||
(string-append "max_jobs_per_link="
|
||||
(number->string (parallel-job-count)))
|
||||
"clang_use_chrome_plugins=false"
|
||||
"use_custom_libcxx=false"
|
||||
"use_sysroot=false"
|
||||
"goma_dir=\"\""
|
||||
"enable_nacl=false"
|
||||
|
@ -505,16 +491,13 @@ chromium-fix-vaapi-on-intel.patch?h=packages/chromium\
|
|||
"enable_vr=false"
|
||||
"enable_widevine=false"
|
||||
;; Disable type-checking for the Web UI to avoid a Java dependency.
|
||||
"closure_compile=false"
|
||||
"enable_js_type_check=false"
|
||||
|
||||
;; Define a custom toolchain that simply looks up CC, AR and
|
||||
;; friends from the environment.
|
||||
"custom_toolchain=\"//build/toolchain/linux/unbundle:default\""
|
||||
"host_toolchain=\"//build/toolchain/linux/unbundle:default\""
|
||||
|
||||
(string-append "xcbproto_path=\""
|
||||
(assoc-ref %build-inputs "xcb-proto") "/share/xcb\"")
|
||||
|
||||
;; Prefer system libraries.
|
||||
"use_system_freetype=true"
|
||||
"use_system_harfbuzz=true"
|
||||
|
@ -547,16 +530,13 @@ chromium-fix-vaapi-on-intel.patch?h=packages/chromium\
|
|||
;; WebRTC stuff.
|
||||
"rtc_use_h264=true"
|
||||
;; Don't use bundled sources.
|
||||
"rtc_build_json=false"
|
||||
"rtc_build_json=true" ;FIXME: libc++ std::string ABI difference
|
||||
"rtc_build_libevent=false"
|
||||
"rtc_build_libvpx=false"
|
||||
"rtc_build_opus=false"
|
||||
"rtc_build_ssl=false"
|
||||
"rtc_build_libsrtp=true" ;FIXME: fails to find headers
|
||||
"rtc_build_usrsctp=true" ;TODO: package this
|
||||
(string-append "rtc_jsoncpp_root=\""
|
||||
(assoc-ref %build-inputs "jsoncpp")
|
||||
"/include/jsoncpp/json\"")
|
||||
(string-append "rtc_ssl_root=\""
|
||||
(assoc-ref %build-inputs "openssl")
|
||||
"/include/openssl\""))
|
||||
|
@ -564,12 +544,6 @@ chromium-fix-vaapi-on-intel.patch?h=packages/chromium\
|
|||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-stuff
|
||||
(lambda _
|
||||
;; Fix build with newer re2. Taken from:
|
||||
;; https://chromium-review.googlesource.com/c/chromium/src/+/2145261
|
||||
(substitute* "components/autofill/core/browser/address_rewriter.cc"
|
||||
(("options\\.set_utf8\\(true\\)")
|
||||
"options.set_encoding(RE2::Options::EncodingUTF8)"))
|
||||
|
||||
(substitute*
|
||||
'("base/process/launch_posix.cc"
|
||||
"base/third_party/dynamic_annotations/dynamic_annotations.c"
|
||||
|
@ -615,10 +589,8 @@ chromium-fix-vaapi-on-intel.patch?h=packages/chromium\
|
|||
|
||||
(substitute*
|
||||
"third_party/breakpad/breakpad/src/common/linux/libcurl_wrapper.h"
|
||||
(("include \"third_party/curl") "include \"curl"))
|
||||
|
||||
(substitute* "third_party/webrtc/rtc_base/strings/json.h"
|
||||
(("#include \"third_party/jsoncpp/") "#include \"json/"))
|
||||
(("include \"third_party/curl")
|
||||
"include \"curl"))
|
||||
|
||||
(substitute* '("components/viz/common/gpu/vulkan_context_provider.h"
|
||||
"components/viz/common/resources/resource_format_utils.h"
|
||||
|
@ -628,17 +600,6 @@ chromium-fix-vaapi-on-intel.patch?h=packages/chromium\
|
|||
(substitute* "third_party/skia/include/gpu/vk/GrVkVulkan.h"
|
||||
(("include/third_party/vulkan/") ""))
|
||||
|
||||
;; Building chromedriver embeds some files using the ZIP
|
||||
;; format which doesn't support timestamps before
|
||||
;; 1980. Therefore, advance the timestamps of the files
|
||||
;; which are included so that building chromedriver
|
||||
;; works.
|
||||
(let ((circa-1980 (* 10 366 24 60 60)))
|
||||
(for-each (lambda (file)
|
||||
(utime file circa-1980 circa-1980))
|
||||
'("chrome/test/chromedriver/extension/background.js"
|
||||
"chrome/test/chromedriver/extension/manifest.json")))
|
||||
|
||||
#t))
|
||||
(add-after 'patch-stuff 'add-absolute-references
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
|
@ -660,10 +621,23 @@ chromium-fix-vaapi-on-intel.patch?h=packages/chromium\
|
|||
(add-before 'configure 'prepare-build-environment
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
|
||||
;; Make sure the right build tools are used.
|
||||
;; Define the GN toolchain.
|
||||
(setenv "AR" "llvm-ar") (setenv "NM" "llvm-nm")
|
||||
(setenv "CC" "clang") (setenv "CXX" "clang++")
|
||||
|
||||
(let ((gcc (assoc-ref inputs "gcc")))
|
||||
;; Remove the default compiler from CPLUS_INCLUDE_PATH to
|
||||
;; prevent header conflict with the bundled libcxx.
|
||||
(setenv "CPLUS_INCLUDE_PATH"
|
||||
(string-join
|
||||
(delete (string-append gcc "/include/c++")
|
||||
(string-split (getenv "CPLUS_INCLUDE_PATH")
|
||||
#\:))
|
||||
":"))
|
||||
(format #t
|
||||
"environment variable `CPLUS_INCLUDE_PATH' changed to ~a~%"
|
||||
(getenv "CPLUS_INCLUDE_PATH")))
|
||||
|
||||
(setenv "CXXFLAGS"
|
||||
(string-join
|
||||
'(;; Do not optimize away null pointer safety checks.
|
||||
|
@ -728,7 +702,10 @@ chromium-fix-vaapi-on-intel.patch?h=packages/chromium\
|
|||
(lib (string-append out "/lib"))
|
||||
(man (string-append out "/share/man/man1"))
|
||||
(applications (string-append out "/share/applications"))
|
||||
(install-regexp (make-regexp "\\.(bin|pak|so)$"))
|
||||
(libs '("chrome_100_percent.pak"
|
||||
"chrome_200_percent.pak"
|
||||
"resources.pak"
|
||||
"v8_context_snapshot.bin"))
|
||||
(locales (string-append lib "/locales"))
|
||||
(resources (string-append lib "/resources"))
|
||||
(preferences (assoc-ref inputs "master-preferences"))
|
||||
|
@ -753,9 +730,7 @@ chromium-fix-vaapi-on-intel.patch?h=packages/chromium\
|
|||
(copy-file preferences (string-append lib "/master_preferences"))
|
||||
|
||||
(with-directory-excursion "out/Release"
|
||||
(for-each (lambda (file)
|
||||
(install-file file lib))
|
||||
(scandir "." (cut regexp-exec install-regexp <>)))
|
||||
(for-each (cut install-file <> lib) libs)
|
||||
(copy-file "chrome" (string-append lib "/chromium"))
|
||||
|
||||
(copy-recursively "locales" locales)
|
||||
|
@ -785,7 +760,7 @@ chromium-fix-vaapi-on-intel.patch?h=packages/chromium\
|
|||
#t))))))
|
||||
(native-inputs
|
||||
`(("bison" ,bison)
|
||||
("clang" ,clang-10)
|
||||
("clang" ,clang-11)
|
||||
("gn" ,gn)
|
||||
("gperf" ,gperf)
|
||||
("ld-wrapper" ,(make-lld-wrapper lld))
|
||||
|
@ -817,7 +792,6 @@ chromium-fix-vaapi-on-intel.patch?h=packages/chromium\
|
|||
("gtk+" ,gtk+)
|
||||
("harfbuzz" ,harfbuzz)
|
||||
("icu4c" ,icu4c-67)
|
||||
("jsoncpp" ,jsoncpp)
|
||||
("lcms" ,lcms)
|
||||
("libevent" ,libevent)
|
||||
("libffi" ,libffi)
|
||||
|
@ -851,13 +825,11 @@ chromium-fix-vaapi-on-intel.patch?h=packages/chromium\
|
|||
("pango" ,pango)
|
||||
("pciutils" ,pciutils)
|
||||
("pulseaudio" ,pulseaudio)
|
||||
("re2" ,re2)
|
||||
("snappy" ,snappy)
|
||||
("speech-dispatcher" ,speech-dispatcher)
|
||||
("udev" ,eudev)
|
||||
("valgrind" ,valgrind)
|
||||
("vulkan-headers" ,vulkan-headers)
|
||||
("xcb-proto" ,xcb-proto/python2)))
|
||||
("vulkan-headers" ,vulkan-headers)))
|
||||
|
||||
;; Building Chromium takes ... a very long time. On a single core, a busy
|
||||
;; mid-end x86 system may need more than 24 hours to complete the build.
|
||||
|
|
|
@ -39,6 +39,7 @@
|
|||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages perl-compression)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (gnu packages version-control)
|
||||
|
@ -46,9 +47,29 @@
|
|||
#:use-module (gnu packages xml)
|
||||
#:use-module (guix build-system gnu))
|
||||
|
||||
;; Guile-Sqlite3 package adding SQL query logging support.
|
||||
;; Remove it when next Guile-Sqlite3 release is out.
|
||||
(define-public guile-sqlite3-dev
|
||||
(let ((commit "22ef45d268de7707cbbb943c404f9b0c1668e2e1")
|
||||
(revision "1"))
|
||||
(package
|
||||
(inherit guile-sqlite3)
|
||||
(name "guile-sqlite3")
|
||||
(version (git-version "0.1.2" revision commit))
|
||||
(home-page "https://notabug.org/mothacehe/guile-sqlite3.git")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"1q90f8zhw9n1c39szd2ba7aj5fi92m09pnlv0z7jbhnnjam5jwcd"))
|
||||
(file-name (string-append name "-" version "-checkout")))))))
|
||||
|
||||
(define-public cuirass
|
||||
(let ((commit "cf11b73db00678b45b70108768138d0fb74d9506")
|
||||
(revision "45"))
|
||||
(let ((commit "df2d13621f4b2ace33a460746e704115b7b1541e")
|
||||
(revision "53"))
|
||||
(package
|
||||
(name "cuirass")
|
||||
(version (git-version "0.0.1" revision commit))
|
||||
|
@ -60,7 +81,7 @@
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1f7jqnscy8vjqrpgl4cyynrvbx6zp3slsd82fykap6qvvwwn7xj8"))))
|
||||
"1vgb1wl1rkijm1vv5chqllf4i5w1j7g02xqlaf2xmqjh2phy5dxa"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:modules ((guix build utils)
|
||||
|
@ -122,11 +143,11 @@
|
|||
`("GUILE_LOAD_COMPILED_PATH" ":" prefix (,objs)))
|
||||
#t))))))
|
||||
(inputs
|
||||
`(("guile" ,@(assoc-ref (package-native-inputs guix) "guile"))
|
||||
`(("guile" ,guile-3.0/libgc-7)
|
||||
("guile-fibers" ,guile-fibers)
|
||||
("guile-gcrypt" ,guile-gcrypt)
|
||||
("guile-json" ,guile-json-4)
|
||||
("guile-sqlite3" ,guile-sqlite3)
|
||||
("guile-sqlite3" ,guile-sqlite3-dev)
|
||||
("guile-git" ,guile-git)
|
||||
("guile-zlib" ,guile-zlib)
|
||||
;; FIXME: this is propagated by "guile-git", but it needs to be among
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
(define-public drbd-utils
|
||||
(package
|
||||
(name "drbd-utils")
|
||||
(version "9.13.1")
|
||||
(version "9.15.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
;; Older releases are moved to /archive. List it first because in
|
||||
|
@ -51,7 +51,7 @@
|
|||
"/utils/drbd-utils-" version ".tar.gz")))
|
||||
(sha256
|
||||
(base32
|
||||
"0di55y0vzaw8jhcgz0fakww03h1gpg4a5q1zklxhjw3dwzjvysnk"))
|
||||
"0jh7zdxpbjkq53pmrn0jfn33abi4vs8axp55h5256czwc2gfb6z8"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
|
|
@ -233,7 +233,7 @@ COCOMO model or user-provided parameters.")
|
|||
(define-public cloc
|
||||
(package
|
||||
(name "cloc")
|
||||
(version "1.86")
|
||||
(version "1.88")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -242,7 +242,7 @@ COCOMO model or user-provided parameters.")
|
|||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "082gj2b3x11bilz8c572dd60vn6n0fhld5zhi7wk7g1wy9wlgm9w"))))
|
||||
(base32 "1ixgswzbzv63bl50gb2kgaqr0jcicjz6w610hi9fal1i7744zraw"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("coreutils" ,coreutils)
|
||||
|
@ -470,60 +470,53 @@ stack traces.")
|
|||
(license license:gpl3+)))
|
||||
|
||||
(define-public lcov
|
||||
;; Use a recent commit from upstream since the latest official release
|
||||
;; (1.14) doesn't support GCC 9 (see:
|
||||
;; https://github.com/linux-test-project/lcov/issues/58).
|
||||
(let* ((commit "40580cd65909bc8324ae09b36bca2e178652ff3f")
|
||||
(revision "0")
|
||||
(version (git-version "1.14" revision commit)))
|
||||
(package
|
||||
(name "lcov")
|
||||
(version "1.14")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/linux-test-project/lcov")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0shgmh6fzhnj1qfdl90jgjmlbb1ih1qh879dca8hc58yggy3hqgb"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:test-target "test"
|
||||
#:make-flags (list (string-append "PREFIX="
|
||||
(assoc-ref %outputs "out")))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-pwd
|
||||
;; Lift the requirement of having a shell in PATH.
|
||||
(lambda _
|
||||
(substitute* "bin/geninfo"
|
||||
(("qw/abs_path/")
|
||||
"qw/abs_path getcwd/"))
|
||||
(substitute* '("bin/lcov" "bin/geninfo")
|
||||
(("`pwd`")
|
||||
"getcwd()"))
|
||||
#t))
|
||||
(delete 'configure) ;no configure script
|
||||
(add-after 'install 'wrap
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(wrap-program (string-append out "/bin/geninfo")
|
||||
`("PERL5LIB" ":" prefix (,(getenv "PERL5LIB")))))
|
||||
#t)))))
|
||||
(inputs `(("perl" ,perl)
|
||||
("perl-json" ,perl-json)
|
||||
("perl-perlio-gzip" ,perl-perlio-gzip)))
|
||||
(home-page "http://ltp.sourceforge.net/coverage/lcov.php")
|
||||
(synopsis "Code coverage tool that enhances GNU gcov")
|
||||
(description "LCOV is an extension of @command{gcov}, a tool part of the
|
||||
(package
|
||||
(name "lcov")
|
||||
(version "1.15")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/linux-test-project/lcov"
|
||||
"/releases/download/v" version
|
||||
"/lcov-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0fh5z0q5wg2jxr2nn5w7321y0zg9rwk75j3k5hnamjdy6gxa5kf1"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:test-target "test"
|
||||
#:make-flags (list (string-append "PREFIX="
|
||||
(assoc-ref %outputs "out")))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-pwd
|
||||
;; Lift the requirement of having a shell in PATH.
|
||||
(lambda _
|
||||
(substitute* "bin/geninfo"
|
||||
(("qw/abs_path/")
|
||||
"qw/abs_path getcwd/"))
|
||||
(substitute* '("bin/lcov" "bin/geninfo")
|
||||
(("`pwd`")
|
||||
"getcwd()"))
|
||||
#t))
|
||||
(delete 'configure) ;no configure script
|
||||
(add-after 'install 'wrap
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(wrap-program (string-append out "/bin/geninfo")
|
||||
`("PERL5LIB" ":" prefix (,(getenv "PERL5LIB")))))
|
||||
#t)))))
|
||||
(inputs `(("perl" ,perl)
|
||||
("perl-io-compress" ,perl-io-compress)
|
||||
("perl-json" ,perl-json)))
|
||||
(home-page "http://ltp.sourceforge.net/coverage/lcov.php")
|
||||
(synopsis "Code coverage tool that enhances GNU gcov")
|
||||
(description "LCOV is an extension of @command{gcov}, a tool part of the
|
||||
GNU@tie{}Binutils, which provides information about what parts of a program
|
||||
are actually executed (i.e., \"covered\") while running a particular test
|
||||
case. The extension consists of a set of Perl scripts which build on the
|
||||
textual @command{gcov} output to implement the following enhanced
|
||||
functionality such as HTML output.")
|
||||
(license license:gpl2+))))
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public kcov
|
||||
(package
|
||||
|
|
|
@ -381,7 +381,7 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\"
|
|||
(inputs '())
|
||||
(propagated-inputs '())
|
||||
(native-inputs
|
||||
`(("nyacc-source" ,(origin (inherit (package-source nyacc))
|
||||
`(("nyacc-source" ,(origin (inherit (package-source nyacc-0.99))
|
||||
(snippet #f)))
|
||||
("mes" ,%bootstrap-mes-rewired)
|
||||
("mescc-tools" ,%bootstrap-mescc-tools)
|
||||
|
@ -477,7 +477,7 @@ $MES -e '(mescc)' module/mescc.scm -- \"$@\"
|
|||
(propagated-inputs '())
|
||||
(native-inputs
|
||||
`(("mes" ,mes-boot)
|
||||
("nyacc-source" ,(origin (inherit (package-source nyacc))
|
||||
("nyacc-source" ,(origin (inherit (package-source nyacc-0.99))
|
||||
(snippet #f)))
|
||||
("mescc-tools" ,%bootstrap-mescc-tools)
|
||||
,@(%boot-gash-inputs)))
|
||||
|
@ -3842,8 +3842,12 @@ COREUTILS-FINAL vs. COREUTILS, etc."
|
|||
"libc-static")))
|
||||
#t))))
|
||||
|
||||
(native-search-paths (package-native-search-paths gcc))
|
||||
(search-paths (package-search-paths gcc))
|
||||
(native-search-paths
|
||||
(append (package-native-search-paths gcc)
|
||||
(package-native-search-paths libc))) ;GUIX_LOCPATH
|
||||
(search-paths
|
||||
(append (package-search-paths gcc)
|
||||
(package-search-paths libc)))
|
||||
|
||||
(license (package-license gcc))
|
||||
(synopsis "Complete GCC tool chain for C/C++ development")
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2012, 2013, 2014, 2015, 2017, 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2012, 2013, 2014, 2015, 2017, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
|
||||
|
@ -28,6 +28,7 @@
|
|||
;;; 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>
|
||||
;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -803,7 +804,7 @@ decompression of some loosely related file formats used by Microsoft.")
|
|||
("valgrind" ,valgrind)))
|
||||
(arguments
|
||||
`(#:test-target "test"
|
||||
#:make-flags (list "CC=gcc"
|
||||
#:make-flags (list (string-append "CC=" ,(cc-for-target))
|
||||
(string-append "prefix=" (assoc-ref %outputs "out")))
|
||||
#:phases (modify-phases %standard-phases
|
||||
(delete 'configure) ;no configure script
|
||||
|
@ -1769,7 +1770,8 @@ Clzip is intended to be fully compatible with the regular lzip package.")
|
|||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list "CC=gcc"
|
||||
(list (string-append "CC=" ,(cc-for-target))
|
||||
"--disable-static"
|
||||
"--enable-shared"))) ; only static (.a) is built by default
|
||||
(home-page "https://www.nongnu.org/lzip/lzlib.html")
|
||||
(synopsis "Lzip data compression C library")
|
||||
|
@ -2256,3 +2258,31 @@ computations.")
|
|||
with their error correction data losslessly rearranged for better compression,
|
||||
to their original, binary CD format.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public tarlz
|
||||
(package
|
||||
(name "tarlz")
|
||||
(version "0.17")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://savannah/lzip/tarlz/"
|
||||
"tarlz-" version ".tar.lz"))
|
||||
(sha256
|
||||
(base32 "0gpdm6z9pdr5bn31kxg73wm686hhpb5pdf5782pbl5a4xqqhqj90"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("lzip" ,lzip)))
|
||||
(inputs
|
||||
`(("lzlib" ,lzlib)))
|
||||
(home-page "https://www.nongnu.org/lzip/tarlz.html")
|
||||
(synopsis "Combination of the tar archiver and the lzip compressor")
|
||||
(description
|
||||
"Tarlz is a massively parallel (multi-threaded) combined implementation of
|
||||
the tar archiver and the lzip compressor. Tarlz creates, lists, and extracts
|
||||
archives in a simplified and safer variant of the POSIX pax format compressed
|
||||
with lzip, keeping the alignment between tar members and lzip members. The
|
||||
resulting multimember tar.lz archive is fully backward compatible with standard
|
||||
tar tools like GNU tar, which treat it like any other tar.lz archive. Tarlz
|
||||
can append files to the end of such compressed archives.")
|
||||
(license license:gpl2+)))
|
||||
|
|
|
@ -79,7 +79,7 @@
|
|||
("libxext" ,libxext)
|
||||
("libxft" ,libxft)
|
||||
("libxinerama" ,libxinerama)
|
||||
("pulseaudio", pulseaudio)
|
||||
("pulseaudio" ,pulseaudio)
|
||||
("lua" ,lua)
|
||||
("ncurses" ,ncurses)
|
||||
("curl" ,curl)))
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
|
||||
;;; Copyright © 2020 Alexandros Theodotou <alex@zrythm.org>
|
||||
;;; Copyright © 2020 Greg Hogan <code@greghogan.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -40,12 +41,22 @@
|
|||
#:use-module (guix build-system python)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages code)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages crypto)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages libevent)
|
||||
#:use-module (gnu packages libunwind)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages logging)
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages popt)
|
||||
#:use-module (gnu packages pretty-print)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages web))
|
||||
|
||||
|
@ -361,7 +372,7 @@ intuitive syntax and trivial integration.")
|
|||
(define-public xtl
|
||||
(package
|
||||
(name "xtl")
|
||||
(version "0.6.18")
|
||||
(version "0.6.19")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri
|
||||
|
@ -370,7 +381,7 @@ intuitive syntax and trivial integration.")
|
|||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"0s9gnv1wq0cmpw878dmx0lnci86895hhdrwyc9x8lfbc1hr7ypnh"))
|
||||
"1g98lfrp13fqfqrirg0rw90m7bajmjmy12yhrlj5jzwcby4dfs81"))
|
||||
(file-name (git-file-name name version))))
|
||||
(native-inputs
|
||||
`(("googletest" ,googletest)
|
||||
|
@ -647,3 +658,73 @@ Google's C++ code base.")
|
|||
a zero-dependency C++ header-only parser combinator library for creating
|
||||
parsers according to a Parsing Expression Grammar (PEG).")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public cxxopts
|
||||
(package
|
||||
(name "cxxopts")
|
||||
(version "2.2.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/jarro2783/cxxopts")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0d3y747lsh1wkalc39nxd088rbypxigm991lk3j91zpn56whrpha"))))
|
||||
(build-system cmake-build-system)
|
||||
(synopsis "Lightweight C++ command line option parser")
|
||||
(description
|
||||
"A lightweight header-only C++ option parser library, supporting the
|
||||
standard GNU style syntax for options.")
|
||||
(home-page "https://github.com/jarro2783/cxxopts/wiki")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public folly
|
||||
(package
|
||||
(name "folly")
|
||||
(version "2020.10.05.00")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/facebook/folly")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0q4w4cvjxffc462hvs8h4zryq4965j7015zvkwagcm6cj6wmz3cn"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(;; Tests must be explicitly enabled
|
||||
;;#:configure-flags '("-DBUILD_TESTS=ON")))
|
||||
;; Leave tests disabled; see https://github.com/facebook/folly/issues/1456
|
||||
#:tests? #f))
|
||||
(propagated-inputs
|
||||
`(("boost" ,boost)
|
||||
("gflags" ,gflags)
|
||||
("glog" ,glog)
|
||||
("liburing" ,liburing)))
|
||||
(inputs
|
||||
`(("bzip2" ,bzip2)
|
||||
("double-conversion" ,double-conversion)
|
||||
("fmt" ,fmt)
|
||||
("libaio" ,libaio)
|
||||
("libevent" ,libevent)
|
||||
("libiberty" ,libiberty)
|
||||
("libsodium" ,libsodium)
|
||||
("libunwind" ,libunwind)
|
||||
("lz4" ,lz4)
|
||||
("openssl" ,openssl)
|
||||
("snappy" ,snappy)
|
||||
("zlib" ,zlib)
|
||||
("zstd" ,zstd "lib")))
|
||||
(native-inputs
|
||||
`(("googletest" ,googletest)))
|
||||
(synopsis "Collection of C++ components complementing the standard library")
|
||||
(description
|
||||
"Folly (acronymed loosely after Facebook Open Source Library) is a library
|
||||
of C++14 components that complements @code{std} and Boost.")
|
||||
(home-page "https://github.com/facebook/folly/wiki")
|
||||
;; 32-bit is not supported: https://github.com/facebook/folly/issues/103
|
||||
(supported-systems '("aarch64-linux" "x86_64-linux"))
|
||||
(license license:asl2.0)))
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,667 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
||||
;;; under the terms of the GNU General Public License as published by
|
||||
;;; the Free Software Foundation; either version 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix is distributed in the hope that it will be useful, but
|
||||
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;;; GNU General Public License for more details.
|
||||
;;;
|
||||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages crates-gtk)
|
||||
#:use-module (guix build-system cargo)
|
||||
#:use-module (guix download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages crates-io)
|
||||
#:use-module (gnu packages crates-graphics)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gtk))
|
||||
|
||||
;;;
|
||||
;;; Please: Try to add new module packages in alphabetic order.
|
||||
;;;
|
||||
|
||||
(define-public rust-cairo-rs-0.8
|
||||
(package
|
||||
(name "rust-cairo-rs")
|
||||
(version "0.8.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "cairo-rs" version))
|
||||
(file-name
|
||||
(string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"11303v1fv6hsc9n70ak380gknkf0098phpcxqdhkmahqjsx4jw0m"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-bitflags" ,rust-bitflags-1)
|
||||
("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9)
|
||||
("rust-glib" ,rust-glib-0.9)
|
||||
("rust-glib-sys" ,rust-glib-sys-0.9)
|
||||
("rust-gobject-sys" ,rust-gobject-sys-0.9)
|
||||
("rust-libc" ,rust-libc-0.2))
|
||||
#:cargo-development-inputs
|
||||
(("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1)
|
||||
("rust-tempfile" ,rust-tempfile-3))))
|
||||
(inputs
|
||||
`(("cairo" ,cairo)))
|
||||
(home-page "https://gtk-rs.org/")
|
||||
(synopsis "Rust bindings for the Cairo library")
|
||||
(description
|
||||
"Rust bindings for the Cairo library.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-cairo-rs-0.7
|
||||
(package
|
||||
(inherit rust-cairo-rs-0.8)
|
||||
(name "rust-cairo-rs")
|
||||
(version "0.7.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "cairo-rs" version))
|
||||
(file-name
|
||||
(string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"171m98g41avp5mmshqir4ka21napp7ma5fx45wi9mw5hwdyv8pg0"))))
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-bitflags" ,rust-bitflags-1)
|
||||
("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9)
|
||||
("rust-glib" ,rust-glib-0.8)
|
||||
("rust-glib-sys" ,rust-glib-sys-0.9)
|
||||
("rust-gobject-sys" ,rust-gobject-sys-0.9)
|
||||
("rust-libc" ,rust-libc-0.2)
|
||||
("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1))
|
||||
#:cargo-development-inputs
|
||||
(("rust-tempfile" ,rust-tempfile-3))))))
|
||||
|
||||
(define-public rust-cairo-sys-rs-0.9
|
||||
(package
|
||||
(name "rust-cairo-sys-rs")
|
||||
(version "0.9.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "cairo-sys-rs" version))
|
||||
(file-name
|
||||
(string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0qsdy6s57yvscg2rfm7wdqrlhzbn1aq9lhk3dy1vw5f7r81blrgz"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-glib-sys" ,rust-glib-sys-0.9)
|
||||
("rust-libc" ,rust-libc-0.2)
|
||||
("rust-winapi" ,rust-winapi-0.3)
|
||||
("rust-x11" ,rust-x11-2)
|
||||
("rust-pkg-config" ,rust-pkg-config-0.3))))
|
||||
(inputs
|
||||
`(("cairo" ,cairo)))
|
||||
(home-page "https://gtk-rs.org/")
|
||||
(synopsis "FFI bindings to libcairo")
|
||||
(description "This package provides FFI bindings to libcairo.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-gdk-pixbuf-0.8
|
||||
(package
|
||||
(name "rust-gdk-pixbuf")
|
||||
(version "0.8.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "gdk-pixbuf" version))
|
||||
(file-name
|
||||
(string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1mxxca0fkcw2rsd3kl3nvlb8ys4cgxqx4n5isjbv0adk8q624j72"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.9)
|
||||
("rust-gio" ,rust-gio-0.8)
|
||||
("rust-gio-sys" ,rust-gio-sys-0.9)
|
||||
("rust-glib" ,rust-glib-0.9)
|
||||
("rust-glib-sys" ,rust-glib-sys-0.9)
|
||||
("rust-gobject-sys" ,rust-gobject-sys-0.9)
|
||||
("rust-libc" ,rust-libc-0.2)
|
||||
("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1))
|
||||
#:cargo-development-inputs
|
||||
(("rust-gir-format-check" ,rust-gir-format-check-0.1))))
|
||||
(inputs
|
||||
`(("gdk-pixbuf" ,gdk-pixbuf)))
|
||||
(home-page "https://gtk-rs.org/")
|
||||
(synopsis "Rust bindings for the GdkPixbuf library")
|
||||
(description
|
||||
"Rust bindings for the GdkPixbuf library.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-gdk-pixbuf-0.7
|
||||
(package
|
||||
(inherit rust-gdk-pixbuf-0.8)
|
||||
(name "rust-gdk-pixbuf")
|
||||
(version "0.7.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "gdk-pixbuf" version))
|
||||
(file-name
|
||||
(string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1k2g3w2p57m68bi5sldvkmgjgslgqswrjsijjhqaibdvw67409lp"))))
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-fragile" ,rust-fragile-0.3)
|
||||
("rust-futures-preview" ,rust-futures-preview-0.3)
|
||||
("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.9)
|
||||
("rust-gio" ,rust-gio-0.7)
|
||||
("rust-gio-sys" ,rust-gio-sys-0.9)
|
||||
("rust-glib" ,rust-glib-0.8)
|
||||
("rust-glib-sys" ,rust-glib-sys-0.9)
|
||||
("rust-gobject-sys" ,rust-gobject-sys-0.9)
|
||||
("rust-libc" ,rust-libc-0.2)
|
||||
("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1))
|
||||
#:cargo-development-inputs
|
||||
(("rust-gir-format-check" ,rust-gir-format-check-0.1))))))
|
||||
|
||||
(define-public rust-gdk-pixbuf-sys-0.9
|
||||
(package
|
||||
(name "rust-gdk-pixbuf-sys")
|
||||
(version "0.9.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "gdk-pixbuf-sys" version))
|
||||
(file-name
|
||||
(string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1c2andpjb10y7bahh6nxnksh9m3g5qh4mgq9znx634cy1831p6fq"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; tests not included in release
|
||||
#:cargo-inputs
|
||||
(("rust-gio-sys" ,rust-gio-sys-0.9)
|
||||
("rust-glib-sys" ,rust-glib-sys-0.9)
|
||||
("rust-gobject-sys" ,rust-gobject-sys-0.9)
|
||||
("rust-libc" ,rust-libc-0.2)
|
||||
("rust-pkg-config" ,rust-pkg-config-0.3))
|
||||
#:cargo-development-inputs
|
||||
(("rust-shell-words" ,rust-shell-words-0.1)
|
||||
("rust-tempfile" ,rust-tempfile-3))))
|
||||
(inputs
|
||||
`(("gdk-pixbuf" ,gdk-pixbuf)))
|
||||
(home-page "https://gtk-rs.org/")
|
||||
(synopsis "FFI bindings to libgdk_pixbuf-2.0")
|
||||
(description "This package provides FFI bindings to @code{libgdk_pixbuf-2.0}.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-gio-0.8
|
||||
(package
|
||||
(name "rust-gio")
|
||||
(version "0.8.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "gio" version))
|
||||
(file-name
|
||||
(string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"19cnla2ya0mi6wwaabd5mxbq2kzq46dg6jq2z19rpqyc2na0zl8c"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; Not all files included in the tarball.
|
||||
#:cargo-inputs
|
||||
(("rust-bitflags" ,rust-bitflags-1)
|
||||
("rust-futures-channel" ,rust-futures-channel-0.3)
|
||||
("rust-futures-core" ,rust-futures-core-0.3)
|
||||
("rust-futures-io" ,rust-futures-io-0.3)
|
||||
("rust-futures-util" ,rust-futures-util-0.3)
|
||||
("rust-gio-sys" ,rust-gio-sys-0.9)
|
||||
("rust-glib" ,rust-glib-0.9)
|
||||
("rust-glib-sys" ,rust-glib-sys-0.9)
|
||||
("rust-gobject-sys" ,rust-gobject-sys-0.9)
|
||||
("rust-lazy-static" ,rust-lazy-static-1)
|
||||
("rust-libc" ,rust-libc-0.2)
|
||||
("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1))
|
||||
#:cargo-development-inputs
|
||||
(("rust-gir-format-check" ,rust-gir-format-check-0.1)
|
||||
("rust-serial-test" ,rust-serial-test-0.1)
|
||||
("rust-serial-test-derive" ,rust-serial-test-derive-0.1))))
|
||||
(inputs
|
||||
`(("glib" ,glib)))
|
||||
(home-page "https://gtk-rs.org/")
|
||||
(synopsis "Rust bindings for the Gio library")
|
||||
(description "Rust bindings for the Gio library.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-gio-0.7
|
||||
(package
|
||||
(inherit rust-gio-0.8)
|
||||
(name "rust-gio")
|
||||
(version "0.7.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "gio" version))
|
||||
(file-name
|
||||
(string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1qv0wc1hqyb81c03h81s3xrl9jslrw23fr4yhygxbhih9k9vaqb2"))))
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-bitflags" ,rust-bitflags-1)
|
||||
("rust-fragile" ,rust-fragile-0.3)
|
||||
("rust-futures-preview" ,rust-futures-preview-0.3)
|
||||
("rust-gio-sys" ,rust-gio-sys-0.9)
|
||||
("rust-glib" ,rust-glib-0.8)
|
||||
("rust-glib-sys" ,rust-glib-sys-0.9)
|
||||
("rust-gobject-sys" ,rust-gobject-sys-0.9)
|
||||
("rust-lazy-static" ,rust-lazy-static-1)
|
||||
("rust-libc" ,rust-libc-0.2)
|
||||
("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1))
|
||||
#:cargo-development-inputs
|
||||
(("rust-gir-format-check" ,rust-gir-format-check-0.1))))))
|
||||
|
||||
(define-public rust-gio-sys-0.9
|
||||
(package
|
||||
(name "rust-gio-sys")
|
||||
(version "0.9.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "gio-sys" version))
|
||||
(file-name
|
||||
(string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"049rafihxp3maxg3fwj6062ni9dcfilvhfq6ibnfgsmr89925bag"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; Some test libraries not included in release.
|
||||
#:cargo-inputs
|
||||
(("rust-glib-sys" ,rust-glib-sys-0.9)
|
||||
("rust-gobject-sys" ,rust-gobject-sys-0.9)
|
||||
("rust-libc" ,rust-libc-0.2)
|
||||
("rust-pkg-config" ,rust-pkg-config-0.3))
|
||||
#:cargo-development-inputs
|
||||
(("rust-shell-words" ,rust-shell-words-0.1)
|
||||
("rust-tempfile" ,rust-tempfile-3))))
|
||||
(inputs
|
||||
`(("glib" ,glib)))
|
||||
(home-page "http://gtk-rs.org/")
|
||||
(synopsis "FFI bindings to libgio-2.0")
|
||||
(description "This package provides FFI bindings to libgio-2.0.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-gir-format-check-0.1
|
||||
(package
|
||||
(name "rust-gir-format-check")
|
||||
(version "0.1.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "gir-format-check" version))
|
||||
(file-name
|
||||
(string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0znl4qcgmg0656zk9vjkwdn9wj1zpkd0m0l5jnzmahd80ii7vf4b"))))
|
||||
(build-system cargo-build-system)
|
||||
(home-page "https://github.com/gtk-rs/gir-format-check")
|
||||
(synopsis "File format checker")
|
||||
(description "File format checker in Rust.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-glib-0.9
|
||||
(package
|
||||
(name "rust-glib")
|
||||
(version "0.9.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "glib" version))
|
||||
(file-name
|
||||
(string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1h3100mf7kdfxibjz5na0sqzbd2mcsyd8pzivn3666w414x5gys0"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-bitflags" ,rust-bitflags-1)
|
||||
("rust-futures-channel" ,rust-futures-channel-0.3)
|
||||
("rust-futures-core" ,rust-futures-core-0.3)
|
||||
("rust-futures-executor" ,rust-futures-executor-0.3)
|
||||
("rust-futures-preview" ,rust-futures-preview-0.3)
|
||||
("rust-futures-task" ,rust-futures-task-0.3)
|
||||
("rust-futures-util" ,rust-futures-util-0.3)
|
||||
("rust-glib-sys" ,rust-glib-sys-0.9)
|
||||
("rust-gobject-sys" ,rust-gobject-sys-0.9)
|
||||
("rust-lazy-static" ,rust-lazy-static-1)
|
||||
("rust-libc" ,rust-libc-0.2))
|
||||
#:cargo-development-inputs
|
||||
(("rust-tempfile" ,rust-tempfile-3))))
|
||||
(inputs
|
||||
`(("glib" ,glib)))
|
||||
(home-page "https://gtk-rs.org/")
|
||||
(synopsis "Rust bindings for the GLib library")
|
||||
(description
|
||||
"Rust bindings for the GLib library.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-glib-0.8
|
||||
(package
|
||||
(inherit rust-glib-0.9)
|
||||
(name "rust-glib")
|
||||
(version "0.8.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "glib" version))
|
||||
(file-name
|
||||
(string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0ysy87zrwyzhfpf3d8rkyyr3amwj85wky05fsl7kx95s84l269xy"))))
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-bitflags" ,rust-bitflags-1)
|
||||
("rust-futures-preview" ,rust-futures-preview-0.3)
|
||||
("rust-glib-sys" ,rust-glib-sys-0.9)
|
||||
("rust-gobject-sys" ,rust-gobject-sys-0.9)
|
||||
("rust-lazy-static" ,rust-lazy-static-1)
|
||||
("rust-libc" ,rust-libc-0.2))
|
||||
#:cargo-development-inputs
|
||||
(("rust-tempfile" ,rust-tempfile-3))))))
|
||||
|
||||
(define-public rust-glib-sys-0.9
|
||||
(package
|
||||
(name "rust-glib-sys")
|
||||
(version "0.9.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "glib-sys" version))
|
||||
(file-name
|
||||
(string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1qhnwfqqcp63mx4q9744rfkq78g6ky2j8ppsxxgw0ipl08w6z1cm"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; Some test libraries not included in release.
|
||||
#:cargo-inputs
|
||||
(("rust-libc" ,rust-libc-0.2)
|
||||
("rust-pkg-config" ,rust-pkg-config-0.3))
|
||||
#:cargo-development-inputs
|
||||
(("rust-shell-words" ,rust-shell-words-0.1)
|
||||
("rust-tempfile" ,rust-tempfile-3))))
|
||||
(inputs
|
||||
`(("glib" ,glib)))
|
||||
(home-page "http://gtk-rs.org/")
|
||||
(synopsis "FFI bindings to libglib-2.0")
|
||||
(description "This package provides FFI bindings to libglib-2.0.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-gobject-sys-0.9
|
||||
(package
|
||||
(name "rust-gobject-sys")
|
||||
(version "0.9.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "gobject-sys" version))
|
||||
(file-name
|
||||
(string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1nakflbp3gjaas4fw7sn3p1p32khyfpcq1h06z7yqd10yq2ail9i"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; Some test libraries not included in release.
|
||||
#:cargo-inputs
|
||||
(("rust-glib-sys" ,rust-glib-sys-0.9)
|
||||
("rust-libc" ,rust-libc-0.2)
|
||||
("rust-pkg-config" ,rust-pkg-config-0.3))
|
||||
#:cargo-development-inputs
|
||||
(("rust-shell-words" ,rust-shell-words-0.1)
|
||||
("rust-tempfile" ,rust-tempfile-3))))
|
||||
(inputs
|
||||
`(("glib" ,glib)))
|
||||
(home-page "http://gtk-rs.org/")
|
||||
(synopsis "FFI bindings to libgobject-2.0")
|
||||
(description "This package provides FFI bindings to libgobject-2.0.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-gtk-rs-lgpl-docs-0.1
|
||||
(package
|
||||
(name "rust-gtk-rs-lgpl-docs")
|
||||
(version "0.1.15")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "gtk-rs-lgpl-docs" version))
|
||||
(file-name
|
||||
(string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"06b1j64zg0xmhwfkyhzh3y0apclg6qihn3f7s1bd7kgjmkia4jlr"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-rustdoc-stripper" ,rust-rustdoc-stripper-0.1))))
|
||||
(home-page "https://gtk-rs.org/")
|
||||
(synopsis "LGPL-licensed docs for Gtk-rs crates")
|
||||
(description
|
||||
"LGPL-licensed docs for Gtk-rs crates.")
|
||||
(license license:lgpl2.0)))
|
||||
|
||||
(define-public rust-pango-0.8
|
||||
(package
|
||||
(name "rust-pango")
|
||||
(version "0.8.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "pango" version))
|
||||
(file-name
|
||||
(string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0xq50950il3228grzs4xvc5s6phxcl5l50grz6syvs0vixr6p70y"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-bitflags" ,rust-bitflags-1)
|
||||
("rust-glib" ,rust-glib-0.9)
|
||||
("rust-glib-sys" ,rust-glib-sys-0.9)
|
||||
("rust-gobject-sys" ,rust-gobject-sys-0.9)
|
||||
("rust-lazy-static" ,rust-lazy-static-1)
|
||||
("rust-libc" ,rust-libc-0.2)
|
||||
("rust-pango-sys" ,rust-pango-sys-0.9)
|
||||
("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1))
|
||||
#:cargo-development-inputs
|
||||
(("rust-gir-format-check" ,rust-gir-format-check-0.1))))
|
||||
(inputs
|
||||
`(("pango" ,pango)))
|
||||
(home-page "https://gtk-rs.org/")
|
||||
(synopsis "Rust bindings for the Pango library")
|
||||
(description
|
||||
"Rust bindings for the Pango library.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-pango-0.7
|
||||
(package
|
||||
(inherit rust-pango-0.8)
|
||||
(name "rust-pango")
|
||||
(version "0.7.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "pango" version))
|
||||
(file-name
|
||||
(string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"11np7nxb69g3kid2l78b7k519x1wk1c3f9yy7swgzy24n5qs0grr"))))
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-bitflags" ,rust-bitflags-1)
|
||||
("rust-glib" ,rust-glib-0.8)
|
||||
("rust-glib-sys" ,rust-glib-sys-0.9)
|
||||
("rust-gobject-sys" ,rust-gobject-sys-0.9)
|
||||
("rust-lazy-static" ,rust-lazy-static-1)
|
||||
("rust-libc" ,rust-libc-0.2)
|
||||
("rust-pango-sys" ,rust-pango-sys-0.9)
|
||||
("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1))
|
||||
#:cargo-development-inputs
|
||||
(("rust-gir-format-check" ,rust-gir-format-check-0.1))))))
|
||||
|
||||
(define-public rust-pango-sys-0.9
|
||||
(package
|
||||
(name "rust-pango-sys")
|
||||
(version "0.9.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "pango-sys" version))
|
||||
(file-name
|
||||
(string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0zdynikh6jrfa31fpmbrwnz46a57idci73zzkf0z0g3vj223vfc6"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; Some test files not included in release.
|
||||
#:cargo-inputs
|
||||
(("rust-glib-sys" ,rust-glib-sys-0.9)
|
||||
("rust-gobject-sys" ,rust-gobject-sys-0.9)
|
||||
("rust-libc" ,rust-libc-0.2)
|
||||
("rust-pkg-config" ,rust-pkg-config-0.3))
|
||||
#:cargo-development-inputs
|
||||
(("rust-shell-words" ,rust-shell-words-0.1)
|
||||
("rust-tempfile" ,rust-tempfile-3))))
|
||||
(inputs
|
||||
`(("pango" ,pango)))
|
||||
(home-page "https://gtk-rs.org/")
|
||||
(synopsis "FFI bindings to libpango-1.0")
|
||||
(description "This package provides FFI bindings to @code{libpango-1.0}.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-pangocairo-0.9
|
||||
(package
|
||||
(name "rust-pangocairo")
|
||||
(version "0.9.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "pangocairo" version))
|
||||
(file-name
|
||||
(string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0bap3h78hdqdyln58349qjjbcv45m8a0a16c4n9fprdj1my0gldx"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-bitflags" ,rust-bitflags-1)
|
||||
("rust-cairo-rs" ,rust-cairo-rs-0.8)
|
||||
("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9)
|
||||
("rust-glib" ,rust-glib-0.9)
|
||||
("rust-glib-sys" ,rust-glib-sys-0.9)
|
||||
("rust-gobject-sys" ,rust-gobject-sys-0.9)
|
||||
("rust-libc" ,rust-libc-0.2)
|
||||
("rust-pango" ,rust-pango-0.8)
|
||||
("rust-pango-sys" ,rust-pango-sys-0.9)
|
||||
("rust-pangocairo-sys" ,rust-pangocairo-sys-0.10)
|
||||
("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1))
|
||||
#:cargo-development-inputs
|
||||
(("rust-gir-format-check" ,rust-gir-format-check-0.1))))
|
||||
(inputs
|
||||
`(("gtk+" ,gtk+)))
|
||||
(home-page "http://gtk-rs.org/")
|
||||
(synopsis "Rust bindings for the PangoCairo library")
|
||||
(description
|
||||
"Rust bindings for the PangoCairo library.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public rust-pangocairo-0.8
|
||||
(package
|
||||
(inherit rust-pangocairo-0.9)
|
||||
(name "rust-pangocairo")
|
||||
(version "0.8.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "pangocairo" version))
|
||||
(file-name
|
||||
(string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0qjiwsp73x3w0493dzycyjzxnzwq7ixwmf1ccr5r41pjhxbnk1kl"))))
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-bitflags" ,rust-bitflags-1)
|
||||
("rust-cairo-rs" ,rust-cairo-rs-0.7)
|
||||
("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9)
|
||||
("rust-glib" ,rust-glib-0.8)
|
||||
("rust-glib-sys" ,rust-glib-sys-0.9)
|
||||
("rust-gobject-sys" ,rust-gobject-sys-0.9)
|
||||
("rust-libc" ,rust-libc-0.2)
|
||||
("rust-pango" ,rust-pango-0.7)
|
||||
("rust-pango-sys" ,rust-pango-sys-0.9)
|
||||
("rust-pangocairo-sys" ,rust-pangocairo-sys-0.10)
|
||||
("rust-gtk-rs-lgpl-docs" ,rust-gtk-rs-lgpl-docs-0.1))
|
||||
#:cargo-development-inputs
|
||||
(("rust-gir-format-check" ,rust-gir-format-check-0.1))))))
|
||||
|
||||
(define-public rust-pangocairo-sys-0.10
|
||||
(package
|
||||
(name "rust-pangocairo-sys")
|
||||
(version "0.10.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (crate-uri "pangocairo-sys" version))
|
||||
(file-name
|
||||
(string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1zlyf5vajarnxg5034b8qa5w5zajv96lfvlgiki26svpmcqip4m3"))))
|
||||
(build-system cargo-build-system)
|
||||
(arguments
|
||||
`(#:cargo-inputs
|
||||
(("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9)
|
||||
("rust-glib-sys" ,rust-glib-sys-0.9)
|
||||
("rust-libc" ,rust-libc-0.2)
|
||||
("rust-pango-sys" ,rust-pango-sys-0.9)
|
||||
("rust-pkg-config" ,rust-pkg-config-0.3))
|
||||
#:cargo-development-inputs
|
||||
(("rust-shell-words" ,rust-shell-words-0.1)
|
||||
("rust-tempfile" ,rust-tempfile-3))))
|
||||
(inputs
|
||||
`(("gtk+" ,gtk+)))
|
||||
(home-page "https://gtk-rs.org/")
|
||||
(synopsis "FFI bindings to libgtk-3")
|
||||
(description "This package provides FFI bindings to libgtk-3.")
|
||||
(license license:expat)))
|
File diff suppressed because it is too large
Load Diff
|
@ -143,7 +143,7 @@ communication, encryption, decryption, signatures, etc.")
|
|||
(define-public signify
|
||||
(package
|
||||
(name "signify")
|
||||
(version "29")
|
||||
(version "30")
|
||||
(home-page "https://github.com/aperezdc/signify")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
|
@ -151,7 +151,7 @@ communication, encryption, decryption, signatures, etc.")
|
|||
"/download/v" version "/signify-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1bzcax5kb4lr0rmpmrdpq5q0iq6b2dxzpl56li8aanbkck1c7hd9"))))
|
||||
"11l67j04gyxnlw6zrzsygqs5cgsc1sww1rh0apl05yay131hd17n"))))
|
||||
(build-system gnu-build-system)
|
||||
;; TODO Build with libwaive (described in README.md), to implement something
|
||||
;; like OpenBSD's pledge().
|
||||
|
@ -359,10 +359,10 @@ secure operations. ")
|
|||
(base32
|
||||
"0lj38ldh8vzi11wp4ghw4k0fkwp0s04zv8k8d473p1snmbh7mx98"))))
|
||||
(inputs
|
||||
`(("openssl" ,openssl))) ; It needs: openssl/{bn,pem,rsa,sha}.h
|
||||
`(("openssl" ,openssl-1.0))) ; for openssl/{bn,pem,rsa,sha}.h
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags (list "CC=gcc"
|
||||
`(#:make-flags (list (string-append "CC=" ,(cc-for-target))
|
||||
(string-append "PREFIX=" (assoc-ref %outputs "out"))
|
||||
(string-append "INSTALL=" "install"))
|
||||
;; XXX: make test would run a !VERY! long hashing of names with the use
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -35,7 +35,7 @@
|
|||
(define-public cryptsetup
|
||||
(package
|
||||
(name "cryptsetup")
|
||||
(version "2.3.3")
|
||||
(version "2.3.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://kernel.org/linux/utils/cryptsetup/v"
|
||||
|
@ -43,7 +43,7 @@
|
|||
"/cryptsetup-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1pw2bq4nv2z3xyycckxkbp7dp9kkp2n6bspna3plryg277z4zjiv"))))
|
||||
"0wrpz2fzbsszmsgxxbssxjgylpyiindh24z8g13m2fxmjsxyw5lx"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
|
|
@ -418,16 +418,17 @@ should only be used as part of the Guix cups-pk-helper service.")
|
|||
(define-public hplip
|
||||
(package
|
||||
(name "hplip")
|
||||
(version "3.20.6")
|
||||
(version "3.20.9")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/hplip/hplip/" version
|
||||
"/hplip-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"083w58wpvvm6sir6rf5dwx3r0rman9sv1zpl26chl0a88crjsjy6"))
|
||||
"1prdbp410405xrfggjc7y34nzljg7jnbgjzalgv4khwwma4i299n"))
|
||||
(modules '((guix build utils)))
|
||||
(patches (search-patches "hplip-remove-imageprocessor.patch"))
|
||||
(patches (search-patches "hplip-fix-bug-1898438.patch"
|
||||
"hplip-remove-imageprocessor.patch"))
|
||||
(snippet
|
||||
'(begin
|
||||
;; Delete non-free blobs: .so files, pre-compiled
|
||||
|
@ -468,10 +469,7 @@ should only be used as part of the Guix cups-pk-helper service.")
|
|||
(assoc-ref %outputs "out") "/lib")
|
||||
;; Disable until mime.types merging works (FIXME).
|
||||
"--disable-fax-build"
|
||||
"--enable-hpcups-install"
|
||||
"--enable-new-hpcups"
|
||||
"--enable-cups_ppd_install"
|
||||
"--enable-cups_drv_install"
|
||||
;; TODO add foomatic drv install eventually.
|
||||
;; TODO --enable-policykit eventually.
|
||||
,(string-append "--with-cupsfilterdir="
|
||||
|
@ -752,20 +750,19 @@ HP@tie{}LaserJet, and possibly other printers. See @file{README} for details.")
|
|||
(define-public escpr
|
||||
(package
|
||||
(name "escpr")
|
||||
(version "1.6.30")
|
||||
(version "1.7.7")
|
||||
;; XXX: This currently works. But it will break as soon as a newer
|
||||
;; version is available since the URLs for older versions are not
|
||||
;; preserved. An alternative source will be added as soon as
|
||||
;; available.
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
;; The uri has to be chopped up in order to satisfy guix lint.
|
||||
(uri (string-append "https://download3.ebz.epson.net/dsc/f/03/00/08/18/20/"
|
||||
"e94de600e28e510c1cfa158929d8b2c0aadc8aa0/"
|
||||
"epson-inkjet-printer-escpr-1.6.30-1lsb3.2.tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0m8pyfkixisp0vclwxj340isn15zzisal0v2xvv66kxfd68dzf12"))))
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download3.ebz.epson.net/dsc/f/03/00/10/49/18/"
|
||||
"f3016be6120a7271a6d9cb64872f817bce1920b8/"
|
||||
"epson-inkjet-printer-escpr-1.7.7-1lsb3.2.tar.gz"))
|
||||
(sha256
|
||||
(base32 "0khdf2a9iwh9aplj2gzyzl53yyfnfv0kszk3p018jnirl5l475ld"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
@ -774,13 +771,30 @@ HP@tie{}LaserJet, and possibly other printers. See @file{README} for details.")
|
|||
,(string-append "--with-cupsfilterdir="
|
||||
(assoc-ref %outputs "out") "/lib/cups/filter")
|
||||
,(string-append "--with-cupsppddir="
|
||||
(assoc-ref %outputs "out") "/share/ppd"))))
|
||||
(inputs `(("cups" ,cups-minimal)))
|
||||
(assoc-ref %outputs "out") "/share/cups/model"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-autotools-version-requirement
|
||||
(lambda _
|
||||
(substitute* "aclocal.m4"
|
||||
(("1\\.15")
|
||||
,(package-version automake)))
|
||||
(substitute* "configure"
|
||||
(("^(ACLOCAL=).*" _ match)
|
||||
(string-append match "aclocal"))
|
||||
(("^(AUTOMAKE=).*" _ match)
|
||||
(string-append match "automake")))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)))
|
||||
(inputs
|
||||
`(("cups" ,cups-minimal)))
|
||||
(synopsis "ESC/P-R printer driver")
|
||||
(description
|
||||
"This package provides a filter for the Common UNIX Printing
|
||||
System (CUPS). It offers high-quality printing with Seiko Epson color ink jet
|
||||
printers. It can only be used with printers that support the Epson ESC/P-R
|
||||
"This package provides a filter for @acronym{CUPS, the Common UNIX Printing
|
||||
System} that offers high-quality printing with Seiko@tie{}Epson color ink jet
|
||||
printers. It can be used only with printers that support the Epson@tie{}ESC/P-R
|
||||
language.")
|
||||
(home-page "http://download.ebz.epson.net/dsc/search/01/search")
|
||||
(license license:gpl2+)))
|
||||
|
|
|
@ -44,6 +44,7 @@
|
|||
;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org>
|
||||
;;; Copyright © 2020 Guy Fleury Iteriteka <gfleury@disroot.org>
|
||||
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
|
||||
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -128,6 +129,7 @@
|
|||
#:use-module (guix download)
|
||||
#:use-module (guix bzr-download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix hg-download)
|
||||
#:use-module (guix build-system emacs)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system go)
|
||||
|
@ -716,7 +718,7 @@ Language.")
|
|||
(define-public mariadb
|
||||
(package
|
||||
(name "mariadb")
|
||||
(version "10.1.45")
|
||||
(version "10.5.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://downloads.mariadb.com/MariaDB"
|
||||
|
@ -724,8 +726,7 @@ Language.")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1mfs0x4c0z7d306n128dxdawk3llk25vxif5zwl20fv1z5qhz3wx"))
|
||||
(patches (search-patches "mariadb-client-test-32bit.patch"))
|
||||
"1i257h0zdypdfj5wkg6ck9pxlkph0jvjs92k22pjr6gnx5lxs1gz"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
@ -743,8 +744,8 @@ Language.")
|
|||
(for-each (lambda (file)
|
||||
(unless (string-suffix? "CMakeLists.txt" file)
|
||||
(delete-file file)))
|
||||
(append (find-files "extra/yassl")
|
||||
(find-files "pcre") (find-files "zlib")))
|
||||
(append (find-files "extra/wolfssl")
|
||||
(find-files "zlib")))
|
||||
#t))))
|
||||
(build-system cmake-build-system)
|
||||
(outputs '("out" "lib" "dev"))
|
||||
|
@ -798,29 +799,20 @@ Language.")
|
|||
"-DINSTALL_SHAREDIR=share")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
,@(if (string-prefix? "arm" (%current-system))
|
||||
;; XXX: Because of the GCC 5 input, we need to hide GCC 7 from
|
||||
;; CPLUS_INCLUDE_PATH so that its headers do not shadow GCC 5.
|
||||
'((add-after 'set-paths 'hide-default-gcc
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((gcc (assoc-ref inputs "gcc")))
|
||||
(setenv "CPLUS_INCLUDE_PATH"
|
||||
(string-join
|
||||
(delete (string-append gcc "/include/c++")
|
||||
(string-split (getenv "CPLUS_INCLUDE_PATH")
|
||||
#\:))
|
||||
":"))
|
||||
#t))))
|
||||
'())
|
||||
(add-after 'unpack 'fix-pcre-detection
|
||||
(add-after 'unpack 'adjust-output-references
|
||||
(lambda _
|
||||
;; The bundled PCRE in MariaDB has a patch that was upstreamed
|
||||
;; in version 8.34. Unfortunately the upstream patch behaves
|
||||
;; slightly differently and the build system fails to detect it.
|
||||
;; See <https://bugs.exim.org/show_bug.cgi?id=2173>.
|
||||
;; XXX: Consider patching PCRE instead.
|
||||
(substitute* "cmake/pcre.cmake"
|
||||
((" OR NOT PCRE_STACK_SIZE_OK") ""))
|
||||
;; The build system invariably prepends $CMAKE_INSTALL_PREFIX
|
||||
;; to other variables such as $INSTALL_INCLUDEDIR, which does
|
||||
;; not work when the latter uses an absolute file name.
|
||||
(substitute* "libmariadb/mariadb_config/mariadb_config.c.in"
|
||||
(("@CMAKE_INSTALL_PREFIX@/@INSTALL_INCLUDEDIR@")
|
||||
"@INSTALL_INCLUDEDIR@"))
|
||||
(substitute* "libmariadb/mariadb_config/libmariadb.pc.in"
|
||||
(("\\$\\{prefix\\}/@INSTALL_INCLUDEDIR@")
|
||||
"@INSTALL_INCLUDEDIR@"))
|
||||
(substitute* "include/CMakeLists.txt"
|
||||
(("\\\\\\$\\{CMAKE_INSTALL_PREFIX\\}/\\$\\{INSTALL_INCLUDEDIR\\}")
|
||||
"${INSTALL_INCLUDEDIR}"))
|
||||
#t))
|
||||
(add-after 'unpack 'adjust-tests
|
||||
(lambda _
|
||||
|
@ -828,6 +820,7 @@ Language.")
|
|||
'(;; These fail because root@hostname == root@localhost in
|
||||
;; the build environment, causing a user count mismatch.
|
||||
;; See <https://jira.mariadb.org/browse/MDEV-7761>.
|
||||
"funcs_1.is_columns_mysql"
|
||||
"main.join_cache"
|
||||
"main.explain_non_select"
|
||||
"main.stat_tables"
|
||||
|
@ -836,20 +829,7 @@ Language.")
|
|||
|
||||
;; This file contains a time bomb which makes it fail after
|
||||
;; 2030-12-31. See <https://bugs.gnu.org/34351> for details.
|
||||
"main.mysqldump"
|
||||
|
||||
;; FIXME: This test fails on i686:
|
||||
;; -myisampack: Can't create/write to file (Errcode: 17 "File exists")
|
||||
;; +myisampack: Can't create/write to file (Errcode: 17 "File exists)
|
||||
;; When running "myisampack --join=foo/t3 foo/t1 foo/t2"
|
||||
;; (all three tables must exist and be identical)
|
||||
;; in a loop it produces the same error around 1/240 times.
|
||||
;; montywi on #maria suggested removing the real_end check in
|
||||
;; "strings/my_vsnprintf.c" on line 503, yet it still does not
|
||||
;; reach the ending quote occasionally. Disable it for now.
|
||||
"main.myisampack"
|
||||
;; FIXME: This test fails on armhf-linux:
|
||||
"mroonga/storage.index_read_multiple_double"))
|
||||
"main.mysqldump"))
|
||||
|
||||
;; This file contains a list of known-flaky tests for this
|
||||
;; release. Append our own items.
|
||||
|
@ -860,9 +840,10 @@ Language.")
|
|||
disabled-tests)
|
||||
(close-port unstable-tests)
|
||||
|
||||
;; XXX: This test fails because it expects a latin1 charset and
|
||||
;; XXX: These fail because they expect a latin1 charset and
|
||||
;; collation. See <https://jira.mariadb.org/browse/MDEV-21264>.
|
||||
(substitute* "mysql-test/r/gis_notembedded.result"
|
||||
(substitute* '("mysql-test/main/gis_notembedded.result"
|
||||
"mysql-test/main/system_mysql_db.result")
|
||||
(("latin1_swedish_ci") "utf8_general_ci")
|
||||
(("\tlatin1") "\tutf8"))
|
||||
|
||||
|
@ -895,6 +876,10 @@ Language.")
|
|||
"--testcase-timeout=40"
|
||||
"--suite-timeout=600"
|
||||
"--parallel" (number->string (parallel-job-count))
|
||||
;; Skip the replication tests: they are very I/O
|
||||
;; intensive and frequently causes indeterministic
|
||||
;; failures even on powerful hardware.
|
||||
"--skip-rpl"
|
||||
"--skip-test-list=unstable-tests"))
|
||||
(format #t "test suite not run~%"))
|
||||
#t))
|
||||
|
@ -905,56 +890,57 @@ Language.")
|
|||
(dev (assoc-ref outputs "dev"))
|
||||
(lib (assoc-ref outputs "lib"))
|
||||
(openssl (assoc-ref inputs "openssl")))
|
||||
(substitute* (string-append out "/bin/mysql_install_db")
|
||||
(substitute* (list (string-append out "/bin/mariadb-install-db")
|
||||
(string-append out "/bin/mysql_install_db"))
|
||||
(("basedir=\"\"")
|
||||
(string-append "basedir=\"" out "\"")))
|
||||
(string-append "basedir=\"" out "\""))
|
||||
(("\\$basedir/share/mysql")
|
||||
(string-append lib "/share/mysql")))
|
||||
|
||||
;; Remove unneeded files for testing.
|
||||
(with-directory-excursion lib
|
||||
(for-each delete-file-recursively
|
||||
'("data" "mysql-test" "sql-bench"))
|
||||
'("mysql-test" "sql-bench"))
|
||||
;; And static libraries.
|
||||
(for-each delete-file (find-files "lib" "\\.a$")))
|
||||
(with-directory-excursion out
|
||||
(delete-file "share/man/man1/mysql-test-run.pl.1")
|
||||
;; Delete huge and unnecessary executables.
|
||||
(for-each delete-file (find-files "bin" "(test|embedded)")))
|
||||
(for-each delete-file (find-files "bin" "test$")))
|
||||
(mkdir-p (string-append dev "/share"))
|
||||
(mkdir-p (string-append dev "/bin"))
|
||||
(rename-file (string-append lib "/bin/mariadbd")
|
||||
(string-append out "/bin/mariadbd"))
|
||||
(rename-file (string-append lib "/bin/mysqld")
|
||||
(string-append out "/bin/mysqld"))
|
||||
(rename-file (string-append lib "/share/pkgconfig")
|
||||
(string-append dev "/share/pkgconfig"))
|
||||
(mkdir-p (string-append dev "/lib"))
|
||||
(rename-file (string-append lib "/lib/pkgconfig")
|
||||
(string-append dev "/lib/pkgconfig"))
|
||||
(rename-file (string-append lib "/bin/mariadb_config")
|
||||
(string-append dev "/bin/mariadb_config"))
|
||||
(rename-file (string-append out "/bin/mysql_config")
|
||||
(string-append dev "/bin/mysql_config"))
|
||||
|
||||
|
||||
(substitute* (string-append out "/bin/mysql_install_db")
|
||||
(("\\$basedir/share/mysql")
|
||||
(string-append lib "/share/mysql")))
|
||||
|
||||
;; Embed an absolute reference to OpenSSL in mysql_config
|
||||
;; and the pkg-config file to avoid propagation.
|
||||
;; XXX: how to do this for mariadb_config.c.in?
|
||||
(substitute* (list (string-append dev "/bin/mysql_config")
|
||||
(string-append dev "/share/pkgconfig/mariadb.pc"))
|
||||
(string-append dev "/lib/pkgconfig/mariadb.pc"))
|
||||
(("-lssl -lcrypto" all)
|
||||
(string-append "-L" openssl "/lib " all)))
|
||||
|
||||
#t))))))
|
||||
(native-inputs
|
||||
`(("bison" ,bison)
|
||||
;; XXX: On armhf, use GCC 5 to work around <https://bugs.gnu.org/37605>.
|
||||
,@(if (string-prefix? "armhf" (%current-system))
|
||||
`(("gcc@5", gcc-5))
|
||||
'())
|
||||
("perl" ,perl)))
|
||||
(inputs
|
||||
`(("jemalloc" ,jemalloc)
|
||||
("libaio" ,libaio)
|
||||
("libxml2" ,libxml2)
|
||||
("ncurses" ,ncurses)
|
||||
("openssl" ,openssl-1.0)
|
||||
("openssl" ,openssl)
|
||||
("pam" ,linux-pam)
|
||||
("pcre" ,pcre)
|
||||
("pcre2" ,pcre2)
|
||||
("xz" ,xz)
|
||||
("zlib" ,zlib)))
|
||||
;; The test suite is very resource intensive and can take more than three
|
||||
|
@ -970,7 +956,7 @@ as a drop-in replacement of MySQL.")
|
|||
(define-public mariadb-connector-c
|
||||
(package
|
||||
(name "mariadb-connector-c")
|
||||
(version "3.1.9")
|
||||
(version "3.1.10")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -979,7 +965,7 @@ as a drop-in replacement of MySQL.")
|
|||
version "-src.tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1izjzf7yzjqzlk8dkp327fa9lawsv2hnnlnr7g5lshyx5azrk38h"))))
|
||||
"13v5z4w1cl890lnr2fbwbziw638lqw2aga45vdq1z0cyrc9mcgmg"))))
|
||||
(inputs
|
||||
`(("openssl" ,openssl)))
|
||||
(build-system cmake-build-system)
|
||||
|
@ -1139,7 +1125,7 @@ organized in a hash table or B+ tree.")
|
|||
|
||||
(native-inputs `(("bc" ,bc)
|
||||
("bash:include" ,bash "include")
|
||||
("check" ,check)
|
||||
("check" ,check-0.14)
|
||||
("libuuid" ,util-linux)
|
||||
("pkg-config" ,pkg-config)))
|
||||
|
||||
|
@ -1343,7 +1329,7 @@ for example from a shell script.")
|
|||
(define-public sqitch
|
||||
(package
|
||||
(name "sqitch")
|
||||
(version "1.0.0")
|
||||
(version "1.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -1351,7 +1337,7 @@ for example from a shell script.")
|
|||
"mirror://cpan/authors/id/D/DW/DWHEELER/App-Sqitch-v"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0p4wraqiscvwmmsvfqfy65blgsilwpvd9zj4d2zvm2xdx70ncr7l"))))
|
||||
(base32 "1ayiwg9kh3w0nbacbcln7h944z94vq5vnnd5diz86033bpbnq57f"))))
|
||||
(build-system perl-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
|
@ -1383,6 +1369,7 @@ for example from a shell script.")
|
|||
("perl-test-file" ,perl-test-file)
|
||||
("perl-test-file-contents" ,perl-test-file-contents)
|
||||
("perl-test-mockmodule" ,perl-test-mockmodule)
|
||||
("perl-test-mockobject" ,perl-test-mockobject)
|
||||
("perl-test-nowarnings" ,perl-test-nowarnings)
|
||||
("perl-test-warn" ,perl-test-warn)))
|
||||
(inputs
|
||||
|
@ -1391,7 +1378,9 @@ for example from a shell script.")
|
|||
("perl-config-gitlike" ,perl-config-gitlike)
|
||||
("perl-datetime" ,perl-datetime)
|
||||
("perl-datetime-timezone" ,perl-datetime-timezone)
|
||||
("perl-dbd-mysql" ,perl-dbd-mysql)
|
||||
("perl-dbd-pg" ,perl-dbd-pg)
|
||||
("perl-dbd-sqlite" ,perl-dbd-sqlite)
|
||||
("perl-dbi" ,perl-dbi)
|
||||
("perl-devel-stacktrace" ,perl-devel-stacktrace)
|
||||
("perl-encode-locale" ,perl-encode-locale)
|
||||
|
@ -1738,7 +1727,7 @@ columns, primary keys, unique constraints and relationships.")
|
|||
(define-public perl-dbd-sqlite
|
||||
(package
|
||||
(name "perl-dbd-sqlite")
|
||||
(version "1.64")
|
||||
(version "1.66")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -1746,7 +1735,7 @@ columns, primary keys, unique constraints and relationships.")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"00gz5aw3xrr92lf9nfk0dhmy7a8jzmxhznddd9b0a8w4a1xqzbpl"))))
|
||||
"1zljln5nh61gj3k22a1fv2vhx5l83waizmarwkh77hk6kzzmvrw9"))))
|
||||
(build-system perl-build-system)
|
||||
(inputs `(("sqlite" ,sqlite)))
|
||||
(propagated-inputs `(("perl-dbi" ,perl-dbi)))
|
||||
|
@ -1777,7 +1766,7 @@ module, and nothing else.")
|
|||
(synopsis "Parse and utilize MySQL's /etc/my.cnf and ~/.my.cnf files")
|
||||
(description
|
||||
"@code{MySQL::Config} emulates the @code{load_defaults} function from
|
||||
libmysqlclient. It will fill an aray with long options, ready to be parsed by
|
||||
libmysqlclient. It will fill an array with long options, ready to be parsed by
|
||||
@code{Getopt::Long}.")
|
||||
(license license:perl-license)))
|
||||
|
||||
|
@ -1898,7 +1887,7 @@ valid SQL query.")
|
|||
(define-public unixodbc
|
||||
(package
|
||||
(name "unixodbc")
|
||||
(version "2.3.7")
|
||||
(version "2.3.9")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
|
@ -1906,7 +1895,7 @@ valid SQL query.")
|
|||
"ftp://ftp.unixodbc.org/pub/unixODBC/unixODBC-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0xry3sg497wly8f7715a7gwkn2k36bcap0mvzjw74jj53yx6kwa5"))))
|
||||
(base32 "01xj65d02i3yjy7p9z08y9jakcs5szmz4rask868n7387nn3x0sj"))))
|
||||
(build-system gnu-build-system)
|
||||
(synopsis "Data source abstraction library")
|
||||
(description "Unixodbc is a library providing an API with which to access
|
||||
|
@ -2120,14 +2109,14 @@ database.")
|
|||
(define-public perl-db-file
|
||||
(package
|
||||
(name "perl-db-file")
|
||||
(version "1.853")
|
||||
(version "1.855")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://cpan/authors/id/P/PM/PMQS/DB_File-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1y967si45vj0skip1hnhicbv9da29fv6qcfwnsbnvj06n36mkj6h"))))
|
||||
(base32 "0q599h7g4jkzks5dxf1zifx9k7l9vif26r2dlgkzxkg6bfif5zyr"))))
|
||||
(build-system perl-build-system)
|
||||
(inputs `(("bdb" ,bdb)))
|
||||
(native-inputs `(("perl-test-pod" ,perl-test-pod)))
|
||||
|
@ -2140,8 +2129,7 @@ database.")
|
|||
(("/usr/local/BerkeleyDB") (assoc-ref inputs "bdb")))
|
||||
#t)))))
|
||||
(home-page "https://metacpan.org/release/DB_File")
|
||||
(synopsis
|
||||
"Perl5 access to Berkeley DB version 1.x")
|
||||
(synopsis "Perl5 access to Berkeley DB version 1.x")
|
||||
(description
|
||||
"The DB::File module provides Perl bindings to the Berkeley DB version 1.x.")
|
||||
(license license:perl-license)))
|
||||
|
@ -2450,13 +2438,13 @@ etc., and an SQL engine for performing simple SQL queries.")
|
|||
(define-public python-lmdb
|
||||
(package
|
||||
(name "python-lmdb")
|
||||
(version "0.99")
|
||||
(version "1.0.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "lmdb" version))
|
||||
(sha256
|
||||
(base32
|
||||
"12fwlzfd82471ss9xzbqwcqc6f5miy51y72y2yya9j5cm9589szr"))
|
||||
"1di1gj2agbxwqqwrpk4w58dpfah0kl10ha20s63dlqdd1bgzydj1"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Delete bundled lmdb source files.
|
||||
|
@ -2475,6 +2463,7 @@ etc., and an SQL engine for performing simple SQL queries.")
|
|||
(add-before 'build 'use-system-lmdb
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((lmdb (assoc-ref inputs "lmdb")))
|
||||
(setenv "LMDB_PURE" "set") ; don't apply env-copy-txn.patch
|
||||
(setenv "LMDB_FORCE_SYSTEM" "set")
|
||||
(setenv "LMDB_INCLUDEDIR" (string-append lmdb "/include"))
|
||||
(setenv "LMDB_LIBDIR" (string-append lmdb "/lib"))
|
||||
|
@ -2632,13 +2621,13 @@ Database API 2.0T.")
|
|||
(define-public python-sqlalchemy
|
||||
(package
|
||||
(name "python-sqlalchemy")
|
||||
(version "1.3.18")
|
||||
(version "1.3.20")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "SQLAlchemy" version))
|
||||
(sha256
|
||||
(base32 "1rwc6ss1cnz3kxx0p9p6xw0w79r8qw03lcc29k31yb3rcigvfbys"))))
|
||||
(base32 "18b9am7bsqc4nj3d2h5r93i002apczxfvpfpcqbd6f0385zmrwnj"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
`(("python-cython" ,python-cython) ; for C extensions
|
||||
|
@ -2712,16 +2701,57 @@ You might also want to install the following optional dependencies:
|
|||
(define-public python2-sqlalchemy-utils
|
||||
(package-with-python2 python-sqlalchemy-utils))
|
||||
|
||||
(define-public python-alchemy-mock
|
||||
(package
|
||||
(name "python-alchemy-mock")
|
||||
(version "0.4.3")
|
||||
(home-page "https://github.com/miki725/alchemy-mock")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "alchemy-mock" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0ylxygl3bcdapzz529n8wgk7vx9gjwb3ism564ypkpd7dbsw653r"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
'(#:phases (modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda _
|
||||
;; Create pytest.ini that adds doctest options to
|
||||
;; prevent test failure. Taken from tox.ini.
|
||||
(call-with-output-file "pytest.ini"
|
||||
(lambda (port)
|
||||
(format port "[pytest]
|
||||
doctest_optionflags=IGNORE_EXCEPTION_DETAIL
|
||||
")))
|
||||
(invoke "pytest" "-vv" "--doctest-modules"
|
||||
"alchemy_mock/"))))))
|
||||
(native-inputs
|
||||
`(("python-mock" ,python-mock)
|
||||
("python-pytest" ,python-pytest)))
|
||||
(propagated-inputs
|
||||
`(("python-six" ,python-six)
|
||||
("python-sqlalchemy" ,python-sqlalchemy)))
|
||||
(synopsis "Mock helpers for SQLAlchemy")
|
||||
(description
|
||||
"This package provides mock helpers for SQLAlchemy that makes it easy
|
||||
to mock an SQLAlchemy session while preserving the ability to do asserts.
|
||||
|
||||
Normally Normally SQLAlchemy's expressions cannot be easily compared as
|
||||
comparison on binary expression produces yet another binary expression, but
|
||||
this library provides functions to facilitate such comparisons.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-alembic
|
||||
(package
|
||||
(name "python-alembic")
|
||||
(version "1.4.2")
|
||||
(version "1.4.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "alembic" version))
|
||||
(sha256
|
||||
(base32 "1gsdrzx9h7wfva200qvvsc9sn4w79mk2vs0bbnzjhxi1jw2b0nh3"))))
|
||||
(base32 "0if2dgb088clk738p26bwk50735h6jpd2kacdgc5capv2hiz6d2k"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
'(#:phases (modify-phases %standard-phases
|
||||
|
@ -2897,13 +2927,13 @@ designed to be easy and intuitive to use.")
|
|||
(define-public python-psycopg2
|
||||
(package
|
||||
(name "python-psycopg2")
|
||||
(version "2.8.5")
|
||||
(version "2.8.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "psycopg2" version))
|
||||
(sha256
|
||||
(base32 "06081jk9srkd4ra9j8b93x9ld3a2yxsbsf5bbbcivbm1yx065m7p"))))
|
||||
(base32 "0hzmk6b1hb5riqkljr5xics6p4zbvmis6knbczb7zhq7273zc8zv"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
;; Tests would require a postgresql database "psycopg2_test"
|
||||
|
@ -2948,27 +2978,51 @@ database).")
|
|||
(define-public python2-sadisplay
|
||||
(package-with-python2 python-sadisplay))
|
||||
|
||||
(define-public yoyo-migrations
|
||||
(package
|
||||
(name "yoyo-migrations")
|
||||
(version "7.2.0")
|
||||
(source
|
||||
(origin
|
||||
;; We use the upstream repository, as the tests are not included in the
|
||||
;; PyPI releases.
|
||||
(method hg-fetch)
|
||||
(uri (hg-reference
|
||||
(url "https://hg.sr.ht/~olly/yoyo")
|
||||
(changeset (string-append "v" version "-release"))))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32 "0q2z9bgdj3wyix7yvqsayfs21grp5av8ilh411lgmjhigszkvhcq"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
;; XXX: Tests require a connection to some pgsql database and psycopg
|
||||
;; fails to connect to it.
|
||||
'(#:tests? #f))
|
||||
(propagated-inputs
|
||||
`(("python-sqlparse" ,python-sqlparse)
|
||||
("python-tabulate" ,python-tabulate)))
|
||||
(home-page "https://ollycope.com/software/yoyo/latest/")
|
||||
(synopsis "Database migrations with SQL")
|
||||
(description
|
||||
"Yoyo is a database schema migration tool. Migrations are written as SQL
|
||||
files or Python scripts that define a list of migration steps.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python-mysqlclient
|
||||
(package
|
||||
(name "python-mysqlclient")
|
||||
(version "1.3.13")
|
||||
(version "2.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "mysqlclient" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0kv4a1icwdav8jpl7qvnr931lw5h3v22ids6lwq6qpi1hjzf33pz"))))
|
||||
"1rf5l8hazs3v18hmcrm90z3hi9wxv553ipwd5l6kj8j7l6p7abzv"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
`(("nose" ,python-nose)
|
||||
("mock" ,python-mock)
|
||||
("py.test" ,python-pytest)))
|
||||
(arguments '(#:tests? #f)) ;XXX: requires a live database
|
||||
(inputs
|
||||
`(("mysql" ,mariadb "lib")
|
||||
("mysql-dev" ,mariadb "dev")
|
||||
("libz" ,zlib)
|
||||
("openssl" ,openssl)))
|
||||
`(("mysql-dev" ,mariadb "dev")))
|
||||
(home-page "https://github.com/PyMySQL/mysqlclient-python")
|
||||
(synopsis "MySQLdb is an interface to the popular MySQL database server for Python")
|
||||
(description "MySQLdb is an interface to the popular MySQL database server
|
||||
|
@ -2980,9 +3034,6 @@ for Python. The design goals are:
|
|||
@end enumerate")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public python2-mysqlclient
|
||||
(package-with-python2 python-mysqlclient))
|
||||
|
||||
(define-public python-hiredis
|
||||
(package
|
||||
(name "python-hiredis")
|
||||
|
@ -3042,13 +3093,13 @@ reasonable substitute.")
|
|||
(define-public python-redis
|
||||
(package
|
||||
(name "python-redis")
|
||||
(version "3.3.8")
|
||||
(version "3.5.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "redis" version))
|
||||
(sha256
|
||||
(base32 "0fyxzqax7lcwzwhvnz0i0q6v62hxyv1mv52ywx3bpff9a2vjz8lq"))))
|
||||
(base32 "18h5b87g15x3j6pb1h2q27ri37p2qpvc9n2wgn5yl3b6m3y0qzhf"))))
|
||||
(build-system python-build-system)
|
||||
;; Tests require a running Redis server.
|
||||
(arguments '(#:tests? #f))
|
||||
|
@ -3067,14 +3118,35 @@ reasonable substitute.")
|
|||
(define-public python-rq
|
||||
(package
|
||||
(name "python-rq")
|
||||
(version "0.13.0")
|
||||
(version "1.5.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "rq" version))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/rq/rq")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0xvapd2bxnyq480i48bdkddzlqmv2axbsq85rlfy8k3al8zxxxrf"))))
|
||||
(base32 "0ikqmpq0g1qiqwd7ar1286l4hqjb6aj2wr844gihhb8ijzwhp8va"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
'(#:phases (modify-phases %standard-phases
|
||||
(add-before 'check 'start-redis
|
||||
(lambda _
|
||||
(invoke "redis-server" "--daemonize" "yes")))
|
||||
(replace 'check
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
;; Drop test that needs the SDK for Sentry.io.
|
||||
(delete-file "tests/test_sentry.py")
|
||||
;; Ensure 'rq' and 'rqworker' ends up on PATH.
|
||||
(setenv "PATH" (string-append out "/bin:"
|
||||
(getenv "PATH")))
|
||||
(invoke "pytest" "-vv")))))))
|
||||
(native-inputs
|
||||
`(("python-mock" ,python-mock)
|
||||
("python-pytest" ,python-pytest)
|
||||
("redis" ,redis)))
|
||||
(propagated-inputs
|
||||
`(("python-click" ,python-click)
|
||||
("python-redis" ,python-redis)))
|
||||
|
@ -3089,6 +3161,44 @@ is designed to have a low barrier to entry.")
|
|||
(define-public python2-rq
|
||||
(package-with-python2 python-rq))
|
||||
|
||||
(define-public python-rq-scheduler
|
||||
(package
|
||||
(name "python-rq-scheduler")
|
||||
(version "0.10.0")
|
||||
(home-page "https://github.com/rq/rq-scheduler")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0xg6yazqs5kbr2ayvhvljs1h5vgx5k5dds613fmhswln7gglf9hk"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
'(#:phases (modify-phases %standard-phases
|
||||
(add-before 'check 'start-redis
|
||||
(lambda _
|
||||
(invoke "redis-server" "--daemonize" "yes")))
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(substitute* "run_tests.py"
|
||||
(("/usr/bin/env")
|
||||
(which "env")))
|
||||
(invoke "./run_tests.py"))))))
|
||||
(native-inputs
|
||||
`(("redis" ,redis)
|
||||
("which" ,which)))
|
||||
(propagated-inputs
|
||||
`(("python-croniter" ,python-croniter)
|
||||
("python-rq" ,python-rq)))
|
||||
(synopsis "Job scheduling capabilities for RQ (Redis Queue)")
|
||||
(description
|
||||
"This package provides job scheduling capabilities to @code{python-rq}
|
||||
(Redis Queue).")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-trollius-redis
|
||||
(package
|
||||
(name "python-trollius-redis")
|
||||
|
@ -3593,8 +3703,7 @@ The drivers officially supported by @code{libdbi} are:
|
|||
("sqlite" ,sqlite)
|
||||
("odbc" ,unixodbc)
|
||||
("boost" ,boost)
|
||||
("mariadb:dev" ,mariadb "dev")
|
||||
("mariadb:lib" ,mariadb "lib")))
|
||||
("mariadb:dev" ,mariadb "dev")))
|
||||
(arguments
|
||||
`(#:tests? #f ; Tests may require running database management systems.
|
||||
#:phases
|
||||
|
|
|
@ -37,14 +37,16 @@
|
|||
(name "gdsl")
|
||||
(version "1.8")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://download.gna.org/gdsl/"
|
||||
"gdsl-" version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://example.org") ;only hosted on Software Heritage
|
||||
(commit "6adb53be8b8f9f2e4bbfc92d357eedeefb4c7430")))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1v64jvlnj8jfpphphgjgb36p0kv50kwfyqncf0y12f16v8ydyiaw"))))
|
||||
"0a52g12d9sf9hhcyvwfd7xdazj2a9i9jh97cnlqf2ymvwnvjk1g0"))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "http://home.gna.org/gdsl/")
|
||||
(home-page "https://web.archive.org/web/20170502005430/http://home.gna.org/gdsl/")
|
||||
(synopsis "Generic data structures library")
|
||||
(description "The Generic Data Structures Library (GDSL) is a collection
|
||||
of routines for generic data structures manipulation. It is a re-entrant
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
;;; Copyright © 2019 Pkill -9 <pkill9@runbox.com>
|
||||
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
|
||||
;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com>
|
||||
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -36,6 +37,7 @@
|
|||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages c)
|
||||
#:use-module (gnu packages code)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages flex)
|
||||
|
@ -624,6 +626,78 @@ GDB/x86 features like hardware data watchpoints, makes debugging much more
|
|||
fun.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public libbacktrace
|
||||
;; There are no releases nor tags.
|
||||
(let ((revision "1")
|
||||
(commit "5009c113981431ae1843ebd29d6ad24eb32fc1b2"))
|
||||
(package
|
||||
(name "libbacktrace")
|
||||
(version (git-version "1.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ianlancetaylor/libbacktrace")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0663zjpfpnsyv9h3pbp7cgmg9gz79n68bqpdl97y6i0jsx93v1zg"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags '("CFLAGS=-fPIC")))
|
||||
(home-page "https://github.com/ianlancetaylor/libbacktrace")
|
||||
(synopsis "C library for producing symbolic backtraces")
|
||||
(description "The @code{libbacktrace} library can be linked into a C/C++
|
||||
program to produce symbolic backtraces.")
|
||||
(license license:bsd-3))))
|
||||
|
||||
(define-public libleak
|
||||
(package
|
||||
(name "libleak")
|
||||
(version "0.3.5")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/WuBingzheng/libleak")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1p8mb0hcfp8hdv1klv6rrpkn2zlhjxgkxbbjsk8kszxv7ijln87d"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ;no test suite
|
||||
#:parallel-build? #f ;jobserver unavailable
|
||||
#:phases (modify-phases %standard-phases
|
||||
(add-after 'unpack 'unbundle-libwuya
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
((".*make -C libwuya.*") ""))
|
||||
#t))
|
||||
(add-before 'build 'set-CC
|
||||
(lambda _
|
||||
(setenv "CC" "gcc")
|
||||
#t))
|
||||
(delete 'configure) ;no configure script
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out")))
|
||||
(install-file "libleak.so" (string-append out "/lib"))
|
||||
#t))))))
|
||||
(inputs `(("libbacktrace" ,libbacktrace)
|
||||
("libwuya" ,libwuya)))
|
||||
(home-page "https://github.com/WuBingzheng/libleak")
|
||||
(synopsis "Memory leaks detection tool")
|
||||
(description "The libleak tool detects memory leaks by hooking memory
|
||||
functions such as @code{malloc}. It comes as a shared object to be pre-loaded
|
||||
via @code{LD_PRELOAD} when launching the application. It prints the full call
|
||||
stack at suspicious memory leak points. Modifying or recompiling the target
|
||||
program is not required, and the detection can be enabled or disabled while
|
||||
the target application is running. The overhead incurred by libleak is
|
||||
smaller than that of other tools such as Valgrind, and it aims to be easier to
|
||||
use than similar tools like @command{mtrace}.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public mspdebug
|
||||
(package
|
||||
(name "mspdebug")
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; 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 © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
|
@ -39,14 +39,14 @@
|
|||
(define-public dico
|
||||
(package
|
||||
(name "dico")
|
||||
(version "2.9")
|
||||
(version "2.10")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/dico/dico-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0i9xqhy3h5nlizcmav4mv5ay8ivdgn4l4k0k7fxix3fsc87nijyr"))))
|
||||
"0qag47mzs00d53hnrmh381r0jay42766vp5xrffmzmsn2307x8vl"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags (list (string-append "--with-guile-site-dir=" %output
|
||||
|
|
|
@ -205,14 +205,14 @@ It comes with a German-English dictionary with approximately 270,000 entries.")
|
|||
(define-public grammalecte
|
||||
(package
|
||||
(name "grammalecte")
|
||||
(version "1.12.0")
|
||||
(version "1.12.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch/zipbomb)
|
||||
(uri (string-append "https://grammalecte.net/grammalecte/zip/"
|
||||
"Grammalecte-fr-v" version ".zip"))
|
||||
(sha256
|
||||
(base32 "1aifa7rj8zyxgk5cgmlgcws2hip7a7y6sr7kddjdnpfgdgy4jjgh"))))
|
||||
(base32 "1qny2l5dr08pfj2dnzmvm5gmwqz8m879ryxfaw4k8dhaacrrrf62"))))
|
||||
(build-system python-build-system)
|
||||
(home-page "https://grammalecte.net")
|
||||
(synopsis "French spelling and grammar checker")
|
||||
|
|
|
@ -254,7 +254,7 @@ install.")
|
|||
(inputs
|
||||
`(("python-debian" ,python-debian)
|
||||
("python-distro" ,python-distro)
|
||||
("python-libarchive-c", python-libarchive-c)
|
||||
("python-libarchive-c" ,python-libarchive-c)
|
||||
("python-rstr" ,python-rstr)))
|
||||
(native-inputs
|
||||
`(("diffoscope" ,diffoscope)
|
||||
|
|
|
@ -689,7 +689,7 @@ passphrases.")
|
|||
(define-public ndctl
|
||||
(package
|
||||
(name "ndctl")
|
||||
(version "69")
|
||||
(version "70.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -698,7 +698,7 @@ passphrases.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1l7p0ycj27d4z07gf9qp796xpg16kfsg3rwx6plhilbhip1as4w7"))))
|
||||
"09ymdibcr18vpmyf2n0xrnzgccfvr7iy3p2l5lbh7cgz7djyl5wq"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("asciidoc" ,asciidoc)
|
||||
|
@ -1038,6 +1038,50 @@ of choice for all light thinking Unix addicts!")
|
|||
(home-page "https://savannah.nongnu.org/projects/hddtemp/")
|
||||
(synopsis "Report the temperature of hard drives from S.M.A.R.T. information")
|
||||
(description "@command{hddtemp} is a small utility that gives you the
|
||||
temperature of your hard drive by reading S.M.A.R.T. informations (for drives
|
||||
temperature of your hard drive by reading S.M.A.R.T. information (for drives
|
||||
that support this feature).")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public memkind
|
||||
(package
|
||||
(name "memkind")
|
||||
(version "1.10.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/memkind/memkind.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"11iz887f3cp5pzf1bzm644wzab8gkbhz3b7x1w6pcps71yd94ylj"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(;; memkind patched jemalloc to add je_arenalookupx,
|
||||
;; je_check_reallocatex--i.e. they forked jemalloc.
|
||||
;("jemalloc" ,jemalloc)
|
||||
("ndctl" ,ndctl)
|
||||
("numactl" ,numactl)))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("libtool" ,libtool)))
|
||||
(arguments
|
||||
`(#:tests? #f ; Tests require a NUMA-enabled system.
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'build 'autogen-jemalloc
|
||||
(lambda _
|
||||
(with-directory-excursion "jemalloc"
|
||||
(substitute* "Makefile.in"
|
||||
(("/bin/sh") (which "sh")))
|
||||
(invoke "autoconf")
|
||||
(substitute* "configure"
|
||||
(("/bin/sh") (which "sh"))))
|
||||
#t)))))
|
||||
(home-page "https://github.com/memkind/memkind")
|
||||
(synopsis "Heap manager with memory kinds (for NUMA)")
|
||||
(description "This package provides a user-extensible heap manager
|
||||
built on top of jemalloc which enables control of memory characteristics
|
||||
and a partitioning of the heap between kinds of memory (for NUMA).")
|
||||
(license license:bsd-3)))
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -17,6 +17,7 @@
|
|||
;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2020 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
|
||||
;;; Copyright © 2020 Simon South <simon@simonsouth.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -45,6 +46,7 @@
|
|||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages crypto)
|
||||
#:use-module (gnu packages datastructures)
|
||||
#:use-module (gnu packages elf)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages gcc)
|
||||
|
@ -65,9 +67,11 @@
|
|||
#:use-module (gnu packages protobuf)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages ragel)
|
||||
#:use-module (gnu packages shells)
|
||||
#:use-module (gnu packages sphinx)
|
||||
#:use-module (gnu packages swig)
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages xml)
|
||||
|
@ -313,7 +317,7 @@ and BOOTP/TFTP for network booting of diskless machines.")
|
|||
(package
|
||||
(name "bind")
|
||||
;; When updating, check whether isc-dhcp's bundled copy should be as well.
|
||||
(version "9.16.6")
|
||||
(version "9.16.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -321,7 +325,7 @@ and BOOTP/TFTP for network booting of diskless machines.")
|
|||
"/bind-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1jvi6ms51vyrhpflx05xlb7gblyd59zsyj28b8s3pl3xnkrv0rxm"))))
|
||||
"1l8lhgnkj3fnl1101bs3pzj5gv2x5m9ahvrbyscsc9mxxc91hzcz"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs `("out" "utils"))
|
||||
(inputs
|
||||
|
@ -529,14 +533,14 @@ asynchronous fashion.")
|
|||
(define-public nsd
|
||||
(package
|
||||
(name "nsd")
|
||||
(version "4.3.2")
|
||||
(version "4.3.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.nlnetlabs.nl/downloads/nsd/nsd-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0ac3mbn5z4nc18782m9aswdpi2m9f4665vidw0ciyigdh0pywp2v"))))
|
||||
(base32 "0lgdiqnkfvy245h6kkiqic586qjwmg51lsfs86vlc0kwjwddiijz"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
@ -756,16 +760,16 @@ served by AS112. Stub and forward zones are supported.")
|
|||
(define-public yadifa
|
||||
(package
|
||||
(name "yadifa")
|
||||
(version "2.3.9")
|
||||
(version "2.3.10")
|
||||
(source
|
||||
(let ((build "8497"))
|
||||
(let ((build "9729"))
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append "http://cdn.yadifa.eu/sites/default/files/releases/"
|
||||
"yadifa-" version "-" build ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0xvyr91sfgzkpw6g3h893ldbwnki3w2472n56rr18w67qghs1sa5")))))
|
||||
(base32 "0azaignqmylfdzr4x02s8y3pkn4f0xkpz3d1pkiiz8mwk92zgybn")))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("which" ,which)))
|
||||
|
@ -803,44 +807,63 @@ Extensions} (DNSSEC).")
|
|||
(define-public knot
|
||||
(package
|
||||
(name "knot")
|
||||
(version "2.9.6")
|
||||
(version "3.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://secure.nic.cz/files/knot-dns/"
|
||||
"knot-" version ".tar.xz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.nic.cz/knot/knot-dns")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1rxjjisr6rz1wa4279ghvj5zzhgyjhncmb9dkzqm8nw2qs1jhx5z"))
|
||||
(base32 "10mlzldxqvbaw78nghkr0s73rlbpz9wg16z14321xw2l9xfibkad"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; Delete bundled libraries.
|
||||
(with-directory-excursion "src/contrib"
|
||||
(delete-file-recursively "lmdb"))
|
||||
;; Remove Ragel-generated C files. We'll recreate them below.
|
||||
(for-each delete-file (find-files "." "\\.c\\.[gt]."))
|
||||
(delete-file "src/libknot/yparser/ypbody.c")
|
||||
;; Remove bundled library to ensure we always use the system's.
|
||||
(delete-file-recursively "src/contrib/libbpf")
|
||||
#t))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("fstrm" ,fstrm)
|
||||
("gnutls" ,gnutls)
|
||||
("jansson" ,jansson)
|
||||
("libcap-ng" ,libcap-ng)
|
||||
("libedit" ,libedit)
|
||||
("libidn" ,libidn)
|
||||
("liburcu" ,liburcu)
|
||||
("lmdb" ,lmdb)
|
||||
("ncurses" ,ncurses)
|
||||
("protobuf-c" ,protobuf-c)))
|
||||
(outputs (list "out" "doc" "lib" "tools"))
|
||||
(arguments
|
||||
`(#:phases
|
||||
`(#:configure-flags
|
||||
(list (string-append "--docdir=" (assoc-ref %outputs "doc")
|
||||
"/share/" ,name "-" ,version)
|
||||
(string-append "--infodir=" (assoc-ref %outputs "doc")
|
||||
"/share/info")
|
||||
(string-append "--libdir=" (assoc-ref %outputs "lib") "/lib")
|
||||
"--sysconfdir=/etc"
|
||||
"--localstatedir=/var"
|
||||
"--enable-dnstap" ; let tools read/write capture files
|
||||
"--enable-fastparser" ; disabled by default when .git/ exists
|
||||
"--enable-xdp=auto" ; XXX [=yes] currently means =embedded
|
||||
"--with-module-dnstap=yes") ; detailed query capturing & logging
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'link-missing-libbpf-dependency
|
||||
;; Linking against -lbpf later would fail to find -lz: libbpf.pc has
|
||||
;; zlib in its Requires.private (not Requires) field. Add it here.
|
||||
(lambda _
|
||||
(substitute* "configure.ac"
|
||||
(("enable_xdp=yes" match)
|
||||
(string-append match "\nlibbpf_LIBS=\"$libbpf_LIBS -lz\"")))
|
||||
#true))
|
||||
(add-before 'bootstrap 'update-parser
|
||||
(lambda _
|
||||
(with-directory-excursion "src"
|
||||
(invoke "sh" "../scripts/update-parser.sh"))))
|
||||
(add-before 'configure 'disable-directory-pre-creation
|
||||
(lambda _
|
||||
;; Don't install empty directories like ‘/etc’ outside the store.
|
||||
;; This is needed even when using ‘make config_dir=... install’.
|
||||
(substitute* "src/Makefile.in" (("\\$\\(INSTALL\\) -d") "true"))
|
||||
#t))
|
||||
(add-after 'build 'build-info
|
||||
(lambda _
|
||||
(invoke "make" "info")))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
|
@ -848,15 +871,51 @@ Extensions} (DNSSEC).")
|
|||
(etc (string-append doc "/examples/etc")))
|
||||
(invoke "make"
|
||||
(string-append "config_dir=" etc)
|
||||
"install")))))
|
||||
#:configure-flags
|
||||
(list "--sysconfdir=/etc"
|
||||
"--localstatedir=/var"
|
||||
"--enable-dnstap" ; let tools read/write capture files
|
||||
"--with-module-dnstap=yes" ; detailed query capturing & logging
|
||||
(string-append "--with-bash-completions="
|
||||
(assoc-ref %outputs "out")
|
||||
"/etc/bash_completion.d"))))
|
||||
"install"))))
|
||||
(add-after 'install 'install-info
|
||||
(lambda _
|
||||
(invoke "make" "install-info")))
|
||||
(add-after 'install 'break-circular-:lib->:out-reference
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((lib (assoc-ref outputs "lib")))
|
||||
(for-each (lambda (file)
|
||||
(substitute* file
|
||||
(("(prefix=).*" _ assign)
|
||||
(string-append assign lib "\n"))))
|
||||
(find-files lib "\\.pc$"))
|
||||
#true)))
|
||||
(add-after 'install 'split-:tools
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(tools (assoc-ref outputs "tools")))
|
||||
(mkdir-p (string-append tools "/share/man"))
|
||||
(rename-file (string-append out "/bin")
|
||||
(string-append tools "/bin"))
|
||||
(rename-file (string-append out "/share/man/man1")
|
||||
(string-append tools "/share/man/man1"))
|
||||
#true))))))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("libtool" ,libtool)
|
||||
("pkg-config" ,pkg-config)
|
||||
("python-sphinx" ,python-sphinx)
|
||||
("ragel" ,ragel)
|
||||
("texinfo" ,texinfo)))
|
||||
(inputs
|
||||
`(("fstrm" ,fstrm)
|
||||
("gnutls" ,gnutls)
|
||||
("jansson" ,jansson)
|
||||
("libbpf" ,libbpf)
|
||||
("libcap-ng" ,libcap-ng)
|
||||
("libedit" ,libedit)
|
||||
("libelf" ,libelf)
|
||||
("libidn" ,libidn)
|
||||
("libnghttp2" ,nghttp2 "lib")
|
||||
("liburcu" ,liburcu)
|
||||
("lmdb" ,lmdb)
|
||||
("ncurses" ,ncurses)
|
||||
("protobuf-c" ,protobuf-c)))
|
||||
(home-page "https://www.knot-dns.cz/")
|
||||
(synopsis "Authoritative DNS name server")
|
||||
(description "Knot DNS is an authoritative name server for the @dfn{Domain
|
||||
|
@ -878,14 +937,14 @@ synthesis, and on-the-fly re-configuration.")
|
|||
(define-public knot-resolver
|
||||
(package
|
||||
(name "knot-resolver")
|
||||
(version "4.3.0")
|
||||
(version "5.1.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://secure.nic.cz/files/knot-resolver/"
|
||||
"knot-resolver-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"09ffmqx79lv5psr433x4n946njgsn071b9b7161pcb9bmrqz380c"))))
|
||||
"12s5070nqqf599s1mb6rjas2as481rjf751qk5yrz6p34y885k90"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags '("-Ddoc=enabled")
|
||||
|
@ -927,16 +986,12 @@ synthesis, and on-the-fly re-configuration.")
|
|||
(inputs
|
||||
`(("fstrm" ,fstrm)
|
||||
("gnutls" ,gnutls)
|
||||
("knot" ,knot)
|
||||
("knot:lib" ,knot "lib")
|
||||
("libuv" ,libuv)
|
||||
("lmdb" ,lmdb)
|
||||
("luajit" ,luajit)
|
||||
;; TODO: Add optional lua modules: basexx and psl.
|
||||
("lua-bitop" ,lua5.1-bitop)
|
||||
("lua-cqueues" ,lua5.1-cqueues)
|
||||
("lua-filesystem" ,lua5.1-filesystem)
|
||||
("lua-sec" ,lua5.1-sec)
|
||||
("lua-socket" ,lua5.1-socket)))
|
||||
("lua-bitop" ,lua5.1-bitop)))
|
||||
(home-page "https://www.knot-resolver.cz/")
|
||||
(synopsis "Caching validating DNS resolver")
|
||||
(description
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue