Merge branch 'master' into staging
commit
1a8f7a0f58
|
@ -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"
|
||||
|
|
|
@ -407,6 +407,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 \
|
||||
|
|
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))
|
||||
|
|
|
@ -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
|
||||
|
|
404
doc/guix.texi
404
doc/guix.texi
|
@ -252,6 +252,7 @@ Programming Interface
|
|||
* Package Modules:: Packages from the programmer's viewpoint.
|
||||
* Defining Packages:: Defining new packages.
|
||||
* Build Systems:: Specifying how packages are built.
|
||||
* Build Utilities:: Helpers for your package definitions and more.
|
||||
* The Store:: Manipulating the package store.
|
||||
* Derivations:: Low-level interface to package derivations.
|
||||
* The Store Monad:: Purely functional interface to the store.
|
||||
|
@ -477,10 +478,10 @@ Packages are currently available on the following platforms:
|
|||
@table @code
|
||||
|
||||
@item x86_64-linux
|
||||
Intel/AMD @code{x86_64} architecture, Linux-Libre kernel;
|
||||
Intel/AMD @code{x86_64} architecture, Linux-Libre kernel.
|
||||
|
||||
@item i686-linux
|
||||
Intel 32-bit architecture (IA32), Linux-Libre kernel;
|
||||
Intel 32-bit architecture (IA32), Linux-Libre kernel.
|
||||
|
||||
@item armhf-linux
|
||||
ARMv7-A architecture with hard float, Thumb-2 and NEON,
|
||||
|
@ -490,6 +491,16 @@ and Linux-Libre kernel.
|
|||
@item aarch64-linux
|
||||
little-endian 64-bit ARMv8-A processors, Linux-Libre kernel.
|
||||
|
||||
@item i586-gnu
|
||||
@uref{https://hurd.gnu.org, GNU/Hurd} on the Intel 32-bit architecture
|
||||
(IA32).
|
||||
|
||||
This configuration is experimental and under development. The easiest
|
||||
way for you to give it a try is by setting up an instance of
|
||||
@code{hurd-vm-service-type} on your GNU/Linux machine
|
||||
(@pxref{transparent-emulation-qemu, @code{hurd-vm-service-type}}).
|
||||
@xref{Contributing}, on how to help!
|
||||
|
||||
@item mips64el-linux (deprecated)
|
||||
little-endian 64-bit MIPS processors, specifically the Loongson series,
|
||||
n32 ABI, and Linux-Libre kernel. This configuration is no longer fully
|
||||
|
@ -1077,8 +1088,9 @@ is requested, for instance via @code{guix build}, the daemon attempts to
|
|||
offload it to one of the machines that satisfy the constraints of the
|
||||
derivation, in particular its system types---e.g., @code{x86_64-linux}.
|
||||
A single machine can have multiple system types, either because its
|
||||
architecture natively supports it, via emulation (@pxref{Transparent
|
||||
Emulation with QEMU}), or both. Missing prerequisites for the build are
|
||||
architecture natively supports it, via emulation
|
||||
(@pxref{transparent-emulation-qemu, Transparent Emulation with QEMU}),
|
||||
or both. Missing prerequisites for the build are
|
||||
copied over SSH to the target machine, which then proceeds with the
|
||||
build; upon success the output(s) of the build are copied back to the
|
||||
initial machine. The offload facility comes with a basic scheduler that
|
||||
|
@ -5824,7 +5836,7 @@ direct syscalls are not intercepted either, leading to erratic behavior.
|
|||
@vindex GUIX_EXECUTION_ENGINE
|
||||
When running a wrapped program, you can explicitly request one of the
|
||||
execution engines listed above by setting the
|
||||
@code{GUIX_EXECUTION_ENGINE} environment variable accordingly.
|
||||
@env{GUIX_EXECUTION_ENGINE} environment variable accordingly.
|
||||
@end quotation
|
||||
|
||||
@cindex entry point, for Docker images
|
||||
|
@ -6074,6 +6086,7 @@ package definitions.
|
|||
* Package Modules:: Packages from the programmer's viewpoint.
|
||||
* Defining Packages:: Defining new packages.
|
||||
* Build Systems:: Specifying how packages are built.
|
||||
* Build Utilities:: Helpers for your package definitions and more.
|
||||
* The Store:: Manipulating the package store.
|
||||
* Derivations:: Low-level interface to package derivations.
|
||||
* The Store Monad:: Purely functional interface to the store.
|
||||
|
@ -6230,6 +6243,10 @@ represents the familiar GNU Build System, where packages may be
|
|||
configured, built, and installed with the usual @code{./configure &&
|
||||
make && make check && make install} command sequence.
|
||||
|
||||
When you start packaging non-trivial software, you may need tools to
|
||||
manipulate those build phases, manipulate files, and so on. @xref{Build
|
||||
Utilities}, for more on this.
|
||||
|
||||
@item
|
||||
The @code{arguments} field specifies options for the build system
|
||||
(@pxref{Build Systems}). Here it is interpreted by
|
||||
|
@ -6805,7 +6822,8 @@ The list of phases used for a particular package can be changed with the
|
|||
@end example
|
||||
|
||||
means that all the phases described above will be used, except the
|
||||
@code{configure} phase.
|
||||
@code{configure} phase. @xref{Build Utilities}, for more info on
|
||||
@code{modify-phases} and build phases in general.
|
||||
|
||||
In addition, this build system ensures that the ``standard'' environment
|
||||
for GNU packages is available. This includes tools such as GCC, libc,
|
||||
|
@ -6940,8 +6958,8 @@ In its @code{configure} phase, this build system will make any source inputs
|
|||
specified in the @code{#:cargo-inputs} and @code{#:cargo-development-inputs}
|
||||
parameters available to cargo. It will also remove an included
|
||||
@code{Cargo.lock} file to be recreated by @code{cargo} during the
|
||||
@code{build} phase. The @code{install} phase installs any crate the binaries
|
||||
if they are defined by the crate.
|
||||
@code{build} phase. The @code{install} phase installs the binaries
|
||||
defined by the crate.
|
||||
@end defvr
|
||||
|
||||
|
||||
|
@ -7187,7 +7205,7 @@ implements the build procedure used by @uref{https://julialang.org/,
|
|||
julia} packages, which essentially is similar to running @samp{julia -e
|
||||
'using Pkg; Pkg.add(package)'} in an environment where
|
||||
@env{JULIA_LOAD_PATH} contains the paths to all Julia package inputs.
|
||||
Tests are run not run.
|
||||
Tests are run with @code{Pkg.test}.
|
||||
|
||||
Julia packages require the source @code{file-name} to be the real name of the
|
||||
package, correctly capitalized.
|
||||
|
@ -7632,6 +7650,294 @@ with @code{build-expression->derivation} (@pxref{Derivations,
|
|||
@code{build-expression->derivation}}).
|
||||
@end defvr
|
||||
|
||||
@node Build Utilities
|
||||
@section Build Utilities
|
||||
|
||||
As soon as you start writing non-trivial package definitions
|
||||
(@pxref{Defining Packages}) or other build actions
|
||||
(@pxref{G-Expressions}), you will likely start looking for helpers for
|
||||
``shell-like'' actions---creating directories, copying and deleting
|
||||
files recursively, manipulating build phases, and so on. The
|
||||
@code{(guix build utils)} module provides such utility procedures.
|
||||
|
||||
Most build systems load @code{(guix build utils)} (@pxref{Build
|
||||
Systems}). Thus, when writing custom build phases for your package
|
||||
definitions, you can usually assume those procedures are in scope.
|
||||
|
||||
When writing G-expressions, you can import @code{(guix build utils)} on
|
||||
the ``build side'' using @code{with-imported-modules} and then put it in
|
||||
scope with the @code{use-modules} form (@pxref{Using Guile Modules,,,
|
||||
guile, GNU Guile Reference Manual}):
|
||||
|
||||
@lisp
|
||||
(with-imported-modules '((guix build utils)) ;import it
|
||||
(computed-file "empty-tree"
|
||||
#~(begin
|
||||
;; Put it in scope.
|
||||
(use-modules (guix build utils))
|
||||
|
||||
;; Happily use its 'mkdir-p' procedure.
|
||||
(mkdir-p (string-append #$output "/a/b/c")))))
|
||||
@end lisp
|
||||
|
||||
The remainder of this section is the reference for most of the utility
|
||||
procedures provided by @code{(guix build utils)}.
|
||||
|
||||
@c TODO Document what's missing.
|
||||
|
||||
@subsection Dealing with Store File Names
|
||||
|
||||
This section documents procedures that deal with store file names.
|
||||
|
||||
@deffn {Scheme Procedure} %store-directory
|
||||
Return the directory name of the store.
|
||||
@end deffn
|
||||
|
||||
@deffn {Scheme Procedure} store-file-name? @var{file}
|
||||
Return true if @var{file} is in the store.
|
||||
@end deffn
|
||||
|
||||
@deffn {Scheme Procedure} strip-store-file-name @var{file}
|
||||
Strip the @file{/gnu/store} and hash from @var{file}, a store file name.
|
||||
The result is typically a @code{"@var{package}-@var{version}"} string.
|
||||
@end deffn
|
||||
|
||||
@deffn {Scheme Procedure} package-name->name+version @var{name}
|
||||
Given @var{name}, a package name like @code{"foo-0.9.1b"}, return two
|
||||
values: @code{"foo"} and @code{"0.9.1b"}. When the version part is
|
||||
unavailable, @var{name} and @code{#f} are returned. The first hyphen
|
||||
followed by a digit is considered to introduce the version part.
|
||||
@end deffn
|
||||
|
||||
@subsection File Types
|
||||
|
||||
The procedures below deal with files and file types.
|
||||
|
||||
@deffn {Scheme Procedure} directory-exists? @var{dir}
|
||||
Return @code{#t} if @var{dir} exists and is a directory.
|
||||
@end deffn
|
||||
|
||||
@deffn {Scheme Procedure} executable-file? @var{file}
|
||||
Return @code{#t} if @var{file} exists and is executable.
|
||||
@end deffn
|
||||
|
||||
@deffn {Scheme Procedure} symbolic-link? @var{file}
|
||||
Return @code{#t} if @var{file} is a symbolic link (aka. a ``symlink'').
|
||||
@end deffn
|
||||
|
||||
@deffn {Scheme Procedure} elf-file? @var{file}
|
||||
@deffnx {Scheme Procedure} ar-file? @var{file}
|
||||
@deffnx {Scheme Procedure} gzip-file? @var{file}
|
||||
Return @code{#t} if @var{file} is, respectively, an ELF file, an
|
||||
@code{ar} archive (such as a @file{.a} static library), or a gzip file.
|
||||
@end deffn
|
||||
|
||||
@deffn {Scheme Procedure} reset-gzip-timestamp @var{file} [#:keep-mtime? #t]
|
||||
If @var{file} is a gzip file, reset its embedded timestamp (as with
|
||||
@command{gzip --no-name}) and return true. Otherwise return @code{#f}.
|
||||
When @var{keep-mtime?} is true, preserve @var{file}'s modification time.
|
||||
@end deffn
|
||||
|
||||
@subsection File Manipulation
|
||||
|
||||
The following procedures and macros help create, modify, and delete
|
||||
files. They provide functionality comparable to common shell utilities
|
||||
such as @command{mkdir -p}, @command{cp -r}, @command{rm -r}, and
|
||||
@command{sed}. They complement Guile's extensive, but low-level, file
|
||||
system interface (@pxref{POSIX,,, guile, GNU Guile Reference Manual}).
|
||||
|
||||
@deffn {Scheme Syntax} with-directory-excursion @var{directory} @var{body}@dots{}
|
||||
Run @var{body} with @var{directory} as the process's current directory.
|
||||
|
||||
Essentially, this macro changes the current directory to @var{directory}
|
||||
before evaluating @var{body}, using @code{chdir} (@pxref{Processes,,,
|
||||
guile, GNU Guile Reference Manual}). It changes back to the initial
|
||||
directory when the dynamic extent of @var{body} is left, be it @i{via}
|
||||
normal procedure return or @i{via} a non-local exit such as an
|
||||
exception.
|
||||
@end deffn
|
||||
|
||||
@deffn {Scheme Procedure} mkdir-p @var{dir}
|
||||
Create directory @var{dir} and all its ancestors.
|
||||
@end deffn
|
||||
|
||||
@deffn {Scheme Procedure} install-file @var{file} @var{directory}
|
||||
Create @var{directory} if it does not exist and copy @var{file} in there
|
||||
under the same name.
|
||||
@end deffn
|
||||
|
||||
@deffn {Scheme Procedure} make-file-writable @var{file}
|
||||
Make @var{file} writable for its owner.
|
||||
@end deffn
|
||||
|
||||
@deffn {Scheme Procedure} copy-recursively @var{source} @var{destination} @
|
||||
[#:log (current-output-port)] [#:follow-symlinks? #f] [#:keep-mtime? #f]
|
||||
Copy @var{source} directory to @var{destination}. Follow symlinks if
|
||||
@var{follow-symlinks?} is true; otherwise, just preserve them. When
|
||||
@var{keep-mtime?} is true, keep the modification time of the files in
|
||||
@var{source} on those of @var{destination}. Write verbose output to the
|
||||
@var{log} port.
|
||||
@end deffn
|
||||
|
||||
@deffn {Scheme Procedure} delete-file-recursively @var{dir} @
|
||||
[#:follow-mounts? #f]
|
||||
Delete @var{dir} recursively, like @command{rm -rf}, without following
|
||||
symlinks. Don't follow mount points either, unless @var{follow-mounts?}
|
||||
is true. Report but ignore errors.
|
||||
@end deffn
|
||||
|
||||
@deffn {Scheme Syntax} substitute* @var{file} @
|
||||
((@var{regexp} @var{match-var}@dots{}) @var{body}@dots{}) @dots{}
|
||||
Substitute @var{regexp} in @var{file} by the string returned by
|
||||
@var{body}. @var{body} is evaluated with each @var{match-var} bound to
|
||||
the corresponding positional regexp sub-expression. For example:
|
||||
|
||||
@lisp
|
||||
(substitute* file
|
||||
(("hello")
|
||||
"good morning\n")
|
||||
(("foo([a-z]+)bar(.*)$" all letters end)
|
||||
(string-append "baz" letter end)))
|
||||
@end lisp
|
||||
|
||||
Here, anytime a line of @var{file} contains @code{hello}, it is replaced
|
||||
by @code{good morning}. Anytime a line of @var{file} matches the second
|
||||
regexp, @code{all} is bound to the complete match, @code{letters} is bound
|
||||
to the first sub-expression, and @code{end} is bound to the last one.
|
||||
|
||||
When one of the @var{match-var} is @code{_}, no variable is bound to the
|
||||
corresponding match substring.
|
||||
|
||||
Alternatively, @var{file} may be a list of file names, in which case
|
||||
they are all subject to the substitutions.
|
||||
|
||||
Be careful about using @code{$} to match the end of a line; by itself it
|
||||
won't match the terminating newline of a line.
|
||||
@end deffn
|
||||
|
||||
@subsection File Search
|
||||
|
||||
@cindex file, searching
|
||||
This section documents procedures to search and filter files.
|
||||
|
||||
@deffn {Scheme Procedure} file-name-predicate @var{regexp}
|
||||
Return a predicate that returns true when passed a file name whose base
|
||||
name matches @var{regexp}.
|
||||
@end deffn
|
||||
|
||||
@deffn {Scheme Procedure} find-files @var{dir} [@var{pred}] @
|
||||
[#:stat lstat] [#:directories? #f] [#:fail-on-error? #f]
|
||||
Return the lexicographically sorted list of files under @var{dir} for
|
||||
which @var{pred} returns true. @var{pred} is passed two arguments: the
|
||||
absolute file name, and its stat buffer; the default predicate always
|
||||
returns true. @var{pred} can also be a regular expression, in which
|
||||
case it is equivalent to @code{(file-name-predicate @var{pred})}.
|
||||
@var{stat} is used to obtain file information; using @code{lstat} means
|
||||
that symlinks are not followed. If @var{directories?} is true, then
|
||||
directories will also be included. If @var{fail-on-error?} is true,
|
||||
raise an exception upon error.
|
||||
@end deffn
|
||||
|
||||
Here are a few examples where we assume that the current directory is
|
||||
the root of the Guix source tree:
|
||||
|
||||
@lisp
|
||||
;; List all the regular files in the current directory.
|
||||
(find-files ".")
|
||||
@result{} ("./.dir-locals.el" "./.gitignore" @dots{})
|
||||
|
||||
;; List all the .scm files under gnu/services.
|
||||
(find-files "gnu/services" "\\.scm$")
|
||||
@result{} ("gnu/services/admin.scm" "gnu/services/audio.scm" @dots{})
|
||||
|
||||
;; List ar files in the current directory.
|
||||
(find-files "." (lambda (file stat) (ar-file? file)))
|
||||
@result{} ("./libformat.a" "./libstore.a" @dots{})
|
||||
@end lisp
|
||||
|
||||
@deffn {Scheme Procedure} which @var{program}
|
||||
Return the complete file name for @var{program} as found in
|
||||
@code{$PATH}, or @code{#f} if @var{program} could not be found.
|
||||
@end deffn
|
||||
|
||||
@subsection Build Phases
|
||||
|
||||
@cindex build phases
|
||||
The @code{(guix build utils)} also contains tools to manipulate
|
||||
@dfn{build phases} as found in @code{gnu-build-system} and in fact most
|
||||
build systems (@pxref{Build Systems}). Build phases are represented as
|
||||
association lists or ``alists'' (@pxref{Association Lists,,, guile, GNU
|
||||
Guile Reference Manual}) where each key is a symbol for the name of the
|
||||
phase, and the associated value is a procedure that accepts an arbitrary
|
||||
number of arguments.
|
||||
|
||||
Guile core and the @code{(srfi srfi-1)} module both provide tools to
|
||||
manipulate alists. The @code{(guix build utils)} module complements
|
||||
those with tools written with build phases in mind.
|
||||
|
||||
@cindex build phases, modifying
|
||||
@deffn {Scheme Syntax} modify-phases @var{phases} @var{clause}@dots{}
|
||||
Modify @var{phases} sequentially as per each @var{clause}, which may
|
||||
have one of the following forms:
|
||||
|
||||
@lisp
|
||||
(delete @var{old-phase-name})
|
||||
(replace @var{old-phase-name} @var{new-phase})
|
||||
(add-before @var{old-phase-name} @var{new-phase-name} @var{new-phase})
|
||||
(add-after @var{old-phase-name} @var{new-phase-name} @var{new-phase})
|
||||
@end lisp
|
||||
|
||||
Where every @var{phase-name} above is an expression evaluating to a
|
||||
symbol, and @var{new-phase} an expression evaluating to a procedure.
|
||||
@end deffn
|
||||
|
||||
The example below is taken from the definition of the @code{grep}
|
||||
package. It adds a phase to run after the @code{install} phase, called
|
||||
@code{fix-egrep-and-fgrep}. That phase is a procedure (@code{lambda*}
|
||||
is for anonymous procedures) that takes a @code{#:outputs} keyword
|
||||
argument and ignores extra keyword arguments (@pxref{Optional
|
||||
Arguments,,, guile, GNU Guile Reference Manual}, for more on
|
||||
@code{lambda*} and optional and keyword arguments.) The phase uses
|
||||
@code{substitute*} to modify the installed @file{egrep} and @file{fgrep}
|
||||
scripts so that they refer to @code{grep} by its absolute file name:
|
||||
|
||||
@lisp
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'install 'fix-egrep-and-fgrep
|
||||
;; Patch 'egrep' and 'fgrep' to execute 'grep' via its
|
||||
;; absolute file name instead of searching for it in $PATH.
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin")))
|
||||
(substitute* (list (string-append bin "/egrep")
|
||||
(string-append bin "/fgrep"))
|
||||
(("^exec grep")
|
||||
(string-append "exec " bin "/grep")))
|
||||
#t))))
|
||||
@end lisp
|
||||
|
||||
In the example below, phases are modified in two ways: the standard
|
||||
@code{configure} phase is deleted, presumably because the package does
|
||||
not have a @file{configure} script or anything similar, and the default
|
||||
@code{install} phase is replaced by one that manually copies the
|
||||
executable files to be installed:
|
||||
|
||||
@lisp
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure) ;no 'configure' script
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; The package's Makefile doesn't provide an "install"
|
||||
;; rule so do it by ourselves.
|
||||
(let ((bin (string-append (assoc-ref outputs "out")
|
||||
"/bin")))
|
||||
(install-file "footswitch" bin)
|
||||
(install-file "scythe" bin)
|
||||
#t))))
|
||||
@end lisp
|
||||
|
||||
@c TODO: Add more examples.
|
||||
|
||||
@node The Store
|
||||
@section The Store
|
||||
|
||||
|
@ -10091,7 +10397,7 @@ package expressions for all those packages that are not yet in Guix.
|
|||
|
||||
When @option{--archive=bioconductor} is added, metadata is imported from
|
||||
@uref{https://www.bioconductor.org/, Bioconductor}, a repository of R
|
||||
packages for for the analysis and comprehension of high-throughput
|
||||
packages for the analysis and comprehension of high-throughput
|
||||
genomic data in bioinformatics.
|
||||
|
||||
Information is extracted from the @file{DESCRIPTION} file contained in the
|
||||
|
@ -17838,10 +18144,10 @@ List of settings to set in @file{daemon.conf}, formatted just like
|
|||
@var{client-conf}.
|
||||
|
||||
@item @var{script-file} (default: @code{(file-append pulseaudio "/etc/pulse/default.pa")})
|
||||
Script file to use as as @file{default.pa}.
|
||||
Script file to use as @file{default.pa}.
|
||||
|
||||
@item @var{system-script-file} (default: @code{(file-append pulseaudio "/etc/pulse/system.pa")})
|
||||
Script file to use as as @file{system.pa}.
|
||||
Script file to use as @file{system.pa}.
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
|
@ -21970,7 +22276,29 @@ names of loadable modules, as in this example:
|
|||
(modules
|
||||
(list
|
||||
(file-append nginx-accept-language-module "\
|
||||
/etc/nginx/modules/ngx_http_accept_language_module.so")))
|
||||
/etc/nginx/modules/ngx_http_accept_language_module.so")
|
||||
(file-append nginx-lua-module "\
|
||||
/etc/nginx/modules/ngx_http_lua_module.so")))
|
||||
@end lisp
|
||||
|
||||
@item @code{lua-package-path} (default: @code{'()})
|
||||
List of nginx lua packages to load. This should be a list of package
|
||||
names of loadable lua modules, as in this example:
|
||||
|
||||
@lisp
|
||||
(lua-package-path (list lua-resty-core
|
||||
lua-resty-lrucache
|
||||
lua-resty-signal
|
||||
lua-tablepool
|
||||
lua-resty-shell))
|
||||
@end lisp
|
||||
|
||||
@item @code{lua-package-cpath} (default: @code{'()})
|
||||
List of nginx lua C packages to load. This should be a list of package
|
||||
names of loadable lua C modules, as in this example:
|
||||
|
||||
@lisp
|
||||
(lua-package-cpath (list lua-resty-signal))
|
||||
@end lisp
|
||||
|
||||
@item @code{global-directives} (default: @code{'((events . ()))})
|
||||
|
@ -22973,7 +23301,7 @@ This type has the following parameters:
|
|||
|
||||
@table @asis
|
||||
@item @code{id} (default: @code{""})
|
||||
An identifier for ether configuration fields to refer to this key. IDs must be
|
||||
An identifier for other configuration fields to refer to this key. IDs must be
|
||||
unique and must not be empty.
|
||||
|
||||
@item @code{address} (default: @code{'()})
|
||||
|
@ -24964,7 +25292,7 @@ mixer, the @code{null} mixer (allows setting the volume, but with no
|
|||
effect; this can be used as a trick to implement an external mixer
|
||||
External Mixer) or no mixer (@code{none}).
|
||||
|
||||
@item @code{extra-options} (default: @code{'()"})
|
||||
@item @code{extra-options} (default: @code{'()})
|
||||
An association list of option symbols to string values to be appended to
|
||||
the audio output configuration.
|
||||
|
||||
|
@ -24989,13 +25317,14 @@ an HTTP audio streaming output.
|
|||
|
||||
|
||||
@node Virtualization Services
|
||||
@subsection Virtualization services
|
||||
@subsection Virtualization Services
|
||||
|
||||
The @code{(gnu services virtualization)} module provides services for
|
||||
the libvirt and virtlog daemons, as well as other virtualization-related
|
||||
services.
|
||||
|
||||
@subsubheading Libvirt daemon
|
||||
|
||||
@code{libvirtd} is the server side daemon component of the libvirt
|
||||
virtualization management system. This daemon runs on host servers
|
||||
and performs required management tasks for virtualized guests.
|
||||
|
@ -25022,7 +25351,7 @@ Libvirt package.
|
|||
|
||||
@deftypevr {@code{libvirt-configuration} parameter} boolean listen-tls?
|
||||
Flag listening for secure TLS connections on the public TCP/IP port.
|
||||
must set @code{listen} for this to have any effect.
|
||||
You must set @code{listen} for this to have any effect.
|
||||
|
||||
It is necessary to setup a CA and issue server certificates before using
|
||||
this capability.
|
||||
|
@ -25032,28 +25361,28 @@ Defaults to @samp{#t}.
|
|||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{libvirt-configuration} parameter} boolean listen-tcp?
|
||||
Listen for unencrypted TCP connections on the public TCP/IP port. must
|
||||
Listen for unencrypted TCP connections on the public TCP/IP port. You must
|
||||
set @code{listen} for this to have any effect.
|
||||
|
||||
Using the TCP socket requires SASL authentication by default. Only SASL
|
||||
mechanisms which support data encryption are allowed. This is
|
||||
DIGEST_MD5 and GSSAPI (Kerberos5)
|
||||
DIGEST_MD5 and GSSAPI (Kerberos5).
|
||||
|
||||
Defaults to @samp{#f}.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{libvirt-configuration} parameter} string tls-port
|
||||
Port for accepting secure TLS connections This can be a port number, or
|
||||
service name
|
||||
Port for accepting secure TLS connections. This can be a port number,
|
||||
or service name.
|
||||
|
||||
Defaults to @samp{"16514"}.
|
||||
|
||||
@end deftypevr
|
||||
|
||||
@deftypevr {@code{libvirt-configuration} parameter} string tcp-port
|
||||
Port for accepting insecure TCP connections This can be a port number,
|
||||
or service name
|
||||
Port for accepting insecure TCP connections. This can be a port number,
|
||||
or service name.
|
||||
|
||||
Defaults to @samp{"16509"}.
|
||||
|
||||
|
@ -25365,7 +25694,7 @@ Defaults to @samp{3}.
|
|||
Logging filters.
|
||||
|
||||
A filter allows to select a different logging level for a given category
|
||||
of logs The format for a filter is one of:
|
||||
of logs. The format for a filter is one of:
|
||||
|
||||
@itemize @bullet
|
||||
@item
|
||||
|
@ -25696,7 +26025,8 @@ Maximum number of backup files to keep.
|
|||
Defaults to @samp{3}
|
||||
|
||||
@end deftypevr
|
||||
@node Transparent Emulation with QEMU
|
||||
|
||||
@anchor{transparent-emulation-qemu}
|
||||
@subsubheading Transparent Emulation with QEMU
|
||||
|
||||
@cindex emulation
|
||||
|
@ -25895,7 +26225,7 @@ By default, it produces
|
|||
with forwarded ports:
|
||||
|
||||
@example
|
||||
@var{ssh-port}: @code{(+ 11004 (* 1000 @var{ID}))}
|
||||
@var{secrets-port}: @code{(+ 11004 (* 1000 @var{ID}))}
|
||||
@var{ssh-port}: @code{(+ 10022 (* 1000 @var{ID}))}
|
||||
@var{vnc-port}: @code{(+ 15900 (* 1000 @var{ID}))}
|
||||
@end example
|
||||
|
@ -26540,7 +26870,7 @@ When true, the daemon performs additional logging for debugging purposes.
|
|||
@defvr {Scheme Variable} ganeti-watcher-service-type
|
||||
@command{ganeti-watcher} is a script designed to run periodically and ensure
|
||||
the health of a cluster. It will automatically restart instances that have
|
||||
stopped without Ganetis consent, and repairs DRBD links in case a node has
|
||||
stopped without Ganeti's consent, and repairs DRBD links in case a node has
|
||||
rebooted. It also archives old cluster jobs and restarts Ganeti daemons
|
||||
that are not running. If the cluster parameter @code{ensure_node_health}
|
||||
is set, the watcher will also shutdown instances and DRBD devices if the
|
||||
|
@ -27977,7 +28307,7 @@ allocation plan in the database.
|
|||
|
||||
@item @code{hooks} (default: @var{'()})
|
||||
An association list of hooks. These provide a way to execute arbitrary
|
||||
code upon certian events, like a build result being processed.
|
||||
code upon certain events, like a build result being processed.
|
||||
|
||||
@item @code{guile} (default: @code{guile-3.0-latest})
|
||||
The Guile package with which to run the Guix Build Coordinator.
|
||||
|
@ -28254,22 +28584,22 @@ This is the data type representing the configuration for the zram-device
|
|||
service.
|
||||
|
||||
@table @asis
|
||||
@item @code{size} (default @var{"1G"})
|
||||
@item @code{size} (default @code{"1G"})
|
||||
This is the amount of space you wish to provide for the zram device. It
|
||||
accepts a string and can be a number of bytes or use a suffix, eg.:
|
||||
@var{"512M"} or @var{1024000}.
|
||||
@item @code{compression-algorithm} (default @var{'lzo})
|
||||
@code{"512M"} or @code{1024000}.
|
||||
@item @code{compression-algorithm} (default @code{'lzo})
|
||||
This is the compression algorithm you wish to use. It is difficult to
|
||||
list all the possible compression options, but common ones supported by
|
||||
Guix's Linux Libre Kernel include @var{'lzo}, @var{'lz4} and @var{'zstd}.
|
||||
@item @code{memory-limit} (default @var{0})
|
||||
Guix's Linux Libre Kernel include @code{'lzo}, @code{'lz4} and @code{'zstd}.
|
||||
@item @code{memory-limit} (default @code{0})
|
||||
This is the maximum amount of memory which the zram device can use.
|
||||
Setting it to '0' disables the limit. While it is generally expected
|
||||
that compression will be 2:1, it is possible that uncompressable data
|
||||
can be written to swap and this is a method to limit how much memory can
|
||||
be used. It accepts a string and can be a number of bytes or use a
|
||||
suffix, eg.: @var{"2G"}.
|
||||
@item @code{priority} (default @var{-1})
|
||||
suffix, eg.: @code{"2G"}.
|
||||
@item @code{priority} (default @code{-1})
|
||||
This is the priority of the swap device created from the zram device.
|
||||
@code{swapon} accepts values between -1 and 32767, with higher values
|
||||
indicating higher priority. Higher priority swap will generally be used
|
||||
|
@ -28682,7 +29012,7 @@ The @code{(gnu services science)} module provides the following service.
|
|||
@defvr {Scheme Variable} rshiny-service-type
|
||||
|
||||
This is a type of service which is used to run a webapp created with
|
||||
@code{r-shiny}. This service sets the @code{R_LIBS_USER} environment
|
||||
@code{r-shiny}. This service sets the @env{R_LIBS_USER} environment
|
||||
variable and runs the provided script to call @code{runApp}.
|
||||
|
||||
@deftp {Data Type} rshiny-configuration
|
||||
|
@ -29477,7 +29807,7 @@ Data type representing the configuration of the GRUB theme.
|
|||
|
||||
@table @asis
|
||||
@item @code{gfxmode} (default: @code{'("auto")})
|
||||
The GRUB @code{gfxmode} to set (a list of screen resolution strings, see
|
||||
The GRUB @code{gfxmode} to set (a list of screen resolution strings,
|
||||
@pxref{gfxmode,,, grub, GNU GRUB manual}).
|
||||
@end table
|
||||
@end deftp
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
# 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.
|
||||
#
|
||||
|
@ -54,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
|
||||
|
@ -199,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
|
||||
|
||||
|
@ -459,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"
|
||||
|
@ -502,6 +537,7 @@ main()
|
|||
chk_gpg_keyring
|
||||
chk_init_sys
|
||||
chk_sys_arch
|
||||
chk_sys_nscd
|
||||
|
||||
_msg "${INF}system is ${ARCH_OS}"
|
||||
|
||||
|
@ -516,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}"
|
||||
|
|
19
etc/news.scm
19
etc/news.scm
|
@ -20,6 +20,7 @@
|
|||
|
||||
(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
|
||||
|
@ -38,6 +39,24 @@ guix build octave-cli \\
|
|||
@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
|
||||
|
|
|
@ -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>
|
||||
;;;
|
||||
|
@ -33,6 +34,7 @@
|
|||
#: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)
|
||||
|
@ -334,6 +336,7 @@ code."
|
|||
|
||||
(define* (grub-configuration-file config entries
|
||||
#:key
|
||||
(locale #f)
|
||||
(system (%current-system))
|
||||
(old-entries '())
|
||||
store-directory-prefix)
|
||||
|
@ -398,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
|
||||
|
@ -422,6 +439,7 @@ keymap ~a~%" #$keymap))))
|
|||
# will be lost upon reconfiguration.
|
||||
")
|
||||
#$(sugar)
|
||||
#$locale-config
|
||||
#$keyboard-layout-config
|
||||
(format port "
|
||||
set default=~a
|
||||
|
|
|
@ -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,7 +243,6 @@ 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")))
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -861,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 \
|
||||
|
@ -1360,6 +1361,7 @@ 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-3.56-pkgconfig.patch \
|
||||
|
@ -1488,7 +1490,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/python-argcomplete-1.11.1-fish31.patch \
|
||||
%D%/packages/patches/python-axolotl-AES-fix.patch \
|
||||
%D%/packages/patches/python-cairocffi-dlopen-path.patch \
|
||||
%D%/packages/patches/python-chardet-3.0.4-pytest.patch \
|
||||
%D%/packages/patches/python-cross-compile.patch \
|
||||
%D%/packages/patches/python2-larch-coverage-4.0a6-compatibility.patch \
|
||||
%D%/packages/patches/python-configobj-setuptools.patch \
|
||||
|
@ -1636,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 \
|
||||
|
@ -1699,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)
|
||||
|
|
|
@ -1809,21 +1809,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
|
||||
|
@ -2690,9 +2693,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
|
||||
|
|
|
@ -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)))
|
||||
|
|
|
@ -3060,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++")
|
||||
|
@ -3304,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)
|
||||
|
@ -3313,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)
|
||||
|
@ -3965,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.
|
||||
|
@ -3979,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="
|
||||
|
@ -3999,6 +4047,7 @@ mixers.")
|
|||
("bluez" ,bluez)
|
||||
("dbus" ,dbus)
|
||||
("glib" ,glib)
|
||||
("ldacbt" ,ldacbt)
|
||||
("libbsd" ,libbsd)
|
||||
("ncurses" ,ncurses)
|
||||
("ortp" ,ortp)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
;;;
|
||||
|
@ -349,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+))))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -68,8 +68,8 @@
|
|||
(file-name (string-append name "-" version "-checkout")))))))
|
||||
|
||||
(define-public cuirass
|
||||
(let ((commit "cb2c4e3d8f7eda187adf6da1fc35aef838c49828")
|
||||
(revision "51"))
|
||||
(let ((commit "df2d13621f4b2ace33a460746e704115b7b1541e")
|
||||
(revision "53"))
|
||||
(package
|
||||
(name "cuirass")
|
||||
(version (git-version "0.0.1" revision commit))
|
||||
|
@ -81,7 +81,7 @@
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0f2di2pqqw8k4ii7h65kbzyf2d4w7nd5n3a93a8l9si4phf6a5c7"))))
|
||||
"1vgb1wl1rkijm1vv5chqllf4i5w1j7g02xqlaf2xmqjh2phy5dxa"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:modules ((guix build utils)
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
;;; Copyright © 2018 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2018, 2019 Brett Gilio <brettg@gnu.org>
|
||||
;;; Copyright © 2019 Nicolò Balzarotti <anothersms@gmail.com>
|
||||
;;; Copyright © 2019 Wiktor Żelazny <wzelazny@vurv.cz>
|
||||
;;; Copyright © 2019, 2020 Wiktor Żelazny <wzelazny@vurv.cz>
|
||||
;;; Copyright © 2019 Arne Babenhauserheide <arne_bab@web.de>
|
||||
;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2020 Todor Kondić <tk.code@protonmail.com>
|
||||
|
@ -30,6 +30,7 @@
|
|||
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
|
||||
;;; Copyright © 2020 Antoine Côté <antoine.cote@posteo.net>
|
||||
;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2020 Magali Lemes <magalilemes00@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -90,6 +91,7 @@
|
|||
#:use-module (gnu packages pulseaudio) ;libsndfile
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages statistics)
|
||||
#:use-module (gnu packages tcl)
|
||||
#:use-module (gnu packages tls)
|
||||
|
@ -13956,7 +13958,8 @@ tessellation.")
|
|||
(inputs
|
||||
`(("gdal" ,gdal)
|
||||
("geos" ,geos)
|
||||
("proj" ,proj.4)
|
||||
("proj" ,proj)
|
||||
("sqlite" ,sqlite)
|
||||
("zlib" ,zlib)))
|
||||
(propagated-inputs
|
||||
`(("r-classint" ,r-classint)
|
||||
|
@ -24595,3 +24598,32 @@ enrichment analysis (GSEA) calculation with or without the absolute filtering.
|
|||
Without filtering, users can perform (original) two-tailed or one-tailed
|
||||
absolute GSEA.")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public r-calculus
|
||||
(package
|
||||
(name "r-calculus")
|
||||
(version "0.2.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "calculus" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0hs7hzjl6xjza20v9zx9a1piywxa6w3h2rskr52d1dcbc0vwhinp"))))
|
||||
(properties `((upstream-name . "calculus")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-rcpp" ,r-rcpp)))
|
||||
(home-page "https://github.com/guidotti/calculus")
|
||||
(synopsis "High dimensional numerical and symbolic calculus")
|
||||
(description
|
||||
"Efficient C++ optimized functions for numerical and symbolic calculus.
|
||||
It includes basic symbolic arithmetic, tensor calculus, Einstein summing
|
||||
convention, fast computation of the Levi-Civita symbol and generalized
|
||||
Kronecker delta, Taylor series expansion, multivariate Hermite polynomials,
|
||||
accurate high-order derivatives, differential operators (Gradient, Jacobian,
|
||||
Hessian, Divergence, Curl, Laplacian) and numerical integration in arbitrary
|
||||
orthogonal coordinate systems: cartesian, polar, spherical, cylindrical,
|
||||
parabolic or user defined by custom scale factors.")
|
||||
(license license:gpl3)))
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
@ -2107,14 +2109,14 @@ database.")
|
|||
(define-public perl-db-file
|
||||
(package
|
||||
(name "perl-db-file")
|
||||
(version "1.854")
|
||||
(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 "0fv0any5am6vr6h1wcwhnraj70hd55fs4d8c2y7chsc9alf9di5y"))))
|
||||
(base32 "0q599h7g4jkzks5dxf1zifx9k7l9vif26r2dlgkzxkg6bfif5zyr"))))
|
||||
(build-system perl-build-system)
|
||||
(inputs `(("bdb" ,bdb)))
|
||||
(native-inputs `(("perl-test-pod" ,perl-test-pod)))
|
||||
|
@ -2619,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
|
||||
|
@ -2976,6 +2978,36 @@ 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")
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -827,9 +827,15 @@ Extensions} (DNSSEC).")
|
|||
(delete-file-recursively "src/contrib/libbpf")
|
||||
#t))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs (list "out" "doc" "lib" "tools"))
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list "--sysconfdir=/etc"
|
||||
(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
|
||||
|
@ -844,7 +850,7 @@ Extensions} (DNSSEC).")
|
|||
(substitute* "configure.ac"
|
||||
(("enable_xdp=yes" match)
|
||||
(string-append match "\nlibbpf_LIBS=\"$libbpf_LIBS -lz\"")))
|
||||
#t))
|
||||
#true))
|
||||
(add-before 'bootstrap 'update-parser
|
||||
(lambda _
|
||||
(with-directory-excursion "src"
|
||||
|
@ -868,7 +874,26 @@ Extensions} (DNSSEC).")
|
|||
"install"))))
|
||||
(add-after 'install 'install-info
|
||||
(lambda _
|
||||
(invoke "make" "install-info"))))))
|
||||
(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)
|
||||
|
@ -961,7 +986,7 @@ synthesis, and on-the-fly re-configuration.")
|
|||
(inputs
|
||||
`(("fstrm" ,fstrm)
|
||||
("gnutls" ,gnutls)
|
||||
("knot" ,knot)
|
||||
("knot:lib" ,knot "lib")
|
||||
("libuv" ,libuv)
|
||||
("lmdb" ,lmdb)
|
||||
("luajit" ,luajit)
|
||||
|
|
|
@ -193,41 +193,40 @@ Python without keeping their credentials in a Docker configuration file.")
|
|||
`(#:import-path "github.com/containerd/containerd"
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'build 'chdir
|
||||
(lambda _
|
||||
(chdir "src/github.com/containerd/containerd")
|
||||
#t))
|
||||
(add-after 'chdir 'patch-paths
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(lambda* (#:key inputs import-path outputs #:allow-other-keys)
|
||||
;; TODO: Patch "socat", "unpigz".
|
||||
(substitute* "./runtime/v1/linux/runtime.go"
|
||||
(("defaultRuntime[ \t]*=.*")
|
||||
(string-append "defaultRuntime = \""
|
||||
(assoc-ref inputs "runc")
|
||||
"/sbin/runc\"\n"))
|
||||
(("defaultShim[ \t]*=.*")
|
||||
(string-append "defaultShim = \""
|
||||
(assoc-ref outputs "out")
|
||||
"/bin/containerd-shim\"\n")))
|
||||
(substitute* "./vendor/github.com/containerd/go-runc/runc.go"
|
||||
(("DefaultCommand[ \t]*=.*")
|
||||
(string-append "DefaultCommand = \""
|
||||
(assoc-ref inputs "runc")
|
||||
"/sbin/runc\"\n")))
|
||||
(substitute* "vendor/github.com/containerd/continuity/testutil/loopback/loopback_linux.go"
|
||||
(("exec\\.Command\\(\"losetup\"") ; )
|
||||
(string-append "exec.Command(\""
|
||||
(assoc-ref inputs "util-linux")
|
||||
"/sbin/losetup\""))) ;)
|
||||
#t))
|
||||
(with-directory-excursion (string-append "src/" import-path)
|
||||
(substitute* "./runtime/v1/linux/runtime.go"
|
||||
(("defaultRuntime[ \t]*=.*")
|
||||
(string-append "defaultRuntime = \""
|
||||
(assoc-ref inputs "runc")
|
||||
"/sbin/runc\"\n"))
|
||||
(("defaultShim[ \t]*=.*")
|
||||
(string-append "defaultShim = \""
|
||||
(assoc-ref outputs "out")
|
||||
"/bin/containerd-shim\"\n")))
|
||||
(substitute* "./vendor/github.com/containerd/go-runc/runc.go"
|
||||
(("DefaultCommand[ \t]*=.*")
|
||||
(string-append "DefaultCommand = \""
|
||||
(assoc-ref inputs "runc")
|
||||
"/sbin/runc\"\n")))
|
||||
(substitute* "vendor/github.com/containerd/continuity/testutil/loopback/loopback_linux.go"
|
||||
(("exec\\.Command\\(\"losetup\"") ; )
|
||||
(string-append "exec.Command(\""
|
||||
(assoc-ref inputs "util-linux")
|
||||
"/sbin/losetup\""))) ;)
|
||||
#t)))
|
||||
(replace 'build
|
||||
(lambda* (#:key (make-flags '()) #:allow-other-keys)
|
||||
(apply invoke "make" make-flags)))
|
||||
(lambda* (#:key import-path (make-flags '()) #:allow-other-keys)
|
||||
(with-directory-excursion (string-append "src/" import-path)
|
||||
(apply invoke "make" make-flags))))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs (make-flags '()) #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out")))
|
||||
(apply invoke "make" (string-append "DESTDIR=" out) "install"
|
||||
make-flags)))))))
|
||||
(lambda* (#:key import-path outputs (make-flags '()) #:allow-other-keys)
|
||||
(with-directory-excursion (string-append "src/" import-path)
|
||||
(let* ((out (assoc-ref outputs "out")))
|
||||
(apply invoke "make" (string-append "DESTDIR=" out) "install"
|
||||
make-flags))))))))
|
||||
(inputs
|
||||
`(("btrfs-progs" ,btrfs-progs)
|
||||
("libseccomp" ,libseccomp)
|
||||
|
@ -658,8 +657,7 @@ provisioning etc.")
|
|||
(string-append etc "/fish/completions"))
|
||||
(install-file "zsh/_docker"
|
||||
(string-append etc "/zsh/site-functions")))
|
||||
(chdir "build")
|
||||
(install-file "docker" out-bin)
|
||||
(install-file "build/docker" out-bin)
|
||||
#t))))))
|
||||
(native-inputs
|
||||
`(("go" ,go)
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
|
||||
;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
||||
;;; Copyright © 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2020 Robert Smith <robertsmith@posteo.net>
|
||||
|
@ -956,30 +956,30 @@ floating through space.")
|
|||
(define-public mdk
|
||||
(package
|
||||
(name "mdk")
|
||||
(version "1.2.10")
|
||||
(version "1.2.11")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/mdk/v1.2.10/mdk-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/mdk/v" version "/mdk-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1rwcq2b5vvv7318j92nxc5dayj27dpfhzc4rjiv4ccvsc0x35x5h"))))
|
||||
(build-system gnu-build-system)
|
||||
"0rrac91ynya4jrhv14j9vvn21c5z80hi1zmmdxjb0d9zz6i7kjgb"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags (list "--enable-gui=yes" "-with-readline=yes")))
|
||||
(native-inputs
|
||||
`(("flex" ,flex)
|
||||
("pkg-config" ,pkg-config)
|
||||
("intltool" ,intltool)
|
||||
("ncurses" ,ncurses)))
|
||||
(inputs
|
||||
`(("readline" ,readline)
|
||||
("glib" ,glib)
|
||||
("gtk+" ,gtk+)
|
||||
("pango" ,pango)
|
||||
("libglade" ,libglade)))
|
||||
(home-page "https://www.gnu.org/software/mdk/")
|
||||
("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("glib" ,glib)
|
||||
("gtk+" ,gtk+)
|
||||
("libglade" ,libglade)
|
||||
("ncurses" ,ncurses)
|
||||
("pango" ,pango)
|
||||
("readline" ,readline)))
|
||||
(home-page "https://www.gnu.org/software/mdk/")
|
||||
(synopsis "Virtual development environment for Knuth's MIX")
|
||||
(description
|
||||
"GNU MDK is the Mix Development Kit, an emulation of the pedagogical
|
||||
|
|
|
@ -383,29 +383,33 @@ configuration files, such as .gitattributes, .gitignore, and .git/config.")
|
|||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-with-editor
|
||||
(package
|
||||
(name "emacs-with-editor")
|
||||
(version "2.9.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/magit/with-editor")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1z3214zjf3dassb31k14gq4nbr3q8g5x87ydfah28hm4j08v0wb3"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs
|
||||
`(("emacs-dash" ,emacs-dash)))
|
||||
(home-page "https://github.com/magit/with-editor")
|
||||
(synopsis "Emacs library for using Emacsclient as EDITOR")
|
||||
(description
|
||||
"This package provides an Emacs library to use the Emacsclient as
|
||||
;; This commit fixes an (magit) issue with emacs 28, see
|
||||
;; https://lists.gnu.org/archive/html/help-gnu-emacs/2020-10/msg00211.html
|
||||
(let ((commit "c4768f51c7415119519b4626d8643d60e584098c")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "emacs-with-editor")
|
||||
(version (git-version "2.9.4" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/magit/with-editor")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "01ysb9pnscpmingay6njdywkqgj4hn5l5d9igsg3x7p7061jwwix"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs
|
||||
`(("emacs-dash" ,emacs-dash)))
|
||||
(home-page "https://github.com/magit/with-editor")
|
||||
(synopsis "Emacs library for using Emacsclient as EDITOR")
|
||||
(description
|
||||
"This package provides an Emacs library to use the Emacsclient as
|
||||
@code{$EDITOR} of child processes, making sure they know how to call home.
|
||||
For remote processes a substitute is provided, which communicates with Emacs
|
||||
on stdout instead of using a socket as the Emacsclient does.")
|
||||
(license license:gpl3+)))
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-libgit
|
||||
(let ((commit "0ef8b13aef011a98b7da756e4f1ce3bb18e4d55a")
|
||||
|
@ -936,16 +940,16 @@ replacement.")
|
|||
(define-public emacs-haskell-mode
|
||||
(package
|
||||
(name "emacs-haskell-mode")
|
||||
(version "17.1")
|
||||
(version "17.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/haskell/haskell-mode")
|
||||
(commit (string-append "v" version))))
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0izcasi2v02zh08c863h43m8mmsldzy8pck43cllrfn0zf24v2qn"))))
|
||||
(base32 "0zxbacqzr84krmhqpvzndnvlcjh1gs1x20ys0dykgd7chyhci5j5"))))
|
||||
(propagated-inputs
|
||||
`(("emacs-dash" ,emacs-dash)))
|
||||
(native-inputs
|
||||
|
@ -1770,6 +1774,32 @@ always indented. It reindents after every change, making it more reliable
|
|||
than @code{electric-indent-mode}.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public emacs-gcmh
|
||||
;; No tagged release upstream.
|
||||
(let ((commit "84c43a4c0b41a595ac6e299fa317d2831813e580")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "emacs-gcmh")
|
||||
(version (git-version "0.1" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.com/koral/gcmh")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32 "1r3wiqhrzh7wvqy484nl031fd4bn4cpvkv9646s4cjgvnnnv7jz3"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://gitlab.com/koral/gcmh")
|
||||
(synopsis "Emacs Garbage Collector Magic Hack")
|
||||
(description
|
||||
"This package enforces a sneaky @dfn{garbage collector} (GC) strategy
|
||||
to minimize GC interference with the activity. During normal use a high GC
|
||||
threshold is set. When idling GC is immediately triggered and a low threshold
|
||||
is set.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-ctrlf
|
||||
(package
|
||||
(name "emacs-ctrlf")
|
||||
|
@ -3289,16 +3319,16 @@ This package also includes relevant snippets for yasnippet.")
|
|||
(define-public emacs-gdscript-mode
|
||||
(package
|
||||
(name "emacs-gdscript-mode")
|
||||
(version "1.2.0")
|
||||
(version "1.4.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/godotengine/emacs-gdscript-mode")
|
||||
(commit (string-append "v" version))))
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "02by4bvdayldbjlz6jkp36m5rgcy2h5bwhqx2cj7wma6xf6cw3lf"))))
|
||||
(base32 "09q0himrz7a6xgz0jmcl85qc5xhk5fwi6d2vw1n8qaiavm96ksdy"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://github.com/godotengine/emacs-gdscript-mode")
|
||||
(synopsis "GDScript support and syntax highlighting in Emacs")
|
||||
|
@ -24359,7 +24389,7 @@ Files} (@url{http://tools.ietf.org/html/rfc4180}).")
|
|||
(define-public emacs-org-journal
|
||||
(package
|
||||
(name "emacs-org-journal")
|
||||
(version "2.0.0")
|
||||
(version "2.1.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -24368,7 +24398,7 @@ Files} (@url{http://tools.ietf.org/html/rfc4180}).")
|
|||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "18dqd0jy2x530lk0h4fcn9cld9qh4w7b3vxa60fpiia628vsv1dg"))))
|
||||
(base32 "1p9i6v3bwi1ab576vc9qg1ki91197d6nkkg857s52zsan1zlkzzw"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://github.com/bastibe/org-journal")
|
||||
(synopsis "Simple Org mode journaling mode")
|
||||
|
@ -24802,7 +24832,7 @@ picked up when copy-pasting text from buffer to buffer.")
|
|||
(define-public emacs-org-webring
|
||||
(package
|
||||
(name "emacs-org-webring")
|
||||
(version "1.6")
|
||||
(version "1.9")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -24812,7 +24842,7 @@ picked up when copy-pasting text from buffer to buffer.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"00d7jqsbfa08rhyv3ry87rgy9ikv233spn4rz0d3riy0bp7b7j6b"))))
|
||||
"09lm2h5d6xcdwilbmi6xs4qz33d0442m9iys9k36q9vhhakl7w4x"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
|
|
@ -555,7 +555,7 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch
|
|||
;; the system's dynamically linked library.
|
||||
(package
|
||||
(name "monero")
|
||||
(version "0.17.0.1")
|
||||
(version "0.17.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -575,7 +575,7 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch
|
|||
"external/unbound"))
|
||||
#t))
|
||||
(sha256
|
||||
(base32 "1v0phvg5ralli4dr09a60nq032xqlci5d6v4zfq8304vgrn1ffgp"))))
|
||||
(base32 "1cngniv7sndy8r0fcfgk737640k53q3kwd36g891p5igcb985qdw"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
`(("doxygen" ,doxygen)
|
||||
|
@ -665,7 +665,7 @@ the Monero command line client and daemon.")
|
|||
(define-public monero-gui
|
||||
(package
|
||||
(name "monero-gui")
|
||||
(version "0.17.0.1")
|
||||
(version "0.17.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -674,7 +674,7 @@ the Monero command line client and daemon.")
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1i9a3ampppyzsl4sllbqlr3w43sjpb3fdfxhb1j4n49p8g0jzmf3"))))
|
||||
(base32 "07r78ipv4g3i6z822kq380vi3qwlb958rccsy6lyybkhj9y0rx84"))))
|
||||
(build-system qt-build-system)
|
||||
(native-inputs
|
||||
`(,@(package-native-inputs monero)
|
||||
|
@ -1034,26 +1034,18 @@ Luhn and family of ISO/IEC 7064 check digit algorithms. ")
|
|||
(define-public python-duniterpy
|
||||
(package
|
||||
(name "python-duniterpy")
|
||||
(version "0.57.0")
|
||||
(version "0.60.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "duniterpy" version))
|
||||
(sha256
|
||||
(base32 "0rw2c7r9gcqhymp82gbk1ky45zqbypsi2q5x4vdwjc6g00kh7h6l"))))
|
||||
(base32 "0djn6ykmqbp8l2xbg6z8r7rkz9ijgygp2pr0gc6i7dsrlsqmjh32"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
;; FIXME: Tests fail with: "ModuleNotFoundError: No module named
|
||||
;; 'tests'". Not sure how to handle this.
|
||||
`(#:tests? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; "setup.py" tries to open missing "requirements.txt".
|
||||
(add-after 'unpack 'ignore-missing-file
|
||||
(lambda _
|
||||
(substitute* "setup.py"
|
||||
(("open\\('requirements\\.txt'\\)") "[]"))
|
||||
#t)))))
|
||||
;; FIXME: Tests fail with: "TypeError: block_uid() missing 1 required
|
||||
;; positional argument: 'value'".
|
||||
`(#:tests? #f))
|
||||
(propagated-inputs
|
||||
`(("aiohttp" ,python-aiohttp)
|
||||
("attrs" ,python-attrs)
|
||||
|
|
|
@ -485,6 +485,35 @@ clone.")
|
|||
;; under BSD-2.
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public tsukundere
|
||||
(package
|
||||
(name "tsukundere")
|
||||
(version "0.2.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.com/leoprikler/tsukundere")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0qmqch8hh7vsa8qaz853vwbkz0krb106955dnz8dsl7skbm5jpn6"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf-wrapper)
|
||||
("automake" ,automake)
|
||||
("guile" ,guile-3.0)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(propagated-inputs
|
||||
`(("guile-sdl2" ,guile3.0-sdl2)))
|
||||
(home-page "https://gitlab.com/leoprikler/tsukundere")
|
||||
(synopsis "Visual novel engine")
|
||||
(description "Tsukundere is a game engine geared heavily towards the
|
||||
development of visual novels, written on top of Guile-SDL2. It is still
|
||||
experimental and at the time of writing contains little more than the Guile
|
||||
modules, that make up its runtime.")
|
||||
(license license:lgpl3+)))
|
||||
|
||||
(define-public sfml
|
||||
(package
|
||||
(name "sfml")
|
||||
|
|
|
@ -5083,7 +5083,7 @@ a style similar to the original Super Mario games.")
|
|||
(define-public tintin++
|
||||
(package
|
||||
(name "tintin++")
|
||||
(version "2.02.02")
|
||||
(version "2.02.04")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -5091,7 +5091,7 @@ a style similar to the original Super Mario games.")
|
|||
(string-drop-right version 1)
|
||||
"/tintin-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "11ylbp8ip7dwmh4gzb53z147pcfxkl3lwhyy8ngyn2zc634vdn65"))))
|
||||
(base32 "1w1y20vqcikg59gnbxjbhyq2yanwqz1a6wp8vd1qnmil240id4j7"))))
|
||||
(inputs
|
||||
`(("gnutls" ,gnutls)
|
||||
("pcre" ,pcre)
|
||||
|
|
|
@ -1761,7 +1761,7 @@ track your position right from your laptop.")
|
|||
license:zlib))))
|
||||
|
||||
(define-public grass
|
||||
(let* ((version "7.8.2")
|
||||
(let* ((version "7.8.4")
|
||||
(majorminor (string-join (list-head (string-split version #\.) 2) ""))
|
||||
(grassxx (string-append "grass" majorminor)))
|
||||
(package
|
||||
|
@ -1773,7 +1773,7 @@ track your position right from your laptop.")
|
|||
(uri (string-append "https://grass.osgeo.org/" grassxx
|
||||
"/source/grass-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1fwsm99kz0bxvjk7442qq1h45ikrmhba8bqclafb61gqg1q6ymrk"))))
|
||||
(base32 "1yfghvp522ijww3n3l5xarjbc21rm0gmlgr3lvwxrv23bvxmllyr"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("bzip2" ,bzip2)
|
||||
|
@ -1865,8 +1865,14 @@ track your position right from your laptop.")
|
|||
(symlink (string-append dir "/lib")
|
||||
(string-append out "/lib")))
|
||||
#t))
|
||||
(add-after 'install-links 'wrap-python
|
||||
(assoc-ref python:%standard-phases 'wrap)))))
|
||||
(add-after 'install-links 'python:wrap
|
||||
(assoc-ref python:%standard-phases 'wrap))
|
||||
(add-after 'python:wrap 'wrap-with-python-interpreter
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(wrap-program (string-append out "/bin/" ,grassxx)
|
||||
`("GRASS_PYTHON" = (,(which "python3"))))
|
||||
#t))))))
|
||||
(synopsis "GRASS Geographic Information System")
|
||||
(description
|
||||
"GRASS (Geographic Resources Analysis Support System), is a Geographic
|
||||
|
|
|
@ -74,6 +74,7 @@
|
|||
(define-module (gnu packages gnome)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages admin)
|
||||
#:use-module (gnu packages aidc)
|
||||
#:use-module (gnu packages aspell)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages avahi)
|
||||
|
@ -9085,6 +9086,75 @@ specified duration and save it as a GIF encoded animated image file.")
|
|||
(home-page "https://git.gnome.org/browse/byzanz")
|
||||
(license license:gpl2+))))
|
||||
|
||||
(define-public authenticator
|
||||
(package
|
||||
(name "authenticator")
|
||||
(version "3.32.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.gnome.org/World/Authenticator")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1c4r9rnrz5gazrfg0z2rcwax4nscs7z391bcjcl74k6ln3blwzpr"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:glib-or-gtk? #t
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'glib-or-gtk-wrap 'python-and-gi-wrap
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((prog (string-append (assoc-ref outputs "out")
|
||||
"/bin/authenticator"))
|
||||
(pylib (string-append (assoc-ref outputs "out")
|
||||
"/lib/python"
|
||||
,(version-major+minor
|
||||
(package-version python))
|
||||
"/site-packages")))
|
||||
(wrap-program prog
|
||||
`("PYTHONPATH" = (,(getenv "PYTHONPATH") ,pylib))
|
||||
`("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
|
||||
#t))))))
|
||||
(native-inputs
|
||||
`(("desktop-file-utils" ,desktop-file-utils)
|
||||
("gettext" ,gettext-minimal)
|
||||
("glib:bin" ,glib "bin")
|
||||
("gobject-introspection" ,gobject-introspection)
|
||||
("gtk+:bin" ,gtk+ "bin")
|
||||
("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
|
||||
("gtk+" ,gtk+)
|
||||
("libhandy" ,libhandy-0.0)
|
||||
("libsecret" ,libsecret)
|
||||
("python-beautifulsoup4" ,python-beautifulsoup4)
|
||||
("python-pillow" ,python-pillow)
|
||||
("python-pyfavicon" ,python-pyfavicon)
|
||||
("python-pygobject" ,python-pygobject)
|
||||
("python-pyotp" ,python-pyotp)
|
||||
("python-pyzbar" ,python-pyzbar)
|
||||
("yoyo-migrations" ,yoyo-migrations)
|
||||
("zbar" ,zbar)))
|
||||
(home-page "https://gitlab.gnome.org/World/Authenticator/")
|
||||
(synopsis "Two-factor authentication application built for GNOME")
|
||||
(description
|
||||
"Authenticator is a two-factor authentication (2FA) application built for
|
||||
the GNOME desktop environment.
|
||||
|
||||
Features:
|
||||
|
||||
@itemize
|
||||
@item QR code scanner
|
||||
@item Beautiful UI
|
||||
@item Huge database of more than 560 supported services
|
||||
@item Keep your PIN tokens secure by locking the application with a password
|
||||
@item Automatically fetch an image for services using their favicon
|
||||
@item The possibility to add new services
|
||||
@end itemize")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public gsound
|
||||
(package
|
||||
(name "gsound")
|
||||
|
@ -10135,14 +10205,14 @@ views can be printed as PDF or PostScript files, or exported to HTML.")
|
|||
(define-public lollypop
|
||||
(package
|
||||
(name "lollypop")
|
||||
(version "1.2.32")
|
||||
(version "1.4.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://adishatz.org/lollypop/"
|
||||
"lollypop-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "1ng9492k8754vlqggbfsyzbmfdx4w17fzc4ad21fr92710na0w5a"))))
|
||||
(base32 "1hfl68gkvqy5kxlmrsalz78mw1bs1yvqvy2rhg7pzgwiazsdvwzz"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:imported-modules
|
||||
|
@ -10177,6 +10247,7 @@ views can be printed as PDF or PostScript files, or exported to HTML.")
|
|||
("gst-plugins-base" ,gst-plugins-base)
|
||||
("libnotify" ,libnotify)
|
||||
("libsecret" ,libsecret)
|
||||
("libhandy" ,libhandy)
|
||||
("libsoup" ,libsoup)
|
||||
("python" ,python)
|
||||
("python-beautifulsoup4" ,python-beautifulsoup4)
|
||||
|
@ -10300,6 +10371,60 @@ photo-booth-like software, such as Cheese.")
|
|||
apply fancy special effects and lets you share the fun with others.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public passwordsafe
|
||||
(package
|
||||
(name "passwordsafe")
|
||||
(version "3.99.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://gitlab.gnome.org/World/PasswordSafe")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0pi2l4gwf8paxm858mxrcsk5nr0c0zw5ycax40mghndb6b1qmmhf"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:glib-or-gtk? #t
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'glib-or-gtk-wrap 'python-and-gi-wrap
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((prog (string-append (assoc-ref outputs "out")
|
||||
"/bin/gnome-passwordsafe"))
|
||||
(pylib (string-append (assoc-ref outputs "out")
|
||||
"/lib/python"
|
||||
,(version-major+minor
|
||||
(package-version python))
|
||||
"/site-packages")))
|
||||
(wrap-program prog
|
||||
`("PYTHONPATH" = (,(getenv "PYTHONPATH") ,pylib))
|
||||
`("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
|
||||
#t))))))
|
||||
(native-inputs
|
||||
`(("desktop-file-utils" ,desktop-file-utils)
|
||||
("gettext" ,gettext-minimal)
|
||||
("glib:bin" ,glib "bin")
|
||||
("gobject-introspection" ,gobject-introspection)
|
||||
("gtk+:bin" ,gtk+ "bin")
|
||||
("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("glib" ,glib)
|
||||
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
|
||||
("gtk+" ,gtk+)
|
||||
("libhandy" ,libhandy-0.0)
|
||||
("libpwquality" ,libpwquality)
|
||||
("python-pygobject" ,python-pygobject)
|
||||
("python-pykeepass" ,python-pykeepass)))
|
||||
(home-page "https://gitlab.gnome.org/World/PasswordSafe")
|
||||
(synopsis "Password manager for the GNOME desktop")
|
||||
(description
|
||||
"Password Safe is a password manager which makes use of the KeePass v4
|
||||
format. It integrates perfectly with the GNOME desktop and provides an easy
|
||||
and uncluttered interface for the management of password databases.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public sound-juicer
|
||||
(package
|
||||
(name "sound-juicer")
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
|
||||
;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
|
@ -591,10 +591,14 @@ from forcing GEXP-PROMISE."
|
|||
(base32
|
||||
"0266gp8vs4avlfdnr8dj7b47msxv1vkd0xpnifp04v4scvgj0yaj"))))
|
||||
|
||||
;; 'search-patch' returns either a valid file name or #f, so wrap it
|
||||
;; in 'assume-valid-file-name' to avoid 'local-file' warnings.
|
||||
(gnuzilla-fixes-patch
|
||||
(local-file (search-patch "icecat-use-older-reveal-hidden-html.patch")))
|
||||
(local-file (assume-valid-file-name
|
||||
(search-patch "icecat-use-older-reveal-hidden-html.patch"))))
|
||||
(makeicecat-patch
|
||||
(local-file (search-patch "icecat-makeicecat.patch"))))
|
||||
(local-file (assume-valid-file-name
|
||||
(search-patch "icecat-makeicecat.patch")))))
|
||||
|
||||
(origin
|
||||
(method computed-origin-method)
|
||||
|
@ -1157,11 +1161,11 @@ standards of the IceCat project.")
|
|||
(cpe-version . ,(first (string-split version #\-)))))))
|
||||
|
||||
;; Update this together with icecat!
|
||||
(define %icedove-build-id "20200926000000") ;must be of the form YYYYMMDDhhmmss
|
||||
(define %icedove-build-id "20201007000000") ;must be of the form YYYYMMDDhhmmss
|
||||
(define-public icedove
|
||||
(package
|
||||
(name "icedove")
|
||||
(version "78.3.1")
|
||||
(version "78.3.2")
|
||||
(source icecat-source)
|
||||
(properties
|
||||
`((cpe-name . "thunderbird_esr")))
|
||||
|
@ -1441,7 +1445,7 @@ standards of the IceCat project.")
|
|||
;; in the Thunderbird release tarball. We don't use the release
|
||||
;; tarball because it duplicates the Icecat sources and only adds the
|
||||
;; "comm" directory, which is provided by this repository.
|
||||
,(let ((changeset "00912779d73faef4277c57fe99aa5259b11d244d"))
|
||||
,(let ((changeset "6ee0e0ff64f4ccda9c478426d0b5d15cd583f8e6"))
|
||||
(origin
|
||||
(method hg-fetch)
|
||||
(uri (hg-reference
|
||||
|
@ -1450,7 +1454,7 @@ standards of the IceCat project.")
|
|||
(file-name (string-append "thunderbird-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"12isvk6q8miwn81kimrgcmjh4vsmdbbx93q9pafgxlx3p92s5v8h")))))
|
||||
"0w8p35x53g5anck69xnpn688600n2pyx9c7y640szl1ssdsgch82")))))
|
||||
("autoconf" ,autoconf-2.13)
|
||||
("cargo" ,rust-1.41 "cargo")
|
||||
("clang" ,clang)
|
||||
|
|
|
@ -21,6 +21,7 @@
|
|||
;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.com>
|
||||
;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com>
|
||||
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
|
||||
;;; Copyright © 2020 raingloom <raingloom@riseup.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -803,8 +804,8 @@ packages.")
|
|||
(license license:bsd-3))))
|
||||
|
||||
(define-public go-golang-org-x-sys
|
||||
(let ((commit "c709ea063b76879dc9915358f55d4d77c16ab6d5")
|
||||
(revision "6"))
|
||||
(let ((commit "05986578812163b26672dabd9b425240ae2bb0ad")
|
||||
(revision "7"))
|
||||
(package
|
||||
(name "go-golang-org-x-sys")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
|
@ -816,7 +817,7 @@ packages.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"15nq53a6kcqchng4j0d1pjw0m6hny6126nhjdwqw5n9dzh6a226d"))))
|
||||
"1q2rxb6z5l6pmlckjsz2l0b8lw7bqgk6frhzbmi1dv0y5irb2ka7"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "golang.org/x/sys"
|
||||
|
@ -5743,3 +5744,86 @@ Included are the following:
|
|||
except that it adds convenience functions that use the fmt package to format
|
||||
error messages.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public go-github-com-arceliar-phony
|
||||
(let ((commit "d0c68492aca0bd4b5c5c8e0452c9b4c8af923eaf")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "go-github-com-arceliar-phony")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Arceliar/phony")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0876y0hlb1zh8hn0pxrb5zfdadvaqmqwlr66p19yl2a76galz992"))))
|
||||
(arguments
|
||||
'(#:import-path "github.com/Arceliar/phony"))
|
||||
(build-system go-build-system)
|
||||
(home-page "https://github.com/Arceliar/phony")
|
||||
(synopsis "Very minimal actor model library")
|
||||
(description "Phony is a very minimal actor model library for Go,
|
||||
inspired by the causal messaging system in the Pony programming language.")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public go-github-com-cheggaaa-pb
|
||||
(package
|
||||
(name "go-github-com-cheggaaa-pb")
|
||||
(version "3.0.4")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/cheggaaa/pb/")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0xhsv9yf3fz918ay6w0d87jnb3hk9vxvi16jk172kqq26x7jixd0"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
'(#:import-path "github.com/cheggaaa/pb/"))
|
||||
(propagated-inputs
|
||||
`(("go-github-com-fatih-color" ,go-github-com-fatih-color)
|
||||
("go-github-com-mattn-go-colorable" ,go-github-com-mattn-go-colorable)
|
||||
("go-github.com-mattn-go-runewidth" ,go-github.com-mattn-go-runewidth)
|
||||
("go-golang-org-x-sys" ,go-golang-org-x-sys)))
|
||||
(native-inputs
|
||||
`(("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty)))
|
||||
(home-page "https://github.com/cheggaaa/pb/")
|
||||
(synopsis "Console progress bar for Go")
|
||||
(description "This package is a Go library that draws progress bars on
|
||||
the terminal.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public go-github-com-gologme-log
|
||||
;; this is the same as v1.2.0, only the LICENSE file changed
|
||||
(let ((commit "720ba0b3ccf0a91bc6018c9967a2479f93f56a55"))
|
||||
(package
|
||||
(name "go-github-com-gologme-log")
|
||||
(version "1.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/gologme/log")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0z3gs5ngv2jszp42ypp3ai0pn410v3b2m674g73ma7vsbn2yjk1n"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
'(#:import-path "github.com/gologme/log"))
|
||||
(home-page "https://github.com/gologme/log/")
|
||||
(synopsis
|
||||
"Fork of the golang built in log package to add support for levels")
|
||||
(description "This package is a drop in replacement for the built-in Go
|
||||
log package. All the functionality of the built-in package still exists and
|
||||
is unchanged. This package contains a series of small enhancements and
|
||||
additions.")
|
||||
(license license:bsd-3))))
|
||||
|
|
|
@ -179,7 +179,7 @@ coordinates as well as partial support for adjustments in global coordinate syst
|
|||
(define-public gpxsee
|
||||
(package
|
||||
(name "gpxsee")
|
||||
(version "7.30")
|
||||
(version "7.34")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -188,7 +188,7 @@ coordinates as well as partial support for adjustments in global coordinate syst
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"09gajwqc30r9a2sn972qdx3gx0gki9n0zafq986hn6zsr3z43mfs"))))
|
||||
"0cdq2bqgkcqcyvasnrlgpl97b0kfi65iq2q6yy7dpp9xw4w764b1"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
|
|
|
@ -1899,14 +1899,14 @@ does not deal with windowing system surfaces, drawing, scene graphs, or input.")
|
|||
(define-public spread-sheet-widget
|
||||
(package
|
||||
(name "spread-sheet-widget")
|
||||
(version "0.6")
|
||||
(version "0.7")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://alpha.gnu.org/gnu/ssw/"
|
||||
"spread-sheet-widget-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "08ck9l697xg8vpya5h07raq837i4pqxjqzx30vhscq4xpps2b8kj"))))
|
||||
(base32 "09rzgp7gabnzab460x874a1ibgyjiibpwzsz5srn9zs6jv2jdxjb"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("glib" ,glib "bin") ; for glib-genmarshal, etc.
|
||||
|
|
|
@ -628,7 +628,7 @@ and mIRC chat codes.")
|
|||
(define-public kmonad
|
||||
(package
|
||||
(name "kmonad")
|
||||
(version "0.4.0")
|
||||
(version "0.4.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -637,7 +637,7 @@ and mIRC chat codes.")
|
|||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "064gnzzcm6fnxfiildbjmgbdxkhqvp61zrl6qhkl1pgbn27j1mll"))))
|
||||
(base32 "1rp880zxvrznx0y1k464wjrds441dpsz94syhrkaw5dnmxf74yjd"))))
|
||||
(build-system haskell-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
|
|
@ -1411,7 +1411,7 @@ convert, manipulate, filter and display a wide variety of image formats.")
|
|||
(define-public jasper
|
||||
(package
|
||||
(name "jasper")
|
||||
(version "2.0.21")
|
||||
(version "2.0.22")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -1420,21 +1420,10 @@ convert, manipulate, filter and display a wide variety of image formats.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0p3qr4j4pjs5vn5amm6ih9hb4wmm72marhmfw08svcs4rrr88p9y"))))
|
||||
"1qw96mwwd9xw21jg5s7njqgbam566skj93i81aflijy40s31dfwz"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'disable-checking-disabled-things
|
||||
(lambda _
|
||||
;; The MIF codec was disabled for security reasons in JasPer 2.0.20
|
||||
;; but its test suite still assumes that the format is supported.
|
||||
(for-each delete-file
|
||||
(find-files "data/test" "\\.mif$")) ; for run_test_1
|
||||
(substitute* "test/bin/run_test_2"
|
||||
(("image_formats\\+=\\(mif\\)") ""))
|
||||
#t)))))
|
||||
(inputs `(("libjpeg" ,libjpeg-turbo)))
|
||||
(inputs
|
||||
`(("libjpeg" ,libjpeg-turbo)))
|
||||
(synopsis "JPEG-2000 library")
|
||||
(description "The JasPer Project is an initiative to provide a reference
|
||||
implementation of the codec specified in the JPEG-2000 Part-1 standard (i.e.,
|
||||
|
@ -1543,33 +1532,6 @@ files (known as @dfn{steganography}). Neither color nor sample frequencies are
|
|||
changed, making the embedding resistant against first-order statistical tests.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public stb-image-for-extempore
|
||||
(let ((revision "1")
|
||||
(commit "152a250a702bf28951bb0220d63bc0c99830c498"))
|
||||
(package
|
||||
(name "stb-image-for-extempore")
|
||||
(version (string-append "0-" revision "." (string-take commit 9)))
|
||||
(source
|
||||
(origin (method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/extemporelang/stb")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"0y0aa20pj9311x2ii06zg8xs34idg14hfgldqc5ymizc6cf1qiqv"))
|
||||
(file-name (string-append name "-" version "-checkout"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments `(#:tests? #f)) ; no tests included
|
||||
;; Extempore refuses to build on architectures other than x86_64
|
||||
(supported-systems '("x86_64-linux"))
|
||||
(home-page "https://github.com/extemporelang/stb")
|
||||
(synopsis "Image library for Extempore")
|
||||
(description
|
||||
"This package is a collection of assorted single-file libraries. Of
|
||||
all included libraries only the image loading and decoding library is
|
||||
installed as @code{stb_image}.")
|
||||
(license license:public-domain))))
|
||||
|
||||
(define-public optipng
|
||||
(package
|
||||
(name "optipng")
|
||||
|
|
|
@ -214,7 +214,7 @@ written in Go.")
|
|||
(define-public go-ipfs
|
||||
(package
|
||||
(name "go-ipfs")
|
||||
(version "0.6.0")
|
||||
(version "0.7.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch/tarbomb)
|
||||
|
@ -222,7 +222,7 @@ written in Go.")
|
|||
"https://dist.ipfs.io/go-ipfs/v" version
|
||||
"/go-ipfs-source.tar.gz"))
|
||||
(sha256
|
||||
(base32 "14bgq2j2bjjy0pspy2lsj5dm3w9rmfha0l8kyq5ig86yhc4nzn80"))
|
||||
(base32 "1fkzwm4qxxpmbjammk6s5qcyjxivfa0ydqz4mpz1w756c4jq0jf3"))
|
||||
(file-name (string-append name "-" version "-source"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz>
|
||||
;;; Copyright © 2020 Tim Howes <timhowes@lavabit.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -53,7 +54,7 @@
|
|||
(let ((commit "35b1504507a7a4168caae3d78db54d1121b121e1")
|
||||
(revision "1"))
|
||||
;; When upgrading Julia, also upgrade this. Get the commit from
|
||||
;; https://github.com/JuliaLang/julia/blob/v1.4.1/deps/libuv.version
|
||||
;; https://github.com/JuliaLang/julia/blob/v1.5.2/deps/libuv.version
|
||||
(package
|
||||
(inherit libuv)
|
||||
(name "libuv-julia")
|
||||
|
@ -103,7 +104,7 @@
|
|||
"/deps/patches/" name ".patch"))
|
||||
|
||||
(define (julia-patch name sha)
|
||||
(let ((version "1.4.1"))
|
||||
(let ((version "1.5.2"))
|
||||
(origin (method url-fetch)
|
||||
(uri (julia-patch-url version name))
|
||||
(sha256 (base32 sha))
|
||||
|
@ -111,63 +112,52 @@
|
|||
|
||||
(define llvm-julia
|
||||
(package
|
||||
(inherit llvm-8)
|
||||
(inherit llvm-9)
|
||||
(name "llvm-julia")
|
||||
(source (origin
|
||||
(inherit (package-source llvm-8))
|
||||
(inherit (package-source llvm-9))
|
||||
;; Those patches are inside the Julia source repo.
|
||||
;; They are _not_ Julia specific (https://github.com/julialang/julia#llvm)
|
||||
;; but they are required to build Julia.
|
||||
;; Discussion: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=919628
|
||||
(patches
|
||||
(map (match-lambda
|
||||
((name hash)
|
||||
(julia-patch name hash)))
|
||||
(list
|
||||
'("llvm-7.0-D44650"
|
||||
"1h55kkmkiisfj6sk956if2bcj9s0v6n5czn8dxb870vp5nccj3ir")
|
||||
'("llvm-6.0-DISABLE_ABI_CHECKS"
|
||||
"014fawd1ba7yckalypfld22zgic87x9nx3cim42zrwygywd36pyg")
|
||||
'("llvm-6.0-NVPTX-addrspaces"
|
||||
"1qdi2zmrjsrj0h84zv2vyly2hjcn4f67mfy0s1q353g4v4jkscqc")
|
||||
'("llvm-D27629-AArch64-large_model_6.0.1"
|
||||
"1qrshmlqvnasdyc158vfn3hnbigqph3lsq7acb9w8lwkpnnm2j4z")
|
||||
'("llvm8-D34078-vectorize-fdiv"
|
||||
"19spqc3xsazn1xs9gpcgv9ldadfkv49rmc5khl7sf1dlmhgi4602")
|
||||
'("llvm7-D50010-VNCoercion-ni"
|
||||
"18scg6aa036xa1508s7q93w9dvc5gp69fz6yl6fkh4yffw4gymw6")
|
||||
'("llvm-8.0-D50167-scev-umin"
|
||||
"0g9w2x8yryjdkihnrf18x0yi5bi14c5p8wffda1w732dr5ckzk94")
|
||||
'("llvm-D57118-powerpc"
|
||||
"0vxz5s0s9b625v1rv8lg1566yhxh1i91ydzmvy5s7njvzc7p19aw")
|
||||
'("llvm8-WASM-addrspaces"
|
||||
"1176agj9hh7csdm2lnklb42zcdsb3q6lx9jiyp2shn4p2678y76q")
|
||||
'("llvm-exegesis-mingw"
|
||||
"0ph1cj1j7arvf1xq2xcr7qf9g0cpdl14fincgr67vpi520zvd3vp")
|
||||
'("llvm-test-plugin-mingw"
|
||||
"12z738cnahbf6n381im7i0hxp1m6k9hrnfjlmq9sac46nxly9gnj")
|
||||
'("llvm-8.0-D66401-mingw-reloc"
|
||||
"15v3p5sznn979cfnd7gdn3nd701fd7xd5aks6lnj1mslvljlq3ls")
|
||||
'("llvm7-revert-D44485"
|
||||
"0f59kq3p3mpwsbmskypbi4zn01l6ig0x7v2rjp08k2r8z8m6fa8n")
|
||||
'("llvm-8.0-D63688-wasm-isLocal"
|
||||
"0i9wi5n63ip3802z6m7aj3p07hkqjlmp4vg4wq3xkf9f6w9rksab")
|
||||
'("llvm-8.0-D55758-tablegen-cond"
|
||||
"1l08mg7qigravi7plsq3yzya80fljnp95n8faddr29wbr2qr0655")
|
||||
'("llvm-8.0-D59389-refactor-wmma"
|
||||
"0rgrwk4xlwpk7yai2j7xadcfws93rmk2hhh44fysa88imvrbp478")
|
||||
'("llvm-8.0-D59393-mma-ptx63-fix"
|
||||
"094jcsxbcx9fljj623mgmc0rjpk12s2rs0di0ck0hakzhr8mbv5n")
|
||||
'("llvm-8.0-D66657-codegen-degenerate"
|
||||
"1n1ddx19h90bbpimdyd9dh8fsm6gb93xxyqm4ljkxa1k3cx2vm72")
|
||||
'("llvm-8.0-D71495-vectorize-freduce"
|
||||
"1zff08wvji9lnpskk4b3p5zyjsy5hhy23ynxjqlj9dw7jvvfrf0p")
|
||||
'("llvm-8.0-D75072-SCEV-add-type"
|
||||
"0amlyyndsc90ml2k6prdahf24q0j23nfmlbqf8gcqcxpl5sqq3i6")
|
||||
'("llvm-8.0-D65174-limit-merge-stores"
|
||||
"1ls5114fhgip9rbqabqc16mi367ra0k75ngc1vyqqhq1ghm9x7y9"))))))
|
||||
(map (match-lambda
|
||||
((name hash)
|
||||
(julia-patch name hash)))
|
||||
(list
|
||||
'("llvm-D27629-AArch64-large_model_6.0.1"
|
||||
"1qrshmlqvnasdyc158vfn3hnbigqph3lsq7acb9w8lwkpnnm2j4z")
|
||||
'("llvm8-D34078-vectorize-fdiv"
|
||||
"19spqc3xsazn1xs9gpcgv9ldadfkv49rmc5khl7sf1dlmhgi4602")
|
||||
'("llvm-7.0-D44650"
|
||||
"1h55kkmkiisfj6sk956if2bcj9s0v6n5czn8dxb870vp5nccj3ir")
|
||||
'("llvm9-D50010-VNCoercion-ni"
|
||||
"1s1d3sjsiq4vxg7ncy5cz56zgy5vcq6ls3iqaiqkvr23wyryqmdx")
|
||||
'("llvm-exegesis-mingw"
|
||||
"0ph1cj1j7arvf1xq2xcr7qf9g0cpdl14fincgr67vpi520zvd3vp")
|
||||
'("llvm-test-plugin-mingw"
|
||||
"12z738cnahbf6n381im7i0hxp1m6k9hrnfjlmq9sac46nxly9gnj")
|
||||
'("llvm7-revert-D44485"
|
||||
"0f59kq3p3mpwsbmskypbi4zn01l6ig0x7v2rjp08k2r8z8m6fa8n")
|
||||
'("llvm-8.0-D66657-codegen-degenerate"
|
||||
"1n1ddx19h90bbpimdyd9dh8fsm6gb93xxyqm4ljkxa1k3cx2vm72")
|
||||
'("llvm-8.0-D71495-vectorize-freduce"
|
||||
"1zff08wvji9lnpskk4b3p5zyjsy5hhy23ynxjqlj9dw7jvvfrf0p")
|
||||
'("llvm-D75072-SCEV-add-type"
|
||||
"029a3fywsm233vf48mscina24idd50dc75wr70lmimrhwnw27p0z")
|
||||
'("llvm-9.0-D65174-limit-merge-stores"
|
||||
"04bff1mnblfj9mxfdwr1qdnw3i3szmp60gnhxwas5y68qg33z6j0")
|
||||
'("llvm9-D71443-PPC-MC-redef-symbol"
|
||||
"1c93nv7rgc9jg5mqrnvv08xib1789qvlql94fwggh18mp3b9hbgy")
|
||||
'("llvm-9.0-D78196"
|
||||
"08a43hyg7yyqjq2vmfsmppf34xcz60wq6y9zw5fdyhw2h1mcnmns")
|
||||
'("llvm-julia-tsan-custom-as"
|
||||
"0awh40kf6lm4wn1nsjd1bmhfwq7rqj811szanp2xkpspykw9hg9s")
|
||||
'("llvm-9.0-D85499"
|
||||
"0vxlr35srvbvihlgrxq15v6dylp90vgi0qahj22j01jgqmdasjkm"))))
|
||||
(patch-flags '("-p1"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments llvm-8)
|
||||
(substitute-keyword-arguments (package-arguments llvm-9)
|
||||
((#:configure-flags flags)
|
||||
`(list ;; Taken from NixOS. Only way I could get libLLVM-6.0.so
|
||||
"-DCMAKE_BUILD_TYPE=Release"
|
||||
|
@ -231,7 +221,7 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.")
|
|||
(define-public julia
|
||||
(package
|
||||
(name "julia")
|
||||
(version "1.4.1")
|
||||
(version "1.5.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -239,7 +229,7 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.")
|
|||
version "/julia-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"030aza3qj5zcinxbrbqgi7p64q6klwq2bhwccraarx7l0hg9lw3i"))
|
||||
"08wazf3f1lb2c2c5s700kyak8llfqwki8xlnqyrbwmwxjj801p2n"))
|
||||
(patches
|
||||
(search-patches "julia-SOURCE_DATE_EPOCH-mtime.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
|
@ -344,16 +334,6 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.")
|
|||
"tests = filter(e->!in(e,[\"backtrace\",\"exceptions\",\"precompile\",
|
||||
\"client\",\"stacktraces\"]),
|
||||
testnames)"))
|
||||
;; precompile test is broken, fixed in
|
||||
;; fed29f893544d1dc8f86444c65d632c68168d0f3
|
||||
(substitute* "test/precompile.jl"
|
||||
(("@test !isdefined\\(Base.Nothing.name.mt")
|
||||
"# @test !isdefined(Base.Nothing.name.mt"))
|
||||
;; When HOME is not set, julia calls uv_os_homedir, which in
|
||||
;; turns call getpwuid_r. Add the HOME env variable to the
|
||||
;; external julia call to fix this
|
||||
(substitute* "test/cmdlineargs.jl"
|
||||
(("\"JULIA_PROJECT\"") "\"HOME\"=>\"/tmp\", \"JULIA_PROJECT\""))
|
||||
;; Marking the test as broken as it's a known bug:
|
||||
;; https://github.com/JuliaLang/julia/issues/32377
|
||||
(substitute* "stdlib/REPL/test/replcompletions.jl"
|
||||
|
@ -361,11 +341,16 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.")
|
|||
;; Dates has a similar bug:
|
||||
;; https://github.com/JuliaLang/julia/issues/34655
|
||||
(substitute* "stdlib/Dates/test/io.jl"
|
||||
(("\"Dates.Date") "\"Date")
|
||||
(("\"Dates.Time") "\"Time"))
|
||||
;; Upstream bug I found when packaging
|
||||
;; https://github.com/JuliaLang/julia/issues/35785
|
||||
(substitute* "test/file.jl"
|
||||
(("@test dirname\\(t\\) == d") "@test_broken dirname(t) == d"))
|
||||
;; Deprecation test fails with --depwarn=no
|
||||
;; https://github.com/JuliaLang/julia/issues/37673
|
||||
(substitute* "test/Makefile"
|
||||
(("./runtests.jl") "--depwarn=error ./runtests.jl"))
|
||||
#t))
|
||||
(add-after 'install 'make-wrapper
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
|
@ -416,7 +401,7 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.")
|
|||
(assoc-ref %build-inputs "utf8proc")
|
||||
"/include")
|
||||
"USE_SYSTEM_LLVM=1"
|
||||
"LLVM_VER=8.0.0"
|
||||
"LLVM_VER=9.0.1"
|
||||
|
||||
"USE_LLVM_SHLIB=1"
|
||||
"USE_SYSTEM_LIBUNWIND=1"
|
||||
|
|
|
@ -374,7 +374,7 @@ illustrate project schedules.")
|
|||
(define-public krita
|
||||
(package
|
||||
(name "krita")
|
||||
(version "4.3.0")
|
||||
(version "4.4.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -382,7 +382,7 @@ illustrate project schedules.")
|
|||
"/krita-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1njbxv7b56if838gv7ydzm1sprgmaabnp0jlj0bxryxzfdy8hwfh"))))
|
||||
"13r7x4gql5wp88hmpv9m6m3lh7gsybm4la48hqbjcb3iwiv86pzw"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f
|
||||
|
|
|
@ -1053,7 +1053,7 @@ noun phrases, verb phrases, etc.).")
|
|||
(define-public praat
|
||||
(package
|
||||
(name "praat")
|
||||
(version "6.1.26")
|
||||
(version "6.1.27")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -1062,7 +1062,7 @@ noun phrases, verb phrases, etc.).")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"12y4x7c34ddlg22kc82n17if1dqm8lyap9jg0kh1vagkdm9dy02w"))))
|
||||
"0wd2xy5shyk00d91yrif1c2xwzdl4i7qpdfa530f845yzn7k2ks1"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no test target
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
;;; Copyright © 2017, 2018, 2019 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
|
||||
;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2018 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
||||
;;; Copyright © 2018, 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
||||
;;; Copyright © 2019 Chris Marusich <cmmarusich@gmail.com>
|
||||
;;; Copyright © 2020 Marcin Karpezo <sirmacik@wioo.waw.pl>
|
||||
;;;
|
||||
|
@ -42,6 +42,7 @@
|
|||
#:use-module (ice-9 match)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages aidc)
|
||||
#:use-module (gnu packages aspell)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages bison)
|
||||
|
@ -971,6 +972,41 @@ library.")
|
|||
(license
|
||||
(list license:gpl2 license:mpl1.1 license:cc-by4.0 license:lgpl2.1 license:asl2.0))))
|
||||
|
||||
(define-public hunspell-dict-de
|
||||
(package
|
||||
(name "hunspell-dict-de")
|
||||
(version "20161207")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.j3e.de/ispell/igerman98/dict/"
|
||||
"igerman98-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "1a3055hp2bc4q4nlg3gmg0147p3a1zlfnc65xiv2v9pyql1nya8p"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags '("hunspell/de_DE.dic")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(replace 'install ;no install target
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(share (string-append out "/share/hunspell/")))
|
||||
(install-file "hunspell/de_DE.aff" share)
|
||||
(install-file "hunspell/de_DE.dic" share)
|
||||
#t))))
|
||||
#:tests? #f)) ; no tests
|
||||
(native-inputs
|
||||
`(("hunspell" ,hunspell)
|
||||
("ispell" ,ispell)
|
||||
("perl" ,perl)))
|
||||
(synopsis "Hunspell dictionary for German (de_DE)")
|
||||
(description "This package provides a dictionary for the Hunspell
|
||||
spell-checking library.")
|
||||
(home-page "https://www.j3e.de/ispell/igerman98/")
|
||||
(license (list license:gpl2 license:gpl3))))
|
||||
|
||||
(define-public hyphen
|
||||
(package
|
||||
(name "hyphen")
|
||||
|
|
|
@ -352,15 +352,15 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
|||
|
||||
;; The current "stable" kernel. That is, the most recently released major
|
||||
;; version.
|
||||
(define-public linux-libre-5.8-version "5.8.14")
|
||||
(define-public linux-libre-5.8-version "5.8.15")
|
||||
(define deblob-scripts-5.8
|
||||
(linux-libre-deblob-scripts
|
||||
linux-libre-5.8-version
|
||||
(base32 "07z7sglyrfh0706icqqf3shadf638pvyid9386r661ds5lbsa2mw")
|
||||
(base32 "0j6jba5fcddqlb42f95gjl78jisfla4nswqila074gglcrbnl9q7")))
|
||||
(base32 "0z28yj4f7hhc253hssslm6xl9sg92agbiw50jxb9y72d8zp6sksq")))
|
||||
(define-public linux-libre-5.8-pristine-source
|
||||
(let ((version linux-libre-5.8-version)
|
||||
(hash (base32 "1bzh82jpwcxsdzp6p1r8qlq9v5x79flhnzyimkcll8wdh28pjxpf")))
|
||||
(hash (base32 "0hfnq4n902pws8sjxd1lsdxxa0v45g988imp73xnqfqv2d71r0bj")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-5.8)))
|
||||
|
@ -368,20 +368,20 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
|||
;; The "longterm" kernels — the older releases with long-term upstream support.
|
||||
;; Here are the support timelines:
|
||||
;; <https://www.kernel.org/category/releases.html>
|
||||
(define-public linux-libre-5.4-version "5.4.70")
|
||||
(define-public linux-libre-5.4-version "5.4.71")
|
||||
(define deblob-scripts-5.4
|
||||
(linux-libre-deblob-scripts
|
||||
linux-libre-5.4-version
|
||||
(base32 "0ckxn7k5zgcqk30dq943bnamr6a6zjbw2aqjl3x30f4kvh5f6k25")
|
||||
(base32 "1b3q88i2qfdxyvpi9f7jds0qlb8hfpw87mgia096ax6822c2cmyb")))
|
||||
(base32 "1h6gbc9cfhb7dqx669iq26a23whka6km5av0ysk61aaz2z57vkrk")))
|
||||
(define-public linux-libre-5.4-pristine-source
|
||||
(let ((version linux-libre-5.4-version)
|
||||
(hash (base32 "01shqhibrxirl9bik8jwiag70n9n0l7782xh73gkb8jvbh4dicy0")))
|
||||
(hash (base32 "1ivcimngj5h7lxslkrdljpfw9hfvdhrm8wrp7gp4d3gk7kpljw3k")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-5.4)))
|
||||
|
||||
(define-public linux-libre-4.19-version "4.19.150")
|
||||
(define-public linux-libre-4.19-version "4.19.151")
|
||||
(define deblob-scripts-4.19
|
||||
(linux-libre-deblob-scripts
|
||||
linux-libre-4.19-version
|
||||
|
@ -389,12 +389,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
|||
(base32 "1jiaw0as1ippkrjdpd52657w5mz9qczg3y2hlra7m9k0xawwiqlf")))
|
||||
(define-public linux-libre-4.19-pristine-source
|
||||
(let ((version linux-libre-4.19-version)
|
||||
(hash (base32 "1kmsrinhy67vh34m6z3xinwg3v6z8jm7v1asq6rqqkba13phkxzj")))
|
||||
(hash (base32 "0vm3nsi9la3azxrsvndbd6fpz79pch7309f2144xyxszsk339cf7")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-4.19)))
|
||||
|
||||
(define-public linux-libre-4.14-version "4.14.200")
|
||||
(define-public linux-libre-4.14-version "4.14.201")
|
||||
(define deblob-scripts-4.14
|
||||
(linux-libre-deblob-scripts
|
||||
linux-libre-4.14-version
|
||||
|
@ -402,12 +402,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
|||
(base32 "1qij18inijj6c3ma8hv98yjagnzxdxyn134da9fd23ky8q6hbvky")))
|
||||
(define-public linux-libre-4.14-pristine-source
|
||||
(let ((version linux-libre-4.14-version)
|
||||
(hash (base32 "0f4sd4fqgm1wbhmrsib04ry5aza84mlc8747y5wm6jx34h14lh2x")))
|
||||
(hash (base32 "0nr3w5m7dz28v7qfhp99ih4c369qrhq751wfikbz8ga3di0dqa72")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-4.14)))
|
||||
|
||||
(define-public linux-libre-4.9-version "4.9.238")
|
||||
(define-public linux-libre-4.9-version "4.9.239")
|
||||
(define deblob-scripts-4.9
|
||||
(linux-libre-deblob-scripts
|
||||
linux-libre-4.9-version
|
||||
|
@ -415,12 +415,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
|||
(base32 "0fxajshb75siq39lj5h8xvhdj8lcmddkslwlyj65rhlwk6g2r4b2")))
|
||||
(define-public linux-libre-4.9-pristine-source
|
||||
(let ((version linux-libre-4.9-version)
|
||||
(hash (base32 "0gsa2g5yjc7459ja107nla700ma32sg57dyj8q2xzi0yfw5zdsmi")))
|
||||
(hash (base32 "0lfbn5amykvwz1svvxayzhsz1dvm4mgzsnq1g0wqffclxm148hr3")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-4.9)))
|
||||
|
||||
(define-public linux-libre-4.4-version "4.4.238")
|
||||
(define-public linux-libre-4.4-version "4.4.239")
|
||||
(define deblob-scripts-4.4
|
||||
(linux-libre-deblob-scripts
|
||||
linux-libre-4.4-version
|
||||
|
@ -428,7 +428,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
|||
(base32 "0hhin1jpfkd6nwrb6xqxjzl3hdxy4pn8a15hy2d3d83yw6pflbsf")))
|
||||
(define-public linux-libre-4.4-pristine-source
|
||||
(let ((version linux-libre-4.4-version)
|
||||
(hash (base32 "0r1kb7p0zf0nkavvf9nr9hs7bdjym43cqv87hkp7vrqpbh1i8y06")))
|
||||
(hash (base32 "03myd9ngmjmnddh4iqqsgcfg9rd11vyvwym38yh4m1p08j1zbg0k")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-4.4)))
|
||||
|
@ -2271,7 +2271,7 @@ that the Ethernet protocol is much simpler than the IP protocol.")
|
|||
(define-public iproute
|
||||
(package
|
||||
(name "iproute2")
|
||||
(version "5.8.0")
|
||||
(version "5.9.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -2279,7 +2279,7 @@ that the Ethernet protocol is much simpler than the IP protocol.")
|
|||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0vk4vickrpahdhl3zazr2qn2bf99v5549ncirjpwiy4h0a4izkfg"))))
|
||||
"1kys6dmhrl43iaq95n5sh02p39d7bq8i5y672qrzgwnwpjaaqpd2"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`( ;; There is a test suite, but it wants network namespaces and sudo.
|
||||
|
@ -6446,17 +6446,18 @@ available in the kernel Linux.")
|
|||
(define-public cpuid
|
||||
(package
|
||||
(name "cpuid")
|
||||
(version "20200427")
|
||||
(version "20201006")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.etallen.com/cpuid/cpuid-"
|
||||
version ".src.tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1m31238z2ya8f8pzpyklwp0ksf5xicqrw1z941hhhx913wzldaf1"))))
|
||||
"19jnkh57f979b78ak5mpxmdvnkgc33r55cw9shgd2hc380b3zi8k"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:make-flags '("CC=gcc")
|
||||
`(#:make-flags
|
||||
(list (string-append "CC=" ,(cc-for-target)))
|
||||
#:tests? #f ; no tests
|
||||
#:phases (modify-phases %standard-phases
|
||||
(delete 'configure) ; no configure script
|
||||
|
@ -7023,7 +7024,7 @@ the superuser to make device nodes.")
|
|||
(define-public fakeroot
|
||||
(package
|
||||
(name "fakeroot")
|
||||
(version "1.25.1")
|
||||
(version "1.25.3")
|
||||
(source (origin
|
||||
;; There are no tags in the repository, so take this snapshot.
|
||||
(method url-fetch)
|
||||
|
@ -7032,7 +7033,7 @@ the superuser to make device nodes.")
|
|||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1ianaacwpjcw02shfiyybkqh5r6il4lvxin10n4y66kw0p7i3kcm"))))
|
||||
"0v4m3v1bdqvblwj3vqsb3mllgbci6dsgsydq6765nzvz6n1kd44f"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
|
|
@ -87,68 +87,6 @@ as \"x86_64-linux\"."
|
|||
(string-append "https://releases.llvm.org/" version "/" component "-"
|
||||
version ".src.tar.xz")))
|
||||
|
||||
(define-public llvm-10
|
||||
(package
|
||||
(name "llvm")
|
||||
(version "10.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (llvm-uri "llvm" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1pwgm6cr0xr5a0hrbqs1zvsvvjvy0yq1y47c96804wcs795s90yz"))))
|
||||
(build-system cmake-build-system)
|
||||
(outputs '("out" "opt-viewer"))
|
||||
(native-inputs
|
||||
`(("python" ,python-2) ;bytes->str conversion in clang>=3.7 needs python-2
|
||||
("perl" ,perl)))
|
||||
(inputs
|
||||
`(("libffi" ,libffi)))
|
||||
(propagated-inputs
|
||||
`(("zlib" ,zlib))) ;to use output from llvm-config
|
||||
(arguments
|
||||
`(#:configure-flags '("-DCMAKE_SKIP_BUILD_RPATH=FALSE"
|
||||
"-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE"
|
||||
"-DBUILD_SHARED_LIBS:BOOL=TRUE"
|
||||
"-DLLVM_ENABLE_FFI:BOOL=TRUE"
|
||||
"-DLLVM_REQUIRES_RTTI=1" ; For some third-party utilities
|
||||
"-DLLVM_INSTALL_UTILS=ON") ; Needed for rustc.
|
||||
|
||||
;; Don't use '-g' during the build, to save space.
|
||||
#:build-type "Release"
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'build 'shared-lib-workaround
|
||||
;; Even with CMAKE_SKIP_BUILD_RPATH=FALSE, llvm-tblgen
|
||||
;; doesn't seem to get the correct rpath to be able to run
|
||||
;; from the build directory. Set LD_LIBRARY_PATH as a
|
||||
;; workaround.
|
||||
(lambda _
|
||||
(setenv "LD_LIBRARY_PATH"
|
||||
(string-append (getcwd) "/lib"))
|
||||
#t))
|
||||
(add-after 'install 'install-opt-viewer
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(opt-viewer-out (assoc-ref outputs "opt-viewer"))
|
||||
(opt-viewer-share-dir (string-append opt-viewer-out "/share"))
|
||||
(opt-viewer-dir (string-append opt-viewer-share-dir "/opt-viewer")))
|
||||
(mkdir-p opt-viewer-share-dir)
|
||||
(rename-file (string-append out "/share/opt-viewer")
|
||||
opt-viewer-dir))
|
||||
#t)))))
|
||||
(home-page "https://www.llvm.org")
|
||||
(synopsis "Optimizing compiler infrastructure")
|
||||
(description
|
||||
"LLVM is a compiler infrastructure designed for compile-time, link-time,
|
||||
runtime, and idle-time optimization of programs from arbitrary programming
|
||||
languages. It currently supports compilation of C and C++ programs, using
|
||||
front-ends derived from GCC 4.0.1. A new front-end for the C family of
|
||||
languages is in development. The compiler infrastructure includes mirror sets
|
||||
of programming tools as well as libraries with equivalent functionality.")
|
||||
(license license:asl2.0))) ;with LLVM exceptions, see LICENSE.txt
|
||||
|
||||
(define* (clang-runtime-from-llvm llvm hash
|
||||
#:optional (patches '()))
|
||||
(package
|
||||
|
@ -512,6 +450,101 @@ output), and Binutils.")
|
|||
("libc-debug" ,glibc "debug")
|
||||
("libc-static" ,glibc "static")))))
|
||||
|
||||
(define-public llvm-11
|
||||
(package
|
||||
(name "llvm")
|
||||
(version "11.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (llvm-uri "llvm" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0s94lwil98w7zb7cjrbnxli0z7gklb312pkw74xs1d6zk346hgwi"))))
|
||||
(build-system cmake-build-system)
|
||||
(outputs '("out" "opt-viewer"))
|
||||
(native-inputs
|
||||
`(("python" ,python-2) ;bytes->str conversion in clang>=3.7 needs python-2
|
||||
("perl" ,perl)))
|
||||
(inputs
|
||||
`(("libffi" ,libffi)))
|
||||
(propagated-inputs
|
||||
`(("zlib" ,zlib))) ;to use output from llvm-config
|
||||
(arguments
|
||||
`(#:configure-flags '("-DCMAKE_SKIP_BUILD_RPATH=FALSE"
|
||||
"-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE"
|
||||
"-DBUILD_SHARED_LIBS:BOOL=TRUE"
|
||||
"-DLLVM_ENABLE_FFI:BOOL=TRUE"
|
||||
"-DLLVM_REQUIRES_RTTI=1" ; For some third-party utilities
|
||||
"-DLLVM_INSTALL_UTILS=ON") ; Needed for rustc.
|
||||
|
||||
;; Don't use '-g' during the build, to save space.
|
||||
#:build-type "Release"
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'build 'shared-lib-workaround
|
||||
;; Even with CMAKE_SKIP_BUILD_RPATH=FALSE, llvm-tblgen
|
||||
;; doesn't seem to get the correct rpath to be able to run
|
||||
;; from the build directory. Set LD_LIBRARY_PATH as a
|
||||
;; workaround.
|
||||
(lambda _
|
||||
(setenv "LD_LIBRARY_PATH"
|
||||
(string-append (getcwd) "/lib"))
|
||||
#t))
|
||||
(add-after 'install 'install-opt-viewer
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(opt-viewer-out (assoc-ref outputs "opt-viewer"))
|
||||
(opt-viewer-share-dir (string-append opt-viewer-out "/share"))
|
||||
(opt-viewer-dir (string-append opt-viewer-share-dir "/opt-viewer")))
|
||||
(mkdir-p opt-viewer-share-dir)
|
||||
(rename-file (string-append out "/share/opt-viewer")
|
||||
opt-viewer-dir))
|
||||
#t)))))
|
||||
(home-page "https://www.llvm.org")
|
||||
(synopsis "Optimizing compiler infrastructure")
|
||||
(description
|
||||
"LLVM is a compiler infrastructure designed for compile-time, link-time,
|
||||
runtime, and idle-time optimization of programs from arbitrary programming
|
||||
languages. It currently supports compilation of C and C++ programs, using
|
||||
front-ends derived from GCC 4.0.1. A new front-end for the C family of
|
||||
languages is in development. The compiler infrastructure includes mirror sets
|
||||
of programming tools as well as libraries with equivalent functionality.")
|
||||
(license license:asl2.0))) ;with LLVM exceptions, see LICENSE.txt
|
||||
|
||||
(define-public clang-runtime-11
|
||||
(clang-runtime-from-llvm
|
||||
llvm-11
|
||||
"0d5j5l8phwqjjscmk8rmqn0i2i0abl537gdbkagl8fjpzy1gyjip"))
|
||||
|
||||
(define-public clang-11
|
||||
(clang-from-llvm llvm-11 clang-runtime-11
|
||||
"02ajkij85966vd150iy246mv16dsaph1kfi0y8wnncp8w6nar5hg"
|
||||
#:patches '("clang-11.0-libc-search-path.patch")
|
||||
#:tools-extra
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (llvm-uri "clang-tools-extra"
|
||||
(package-version llvm-11)))
|
||||
(sha256
|
||||
(base32
|
||||
"02bcwwn54661madhq4nxc069s7p7pj5gpqi8ww50w3anbpviilzy")))))
|
||||
|
||||
(define-public clang-toolchain-11
|
||||
(make-clang-toolchain clang-11))
|
||||
|
||||
(define-public llvm-10
|
||||
(package
|
||||
(inherit llvm-11)
|
||||
(version "10.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (llvm-uri "llvm" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1pwgm6cr0xr5a0hrbqs1zvsvvjvy0yq1y47c96804wcs795s90yz"))))))
|
||||
|
||||
(define-public clang-runtime-10
|
||||
(clang-runtime-from-llvm
|
||||
llvm-10
|
||||
|
@ -564,39 +597,9 @@ output), and Binutils.")
|
|||
(define-public clang-toolchain-9
|
||||
(make-clang-toolchain clang-9))
|
||||
|
||||
;; Default LLVM and Clang version.
|
||||
(define-public llvm llvm-9)
|
||||
(define-public clang-runtime clang-runtime-9)
|
||||
(define-public clang clang-9)
|
||||
(define-public clang-toolchain clang-toolchain-9)
|
||||
|
||||
(define-public lld
|
||||
(package
|
||||
(name "lld")
|
||||
(version (package-version llvm-10))
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (llvm-uri "lld" version))
|
||||
(sha256
|
||||
(base32
|
||||
"026pwcbczcg0j5c9h7hxxrn3ki81ia9m9sfn0sy0bvzffv2xg85r"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs
|
||||
`(("llvm" ,llvm-10)))
|
||||
(arguments
|
||||
`(#:build-type "Release"
|
||||
;; TODO: Tests require the lit tool, which isn't installed by the LLVM
|
||||
;; package.
|
||||
#:tests? #f))
|
||||
(home-page "https://lld.llvm.org/")
|
||||
(synopsis "Linker from the LLVM project")
|
||||
(description "LLD is a high-performance linker, built as a set of reusable
|
||||
components which highly leverage existing libraries in the larger LLVM Project.")
|
||||
(license license:asl2.0))) ; With LLVM exception
|
||||
|
||||
(define-public llvm-8
|
||||
(package
|
||||
(inherit llvm)
|
||||
(inherit llvm-9)
|
||||
(version "8.0.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
|
@ -821,19 +824,35 @@ components which highly leverage existing libraries in the larger LLVM Project."
|
|||
"0846h8vn3zlc00jkmvrmy88gc6ql6014c02l4jv78fpvfigmgssg"
|
||||
#:patches '("clang-3.5-libc-search-path.patch")))
|
||||
|
||||
(define-public llvm-for-extempore
|
||||
(package (inherit llvm-3.8)
|
||||
(name "llvm-for-extempore")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://extempore.moso.com.au/extras/"
|
||||
"llvm-3.8.0.src-patched-for-extempore.tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1svdl6fxn8l01ni8mpm0bd5h856ahv3h9sdzgmymr6fayckjvqzs"))))
|
||||
;; Extempore refuses to build on architectures other than x86_64
|
||||
(supported-systems '("x86_64-linux"))))
|
||||
;; Default LLVM and Clang version.
|
||||
(define-public llvm llvm-9)
|
||||
(define-public clang-runtime clang-runtime-9)
|
||||
(define-public clang clang-9)
|
||||
(define-public clang-toolchain clang-toolchain-9)
|
||||
|
||||
(define-public lld
|
||||
(package
|
||||
(name "lld")
|
||||
(version "11.0.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (llvm-uri "lld" version))
|
||||
(sha256
|
||||
(base32
|
||||
"077xyh7sij6mhp4dc4kdcmp9whrpz332fa12rwxnzp3wgd5bxrzg"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs
|
||||
`(("llvm" ,llvm-11)))
|
||||
(arguments
|
||||
`(#:build-type "Release"
|
||||
;; TODO: Tests require the lit tool, which isn't installed by the LLVM
|
||||
;; package.
|
||||
#:tests? #f))
|
||||
(home-page "https://lld.llvm.org/")
|
||||
(synopsis "Linker from the LLVM project")
|
||||
(description "LLD is a high-performance linker, built as a set of reusable
|
||||
components which highly leverage existing libraries in the larger LLVM Project.")
|
||||
(license license:asl2.0))) ; With LLVM exception
|
||||
|
||||
(define-public libcxx
|
||||
(package
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at>
|
||||
;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019 Gábor Boskovits <boskovits@gmail.com>
|
||||
;;; Copyright © 2019 Meiyo Peng <meiyo@riseup.net>
|
||||
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
|
||||
|
@ -165,9 +165,8 @@ commands, displaying the results via a web interface.")
|
|||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags
|
||||
(list "CC=gcc"
|
||||
"PREFIX="
|
||||
(string-append "DESTDIR="
|
||||
(list (string-append "CC=" ,(cc-for-target))
|
||||
(string-append "PREFIX="
|
||||
(assoc-ref %outputs "out")))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
|
@ -178,14 +177,14 @@ commands, displaying the results via a web interface.")
|
|||
(("ncursesw\\/panel.h") "panel.h")
|
||||
(("ncursesw\\/ncurses.h") "ncurses.h")))
|
||||
#t))
|
||||
(delete 'configure))
|
||||
(delete 'configure)) ; no configure script
|
||||
#:tests? #f)) ; no test suite (make check just runs cppcheck)
|
||||
(inputs `(("ncurses" ,ncurses)))
|
||||
(home-page "https://vanheusden.com/multitail/")
|
||||
(synopsis "Monitor multiple logfiles")
|
||||
(synopsis "Monitor multiple log files")
|
||||
(description
|
||||
"MultiTail allows you to monitor logfiles and command output in multiple
|
||||
windows in a terminal, colorize, filter and merge.")
|
||||
"MultiTail can monitor, color, filter, and merge log files and command
|
||||
output in multiple windows in a terminal.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public spdlog
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
;;; Copyright © 2016 doncatnip <gnopap@gmail.com>
|
||||
;;; Copyright © 2016, 2017, 2019 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2016 José Miguel Sánchez García <jmi2k@openmailbox.org>
|
||||
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
|
||||
;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2020 Simon South <simon@simonsouth.net>
|
||||
|
@ -312,9 +312,8 @@ directory structure and file attributes.")
|
|||
(lua-api-version ,(version-major+minor (package-version lua))))
|
||||
(list "CC=gcc"
|
||||
"CFLAGS='-D HAVE_SYS_SYSCTL_H=0'" ; sys/sysctl.h is deprecated
|
||||
(string-append "DESTDIR=" out)
|
||||
(string-append "LUA_APIS=" lua-api-version)
|
||||
"prefix="))
|
||||
(string-append "prefix=" out)
|
||||
(string-append "LUA_APIS=" lua-api-version)))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
|
@ -880,3 +879,182 @@ on numbers.")
|
|||
"Selene is a simple C++11 header-only library enabling seamless
|
||||
interoperability between C++ and Lua programming language.")
|
||||
(license license:zlib)))
|
||||
|
||||
(define-public lua-resty-core
|
||||
(package
|
||||
(name "lua-resty-core")
|
||||
(version "0.1.17")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/openresty/lua-resty-core")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"11fyli6yrg7b91nv9v2sbrc6y7z3h9lgf4lrrhcjk2bb906576a0"))))
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build utils))
|
||||
#:builder
|
||||
(begin
|
||||
(use-modules (guix build utils))
|
||||
(let* ((luajit-major+minor ,(version-major+minor (package-version lua)))
|
||||
(package-lua-resty (lambda (input output)
|
||||
(mkdir-p (string-append output "/lib/lua"))
|
||||
(copy-recursively (string-append input "/lib/resty")
|
||||
(string-append output "/lib/lua/resty"))
|
||||
(copy-recursively (string-append input "/lib/ngx")
|
||||
(string-append output "/lib/ngx"))
|
||||
(symlink (string-append output "/lib/lua/resty")
|
||||
(string-append output "/lib/resty")))))
|
||||
(package-lua-resty (assoc-ref %build-inputs "source")
|
||||
(assoc-ref %outputs "out")))
|
||||
#t)))
|
||||
(home-page "https://github.com/openresty/lua-resty-core")
|
||||
(synopsis "Lua API for NGINX")
|
||||
(description "This package provides a FFI-based Lua API for
|
||||
@code{ngx_http_lua_module} or @code{ngx_stream_lua_module}.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public lua-resty-lrucache
|
||||
(package
|
||||
(name "lua-resty-lrucache")
|
||||
(version "0.09")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/openresty/lua-resty-lrucache")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1mwiy55qs8bija1kpgizmqgk15ijizzv4sa1giaz9qlqs2kqd7q2"))))
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build utils))
|
||||
#:builder
|
||||
(begin
|
||||
(use-modules (guix build utils))
|
||||
(let* ((luajit-major+minor ,(version-major+minor (package-version lua)))
|
||||
(package-lua-resty (lambda (input output)
|
||||
(mkdir-p (string-append output "/lib/lua/" luajit-major+minor))
|
||||
(copy-recursively (string-append input "/lib/resty")
|
||||
(string-append output "/lib/lua/" luajit-major+minor "/resty"))
|
||||
(symlink (string-append output "/lib/lua/" luajit-major+minor "/resty")
|
||||
(string-append output "/lib/resty")))))
|
||||
(package-lua-resty (assoc-ref %build-inputs "source")
|
||||
(assoc-ref %outputs "out")))
|
||||
#t)))
|
||||
(home-page "https://github.com/openresty/lua-resty-lrucache")
|
||||
(synopsis "Lua LRU cache based on the LuaJIT FFI")
|
||||
(description
|
||||
"This package provides Lua LRU cache based on the LuaJIT FFI.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public lua-resty-signal
|
||||
(package
|
||||
(name "lua-resty-signal")
|
||||
(version "0.02")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/openresty/lua-resty-signal")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"13y1pqn45y49mhqwywasfdsid46d0c33yi6mrnracbnmvyxz1cif"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ;TODO: Run the test suite.
|
||||
#:make-flags (list "CC=gcc"
|
||||
(string-append "PREFIX=" %output))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(add-after 'install 'install-lua
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(use-modules (guix build utils))
|
||||
(let* ((luajit-major+minor ,(version-major+minor (package-version lua)))
|
||||
(package-lua-resty (lambda (input output)
|
||||
(mkdir-p (string-append output "/lib/lua/" luajit-major+minor))
|
||||
(copy-recursively (string-append input "/lib/resty")
|
||||
(string-append output "/lib/lua/" luajit-major+minor "/resty"))
|
||||
(symlink (string-append output "/lib/lua/" luajit-major+minor "/resty")
|
||||
(string-append output "/lib/resty")))))
|
||||
(package-lua-resty (assoc-ref inputs "source")
|
||||
(assoc-ref outputs "out")))
|
||||
#t)))))
|
||||
(home-page "https://github.com/openresty/lua-resty-signal")
|
||||
(synopsis "Lua library for killing or sending signals to Linux processes")
|
||||
(description "This package provides Lua library for killing or sending
|
||||
signals to Linux processes.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public lua-tablepool
|
||||
(package
|
||||
(name "lua-tablepool")
|
||||
(version "0.01")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/openresty/lua-tablepool")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"03yjj3w6znvj6843prg84m0lkrn49l901f9hj9bgy3cj9s0awl6y"))))
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build utils))
|
||||
#:builder
|
||||
(begin
|
||||
(use-modules (guix build utils))
|
||||
(let* ((luajit-major+minor ,(version-major+minor (package-version lua)))
|
||||
(package-lua-resty (lambda (input output)
|
||||
(mkdir-p (string-append output "/lib/lua/" luajit-major+minor))
|
||||
(copy-recursively (string-append input "/lib")
|
||||
(string-append output "/lib")))))
|
||||
(package-lua-resty (assoc-ref %build-inputs "source")
|
||||
(assoc-ref %outputs "out")))
|
||||
#t)))
|
||||
(home-page "https://github.com/openresty/lua-tablepool")
|
||||
(synopsis "Lua table recycling pools for LuaJIT")
|
||||
(description "This package provides Lua table recycling pools for LuaJIT.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public lua-resty-shell
|
||||
(package
|
||||
(name "lua-resty-shell")
|
||||
(version "0.03")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/openresty/lua-resty-shell")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1s6g04ip4hr97r2pd8ry3alq063604s9a3l0hn9nsidh81ps4dp7"))))
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build utils))
|
||||
#:builder
|
||||
(begin
|
||||
(use-modules (guix build utils))
|
||||
(let* ((luajit-major+minor ,(version-major+minor (package-version lua)))
|
||||
(package-lua-resty (lambda (input output)
|
||||
(mkdir-p (string-append output "/lib/lua/" luajit-major+minor))
|
||||
(copy-recursively (string-append input "/lib/resty")
|
||||
(string-append output "/lib/lua/" luajit-major+minor "/resty"))
|
||||
(symlink (string-append output "/lib/lua/" luajit-major+minor "/resty")
|
||||
(string-append output "/lib/resty")))))
|
||||
(package-lua-resty (assoc-ref %build-inputs "source")
|
||||
(assoc-ref %outputs "out")))
|
||||
#t)))
|
||||
(home-page "https://github.com/openresty/lua-resty-shell")
|
||||
(synopsis "Lua module for nonblocking system shell command executions")
|
||||
(description "This package provides Lua module for nonblocking system
|
||||
shell command executions.")
|
||||
(license license:bsd-3)))
|
||||
|
|
|
@ -35,6 +35,7 @@
|
|||
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
|
||||
;;; Copyright © 2020 Alexey Abramov <levenson@mmer.org>
|
||||
;;; Copyright © 2020 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -141,6 +142,7 @@
|
|||
#:use-module (guix git-download)
|
||||
#:use-module (guix svn-download)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build-system glib-or-gtk)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system guile)
|
||||
#:use-module (guix build-system perl)
|
||||
|
@ -776,7 +778,7 @@ and corrections. It is based on a Bayesian filter.")
|
|||
(define-public offlineimap
|
||||
(package
|
||||
(name "offlineimap")
|
||||
(version "7.2.4")
|
||||
(version "7.3.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -785,12 +787,14 @@ and corrections. It is based on a Bayesian filter.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0h5q5nk2p2vx86w6rrbs7v70h81dpqqr68x6l3klzl3m0yj9agb1"))))
|
||||
"1gg8ry67i20qapj4z20am9bm67m2q28kixcj7ja75m897vhzarnq"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
`(("asciidoc" ,asciidoc)))
|
||||
(inputs `(("python2-pysqlite" ,python2-pysqlite)
|
||||
("python2-six" ,python2-six)))
|
||||
(inputs
|
||||
`(("python2-pysqlite" ,python2-pysqlite)
|
||||
("python2-rfc6555" ,python2-rfc6555)
|
||||
("python2-six" ,python2-six)))
|
||||
(arguments
|
||||
;; The setup.py script expects python-2.
|
||||
`(#:python ,python-2
|
||||
|
@ -1317,61 +1321,68 @@ compresses it.")
|
|||
(package
|
||||
(name "claws-mail")
|
||||
(version "3.17.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://www.claws-mail.org/releases/claws-mail-" version
|
||||
".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1j6x09621wng0lavh53nwzh9vqjzpspl8kh5azh7kbihpi4ldfb0"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("pkg-config" ,pkg-config)))
|
||||
(inputs `(("bogofilter" ,bogofilter)
|
||||
("curl" ,curl)
|
||||
("dbus-glib" ,dbus-glib)
|
||||
("enchant" ,enchant)
|
||||
("expat" ,expat)
|
||||
("ghostscript" ,ghostscript)
|
||||
("hicolor-icon-theme" ,hicolor-icon-theme)
|
||||
("gnupg" ,gnupg)
|
||||
("gnutls" ,gnutls)
|
||||
("gpgme" ,gpgme)
|
||||
("gtk" ,gtk+-2)
|
||||
("libarchive" ,libarchive)
|
||||
("libcanberra" ,libcanberra)
|
||||
("libetpan" ,libetpan)
|
||||
("libical" ,libical)
|
||||
("libnotify" ,libnotify)
|
||||
("libsm" ,libsm)
|
||||
("libxml2" ,libxml2)
|
||||
("perl" ,perl)
|
||||
("python-2" ,python-2)
|
||||
("mime-info" ,shared-mime-info)
|
||||
("startup-notification" ,startup-notification)))
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append
|
||||
"https://www.claws-mail.org/releases/claws-mail-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "1j6x09621wng0lavh53nwzh9vqjzpspl8kh5azh7kbihpi4ldfb0"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags
|
||||
'("--enable-gnutls" "--enable-pgpmime-plugin" "--enable-enchant"
|
||||
"--enable-ldap")
|
||||
#:make-flags
|
||||
;; Disable updating icon cache since it's done by the profile hook.
|
||||
;; Conflict with other packages in the profile would be inevitable
|
||||
;; otherwise.
|
||||
'("gtk_update_icon_cache=true")
|
||||
#:phases (modify-phases %standard-phases
|
||||
(add-before 'build 'patch-mime
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "src/procmime.c"
|
||||
(("/usr/share/mime/globs")
|
||||
(string-append (assoc-ref inputs "mime-info")
|
||||
"/share/mime/globs"))))))))
|
||||
`(#:configure-flags
|
||||
(list
|
||||
"--enable-gnutls"
|
||||
"--enable-pgpmime-plugin"
|
||||
"--enable-enchant"
|
||||
"--enable-ldap")
|
||||
#:make-flags
|
||||
;; Disable updating icon cache since it's done by the profile hook.
|
||||
;; Conflict with other packages in the profile would be inevitable
|
||||
;; otherwise.
|
||||
(list
|
||||
"gtk_update_icon_cache=true")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'build 'patch-mime
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "src/procmime.c"
|
||||
(("/usr/share/mime/globs")
|
||||
(string-append (assoc-ref inputs "mime-info")
|
||||
"/share/mime/globs"))))))))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("bogofilter" ,bogofilter)
|
||||
("curl" ,curl)
|
||||
("dbus-glib" ,dbus-glib)
|
||||
("enchant" ,enchant)
|
||||
("expat" ,expat)
|
||||
("ghostscript" ,ghostscript)
|
||||
("hicolor-icon-theme" ,hicolor-icon-theme)
|
||||
("gnupg" ,gnupg)
|
||||
("gnutls" ,gnutls)
|
||||
("gpgme" ,gpgme)
|
||||
("gtk" ,gtk+-2)
|
||||
("libarchive" ,libarchive)
|
||||
("libcanberra" ,libcanberra)
|
||||
("libetpan" ,libetpan)
|
||||
("libical" ,libical)
|
||||
("libnotify" ,libnotify)
|
||||
("libsm" ,libsm)
|
||||
("libxml2" ,libxml2)
|
||||
("perl" ,perl)
|
||||
("python-2" ,python-2)
|
||||
("mime-info" ,shared-mime-info)
|
||||
("startup-notification" ,startup-notification)))
|
||||
(synopsis "GTK-based Email client")
|
||||
(description
|
||||
"Claws-Mail is an email client (and news reader) based on GTK+. The
|
||||
appearance and interface are designed to be familiar to new users coming from
|
||||
other popular email clients, as well as experienced users. Almost all commands
|
||||
are accessible with the keyboard. Plus, Claws-Mail is extensible via addons
|
||||
which can add many functionalities to the base client.")
|
||||
(description "Claws-Mail is an email client (and news reader) based on GTK+.
|
||||
The appearance and interface are designed to be familiar to new users coming
|
||||
from other popular email clients, as well as experienced users. Almost all
|
||||
commands are accessible with the keyboard. Plus, Claws-Mail is extensible via
|
||||
addons which can add many functionalities to the base client.")
|
||||
(home-page "https://www.claws-mail.org/")
|
||||
(license license:gpl3+))) ; most files are actually public domain or x11
|
||||
|
||||
|
@ -1965,14 +1976,14 @@ header.")
|
|||
(define-public perl-email-sender
|
||||
(package
|
||||
(name "perl-email-sender")
|
||||
(version "1.300034")
|
||||
(version "1.300035")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/"
|
||||
"Email-Sender-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "14aj9kqa9dr2bdhzn2qvjj2mffj8wjb5397z8qw7qg057fk3ib05"))))
|
||||
(base32 "0yfssp3rqdx1dmgvnygarzgkpkhqm28r5sd0gh87ksk8yxndhjql"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-capture-tiny" ,perl-capture-tiny)))
|
||||
|
@ -3219,16 +3230,16 @@ on the fly. Both programs are written in C and are very fast.")
|
|||
(define-public swaks
|
||||
(package
|
||||
(name "swaks")
|
||||
(version "20190914.0")
|
||||
(version "20201014.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://jetmore.org/john/code/swaks/files/swaks-"
|
||||
version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/jetmore/swaks")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"12awq5z4sdd54cxprj834zajxhkpy4jwhzf1fhigcx1zbhdaacsp"))))
|
||||
(base32 "131i2b1yxhnbqkfk4kky40pfanqw2c5lcgbnjhfqp5cvpawpk2ai"))))
|
||||
(build-system perl-build-system)
|
||||
(inputs
|
||||
`(("perl-io-socket-inet6" ,perl-io-socket-inet6)
|
||||
|
@ -3239,10 +3250,15 @@ on the fly. Both programs are written in C and are very fast.")
|
|||
`(#:tests? #f ; no tests
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'set-build_version
|
||||
(lambda _
|
||||
(substitute* "swaks"
|
||||
(("\"DEVRELEASE\"") (format #f "\"~a\"" ,version)))
|
||||
#true))
|
||||
(delete 'configure)
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(invoke "pod2man" "doc/ref.pod" "swaks.1")))
|
||||
(invoke "pod2man" "doc/base.pod" "swaks.1")))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2020 Alex ter Weele <alex.ter.weele@gmail.com>
|
||||
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -60,13 +61,13 @@ an LDAP server.")
|
|||
(define-public synapse
|
||||
(package
|
||||
(name "synapse")
|
||||
(version "1.14.0")
|
||||
(version "1.20.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "matrix-synapse" version))
|
||||
(sha256
|
||||
(base32
|
||||
"09drdqcjvpk9s3hq5rx9yxsxq0wak5fg5gfaiqfnbnxav2c2v7kq"))))
|
||||
"1sf36vwvy2f9jy6dldq6gqfmh60384i5j64s7yc131b4dp0n7lcw"))))
|
||||
(build-system python-build-system)
|
||||
;; TODO Run tests with ‘PYTHONPATH=. trial3 tests’.
|
||||
(propagated-inputs
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
;;; Copyright © 2016, 2018, 2019, 2020 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019 Evan Straw <evan.straw99@gmail.com>
|
||||
;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -93,7 +94,7 @@ interfacing MPD in the C, C++ & Objective C languages.")
|
|||
(define-public mpd
|
||||
(package
|
||||
(name "mpd")
|
||||
(version "0.21.26")
|
||||
(version "0.22")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
|
@ -102,10 +103,10 @@ interfacing MPD in the C, C++ & Objective C languages.")
|
|||
"/mpd-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1sjfx9ln2zik5fr5mdjy1w184hgjn89v67i85z09x0m6qwhq5rpr"))))
|
||||
"0xlhwdbnww7gjw474j54j94iwrzbzlqvnv6chlkga6yh4pcl5rvx"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags '("-Ddocumentation=true"))) ;the default is 'false'...
|
||||
`(#:configure-flags '("-Ddocumentation=enabled")))
|
||||
(inputs `(("ao" ,ao)
|
||||
("alsa-lib" ,alsa-lib)
|
||||
("avahi" ,avahi)
|
||||
|
@ -184,7 +185,7 @@ player daemon.")
|
|||
(define-public ncmpc
|
||||
(package
|
||||
(name "ncmpc")
|
||||
(version "0.40")
|
||||
(version "0.41")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
|
@ -193,7 +194,7 @@ player daemon.")
|
|||
"/ncmpc-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1pfkf2zl55g7krrp4qi5m8j9h4m9vc3rnz65f7gb75pbmiy5iyh9"))))
|
||||
"1b0kxidz3h3anc006cjrrbb281zl75f1qaip4m3672pczdc2lwwa"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
|
|
@ -30,6 +30,7 @@
|
|||
;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
|
||||
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
|
||||
;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
|
||||
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -138,6 +139,7 @@
|
|||
#:use-module (gnu packages rsync)
|
||||
#:use-module (gnu packages sdl)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages stb)
|
||||
#:use-module (gnu packages tcl)
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (gnu packages tex)
|
||||
|
@ -745,16 +747,64 @@ MusePack, Monkey's Audio, and WavPack files.")
|
|||
" --mcpu=generic --attr=none")))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("llvm" ,llvm-for-extempore)
|
||||
`(("llvm"
|
||||
,(package
|
||||
(inherit llvm-3.8)
|
||||
(name "llvm-for-extempore")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://extempore.moso.com.au/extras/"
|
||||
"llvm-3.8.0.src-patched-for-extempore.tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1svdl6fxn8l01ni8mpm0bd5h856ahv3h9sdzgmymr6fayckjvqzs"))))))
|
||||
("libffi" ,libffi)
|
||||
("jack" ,jack-1)
|
||||
("libsndfile" ,libsndfile)
|
||||
("glfw" ,glfw)
|
||||
("apr" ,apr)
|
||||
("stb-image" ,stb-image-for-extempore)
|
||||
("stb-image"
|
||||
,(let ((revision "1")
|
||||
(commit "152a250a702bf28951bb0220d63bc0c99830c498"))
|
||||
(package
|
||||
(inherit stb-image)
|
||||
(name "stb-image-for-extempore")
|
||||
(version (git-version "0" revision commit))
|
||||
(source
|
||||
(origin (method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/extemporelang/stb")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"0y0aa20pj9311x2ii06zg8xs34idg14hfgldqc5ymizc6cf1qiqv"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments `(#:tests? #f)) ;no tests included
|
||||
(inputs '()))))
|
||||
("kiss-fft" ,kiss-fft-for-extempore)
|
||||
("nanovg" ,nanovg-for-extempore)
|
||||
("portmidi" ,portmidi-for-extempore)
|
||||
("portmidi"
|
||||
,(let ((version "217")
|
||||
(revision "0")
|
||||
(commit "8602f548f71daf5ef638b2f7d224753400cb2158"))
|
||||
(package
|
||||
(inherit portmidi)
|
||||
(name "portmidi-for-extempore")
|
||||
(version (git-version version revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/extemporelang/portmidi")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1qidzl1s3kzhczzm96rcd2ppn27a97k2axgfh1zhvyf0s52d7m4w"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments `(#:tests? #f)) ;no tests
|
||||
(native-inputs '()))))
|
||||
("assimp" ,assimp)
|
||||
("alsa-lib" ,alsa-lib)
|
||||
("portaudio" ,portaudio)
|
||||
|
@ -2184,29 +2234,6 @@ main purpose is to liberate raw audio rendering from audio and MIDI drivers.")
|
|||
using a system-independent interface.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public portmidi-for-extempore
|
||||
(let ((version "217")
|
||||
(revision "0")
|
||||
(commit "8602f548f71daf5ef638b2f7d224753400cb2158"))
|
||||
(package (inherit portmidi)
|
||||
(name "portmidi-for-extempore")
|
||||
(version (git-version version revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/extemporelang/portmidi")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1qidzl1s3kzhczzm96rcd2ppn27a97k2axgfh1zhvyf0s52d7m4w"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments `(#:tests? #f)) ; no tests
|
||||
(native-inputs '())
|
||||
;; Extempore refuses to build on architectures other than x86_64
|
||||
(supported-systems '("x86_64-linux"))
|
||||
(home-page "https://github.com/extemporelang/portmidi/"))))
|
||||
|
||||
(define-public python-pyportmidi
|
||||
(package
|
||||
(name "python-pyportmidi")
|
||||
|
@ -4167,7 +4194,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke
|
|||
(define-public musescore
|
||||
(package
|
||||
(name "musescore")
|
||||
(version "3.5")
|
||||
(version "3.5.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -4176,7 +4203,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1s8767imzv9hclpzvvvsqb3iyiv4y2klr6agf95zwym2xafy8p26"))
|
||||
(base32 "01jj6rbvbjxvmv6q13a22vfqp3id52a5mf2a1vzph2giz7pr313x"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Un-bundle OpenSSL and remove unused libraries.
|
||||
|
|
|
@ -1041,14 +1041,14 @@ receiving NDP messages.")
|
|||
(define-public ethtool
|
||||
(package
|
||||
(name "ethtool")
|
||||
(version "5.8")
|
||||
(version "5.9")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://kernel.org/software/network/"
|
||||
"ethtool/ethtool-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0ikmz36bdfwxscsfcgjmyzg70hwr8i3wpdhcp1vmk3q4ip858frg"))))
|
||||
"0vwam1ay184z237vnl8ivb0rdjjbljp9pj3kjzhc6yzq180k4aai"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
|
|
|
@ -329,7 +329,7 @@ Software distribution.")
|
|||
(define-public ocaml-mccs
|
||||
(package
|
||||
(name "ocaml-mccs")
|
||||
(version "1.1+9")
|
||||
(version "1.1+11")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -338,7 +338,7 @@ Software distribution.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1i0hhkrqi7rqlainlg5pc4hibbx6b5dp3x99gmav8c3sbfvlk9mc"))))
|
||||
"1gsad5cj03256i36wdjqk5pg51pyd48rpjazf0gfaakrn8lk438g"))))
|
||||
(build-system dune-build-system)
|
||||
(propagated-inputs `(("ocaml-cudf" ,ocaml-cudf)))
|
||||
(home-page "https://www.i3s.unice.fr/~cpjm/misc/")
|
||||
|
@ -436,7 +436,7 @@ the opam file format.")
|
|||
(define-public opam
|
||||
(package
|
||||
(name "opam")
|
||||
(version "2.0.6")
|
||||
(version "2.0.7")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -445,7 +445,7 @@ the opam file format.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1vyga2jllsfsikppxyzljm4isfnnnl8k0rb44h8xaddjzdg1d4m8"))))
|
||||
"1p719ccn9wnzk6impsnwr809yh507h8f37dx9nn64b1hsyb5z8ax"))))
|
||||
(build-system ocaml-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
@ -541,7 +541,7 @@ Git-friendly development workflow.")
|
|||
(define-public camlp5
|
||||
(package
|
||||
(name "camlp5")
|
||||
(version "7.12")
|
||||
(version "7.13")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -550,7 +550,7 @@ Git-friendly development workflow.")
|
|||
(commit (string-append "rel" (string-delete #\. version)))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "12ix5g15bys932hyf9gs637iz76m0ji9075d83jfdmx85q30llgf"))))
|
||||
(base32 "1d9spy3f5ahixm8nxxk086kpslzva669a5scn49am0s7vx4i71kp"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("ocaml" ,ocaml)))
|
||||
|
@ -861,12 +861,13 @@ libpanel, librsvg and quartz.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1bykiyc0dc5pkw8x370qkg2kygq9pq7yqzsgczd3y13b6ivm4sdq"))))
|
||||
"1bykiyc0dc5pkw8x370qkg2kygq9pq7yqzsgczd3y13b6ivm4sdq"))
|
||||
(patches (search-patches "unison-fix-ocaml-4.08.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out"
|
||||
"doc")) ; 1.9 MiB of documentation
|
||||
(native-inputs
|
||||
`(("ocaml" ,ocaml-4.07)
|
||||
`(("ocaml" ,ocaml-4.09)
|
||||
;; For documentation
|
||||
("ghostscript" ,ghostscript)
|
||||
("texlive" ,texlive-tiny)
|
||||
|
@ -1212,8 +1213,7 @@ instances and printing them.")
|
|||
"0gddzan4vzs0vklsxhirdjrvx3rp7hhh2yr20vi13nq8rwkn9w29"))))
|
||||
(build-system dune-build-system)
|
||||
(arguments
|
||||
`(#:jbuild? #t
|
||||
#:test-target "tests"))
|
||||
`(#:test-target "tests"))
|
||||
(propagated-inputs
|
||||
`(("ounit" ,ocaml-ounit)
|
||||
("qcheck" ,ocaml-qcheck)))
|
||||
|
@ -1253,10 +1253,10 @@ full_split, cut, rcut, etc..")
|
|||
;; where it says `mit'.
|
||||
(license license:expat)))
|
||||
|
||||
(define-public dune
|
||||
(define dune-bootstrap
|
||||
(package
|
||||
(name "dune")
|
||||
(version "1.11.3")
|
||||
(version "2.7.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -1265,17 +1265,19 @@ full_split, cut, rcut, etc..")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0l4x0x2fz135pljv88zj8y6w1ninsqw0gn1mdxzprd6wbxbyn8wr"))))
|
||||
"10qgx83fq8b522y9mpllrp0l5cgmr2bs5s7aix5img21hlbm34in"))))
|
||||
(build-system ocaml-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f; require odoc
|
||||
#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
|
||||
#:make-flags (list "release"
|
||||
(string-append "PREFIX=" (assoc-ref %outputs "out"))
|
||||
(string-append "LIBDIR=" (assoc-ref %outputs "out")
|
||||
"/lib/ocaml/site-lib"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(mkdir-p "src/dune")
|
||||
(invoke "./configure")
|
||||
#t)))))
|
||||
(home-page "https://github.com/ocaml/dune")
|
||||
|
@ -1285,13 +1287,87 @@ release of Jane Street packages. It reads metadata from @file{dune} files
|
|||
following a very simple s-expression syntax.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public dune-configurator
|
||||
(package
|
||||
(inherit dune-bootstrap)
|
||||
(name "dune-configurator")
|
||||
(build-system dune-build-system)
|
||||
(arguments
|
||||
`(#:package "dune-configurator"
|
||||
#:dune ,dune-bootstrap
|
||||
; require ppx_expect
|
||||
#:tests? #f))
|
||||
(propagated-inputs
|
||||
`(("ocaml-csexp" ,ocaml-csexp)))
|
||||
(synopsis "")
|
||||
(description "")))
|
||||
|
||||
(define-public dune
|
||||
(package
|
||||
(inherit dune-bootstrap)
|
||||
(propagated-inputs
|
||||
`(("dune-configurator" ,dune-configurator)))
|
||||
(properties `((ocaml4.07-variant . ,(delay ocaml4.07-dune))))))
|
||||
|
||||
(define-public ocaml4.07-dune
|
||||
(package-with-ocaml4.07 dune))
|
||||
(package
|
||||
(inherit (package-with-ocaml4.07 dune-bootstrap))
|
||||
(version "1.11.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ocaml/dune")
|
||||
(commit version)))
|
||||
(file-name (git-file-name "dune" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0l4x0x2fz135pljv88zj8y6w1ninsqw0gn1mdxzprd6wbxbyn8wr"))))))
|
||||
|
||||
(define-public ocaml-csexp
|
||||
(package
|
||||
(name "ocaml-csexp")
|
||||
(version "1.3.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ocaml-dune/csexp")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"190zppgvdjgghmrnx67ayzzk86qdjy3yn5fcrcw08wsh93384pl0"))))
|
||||
(build-system dune-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f; FIXME: needs ppx_expect, but which version?
|
||||
#:dune ,dune-bootstrap
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'build 'chmod
|
||||
(lambda _
|
||||
(for-each (lambda (file) (chmod file #o644)) (find-files "." ".*"))
|
||||
#t)))))
|
||||
(propagated-inputs
|
||||
`(("ocaml-result" ,ocaml-result)))
|
||||
(home-page "https://github.com/ocaml-dune/csexp")
|
||||
(synopsis "Parsing and printing of S-expressions in Canonical form")
|
||||
(description "This library provides minimal support for Canonical
|
||||
S-expressions. Canonical S-expressions are a binary encoding of
|
||||
S-expressions that is super simple and well suited for communication
|
||||
between programs.
|
||||
|
||||
This library only provides a few helpers for simple applications. If
|
||||
you need more advanced support, such as parsing from more fancy input
|
||||
sources, you should consider copying the code of this library given
|
||||
how simple parsing S-expressions in canonical form is.
|
||||
|
||||
To avoid a dependency on a particular S-expression library, the only
|
||||
module of this library is parameterised by the type of S-expressions.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public ocaml-migrate-parsetree
|
||||
(package
|
||||
(name "ocaml-migrate-parsetree")
|
||||
(version "1.4.0")
|
||||
(version "1.7.3")
|
||||
(home-page "https://github.com/ocaml-ppx/ocaml-migrate-parsetree")
|
||||
(source
|
||||
(origin
|
||||
|
@ -1302,7 +1378,7 @@ following a very simple s-expression syntax.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0sv1p4615l8gpbah4ya2c40yr6fbvahvv3ks7zhrsgcwcq2ljyr2"))))
|
||||
"0336vz0galjnsazbmkxjwdv1qvdqsx2rgrvp778xgq2fzasz45cx"))))
|
||||
(build-system dune-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f))
|
||||
|
@ -1320,7 +1396,7 @@ functions to the next and/or previous version.")
|
|||
(define-public ocaml-ppx-tools-versioned
|
||||
(package
|
||||
(name "ocaml-ppx-tools-versioned")
|
||||
(version "5.2.3")
|
||||
(version "5.4.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -1329,7 +1405,7 @@ functions to the next and/or previous version.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1hcmpnw26zf70a71r3d2c2c0mn8q084gdn1r36ynng6fv9hq6j0y"))))
|
||||
"07lnj4yzwvwyh5fhpp1dxrys4ddih15jhgqjn59pmgxinbnddi66"))))
|
||||
(build-system dune-build-system)
|
||||
(arguments
|
||||
`(#:test-target "."))
|
||||
|
@ -1362,8 +1438,14 @@ ocaml-migrate-parsetree")
|
|||
(propagated-inputs
|
||||
`(("ocaml-ppx-tools-versioned" ,ocaml-ppx-tools-versioned)))
|
||||
(arguments
|
||||
`(#:tests? #f; Tests fail to build
|
||||
#:jbuild? #t))
|
||||
`(#:package "bitstring"
|
||||
#:tests? #f; Tests fail to build
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'build 'upgrade
|
||||
(lambda _
|
||||
(invoke "dune" "upgrade")
|
||||
#t)))))
|
||||
(home-page "https://github.com/xguerin/bitstring")
|
||||
(synopsis "Bitstrings and bitstring matching for OCaml")
|
||||
(description "Adds Erlang-style bitstrings and matching over bitstrings as
|
||||
|
@ -1376,7 +1458,7 @@ powerful.")
|
|||
(define-public ocaml-result
|
||||
(package
|
||||
(name "ocaml-result")
|
||||
(version "1.4")
|
||||
(version "1.5")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -1385,10 +1467,11 @@ powerful.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0hir97k9i72nfkm6kncxnqpyk400wlsxysbldgcvk0fd9pjnsc3p"))))
|
||||
"166laj8qk7466sdl037c6cjs4ac571hglw4l5qpyll6df07h6a7q"))))
|
||||
(build-system dune-build-system)
|
||||
(arguments
|
||||
`(#:test-target "."))
|
||||
`(#:test-target "."
|
||||
#:dune ,dune-bootstrap))
|
||||
(home-page "https://github.com/janestreet/result")
|
||||
(synopsis "Compatibility Result module")
|
||||
(description "Uses the new result type defined in OCaml >= 4.03 while
|
||||
|
@ -1594,23 +1677,23 @@ most of the POSIX and GNU conventions.")
|
|||
(define-public ocaml-fmt
|
||||
(package
|
||||
(name "ocaml-fmt")
|
||||
(version "0.8.5")
|
||||
(version "0.8.9")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://erratique.ch/software/fmt/releases/fmt-"
|
||||
version ".tbz"))
|
||||
(sha256 (base32
|
||||
"1zj9azcxcn6skmb69ykgmi9z8c50yskwg03wqgh87lypgjdcz060"))))
|
||||
"0gkkkj4x678vxdda4xaw2dd44qjacavsvn5nx8gydfwah6pjbkxk"))))
|
||||
(build-system ocaml-build-system)
|
||||
(native-inputs
|
||||
`(("ocamlbuild" ,ocamlbuild)
|
||||
("opam" ,opam)
|
||||
("topkg" ,ocaml-topkg)))
|
||||
(propagated-inputs
|
||||
`(("result" ,ocaml-result)
|
||||
("ocaml-uchar" ,ocaml-uchar)
|
||||
("cmdliner" ,ocaml-cmdliner)))
|
||||
`(("cmdliner" ,ocaml-cmdliner)
|
||||
("ocaml-stdlib-shims" ,ocaml-stdlib-shims)
|
||||
("ocaml-uchar" ,ocaml-uchar)))
|
||||
(arguments `(#:tests? #f
|
||||
#:build-flags (list "build" "--with-base-unix" "true"
|
||||
"--with-cmdliner" "true")
|
||||
|
@ -1659,14 +1742,14 @@ immutability.")
|
|||
(define-public ocaml-alcotest
|
||||
(package
|
||||
(name "ocaml-alcotest")
|
||||
(version "0.8.5")
|
||||
(version "1.0.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/mirage/alcotest/releases/"
|
||||
"download/" version "/alcotest-" version ".tbz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0szwjxvaahgynsx0apj81jxj3ki6yz4is9mh2wkcbx66qy7n6fvb"))))
|
||||
"1a43ilhwnj58pq3bi78ni46l9wh6klmmgfc93i94mvyx48bzzayx"))))
|
||||
(build-system dune-build-system)
|
||||
(arguments
|
||||
`(#:package "alcotest"
|
||||
|
@ -1677,8 +1760,10 @@ immutability.")
|
|||
`(("ocaml-astring" ,ocaml-astring)
|
||||
("ocaml-cmdliner" ,ocaml-cmdliner)
|
||||
("ocaml-fmt" ,ocaml-fmt)
|
||||
("ocaml-result" ,ocaml-result)
|
||||
("ocaml-uuidm" ,ocaml-uuidm)))
|
||||
("ocaml-re" ,ocaml-re)
|
||||
("ocaml-stdlib-shims" ,ocaml-stdlib-shims)
|
||||
("ocaml-uuidm" ,ocaml-uuidm)
|
||||
("ocaml-uutf" ,ocaml-uutf)))
|
||||
(home-page "https://github.com/mirage/alcotest")
|
||||
(synopsis "Lightweight OCaml test framework")
|
||||
(description "Alcotest exposes simple interface to perform unit tests. It
|
||||
|
@ -1866,8 +1951,7 @@ locks or other synchronization primitives.")
|
|||
"1n12i1rmn9cjn6p8yr6qn5dwbrwvym7ckr7bla04a1xnq8qlcyj7"))))
|
||||
(build-system dune-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f; require lwt_ppx
|
||||
#:jbuild? #t))
|
||||
`(#:tests? #f)); require lwt_ppx
|
||||
(propagated-inputs
|
||||
`(("lwt" ,ocaml-lwt)))
|
||||
(properties `((upstream-name . "lwt_log")))
|
||||
|
@ -1880,14 +1964,14 @@ ocaml lwt.")
|
|||
(define-public ocaml-logs
|
||||
(package
|
||||
(name "ocaml-logs")
|
||||
(version "0.6.2")
|
||||
(version "0.7.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://erratique.ch/software/logs/releases/"
|
||||
"logs-" version ".tbz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1khbn7jqpid83zn8rvyh1x1sirls7zc878zj4fz985m5xlsfy853"))))
|
||||
"1jnmd675wmsmdwyb5mx5b0ac66g4c6gpv5s4mrx2j6pb0wla1x46"))))
|
||||
(build-system ocaml-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f
|
||||
|
@ -2026,7 +2110,8 @@ representation of the data.")
|
|||
`(#:tests? #f; no tests
|
||||
#:package "gen"
|
||||
#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(propagated-inputs
|
||||
`(("ocaml-odoc" ,ocaml4.07-odoc)))
|
||||
(native-inputs
|
||||
|
@ -2071,7 +2156,8 @@ and consumable.")
|
|||
(for-each (lambda (file) (chmod file #o644)) (find-files "." ".*"))
|
||||
#t)))
|
||||
#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(native-inputs
|
||||
`(("ocamlbuild" ,(package-with-ocaml4.07 ocamlbuild))))
|
||||
(propagated-inputs
|
||||
|
@ -2234,7 +2320,7 @@ multitude of other network protocols (FTP/SMTP/RTSP/etc).")
|
|||
(define-public ocaml-base64
|
||||
(package
|
||||
(name "ocaml-base64")
|
||||
(version "3.2.0")
|
||||
(version "3.4.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -2243,8 +2329,19 @@ multitude of other network protocols (FTP/SMTP/RTSP/etc).")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ilw3zj0w6cq7i4pvr8m2kv5l5f2y9aldmv72drlwwns013b1gwy"))))
|
||||
"0aa1m1sr8p1hgc10p96mij7p22r3qcysvzy6fz2jqamfgswchgqc"))))
|
||||
(build-system dune-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'build 'fix-dune
|
||||
(lambda _
|
||||
;; This package expects dune 2, which unbundled its configurator
|
||||
;; module. We still use dune 1, so we need to let it know we need
|
||||
;; its internal module.
|
||||
(substitute* "config/dune"
|
||||
(("dune-configurator") "dune.configurator"))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("ocaml-alcotest" ,ocaml-alcotest)
|
||||
("ocaml-bos" ,ocaml-bos)
|
||||
|
@ -2752,7 +2849,8 @@ writing to these structures, and they are accessed via the Bigarray module.")
|
|||
`(#:package "ezjsonm"
|
||||
#:test-target "."
|
||||
#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(native-inputs
|
||||
`(("ocaml-alcotest" ,(package-with-ocaml4.07 ocaml-alcotest))))
|
||||
(propagated-inputs
|
||||
|
@ -2790,7 +2888,8 @@ JSON.")
|
|||
(substitute* "lib/uri.ml"
|
||||
(("Re.get") "Re.Group.get")))))
|
||||
#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(native-inputs
|
||||
`(("ocaml-ounit" ,(package-with-ocaml4.07 ocaml-ounit))
|
||||
("ocaml-ppx-sexp-conv" ,ocaml4.07-ppx-sexp-conv)))
|
||||
|
@ -2818,7 +2917,7 @@ JSON.")
|
|||
"1fc95q2ypck6m6rv3kiawwilh5ac93v2hcp823mj608d5kj79xkb"))))
|
||||
(build-system dune-build-system)
|
||||
(arguments
|
||||
`(#:jbuild? #t
|
||||
`(#:package "easy-format"
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'build 'make-writable
|
||||
|
@ -3118,7 +3217,8 @@ library is currently designed for Unicode Standard 3.2.")
|
|||
(build-system dune-build-system)
|
||||
(arguments
|
||||
`(#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(propagated-inputs
|
||||
`(("ocaml-result" ,(package-with-ocaml4.07 ocaml-result))
|
||||
("ocaml-camomile" ,(package-with-ocaml4.07 ocaml-camomile))))
|
||||
|
@ -3147,10 +3247,10 @@ function that follows the prototype of POSIX's wcwidth.")
|
|||
(base32 "0pa9awinqr0plp4b2az78dwpvh01pwaljnn5ydg8mc6hi7rmir55"))))
|
||||
(build-system dune-build-system)
|
||||
(arguments
|
||||
`(#:jbuild? #t
|
||||
#:test-target "."
|
||||
`(#:test-target "."
|
||||
#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(propagated-inputs
|
||||
`(("ocaml-camomile" ,(package-with-ocaml4.07 ocaml-camomile))
|
||||
("ocaml-charinfo-width" ,ocaml4.07-charinfo-width)
|
||||
|
@ -3180,7 +3280,8 @@ connect an engine to your inputs and rendering functions to get an editor.")
|
|||
`(#:build-flags (list "--profile" "release")
|
||||
#:tests? #f
|
||||
#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(propagated-inputs
|
||||
`(("ocaml-lwt" ,(package-with-ocaml4.07 ocaml-lwt))
|
||||
("ocaml-lwt-log" ,(package-with-ocaml4.07 ocaml-lwt-log))
|
||||
|
@ -3213,10 +3314,10 @@ instead of bindings to a C library.")
|
|||
(base32 "1bl4943qpi3qy152dbdm5glhx19zsiylmn4rcxi8l66g58hikyjp"))))
|
||||
(build-system dune-build-system)
|
||||
(arguments
|
||||
`(#:jbuild? #t
|
||||
#:test-target "."
|
||||
`(#:test-target "."
|
||||
#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(native-inputs
|
||||
`(("cppo" ,(package-with-ocaml4.07 ocaml-cppo))))
|
||||
(propagated-inputs
|
||||
|
@ -3518,12 +3619,13 @@ syntax checking on dedukti files.")
|
|||
;see home page README for further information
|
||||
`(#:tests? #f
|
||||
#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(inputs
|
||||
`(("ocaml-base" ,ocaml4.07-base)
|
||||
("ocaml-migrate-parsetree"
|
||||
,(package-with-ocaml4.07 ocaml-migrate-parsetree))
|
||||
("ocaml-compiler-libs" ,(package-with-ocaml4.07 ocaml-compiler-libs))
|
||||
("ocaml-compiler-libs" ,ocaml4.07-compiler-libs)
|
||||
("ocaml-sexplib0" ,ocaml4.07-sexplib0)
|
||||
("ocaml-stdio" ,ocaml4.07-stdio)
|
||||
("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
|
||||
|
@ -3591,7 +3693,8 @@ or quantified formulas.")
|
|||
(arguments
|
||||
`(#:test-target "."
|
||||
#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(synopsis "Parsing library based on Earley Algorithm")
|
||||
(description "Earley is a parser combinator library base on Earley's
|
||||
algorithm. It is intended to be used in conjunction with an OCaml syntax
|
||||
|
@ -3728,6 +3831,13 @@ serializers and deserializers from type definitions.")
|
|||
(base32
|
||||
"197xjp4vmzdymf2ndinw271ihpf45h04mx8gqj8ypspxdr5fj1a5"))))
|
||||
(build-system dune-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'build 'upgrade
|
||||
(lambda _
|
||||
(invoke "dune" "upgrade")
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("ocaml-fmt" ,ocaml-fmt)
|
||||
("ocaml-astring" ,ocaml-astring)
|
||||
|
@ -3764,10 +3874,11 @@ format}. @code{craml} is released as a single binary (called @code{craml}).")
|
|||
(native-inputs
|
||||
`(("ocaml-findlib" ,ocaml-findlib)))
|
||||
(arguments
|
||||
`(#:jbuild? #t
|
||||
`(#:package "merlin"
|
||||
#:tests? #f ;; Errors in tests in version 3.2.2
|
||||
#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(synopsis "Context sensitive completion for OCaml in Vim and Emacs")
|
||||
(description "Merlin is an editor service that provides modern IDE
|
||||
features for OCaml. Emacs and Vim support is provided out-of-the-box.
|
||||
|
@ -3913,7 +4024,8 @@ exclusion algorithms are typical examples of such systems.")
|
|||
(arguments
|
||||
`(#:tests? #f ;no tests
|
||||
#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(synopsis "Library containing the definition of S-expressions and some
|
||||
base converters")
|
||||
(description "Part of Jane Street's Core library The Core suite of
|
||||
|
@ -3939,7 +4051,8 @@ that was developed by Jane Street, the largest industrial user of OCaml.")
|
|||
(build-system dune-build-system)
|
||||
(arguments
|
||||
`(#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(inputs
|
||||
`(("ocaml-sexplib0" ,ocaml4.07-sexplib0)))
|
||||
(synopsis "S-expression parsing library")
|
||||
|
@ -3988,7 +4101,8 @@ parsexp_io.")
|
|||
(build-system dune-build-system)
|
||||
(arguments
|
||||
`(#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(propagated-inputs
|
||||
`(("ocaml-num" ,(package-with-ocaml4.07 ocaml-num))
|
||||
("ocaml-parsexp" ,ocaml4.07-parsexp)
|
||||
|
@ -4026,7 +4140,8 @@ functionality for parsing and pretty-printing s-expressions.")
|
|||
(lambda _
|
||||
(invoke "dune" "build" "@install" "--profile=release"))))
|
||||
#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(synopsis
|
||||
"Full standard library replacement for OCaml")
|
||||
(description
|
||||
|
@ -4041,9 +4156,9 @@ provided by companion libraries such as
|
|||
@url{https://github.com/janestreet/stdio, ocaml-stdio}.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public ocaml-compiler-libs
|
||||
(define-public ocaml4.07-compiler-libs
|
||||
(package
|
||||
(name "ocaml-compiler-libs")
|
||||
(name "ocaml4.07-compiler-libs")
|
||||
(version "0.11.0")
|
||||
(home-page "https://github.com/janestreet/ocaml-compiler-libs")
|
||||
(source
|
||||
|
@ -4058,7 +4173,10 @@ provided by companion libraries such as
|
|||
"03jds7bszh8wwpfwxb3dg0gyr1j1872wxwx1xqhry5ir0i84bg0s"))))
|
||||
(build-system dune-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f)) ;no tests
|
||||
`(#:tests? #f ;no tests
|
||||
#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(properties `((upstream-name . "ocaml-compiler-libs")))
|
||||
(synopsis "Compiler libraries repackaged")
|
||||
(description "This package simply repackages the OCaml compiler libraries
|
||||
|
@ -4088,7 +4206,8 @@ is now @code{Ocaml_common.Ast_helper}.")
|
|||
(arguments
|
||||
`(#:tests? #f ;no tests
|
||||
#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(synopsis "Standard IO library for OCaml")
|
||||
(description
|
||||
"Stdio implements simple input/output functionalities for OCaml. It
|
||||
|
@ -4141,7 +4260,7 @@ as part of the same ocaml-migrate-parsetree driver.")
|
|||
(build-system dune-build-system)
|
||||
(propagated-inputs
|
||||
`(("ocaml-base" ,ocaml4.07-base)
|
||||
("ocaml-compiler-libs" ,(package-with-ocaml4.07 ocaml-compiler-libs))
|
||||
("ocaml-compiler-libs" ,ocaml4.07-compiler-libs)
|
||||
("ocaml-migrate-parsetree"
|
||||
,(package-with-ocaml4.07 ocaml-migrate-parsetree))
|
||||
("ocaml-ppx-derivers" ,(package-with-ocaml4.07 ocaml-ppx-derivers))
|
||||
|
@ -4169,7 +4288,8 @@ as part of the same ocaml-migrate-parsetree driver.")
|
|||
all))))
|
||||
#t)))
|
||||
#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(synopsis
|
||||
"Base library and tools for ppx rewriters")
|
||||
(description
|
||||
|
@ -4208,7 +4328,8 @@ OCaml AST in the OCaml syntax;
|
|||
("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
|
||||
(arguments
|
||||
`(#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(properties `((upstream-name . "ppx_compare")))
|
||||
(home-page "https://github.com/janestreet/ppx_compare")
|
||||
(synopsis "Generation of comparison functions from types")
|
||||
|
@ -4237,7 +4358,8 @@ by making sure that you only compare comparable values.")
|
|||
;; No tests
|
||||
`(#:tests? #f
|
||||
#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(propagated-inputs
|
||||
`(("ocaml-base" ,ocaml4.07-base)
|
||||
("ocaml-migrate-parsetree"
|
||||
|
@ -4268,7 +4390,8 @@ of a record and create new record values.")
|
|||
;; No tests
|
||||
`(#:tests? #f
|
||||
#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(propagated-inputs
|
||||
`(("ocaml-base" ,ocaml4.07-base)
|
||||
("ocaml-migrate-parsetree"
|
||||
|
@ -4302,7 +4425,8 @@ standard library.")
|
|||
("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
|
||||
(arguments
|
||||
`(#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(properties `((upstream-name . "ppx_fields_conv")))
|
||||
(home-page "https://github.com/janestreet/ppx_fields_conv")
|
||||
(synopsis "Generation of accessor and iteration functions for ocaml records")
|
||||
|
@ -4333,7 +4457,8 @@ new record values.")
|
|||
("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
|
||||
(arguments
|
||||
`(#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(properties `((upstream-name . "ppx_sexp_conv")))
|
||||
(home-page "https://github.com/janestreet/ppx_sexp_conv")
|
||||
(synopsis "Generation of S-expression conversion functions from type definitions")
|
||||
|
@ -4363,7 +4488,8 @@ definitions.")
|
|||
("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
|
||||
(arguments
|
||||
`(#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(properties
|
||||
`((upstream-name . "ppx_variants_conv")))
|
||||
(home-page
|
||||
|
@ -4395,7 +4521,8 @@ variant types.")
|
|||
("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
|
||||
(arguments
|
||||
`(#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(properties `((upstream-name . "ppx_custom_printf")))
|
||||
(home-page "https://github.com/janestreet/ppx_custom_printf")
|
||||
(synopsis "Printf-style format-strings for user-defined string conversion")
|
||||
|
@ -4427,7 +4554,8 @@ string conversion.")
|
|||
,(package-with-ocaml4.07 ocaml-migrate-parsetree))))
|
||||
(arguments
|
||||
`(#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(properties `((upstream-name . "bin_prot")))
|
||||
(home-page "https://github.com/janestreet/bin_prot")
|
||||
(synopsis "Binary protocol generator")
|
||||
|
@ -4493,7 +4621,8 @@ storage of large amounts of data.")
|
|||
("ocaml-ppxlib" ,ocaml4.07-ppxlib)))
|
||||
(arguments
|
||||
`(#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(properties `((upstream-name . "ppx_hash")))
|
||||
(home-page "https://github.com/janestreet/ppx_hash")
|
||||
(synopsis "Generation of hash functions from type expressions and definitions")
|
||||
|
@ -4518,7 +4647,8 @@ hash functions from type exrpessions and definitions.")
|
|||
(arguments
|
||||
`(#:tests? #f; no test suite
|
||||
#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(propagated-inputs
|
||||
`(("ocaml-base" ,ocaml4.07-base)
|
||||
("ocaml-migrate-parsetree"
|
||||
|
@ -4549,7 +4679,8 @@ many values).")
|
|||
;; No tests
|
||||
`(#:tests? #f
|
||||
#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(propagated-inputs
|
||||
`(("ocaml-ppx-inline-test" ,ocaml4.07-ppx-inline-test)
|
||||
("ocaml-migrate-parsetree"
|
||||
|
@ -4578,7 +4709,8 @@ many values).")
|
|||
;; broken tests
|
||||
`(#:tests? #f
|
||||
#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(propagated-inputs
|
||||
`(("ocaml-base" ,ocaml4.07-base)
|
||||
("ocaml-migrate-parsetree"
|
||||
|
@ -4607,7 +4739,8 @@ many values).")
|
|||
(arguments
|
||||
`(#:tests? #f
|
||||
#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(propagated-inputs `(("ocaml-base" ,ocaml4.07-base)))
|
||||
(home-page "https://github.com/janestreet/typerep")
|
||||
(synopsis "Typerep is a library for runtime types")
|
||||
|
@ -4629,7 +4762,8 @@ many values).")
|
|||
(build-system dune-build-system)
|
||||
(arguments
|
||||
`(#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(propagated-inputs
|
||||
`(("ocaml-base" ,ocaml4.07-base)
|
||||
("ocaml-ppx-here" ,ocaml4.07-ppx-here)
|
||||
|
@ -4659,7 +4793,8 @@ ocaml values.")
|
|||
(build-system dune-build-system)
|
||||
(arguments
|
||||
`(#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(propagated-inputs
|
||||
`(("ocaml-base" ,ocaml4.07-base)
|
||||
("ocaml-ppx-here" ,ocaml4.07-ppx-here)
|
||||
|
@ -4693,7 +4828,8 @@ context such as function arguments.")
|
|||
;; No tests
|
||||
`(#:tests? #f
|
||||
#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(propagated-inputs
|
||||
`(("ocaml-migrate-parsetree"
|
||||
,(package-with-ocaml4.07 ocaml-migrate-parsetree))
|
||||
|
@ -4722,7 +4858,8 @@ context such as function arguments.")
|
|||
;; No tests
|
||||
`(#:tests? #f
|
||||
#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(propagated-inputs
|
||||
`(("ocaml-base" ,ocaml4.07-base)
|
||||
("ocaml-migrate-parsetree"
|
||||
|
@ -4751,7 +4888,8 @@ else expression.")
|
|||
(build-system dune-build-system)
|
||||
(arguments
|
||||
`(#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(propagated-inputs
|
||||
`(("ocaml-base" ,ocaml4.07-base)
|
||||
("ocaml-stdio" ,ocaml4.07-stdio)
|
||||
|
@ -4779,7 +4917,8 @@ size, the version of the compiler, ...")
|
|||
(build-system dune-build-system)
|
||||
(arguments
|
||||
`(#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(propagated-inputs
|
||||
`(("ocaml-base" ,ocaml4.07-base)
|
||||
("ocaml-migrate-parsetree"
|
||||
|
@ -4807,7 +4946,8 @@ match expressions, and if expressions.")
|
|||
(build-system dune-build-system)
|
||||
(arguments
|
||||
`(#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(propagated-inputs
|
||||
`(("ocaml-base" ,ocaml4.07-base)
|
||||
("ocaml-ppx-here" ,ocaml4.07-ppx-here)
|
||||
|
@ -4836,7 +4976,8 @@ position.")
|
|||
(build-system dune-build-system)
|
||||
(arguments
|
||||
`(#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(propagated-inputs
|
||||
`(("ocaml-base" ,ocaml4.07-base)
|
||||
("ocaml-ppx-compare" ,ocaml4.07-ppx-compare)
|
||||
|
@ -4867,9 +5008,9 @@ useful errors on failure.")
|
|||
"1wawsbjfkri4sw52n8xqrzihxc3xfpdicv3ahz83a1rsn4lb8j5q"))))
|
||||
(build-system dune-build-system)
|
||||
(arguments
|
||||
`(#:jbuild? #t
|
||||
#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
`(#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(propagated-inputs
|
||||
`(("ocaml-base" ,ocaml4.07-base)
|
||||
("ocaml-ppx-assert" ,ocaml4.07-ppx-assert)
|
||||
|
@ -4912,7 +5053,8 @@ to denote the expected output.")
|
|||
;; No tests
|
||||
`(#:tests? #f
|
||||
#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(propagated-inputs
|
||||
`(("ocaml-base" ,ocaml4.07-base)
|
||||
("ocaml-migrate-parsetree"
|
||||
|
@ -4944,7 +5086,8 @@ packages.")
|
|||
(arguments
|
||||
`(#:test-target "."
|
||||
#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(propagated-inputs
|
||||
`(("ocaml-base" ,ocaml4.07-base)
|
||||
("ocaml-typerep" ,ocaml4.07-typerep)
|
||||
|
@ -4974,7 +5117,8 @@ from type definitions.")
|
|||
(arguments
|
||||
`(#:test-target "."
|
||||
#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(propagated-inputs
|
||||
`(("ocaml-ppx-compare" ,ocaml4.07-ppx-compare)
|
||||
("ocaml-ppx-enumerate" ,ocaml4.07-ppx-enumerate)
|
||||
|
@ -5011,7 +5155,8 @@ verification tool.")
|
|||
;; Cyclic dependency with ocaml-ppx-jane
|
||||
`(#:tests? #f
|
||||
#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(propagated-inputs
|
||||
`(("ocaml-base" ,ocaml4.07-base)
|
||||
("ocaml-bin-prot" ,ocaml4.07-bin-prot)
|
||||
|
@ -5042,7 +5187,8 @@ functions from type definitions.")
|
|||
(arguments
|
||||
`(#:test-target "."
|
||||
#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(propagated-inputs
|
||||
`(("ocaml-ppx-assert" ,ocaml4.07-ppx-assert)
|
||||
("ocaml-ppx-base" ,ocaml4.07-ppx-base)
|
||||
|
@ -5087,7 +5233,8 @@ driver including all standard Jane Street ppx rewriters.")
|
|||
(build-system dune-build-system)
|
||||
(arguments
|
||||
`(#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(propagated-inputs
|
||||
`(("ocaml-base" ,ocaml4.07-base)
|
||||
("ocaml-ppx-jane" ,ocaml4.07-ppx-jane)
|
||||
|
@ -5105,9 +5252,9 @@ This library implements a splittable pseudo-random number generator that sacrifi
|
|||
cryptographic-quality randomness in favor of performance.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public ocaml-jane-street-headers
|
||||
(define-public ocaml4.07-jane-street-headers
|
||||
(package
|
||||
(name "ocaml-jane-street-headers")
|
||||
(name "ocaml4.07-jane-street-headers")
|
||||
(version "0.11.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
|
@ -5119,7 +5266,10 @@ cryptographic-quality randomness in favor of performance.")
|
|||
"0afhzm08l9v883fhpqqh2lmy7az609pxif40bp7x1sk8c0yszqsh"))))
|
||||
(build-system dune-build-system)
|
||||
(arguments
|
||||
`(#:test-target "."))
|
||||
`(#:test-target "."
|
||||
#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(home-page "https://github.com/janestreet/jane-street-headers")
|
||||
(synopsis "Jane Street C header files")
|
||||
(description "This package provides C header files shared between the
|
||||
|
@ -5143,7 +5293,8 @@ various Jane Street packages.")
|
|||
;; No tests
|
||||
`(#:tests? #f
|
||||
#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(propagated-inputs
|
||||
`(("ocaml-base" ,ocaml4.07-base)
|
||||
("ocaml-stdio" ,ocaml4.07-stdio)))
|
||||
|
@ -5186,7 +5337,8 @@ Configurator allows one to:
|
|||
(("/bin/echo") (which "echo")))
|
||||
#t)))
|
||||
#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(native-inputs
|
||||
`(("ocaml-ppx-expect" ,ocaml4.07-ppx-expect)))
|
||||
(home-page "https://github.com/janestreet/spawn")
|
||||
|
@ -5225,11 +5377,11 @@ thousands of times faster than fork.
|
|||
"0pzl8n09z4f3i7z2wq4cjxfqrr8mj6xcdp7rbg0nxap2zdhjgvrq"))))
|
||||
(build-system dune-build-system)
|
||||
(arguments
|
||||
`(#:jbuild? #t
|
||||
;; Require a cyclic dependency: core_extended
|
||||
#:tests? #f
|
||||
`(#:package "core"
|
||||
#:tests? #f; Require a cyclic dependency: core_extended
|
||||
#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(propagated-inputs
|
||||
`(("ocaml-base" ,ocaml4.07-base)
|
||||
("ocaml-configurator" ,ocaml4.07-configurator)
|
||||
|
@ -5268,14 +5420,14 @@ standard library that was developed by Jane Street.")
|
|||
;; Cyclic dependency with ocaml-core
|
||||
`(#:tests? #f
|
||||
#:ocaml ,ocaml-4.07
|
||||
#:findlib ,ocaml4.07-findlib))
|
||||
#:findlib ,ocaml4.07-findlib
|
||||
#:dune ,ocaml4.07-dune))
|
||||
(propagated-inputs
|
||||
`(("ocaml-base" ,ocaml4.07-base)
|
||||
("ocaml-bin-prot" ,ocaml4.07-bin-prot)
|
||||
("ocaml-configurator" ,ocaml4.07-configurator)
|
||||
("ocaml-fieldslib" ,ocaml4.07-fieldslib)
|
||||
("ocaml-jane-street-headers"
|
||||
,(package-with-ocaml4.07 ocaml-jane-street-headers))
|
||||
("ocaml-jane-street-headers" ,ocaml4.07-jane-street-headers)
|
||||
("ocaml-ppx-assert" ,ocaml4.07-ppx-assert)
|
||||
("ocaml-ppx-base" ,ocaml4.07-ppx-base)
|
||||
("ocaml-ppx-hash" ,ocaml4.07-ppx-hash)
|
||||
|
@ -5375,7 +5527,7 @@ stream, and convert everything to UTF-8.")
|
|||
("ocaml-markup" ,ocaml-markup)))
|
||||
(native-inputs
|
||||
`(("ocaml-alcotest" ,ocaml-alcotest)))
|
||||
(arguments `(#:jbuild? #t))
|
||||
(arguments `(#:package "tyxml"))
|
||||
(home-page "https://github.com/ocsigen/tyxml/")
|
||||
(synopsis "TyXML is a library for building correct HTML and SVG documents")
|
||||
(description "TyXML provides a set of convenient combinators that uses the
|
||||
|
|
|
@ -144,7 +144,7 @@
|
|||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.savannah.gnu.org/r/guix.git")
|
||||
(url "https://git.savannah.gnu.org/git/guix.git")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
|
@ -1242,7 +1242,7 @@ for packaging and deployment of cross-compiled Windows applications.")
|
|||
(define-public libostree
|
||||
(package
|
||||
(name "libostree")
|
||||
(version "2020.6")
|
||||
(version "2020.7")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -1250,7 +1250,7 @@ for packaging and deployment of cross-compiled Windows applications.")
|
|||
"https://github.com/ostreedev/ostree/releases/download/v"
|
||||
(version-major+minor version) "/libostree-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "0wk9fgj9jl25ns2hcgcb6j24k5mvfn13b02ka0p8l4hdh8c4hpc6"))))
|
||||
(base32 "0clriq2ypz1fycd6mpjyrhzid44svzpzw0amnank593h69b216ax"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
;;; Copyright © 2015, 2016, 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 Pjotr Prins <pjotr.guix@thebird.nl>
|
||||
;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016, 2020 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
|
||||
;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
|
||||
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
|
@ -108,7 +108,7 @@ and they are executed on lists of files, hosts, users or other items.")
|
|||
(define-public slurm
|
||||
(package
|
||||
(name "slurm")
|
||||
(version "19.05.3-2")
|
||||
(version "20.02.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -116,7 +116,7 @@ and they are executed on lists of files, hosts, users or other items.")
|
|||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0qj4blfymrd2ry2qmb58l3jbr4jwygc3adcfw7my27rippcijlyc"))
|
||||
"08qp60rxsny6fcx58xim88avx7f7h7q1vpq3lfw6nlha04r7lan3"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
@ -140,19 +140,19 @@ and they are executed on lists of files, hosts, users or other items.")
|
|||
#t))))
|
||||
;; FIXME: More optional inputs could be added,
|
||||
;; in particular mysql and gtk+.
|
||||
(inputs `(("expect" ,expect)
|
||||
("freeipmi" ,freeipmi)
|
||||
(inputs `(("freeipmi" ,freeipmi)
|
||||
("hwloc" ,hwloc-2 "lib")
|
||||
("json-c" ,json-c)
|
||||
("linux-pam" , linux-pam)
|
||||
("munge" ,munge)
|
||||
("numactl" ,numactl)
|
||||
("perl" ,perl)
|
||||
("python" ,python-wrapper)
|
||||
("readline" ,readline)))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("pkg-config" ,pkg-config)))
|
||||
("expect" ,expect)
|
||||
("perl" ,perl)
|
||||
("pkg-config" ,pkg-config)
|
||||
("python" ,python-wrapper)))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
|
|
@ -28,6 +28,7 @@
|
|||
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
|
||||
;;; Copyright © 2020 Jean-Baptiste Note <jean-baptiste.note@m4x.org>
|
||||
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
|
||||
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -381,8 +382,17 @@ them out, at the source.")
|
|||
"13hw532fmzc5xjpy75d74rlfdlxf2a8ibb4hyy9c0s92wsgf0qsj"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
;; XXX: have RUNPATH issue.
|
||||
'(#:configure-flags '("--disable-python-bindings")))
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'set-LDFLAGS
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(setenv "LDFLAGS"
|
||||
(string-append
|
||||
"-Wl,-rpath="
|
||||
(assoc-ref outputs "out") "/lib"))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("python" ,python-wrapper)))
|
||||
(inputs
|
||||
`(("cracklib" ,cracklib)))
|
||||
(synopsis "Password quality checker")
|
||||
|
|
|
@ -0,0 +1,89 @@
|
|||
Clang attempts to guess file names based on the OS and distro (yes!),
|
||||
but unfortunately, that doesn't work for us.
|
||||
|
||||
This patch makes it easy to insert libc's $libdir so that Clang passes the
|
||||
correct absolute file name of crt1.o etc. to 'ld'. It also disables all
|
||||
the distro-specific stuff and removes the hard-coded FHS directory names
|
||||
to make sure Clang also works on non-Guix systems.
|
||||
|
||||
diff --git a/lib/Driver/ToolChains/Gnu.cpp b/lib/Driver/ToolChains/Gnu.cpp
|
||||
--- a/lib/Driver/ToolChains/Gnu.cpp
|
||||
+++ b/lib/Driver/ToolChains/Gnu.cpp
|
||||
@@ -2797,7 +2797,7 @@ void Generic_GCC::AddMultilibPaths(const Driver &D,
|
||||
// the cross. Note that GCC does include some of these directories in some
|
||||
// configurations but this seems somewhere between questionable and simply
|
||||
// a bug.
|
||||
- if (StringRef(LibPath).startswith(SysRoot)) {
|
||||
+ if (0) {
|
||||
addPathIfExists(D, LibPath + "/" + MultiarchTriple, Paths);
|
||||
addPathIfExists(D, LibPath + "/../" + OSLibDir, Paths);
|
||||
}
|
||||
@@ -2811,6 +2811,10 @@ void Generic_GCC::AddMultiarchPaths(const Driver &D,
|
||||
// Try walking via the GCC triple path in case of biarch or multiarch GCC
|
||||
// installations with strange symlinks.
|
||||
if (GCCInstallation.isValid()) {
|
||||
+
|
||||
+// The following code would end up adding things like
|
||||
+// "/usr/lib/x86_64-unknown-linux-gnu/../../lib64" to the search path.
|
||||
+#if 0
|
||||
addPathIfExists(D,
|
||||
SysRoot + "/usr/lib/" + GCCInstallation.getTriple().str() +
|
||||
"/../../" + OSLibDir,
|
||||
@@ -2823,6 +2827,7 @@ void Generic_GCC::AddMultiarchPaths(const Driver &D,
|
||||
D, GCCInstallation.getInstallPath() + BiarchSibling.gccSuffix(),
|
||||
Paths);
|
||||
}
|
||||
+#endif // Guix
|
||||
|
||||
// See comments above on the multilib variant for details of why this is
|
||||
// included even from outside the sysroot.
|
||||
diff --git a/lib/Driver/ToolChains/Linux.cpp b/lib/Driver/ToolChains/Linux.cpp
|
||||
--- a/lib/Driver/ToolChains/Linux.cpp
|
||||
+++ b/lib/Driver/ToolChains/Linux.cpp
|
||||
@@ -219,6 +219,9 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
|
||||
|
||||
Generic_GCC::PushPPaths(PPaths);
|
||||
|
||||
+// Comment out the distro-specific tweaks so that they don't bite when
|
||||
+// using Guix on a foreign distro.
|
||||
+#if 0
|
||||
Distro Distro(D.getVFS(), Triple);
|
||||
|
||||
if (Distro.IsAlpineLinux() || Triple.isAndroid()) {
|
||||
@@ -284,6 +287,7 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
|
||||
|
||||
if (IsAndroid || Distro.IsOpenSUSE())
|
||||
ExtraOpts.push_back("--enable-new-dtags");
|
||||
+#endif // Guix
|
||||
|
||||
// The selection of paths to try here is designed to match the patterns which
|
||||
// the GCC driver itself uses, as this is part of the GCC-compatible driver.
|
||||
@@ -310,6 +314,8 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
|
||||
addPathIfExists(D, SysRoot + "/lib/" + MultiarchTriple, Paths);
|
||||
addPathIfExists(D, SysRoot + "/lib/../" + OSLibDir, Paths);
|
||||
|
||||
+// This requires the commented distro tweaks above.
|
||||
+#if 0
|
||||
if (IsAndroid) {
|
||||
// Android sysroots contain a library directory for each supported OS
|
||||
// version as well as some unversioned libraries in the usual multiarch
|
||||
@@ -338,6 +344,7 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
|
||||
addPathIfExists(D, SysRoot + "/" + OSLibDir + "/" + ABIName, Paths);
|
||||
addPathIfExists(D, SysRoot + "/usr/" + OSLibDir + "/" + ABIName, Paths);
|
||||
}
|
||||
+#endif // Guix
|
||||
|
||||
Generic_GCC::AddMultiarchPaths(D, SysRoot, OSLibDir, Paths);
|
||||
|
||||
@@ -349,8 +356,9 @@ Linux::Linux(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
|
||||
if (StringRef(D.Dir).startswith(SysRoot))
|
||||
addPathIfExists(D, D.Dir + "/../lib", Paths);
|
||||
|
||||
- addPathIfExists(D, SysRoot + "/lib", Paths);
|
||||
- addPathIfExists(D, SysRoot + "/usr/lib", Paths);
|
||||
+ // Add libc's lib/ directory to the search path, so that crt1.o, crti.o,
|
||||
+ // and friends can be found.
|
||||
+ addPathIfExists(D, "@GLIBC_LIBDIR@", Paths);
|
||||
}
|
||||
|
||||
ToolChain::CXXStdlibType Linux::GetDefaultCXXStdlibType() const {
|
|
@ -0,0 +1,185 @@
|
|||
diff --git a/auto/unix b/auto/unix
|
||||
index 10835f6c..b5b33bb3 100644
|
||||
--- a/auto/unix
|
||||
+++ b/auto/unix
|
||||
@@ -990,3 +990,27 @@ ngx_feature_test='struct addrinfo *res;
|
||||
if (getaddrinfo("localhost", NULL, NULL, &res) != 0) return 1;
|
||||
freeaddrinfo(res)'
|
||||
. auto/feature
|
||||
+
|
||||
+ngx_feature="SOCK_CLOEXEC support"
|
||||
+ngx_feature_name="NGX_HAVE_SOCKET_CLOEXEC"
|
||||
+ngx_feature_run=no
|
||||
+ngx_feature_incs="#include <sys/types.h>
|
||||
+ #include <sys/socket.h>"
|
||||
+ngx_feature_path=
|
||||
+ngx_feature_libs=
|
||||
+ngx_feature_test="int fd;
|
||||
+ fd = socket(AF_INET, SOCK_STREAM | SOCK_CLOEXEC, 0);"
|
||||
+. auto/feature
|
||||
+
|
||||
+ngx_feature="FD_CLOEXEC support"
|
||||
+ngx_feature_name="NGX_HAVE_FD_CLOEXEC"
|
||||
+ngx_feature_run=no
|
||||
+ngx_feature_incs="#include <sys/types.h>
|
||||
+ #include <sys/socket.h>
|
||||
+ #include <fcntl.h>"
|
||||
+ngx_feature_path=
|
||||
+ngx_feature_libs=
|
||||
+ngx_feature_test="int fd;
|
||||
+ fd = socket(AF_INET, SOCK_STREAM, 0);
|
||||
+ fcntl(fd, F_SETFD, FD_CLOEXEC);"
|
||||
+. auto/feature
|
||||
diff --git a/src/core/ngx_resolver.c b/src/core/ngx_resolver.c
|
||||
index cd55520c..438e0806 100644
|
||||
--- a/src/core/ngx_resolver.c
|
||||
+++ b/src/core/ngx_resolver.c
|
||||
@@ -4466,8 +4466,14 @@ ngx_tcp_connect(ngx_resolver_connection_t *rec)
|
||||
ngx_event_t *rev, *wev;
|
||||
ngx_connection_t *c;
|
||||
|
||||
+#if (NGX_HAVE_SOCKET_CLOEXEC)
|
||||
+ s = ngx_socket(rec->sockaddr->sa_family, SOCK_STREAM | SOCK_CLOEXEC, 0);
|
||||
+
|
||||
+#else
|
||||
s = ngx_socket(rec->sockaddr->sa_family, SOCK_STREAM, 0);
|
||||
|
||||
+#endif
|
||||
+
|
||||
ngx_log_debug1(NGX_LOG_DEBUG_EVENT, &rec->log, 0, "TCP socket %d", s);
|
||||
|
||||
if (s == (ngx_socket_t) -1) {
|
||||
@@ -4494,6 +4500,15 @@ ngx_tcp_connect(ngx_resolver_connection_t *rec)
|
||||
goto failed;
|
||||
}
|
||||
|
||||
+#if (NGX_HAVE_FD_CLOEXEC)
|
||||
+ if (ngx_cloexec(s) == -1) {
|
||||
+ ngx_log_error(NGX_LOG_ALERT, &rec->log, ngx_socket_errno,
|
||||
+ ngx_cloexec_n " failed");
|
||||
+
|
||||
+ goto failed;
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
rev = c->read;
|
||||
wev = c->write;
|
||||
|
||||
diff --git a/src/event/ngx_event.h b/src/event/ngx_event.h
|
||||
index 19fec68..8c2f01a 100644
|
||||
--- a/src/event/ngx_event.h
|
||||
+++ b/src/event/ngx_event.h
|
||||
@@ -73,6 +73,9 @@ struct ngx_event_s {
|
||||
/* to test on worker exit */
|
||||
unsigned channel:1;
|
||||
unsigned resolver:1;
|
||||
+#if (HAVE_SOCKET_CLOEXEC_PATCH)
|
||||
+ unsigned skip_socket_leak_check:1;
|
||||
+#endif
|
||||
|
||||
unsigned cancelable:1;
|
||||
|
||||
diff --git a/src/event/ngx_event_accept.c b/src/event/ngx_event_accept.c
|
||||
index 77563709..5827b9d0 100644
|
||||
--- a/src/event/ngx_event_accept.c
|
||||
+++ b/src/event/ngx_event_accept.c
|
||||
@@ -62,7 +62,9 @@ ngx_event_accept(ngx_event_t *ev)
|
||||
|
||||
#if (NGX_HAVE_ACCEPT4)
|
||||
if (use_accept4) {
|
||||
- s = accept4(lc->fd, &sa.sockaddr, &socklen, SOCK_NONBLOCK);
|
||||
+ s = accept4(lc->fd, &sa.sockaddr, &socklen,
|
||||
+ SOCK_NONBLOCK | SOCK_CLOEXEC);
|
||||
+
|
||||
} else {
|
||||
s = accept(lc->fd, &sa.sockaddr, &socklen);
|
||||
}
|
||||
@@ -202,6 +204,16 @@ ngx_event_accept(ngx_event_t *ev)
|
||||
ngx_close_accepted_connection(c);
|
||||
return;
|
||||
}
|
||||
+
|
||||
+#if (NGX_HAVE_FD_CLOEXEC)
|
||||
+ if (ngx_cloexec(s) == -1) {
|
||||
+ ngx_log_error(NGX_LOG_ALERT, ev->log, ngx_socket_errno,
|
||||
+ ngx_cloexec_n " failed");
|
||||
+ ngx_close_accepted_connection(c);
|
||||
+ return;
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/src/event/ngx_event_connect.c b/src/event/ngx_event_connect.c
|
||||
index c5bb8068..cf33b1d2 100644
|
||||
--- a/src/event/ngx_event_connect.c
|
||||
+++ b/src/event/ngx_event_connect.c
|
||||
@@ -38,8 +38,15 @@ ngx_event_connect_peer(ngx_peer_connection_t *pc)
|
||||
|
||||
type = (pc->type ? pc->type : SOCK_STREAM);
|
||||
|
||||
+#if (NGX_HAVE_SOCKET_CLOEXEC)
|
||||
+ s = ngx_socket(pc->sockaddr->sa_family, type | SOCK_CLOEXEC, 0);
|
||||
+
|
||||
+#else
|
||||
s = ngx_socket(pc->sockaddr->sa_family, type, 0);
|
||||
|
||||
+#endif
|
||||
+
|
||||
+
|
||||
ngx_log_debug2(NGX_LOG_DEBUG_EVENT, pc->log, 0, "%s socket %d",
|
||||
(type == SOCK_STREAM) ? "stream" : "dgram", s);
|
||||
|
||||
@@ -80,6 +87,15 @@ ngx_event_connect_peer(ngx_peer_connection_t *pc)
|
||||
goto failed;
|
||||
}
|
||||
|
||||
+#if (NGX_HAVE_FD_CLOEXEC)
|
||||
+ if (ngx_cloexec(s) == -1) {
|
||||
+ ngx_log_error(NGX_LOG_ALERT, pc->log, ngx_socket_errno,
|
||||
+ ngx_cloexec_n " failed");
|
||||
+
|
||||
+ goto failed;
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
if (pc->local) {
|
||||
|
||||
#if (NGX_HAVE_TRANSPARENT_PROXY)
|
||||
diff --git a/src/os/unix/ngx_process_cycle.c b/src/os/unix/ngx_process_cycle.c
|
||||
index c4376a5..48e8fa8 100644
|
||||
--- a/src/os/unix/ngx_process_cycle.c
|
||||
+++ b/src/os/unix/ngx_process_cycle.c
|
||||
@@ -1032,6 +1032,9 @@ ngx_worker_process_exit(ngx_cycle_t *cycle)
|
||||
for (i = 0; i < cycle->connection_n; i++) {
|
||||
if (c[i].fd != -1
|
||||
&& c[i].read
|
||||
+#if (HAVE_SOCKET_CLOEXEC_PATCH)
|
||||
+ && !c[i].read->skip_socket_leak_check
|
||||
+#endif
|
||||
&& !c[i].read->accept
|
||||
&& !c[i].read->channel
|
||||
&& !c[i].read->resolver)
|
||||
diff --git a/src/os/unix/ngx_socket.h b/src/os/unix/ngx_socket.h
|
||||
index fcc51533..d1eebf47 100644
|
||||
--- a/src/os/unix/ngx_socket.h
|
||||
+++ b/src/os/unix/ngx_socket.h
|
||||
@@ -38,6 +38,17 @@ int ngx_blocking(ngx_socket_t s);
|
||||
|
||||
#endif
|
||||
|
||||
+#if (NGX_HAVE_FD_CLOEXEC)
|
||||
+
|
||||
+#define ngx_cloexec(s) fcntl(s, F_SETFD, FD_CLOEXEC)
|
||||
+#define ngx_cloexec_n "fcntl(FD_CLOEXEC)"
|
||||
+
|
||||
+/* at least FD_CLOEXEC is required to ensure connection fd is closed
|
||||
+ * after execve */
|
||||
+#define HAVE_SOCKET_CLOEXEC_PATCH 1
|
||||
+
|
||||
+#endif
|
||||
+
|
||||
int ngx_tcp_nopush(ngx_socket_t s);
|
||||
int ngx_tcp_push(ngx_socket_t s);
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
Fix test failure with Pytest 4.
|
||||
|
||||
Taken from upstream:
|
||||
https://github.com/chardet/chardet/commit/440828f8faafdb58700c64a9ea8f6a30b154c08b
|
||||
|
||||
diff --git a/test.py b/test.py
|
||||
--- a/test.py
|
||||
+++ b/test.py
|
||||
@@ -59,5 +59,5 @@ def gen_test_params():
|
||||
full_path = join(path, file_name)
|
||||
test_case = full_path, encoding
|
||||
if full_path in EXPECTED_FAILURES:
|
||||
- test_case = pytest.mark.xfail(test_case)
|
||||
+ test_case = pytest.param(*test_case, marks=pytest.mark.xfail)
|
||||
yield test_case
|
|
@ -0,0 +1,81 @@
|
|||
This patch is taken from the opam repository:
|
||||
https://github.com/ocaml/opam-repository/blob/master/packages/unison/unison.2.51.2/files/ocaml48.patch
|
||||
|
||||
It fixes compatibility with changes introduced in OCaml 4.08.
|
||||
|
||||
diff --git a/src/Makefile.OCaml b/src/Makefile.OCaml
|
||||
index 7cefa2e..378fc8b 100644
|
||||
--- a/src/Makefile.OCaml
|
||||
+++ b/src/Makefile.OCaml
|
||||
@@ -272,7 +272,7 @@ endif
|
||||
|
||||
# Gtk GUI
|
||||
ifeq ($(UISTYLE), gtk)
|
||||
- CAMLFLAGS+=-I +lablgtk
|
||||
+ CAMLFLAGS+=-I $(LABLGTKLIB)
|
||||
OCAMLOBJS+=pixmaps.cmo uigtk.cmo linkgtk.cmo
|
||||
OCAMLLIBS+=lablgtk.cma
|
||||
endif
|
||||
@@ -282,7 +282,7 @@ OCAMLFIND := $(shell command -v ocamlfind 2> /dev/null)
|
||||
|
||||
ifeq ($(UISTYLE), gtk2)
|
||||
ifndef OCAMLFIND
|
||||
- CAMLFLAGS+=-I +lablgtk2
|
||||
+ CAMLFLAGS+=-I $(LABLGTK2LIB)
|
||||
else
|
||||
CAMLFLAGS+=$(shell $(OCAMLFIND) query -i-format lablgtk2 )
|
||||
endif
|
||||
diff --git a/src/files.ml b/src/files.ml
|
||||
index 5ff1881..1d1fbcc 100644
|
||||
--- a/src/files.ml
|
||||
+++ b/src/files.ml
|
||||
@@ -734,7 +734,7 @@ let get_files_in_directory dir =
|
||||
with End_of_file ->
|
||||
dirh.System.closedir ()
|
||||
end;
|
||||
- Sort.list (<) !files
|
||||
+ List.sort String.compare !files
|
||||
|
||||
let ls dir pattern =
|
||||
Util.convertUnixErrorsToTransient
|
||||
diff --git a/src/recon.ml b/src/recon.ml
|
||||
index 2c619bb..2412c18 100644
|
||||
--- a/src/recon.ml
|
||||
+++ b/src/recon.ml
|
||||
@@ -661,8 +661,8 @@ let rec reconcile
|
||||
|
||||
(* Sorts the paths so that they will be displayed in order *)
|
||||
let sortPaths pathUpdatesList =
|
||||
- Sort.list
|
||||
- (fun (p1, _) (p2, _) -> Path.compare p1 p2 <= 0)
|
||||
+ List.sort
|
||||
+ Path.compare
|
||||
pathUpdatesList
|
||||
|
||||
let rec enterPath p1 p2 t =
|
||||
diff --git a/src/system/system_generic.ml b/src/system/system_generic.ml
|
||||
index 453027d..c2288b8 100755
|
||||
--- a/src/system/system_generic.ml
|
||||
+++ b/src/system/system_generic.ml
|
||||
@@ -47,7 +47,7 @@ let open_out_gen = open_out_gen
|
||||
let chmod = Unix.chmod
|
||||
let chown = Unix.chown
|
||||
let utimes = Unix.utimes
|
||||
-let link = Unix.link
|
||||
+let link s d = Unix.link s d
|
||||
let openfile = Unix.openfile
|
||||
let opendir f =
|
||||
let h = Unix.opendir f in
|
||||
diff --git a/src/uigtk2.ml b/src/uigtk2.ml
|
||||
index fbc5d8f..4e82cc2 100644
|
||||
--- a/src/uigtk2.ml
|
||||
+++ b/src/uigtk2.ml
|
||||
@@ -94,7 +94,7 @@ let icon =
|
||||
let icon =
|
||||
let p = GdkPixbuf.create ~width:48 ~height:48 ~has_alpha:true () in
|
||||
Gpointer.blit
|
||||
- (Gpointer.region_of_string Pixmaps.icon_data) (GdkPixbuf.get_pixels p);
|
||||
+ (Gpointer.region_of_bytes Pixmaps.icon_data) (GdkPixbuf.get_pixels p);
|
||||
p
|
||||
|
||||
let leftPtrWatch =
|
|
@ -0,0 +1,39 @@
|
|||
Remove python-requests dependency, r27626 upstream.
|
||||
|
||||
--- a/xpra/net/websockets/common.py (revision 27625)
|
||||
+++ b/xpra/net/websockets/common.py (revision 27626)
|
||||
@@ -7,7 +7,6 @@
|
||||
import uuid
|
||||
from hashlib import sha1
|
||||
from base64 import b64encode
|
||||
-from requests.structures import CaseInsensitiveDict
|
||||
|
||||
from xpra.os_util import strtobytes, bytestostr, monotonic_time
|
||||
from xpra.log import Logger
|
||||
@@ -77,7 +76,7 @@
|
||||
for line in lines:
|
||||
parts = line.split(b": ", 1)
|
||||
if len(parts)==2:
|
||||
- headers[parts[0]] = parts[1]
|
||||
+ headers[parts[0].lower()] = parts[1]
|
||||
return headers
|
||||
|
||||
def verify_response_headers(headers, key):
|
||||
@@ -84,14 +83,13 @@
|
||||
log("verify_response_headers(%s)", headers)
|
||||
if not headers:
|
||||
raise Exception("no http headers found in response")
|
||||
- headers = CaseInsensitiveDict(headers)
|
||||
- upgrade = headers.get(b"Upgrade", b"")
|
||||
+ upgrade = headers.get(b"upgrade", b"")
|
||||
if upgrade!=b"websocket":
|
||||
raise Exception("invalid http upgrade: '%s'" % upgrade)
|
||||
- protocol = headers.get(b"Sec-WebSocket-Protocol", b"")
|
||||
+ protocol = headers.get(b"sec-websocket-protocol", b"")
|
||||
if protocol!=b"binary":
|
||||
raise Exception("invalid websocket protocol: '%s'" % protocol)
|
||||
- accept_key = headers.get(b"Sec-WebSocket-Accept", b"")
|
||||
+ accept_key = headers.get(b"sec-websocket-accept", b"")
|
||||
if not accept_key:
|
||||
raise Exception("websocket accept key is missing")
|
||||
expected_key = make_websocket_accept_hash(key)
|
|
@ -18,6 +18,7 @@
|
|||
;;; Copyright © 2019 Ben Sturmfels <ben@sturm.com.au>
|
||||
;;; Copyright © 2019,2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
||||
;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -580,7 +581,7 @@ by using the poppler rendering engine.")
|
|||
(define-public zathura
|
||||
(package
|
||||
(name "zathura")
|
||||
(version "0.4.5")
|
||||
(version "0.4.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
|
@ -588,7 +589,7 @@ by using the poppler rendering engine.")
|
|||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0b3nrcvykkpv2vm99kijnic2gpfzva520bsjlihaxandzfm9ff8c"))))
|
||||
"1rx1fk9s556fk59lmqgvhwrmv71ashh89bx9adjq46wq5gzdn4p0"))))
|
||||
(native-inputs `(("pkg-config" ,pkg-config)
|
||||
("gettext" ,gettext-minimal)
|
||||
("glib:bin" ,glib "bin")
|
||||
|
|
|
@ -2213,7 +2213,7 @@ Password Generator\".")
|
|||
(define-public perl-crypt-rijndael
|
||||
(package
|
||||
(name "perl-crypt-rijndael")
|
||||
(version "1.14")
|
||||
(version "1.15")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -2221,8 +2221,7 @@ Password Generator\".")
|
|||
"mirror://cpan/authors/id/L/LE/LEONT/Crypt-Rijndael-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"03l5nwq97a8q9na4dpd4m3r7vrwpranx225vw8xm40w7zvgw6lb4"))))
|
||||
(base32 "0qs1b6ma4sj0ip5d8544fzgc1bbankc4qlmznp8hay8dk5arp650"))))
|
||||
(build-system perl-build-system)
|
||||
(home-page "https://metacpan.org/release/Crypt-Rijndael")
|
||||
(synopsis "Crypt::CBC compliant Rijndael encryption module")
|
||||
|
@ -8606,14 +8605,14 @@ and @code{deserialize_regexp}.")
|
|||
(define-public perl-role-tiny-2
|
||||
(package
|
||||
(inherit perl-role-tiny)
|
||||
(version "2.001001")
|
||||
(version "2.001004")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/"
|
||||
"Role-Tiny-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "16yryg3cr14xw201gm8k8ci00hs60fy8lk2xhnaqa85n5m68flk8"))))))
|
||||
(base32 "11qn516352yhi794www3ykwa9xv2gxpfnhn9jcn10x0ahl95gflj"))))))
|
||||
|
||||
(define-public perl-safe-isa
|
||||
(package
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
;;; Copyright © 2015, 2017 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
|
||||
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2020 Sebastian Schott <sschott@mailbox.org>
|
||||
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
|
||||
|
@ -238,14 +238,14 @@ data as produced by digital cameras.")
|
|||
(define-public libgphoto2
|
||||
(package
|
||||
(name "libgphoto2")
|
||||
(version "2.5.25")
|
||||
(version "2.5.26")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/gphoto/libgphoto/"
|
||||
version "/libgphoto2-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0fkz2rx7xlmr6zl6f56hhxps6bx16dwcw5pyd8c2icf273s9h3kw"))))
|
||||
"1m5wxap3x9z6x8s2gj3sw9lqwlmbgz00dv6z3h3qk15prfizwh3p"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
|
@ -269,14 +269,14 @@ from digital cameras.")
|
|||
(define-public gphoto2
|
||||
(package
|
||||
(name "gphoto2")
|
||||
(version "2.5.23")
|
||||
(version "2.5.26")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/gphoto/gphoto/" version
|
||||
"/gphoto2-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1laqwhxr0xhbykmp0dhd3j4rr2lhj5y228s31afnqxp700hhk1yz"))))
|
||||
"0bxbcn31xalsvjp8fra324hf2105y3ps7zlyfz11v71j0lxj2lvn"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
|
|
|
@ -86,7 +86,7 @@ manner. It also features an interactive interpreter.")
|
|||
(define-public swi-prolog
|
||||
(package
|
||||
(name "swi-prolog")
|
||||
(version "8.3.5")
|
||||
(version "8.3.9")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -96,7 +96,7 @@ manner. It also features an interactive interpreter.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"14dga0gja45x1717fp1bwgf96nzc0zgb8x1lha0pb46jg1raa2da"))))
|
||||
"0ixb8pc5s7q8q0njs8is1clpvik6jhhdcwnys7m9rpwdzgi10sjz"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:parallel-build? #t
|
||||
|
|
|
@ -61,6 +61,7 @@
|
|||
#:use-module (gnu packages swig)
|
||||
#:use-module (gnu packages time)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (srfi srfi-1))
|
||||
|
||||
|
@ -91,14 +92,14 @@ Python. It does not bind to libotr.")
|
|||
(define-public python-base58
|
||||
(package
|
||||
(name "python-base58")
|
||||
(version "1.0.3")
|
||||
(version "2.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "base58" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0q1yr0n5jaf17xq98m7dma6z4rh8p19ch55l1s09gi3rk5ckqycs"))))
|
||||
"0yfaqp76kbdb62hikr5n4jkkfjfmii89grwfy6sw3fmsv5hrap1n"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
`(("python-pyhamcrest" ,python-pyhamcrest)))
|
||||
|
@ -141,13 +142,13 @@ Password Scheme\"} by Niels Provos and David Mazieres.")
|
|||
(define-public python-passlib
|
||||
(package
|
||||
(name "python-passlib")
|
||||
(version "1.7.2")
|
||||
(version "1.7.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "passlib" version))
|
||||
(sha256
|
||||
(base32 "1a5ngap7kq0b4azq8nlfg6xg5bcl1i0v1sbynhmbr631jgpnqrld"))))
|
||||
(base32 "015y5qaw9qnxr29lg60dml1g5rbqd4586wy5n8m41ib55gvm1zfy"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
`(("python-nose" ,python-nose)))
|
||||
|
@ -157,8 +158,8 @@ Password Scheme\"} by Niels Provos and David Mazieres.")
|
|||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'check 'set-PYTHON_EGG_CACHE
|
||||
;; some tests require access to "$HOME/.cython"
|
||||
(lambda* _ (setenv "PYTHON_EGG_CACHE" "/tmp") #t)))))
|
||||
;; Some tests require access to "$HOME/.cython".
|
||||
(lambda _ (setenv "PYTHON_EGG_CACHE" "/tmp") #t)))))
|
||||
(home-page "https://bitbucket.org/ecollins/passlib")
|
||||
(synopsis "Comprehensive password hashing framework")
|
||||
(description
|
||||
|
@ -1065,6 +1066,53 @@ through the Engine interface.")
|
|||
(propagated-inputs
|
||||
`(("python2-typing" ,python2-typing))))))
|
||||
|
||||
(define-public python-pykeepass
|
||||
(package
|
||||
(name "python-pykeepass")
|
||||
(version "3.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
;; Source tarball on PyPI doesn't include tests.
|
||||
(uri (git-reference
|
||||
(url "https://github.com/libkeepass/pykeepass")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1wxbfpy7467mlnfsvmh685fhfnq4fki9y7yc9cylp30r5n3hisaj"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'make-kdbx-writable
|
||||
;; Tests have to write to the .kdbx files in the test directory.
|
||||
(lambda _
|
||||
(with-directory-excursion "tests"
|
||||
(for-each make-file-writable (find-files "."))
|
||||
#t)))
|
||||
(add-before 'build 'patch-requirements
|
||||
(lambda _
|
||||
;; Update requirements from dependency==version
|
||||
;; to dependency>=version.
|
||||
(substitute* "setup.py"
|
||||
(("==") ">="))
|
||||
#t)))))
|
||||
(propagated-inputs
|
||||
`(("python-argon2-cffi" ,python-argon2-cffi)
|
||||
("python-construct" ,python-construct)
|
||||
("python-dateutil" ,python-dateutil)
|
||||
("python-future" ,python-future)
|
||||
("python-lxml" ,python-lxml)
|
||||
("python-pycryptodome" ,python-pycryptodome)))
|
||||
(home-page "https://github.com/libkeepass/pykeepass")
|
||||
(synopsis "Python library to interact with keepass databases")
|
||||
(description
|
||||
"This library allows you to write entries to a KeePass database. It
|
||||
supports KDBX3 and KDBX4.")
|
||||
;; There are no copyright headers in the source code. The LICENSE file
|
||||
;; indicates GPL3.
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public python-pylibscrypt
|
||||
(package
|
||||
(name "python-pylibscrypt")
|
||||
|
@ -1138,6 +1186,26 @@ been constructed to maintain extensive documentation on how to use
|
|||
@code{NaCl} as well as being completely portable.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python-pyotp
|
||||
(package
|
||||
(name "python-pyotp")
|
||||
(version "2.4.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pyotp" version))
|
||||
(sha256
|
||||
(base32 "0a1dx07y785xyl70h0vj6vssg13qfx11w04d0gz8h48qffsymv01"))))
|
||||
(build-system python-build-system)
|
||||
(home-page "https://github.com/pyauth/pyotp")
|
||||
(synopsis "Python One Time Password Library")
|
||||
(description
|
||||
"PyOTP is a Python library for generating and verifying one-time
|
||||
passwords. It can be used to implement two-factor (2FA) or multi-factor
|
||||
(MFA) authentication methods in web applications and in other systems that
|
||||
require users to log in.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-scrypt
|
||||
(package
|
||||
(name "python-scrypt")
|
||||
|
@ -1542,20 +1610,28 @@ signatures.")
|
|||
(define-public python-pgpy
|
||||
(package
|
||||
(name "python-pgpy")
|
||||
(version "0.5.2")
|
||||
(version "0.5.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "PGPy" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0i4lqhzdwkjkim3wab0kqadx28z3r5ixlh6qxj4lif4gif56c0m7"))))
|
||||
(base32 "11rrq15gmn6qbahli7czflfcngjl7zyybjlvk732my6axnf2d754"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "pytest")))))))
|
||||
(native-inputs
|
||||
`(("python-cryptography" ,python-cryptography)
|
||||
("python-pyasn1" ,python-pyasn1)
|
||||
("python-pytest" ,python-pytest)
|
||||
("python-singledispatch" ,python-singledispatch)
|
||||
("python-six" ,python-six)))
|
||||
("python-six" ,python-six)
|
||||
("python-wheel" ,python-wheel)))
|
||||
(home-page "https://github.com/SecurityInnovation/PGPy")
|
||||
(synopsis "Python implementation of OpenPGP")
|
||||
(description
|
||||
|
|
|
@ -90,14 +90,13 @@
|
|||
(define-public python-aiohttp
|
||||
(package
|
||||
(name "python-aiohttp")
|
||||
(version "3.6.2")
|
||||
(version "3.6.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "aiohttp" version))
|
||||
(sha256
|
||||
(base32
|
||||
"09pkw6f1790prnrq0k8cqgnf1qy57ll8lpmc6kld09q7zw4vi6i5"))
|
||||
(base32 "0i9n7h8n06m2d8ryqyk4fv1si1m44ibq7blbfaxq46vx7jydg339"))
|
||||
(patches (search-patches "python-aiohttp-3.6.2-no-warning-fail.patch"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
|
@ -2348,13 +2347,13 @@ and to spawn subprocesses to handle requests.")
|
|||
(define-public python-pastedeploy
|
||||
(package
|
||||
(name "python-pastedeploy")
|
||||
(version "2.1.0")
|
||||
(version "2.1.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "PasteDeploy" version))
|
||||
(sha256
|
||||
(base32 "16qsq5y6mryslmbp5pn35x4z8z3ndp5rpgl42h226879nrw9hmg7"))))
|
||||
(base32 "05s88qdjdwd9d9qs13fap7nqgxs7qs5qfzzjbrc5va13k2mxdskd"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
'(#:test-target "pytest"))
|
||||
|
|
|
@ -86,6 +86,7 @@
|
|||
;;; Copyright © 2020 Hendursaga <hendursaga@yahoo.com>
|
||||
;;; Copyright © 2020 Malte Frank Gerdes <malte.f.gerdes@gmail.com>
|
||||
;;; Copyright © 2020 Joseph LaFreniere <joseph@lafreniere.xyz>
|
||||
;;; Copyright © 2020 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -107,6 +108,7 @@
|
|||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages algebra)
|
||||
#:use-module (gnu packages adns)
|
||||
#:use-module (gnu packages aidc)
|
||||
#:use-module (gnu packages attr)
|
||||
#:use-module (gnu packages backup)
|
||||
#:use-module (gnu packages bash)
|
||||
|
@ -1665,8 +1667,25 @@ of @code{xmlfile}.")
|
|||
(description "This Python library allows reading and writing to the Excel XLSX, XLSM,
|
||||
XLTX and XLTM file formats that are defined by the Office Open XML (OOXML)
|
||||
standard.")
|
||||
(properties `((python2-variant . ,(delay python2-openpyxl))))
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python2-openpyxl
|
||||
(let ((base (package-with-python2
|
||||
(strip-python2-variant python-openpyxl))))
|
||||
(package
|
||||
(inherit base)
|
||||
;; This is the latest version that has python2 support
|
||||
(version "2.6.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "openpyxl" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1qzjj8nwj4dn0mhq1j64f136afiqqb81lvqiikipz3g1g0b80lqx"))))
|
||||
(arguments '(#:tests? #f))))) ; No test suite.
|
||||
|
||||
(define-public python-eventlet
|
||||
(package
|
||||
(name "python-eventlet")
|
||||
|
@ -6048,6 +6067,61 @@ memoizing PEG/Packrat parser in Python.")
|
|||
(define-public python2-grako
|
||||
(package-with-python2 python-grako))
|
||||
|
||||
(define-public python-grandalf
|
||||
(package
|
||||
(name "python-grandalf")
|
||||
(version "0.7")
|
||||
(source
|
||||
(origin
|
||||
;; There's no source tarball on PyPI.
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/bdcht/grandalf")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"03p8w8ljpb87qbyldm3s6b7qi30hfcn43h33iwlgqcf31fjsyr4g"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(invoke "python" "setup.py" "pytest"))))))
|
||||
(native-inputs
|
||||
`(("python-pytest" ,python-pytest)
|
||||
("python-pytest-runner" ,python-pytest-runner)))
|
||||
(propagated-inputs
|
||||
`(("python-numpy" ,python-numpy)
|
||||
("python-ply" ,python-ply)))
|
||||
(home-page "https://github.com/bdcht/grandalf")
|
||||
(synopsis "Graph and drawing algorithms framework")
|
||||
(description
|
||||
"Grandalf is a Python package made for experimentations with graphs
|
||||
drawing algorithms. It is written in pure Python, and currently implements
|
||||
two layouts: the Sugiyama hierarchical layout and the force-driven or energy
|
||||
minimization approach. While not as fast or featured as graphviz or other
|
||||
libraries like OGDF (C++), it provides a way to walk and draw graphs no larger
|
||||
than thousands of nodes, while keeping the source code simple enough to tweak
|
||||
and hack any part of it for experimental purpose. With a total of about 1500
|
||||
lines of Python, the code involved in drawing the Sugiyama (dot) layout fits
|
||||
in less than 600 lines. The energy minimization approach is comprised of only
|
||||
250 lines!
|
||||
|
||||
Grandalf does only 2 not-so-simple things:
|
||||
@itemize
|
||||
@item computing the nodes (x,y) coordinates (based on provided nodes
|
||||
dimensions, and a chosen layout)
|
||||
@item routing the edges with lines or nurbs
|
||||
@end itemize
|
||||
|
||||
It doesn’t depend on any GTK/Qt/whatever graphics toolkit. This means that it
|
||||
will help you find where to draw things like nodes and edges, but it’s up to
|
||||
you to actually draw things with your favorite toolkit.")
|
||||
;; The user can choose either license.
|
||||
(license (list license:gpl2 license:epl1.0))))
|
||||
|
||||
(define-public python-gridmap
|
||||
(package
|
||||
(name "python-gridmap")
|
||||
|
@ -10071,13 +10145,14 @@ simulation, statistical modeling, machine learning and much more.")
|
|||
(uri (pypi-uri "chardet" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1bpalpia6r5x1kknbk11p1fzph56fmmnp405ds8icksd3knr5aw4"))
|
||||
(patches (search-patches "python-chardet-3.0.4-pytest.patch"))))
|
||||
"1bpalpia6r5x1kknbk11p1fzph56fmmnp405ds8icksd3knr5aw4"))))
|
||||
(native-inputs
|
||||
`(("python-hypothesis" ,python-hypothesis)
|
||||
("python-pytest" ,python-pytest)
|
||||
("python-pytest-runner" ,python-pytest-runner)))
|
||||
(build-system python-build-system)
|
||||
;; XXX: Incompatible with Pytest 4: <https://github.com/chardet/chardet/issues/173>.
|
||||
(arguments `(#:tests? #f))
|
||||
(home-page "https://github.com/chardet/chardet")
|
||||
(synopsis "Universal encoding detector for Python 2 and 3")
|
||||
(description
|
||||
|
@ -15980,6 +16055,51 @@ validation of URIs (see RFC 3986) and IRIs (see RFC 3987).")
|
|||
(define-public python2-rfc3987
|
||||
(package-with-python2 python-rfc3987))
|
||||
|
||||
;; The latest commit contains fixes for building with both python3 and python2.
|
||||
(define-public python-rfc6555
|
||||
(let ((commit "1a181b432312731f6742a5eb558dae4761d32361")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "python-rfc6555")
|
||||
(version (git-version "0.0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/sethmlarson/rfc6555")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1bxl17j9vs69cshcqnlwamr03hnykxqnwz3mdgi6x3s2k4q18npp"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(if tests?
|
||||
;; Other tests require network access.
|
||||
(invoke "pytest" "tests/test_ipv6.py")
|
||||
#t))))))
|
||||
(native-inputs
|
||||
`(("python-pytest" ,python-pytest)))
|
||||
(home-page "https://pypi.org/project/rfc6555/")
|
||||
(synopsis "Python implementation of RFC 6555")
|
||||
(description
|
||||
"Python implementation of the Happy Eyeballs Algorithm described in RFC
|
||||
6555. Provided with a single file and dead-simple API to allow easy vendoring
|
||||
and integration into other projects.")
|
||||
(properties `((python2-variant . ,(delay python2-rfc6555))))
|
||||
(license license:asl2.0))))
|
||||
|
||||
(define-public python2-rfc6555
|
||||
(let ((base (package-with-python2
|
||||
(strip-python2-variant python-rfc6555))))
|
||||
(package
|
||||
(inherit base)
|
||||
(propagated-inputs
|
||||
`(("python2-selectors2" ,python2-selectors2))))))
|
||||
|
||||
(define-public python-validators
|
||||
(package
|
||||
(name "python-validators")
|
||||
|
@ -17189,6 +17309,31 @@ user's @file{~/Trash} directory.")
|
|||
(string-append (getcwd) ":" (getenv "PYTHONPATH")))
|
||||
#t))))))))
|
||||
|
||||
(define-public python-pyfavicon
|
||||
(package
|
||||
(name "python-pyfavicon")
|
||||
(version "0.1.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pyfavicon" version))
|
||||
(sha256
|
||||
(base32 "15wfpa99hvcfsv8j0m8iprmydi2p4qkhm86qfx485244y0ia5mgx"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
;; There are no tests in the PyPI tarball and the tests from the
|
||||
;; repository require online data.
|
||||
'(#:tests? #f))
|
||||
(propagated-inputs
|
||||
`(("python-aiohttp" ,python-aiohttp)
|
||||
("python-beautifulsoup4" ,python-beautifulsoup4)
|
||||
("python-pillow" ,python-pillow)))
|
||||
(home-page "https://github.com/bilelmoussaoui/pyfavicon")
|
||||
(synopsis "Async favicon fetcher")
|
||||
(description
|
||||
"@code{pyfavicon} is an async favicon fetcher.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-yapf
|
||||
(package
|
||||
(name "python-yapf")
|
||||
|
@ -17350,6 +17495,58 @@ Week instances stringify to this form.")
|
|||
(define-public python2-isoweek
|
||||
(package-with-python2 python-isoweek))
|
||||
|
||||
(define-public python-pyzbar
|
||||
(package
|
||||
(name "python-pyzbar")
|
||||
(version "0.1.8")
|
||||
(source
|
||||
(origin
|
||||
;; There's no source tarball on PyPI.
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/NaturalHistoryMuseum/pyzbar")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1fqlfg5p2v9lzzzi0si2sz54lblprk6jjjhjw54b64lp58c1yhsl"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'remove-failing-test
|
||||
(lambda _
|
||||
;; This tests if find_library was called once, but we remove
|
||||
;; the call in the stage below to make the library find libzbar.
|
||||
(delete-file "pyzbar/tests/test_zbar_library.py")
|
||||
#t))
|
||||
(add-before 'build 'set-library-file-name
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((libzbar (assoc-ref inputs "zbar")))
|
||||
(substitute* "pyzbar/zbar_library.py"
|
||||
(("find_library\\('zbar'\\)")
|
||||
(string-append "'" libzbar "/lib/libzbar.so.0'")))
|
||||
#t))))))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("python-numpy" ,python-numpy)
|
||||
("python-pillow" ,python-pillow)))
|
||||
(inputs
|
||||
`(("zbar" ,zbar)))
|
||||
(home-page "https://github.com/NaturalHistoryMuseum/pyzbar/")
|
||||
(synopsis "Read one-dimensional barcodes and QR codes")
|
||||
(description
|
||||
"Read one-dimensional barcodes and QR codes using the zbar library.
|
||||
|
||||
Features:
|
||||
|
||||
@itemize
|
||||
@item Pure python
|
||||
@item Works with PIL / Pillow images, OpenCV / numpy ndarrays, and raw bytes
|
||||
@item Decodes locations of barcodes
|
||||
@item No dependencies, other than the zbar library itself
|
||||
@end itemize")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-tokenize-rt
|
||||
(package
|
||||
(name "python-tokenize-rt")
|
||||
|
@ -20337,12 +20534,23 @@ Notation (CSON).")
|
|||
(invoke "python" "-X" "dev" "-m" "unittest" "-v" "test")))
|
||||
(add-after 'unpack 'disable-tests
|
||||
(lambda* _
|
||||
(substitute* "test/test_selector.py"
|
||||
;; XXX: This test fails for unknown reason inside the build
|
||||
;; environment.
|
||||
;; XXX: 7 tests fail out of 220. Disable them for now.
|
||||
(substitute* (list "test/test_selector.py"
|
||||
"test/test_mock.py")
|
||||
(("def test_events_watched_outside_test_are_ignored")
|
||||
"@unittest.skip('disabled by guix')
|
||||
def test_events_watched_outside_test_are_ignored")))))))
|
||||
def test_events_watched_outside_test_are_ignored")
|
||||
(("def test_awaited_from_autospec_mock.*" line)
|
||||
(string-append line " return True\n"))
|
||||
(("def test_create_autospec_on_coroutine_and_using_assert_methods.*" line)
|
||||
(string-append line " return True\n"))
|
||||
(("def test_patch_coroutine_with_multiple_scopes.*" line)
|
||||
(string-append line " return True\n"))
|
||||
(("def test_multiple_patches_on_coroutine.*" line)
|
||||
(string-append line " return True\n"))
|
||||
(("def test_patch_coroutine_only_when_running.*" line)
|
||||
(string-append line " return True\n")))
|
||||
#t)))))
|
||||
(home-page "https://github.com/Martiusweb/asynctest")
|
||||
(synopsis "Extension of unittest for testing asyncio libraries")
|
||||
(description
|
||||
|
|
|
@ -159,15 +159,14 @@ this package. E.g.: @code{(udev-rules-service 'rtl-sdr rtl-sdr)}")
|
|||
(define-public chirp
|
||||
(package
|
||||
(name "chirp")
|
||||
(version "20200430")
|
||||
(version "20201014")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://trac.chirp.danplanet.com/chirp_daily/daily-"
|
||||
version "/chirp-daily-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"060fzplgmpfrk6wkfaasx7phpfk90mmylk6drbwzk4f9r1655vda"))))
|
||||
(base32 "16x3ix2n7a9l7lln2pri1xfmhyfvvzxb0nr3h33iajqimbwckxj0"))))
|
||||
(build-system python-build-system)
|
||||
(inputs
|
||||
`(("python2-libxml2" ,python2-libxml2)
|
||||
|
|
|
@ -814,14 +814,14 @@ Shell (pdksh).")
|
|||
(define-public oil
|
||||
(package
|
||||
(name "oil")
|
||||
(version "0.8.1")
|
||||
(version "0.8.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.oilshell.org/download/oil-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1np17gvvz6zkr2rkvdb15wax45b1mcf2946bfyy3y77ann1zxsyj"))))
|
||||
(base32 "1m49darrs38x60zqi3sy1mh4a47qvwcyf7djrkzqwzwxsczxybgr"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:strip-binaries? #f ; strip breaks the binary
|
||||
|
|
|
@ -165,6 +165,9 @@ file system, and many more features.")
|
|||
'("asciidoctor" "openssl"))
|
||||
;; For building documentation.
|
||||
("asciidoc" ,asciidoc)))
|
||||
(inputs
|
||||
`(("json-c" ,json-c-0.13)
|
||||
,@(alist-delete "json-c" (package-inputs newsboat))))
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
|
|
|
@ -544,14 +544,14 @@ required structures.")
|
|||
(define-public libressl
|
||||
(package
|
||||
(name "libressl")
|
||||
(version "3.0.2")
|
||||
(version "3.1.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://openbsd/LibreSSL/"
|
||||
"libressl-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"13ir2lpxz8y1m151k7lrx306498nzfhwlvgkgv97v5cvywmifyyz"))))
|
||||
"1dnbbnr43jashxivnafmh9gnn57c7ayva788ba03z633k6f18k21"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
;; Do as if 'getentropy' was missing since older Linux kernels lack it
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017, 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019 Jesse Gibbons <jgibbons2357+guix@gmail.com>
|
||||
;;; Copyright © 2019, 2020 Timotej Lazar <timotej.lazar@araneo.si>
|
||||
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
|
||||
|
@ -32,7 +32,8 @@
|
|||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages))
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils))
|
||||
|
||||
(define-public sl
|
||||
(package
|
||||
|
@ -77,52 +78,51 @@ typing @command{sl} instead of @command{ls}.")
|
|||
"See LICENSE in the distribution."))))
|
||||
|
||||
(define-public filters
|
||||
(let ((version "2.55")
|
||||
(commit "c5c291916b52ed9e6418448a8eee30475fb9adcf"))
|
||||
(package
|
||||
(name "filters")
|
||||
(version "2.55")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.joeyh.name/filters")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1gaigpda1w9wxfh8an3sam1hpacc1bhxl696w4yj0vzhc6izqvxs"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet '(begin
|
||||
;; kenny is under nonfree Artistic License (Perl) 1.0.
|
||||
(delete-file "kenny")
|
||||
(substitute* "Makefile"
|
||||
(("kenny")
|
||||
""))))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags
|
||||
(list "CC=gcc" (string-append "DESTDIR=" %output))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(add-after 'unpack 'fix-install-directories
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
(("/usr/games")
|
||||
"/bin/")
|
||||
(("/usr/share/")
|
||||
"/share/"))
|
||||
#t)))
|
||||
#:tests? #f)) ; no test suite
|
||||
(native-inputs
|
||||
`(("bison" ,bison)
|
||||
("flex" ,flex)))
|
||||
(inputs
|
||||
`(("perl" ,perl)))
|
||||
(home-page "https://joeyh.name/code/filters/")
|
||||
(synopsis "Various amusing text filters")
|
||||
(description
|
||||
"The filters collection harks back to the late 1980s, when various text
|
||||
(package
|
||||
(name "filters")
|
||||
(version "2.55")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "git://git.joeyh.name/filters")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1gaigpda1w9wxfh8an3sam1hpacc1bhxl696w4yj0vzhc6izqvxs"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet '(begin
|
||||
;; kenny is under nonfree Artistic License (Perl) 1.0.
|
||||
(delete-file "kenny")
|
||||
(substitute* "Makefile"
|
||||
(("kenny")
|
||||
""))))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags
|
||||
(list (string-append "CC=" ,(cc-for-target))
|
||||
(string-append "prefix=" (assoc-ref %outputs "out")))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(add-after 'unpack 'respect-prefix
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
(("/usr/games")
|
||||
"$(prefix)/bin/")
|
||||
(("/usr")
|
||||
"$(prefix)"))
|
||||
#t)))
|
||||
#:tests? #f)) ; no test suite
|
||||
(native-inputs
|
||||
`(("bison" ,bison)
|
||||
("flex" ,flex)))
|
||||
(inputs
|
||||
`(("perl" ,perl)))
|
||||
(home-page "https://joeyh.name/code/filters/")
|
||||
(synopsis "Various amusing text filters")
|
||||
(description
|
||||
"The filters collection harks back to the late 1980s, when various text
|
||||
filters were written to munge written language in amusing ways. The earliest
|
||||
and best known were legends such as the Swedish Chef filter and B1FF.
|
||||
|
||||
|
@ -156,13 +156,13 @@ This package contains the following filter commands:
|
|||
@end enumerate
|
||||
|
||||
The GNU project hosts a similar collection of filters, the GNU talkfilters.")
|
||||
(license ; see debian/copyright
|
||||
(list license:gpl2+ ; most of the filters
|
||||
license:gpl2 ; rasterman, ky00te.dir/* nethackify, pirate
|
||||
license:gpl3+ ; scramble, scottish
|
||||
license:public-domain ; jethro, kraut, ken, studly
|
||||
license:gpl1+ ; cockney, jive, nyc only say "gpl"
|
||||
license:expat))))) ; newspeak
|
||||
(license ; see debian/copyright
|
||||
(list license:gpl2+ ; most of the filters
|
||||
license:gpl2 ; rasterman, ky00te.dir/* nethackify, pirate
|
||||
license:gpl3+ ; scramble, scottish
|
||||
license:public-domain ; jethro, kraut, ken, studly
|
||||
license:gpl1+ ; cockney, jive, nyc only say "gpl"
|
||||
license:expat)))) ; newspeak
|
||||
|
||||
(define-public xsnow
|
||||
(package
|
||||
|
|
|
@ -31,14 +31,14 @@
|
|||
(define-public plantuml
|
||||
(package
|
||||
(name "plantuml")
|
||||
(version "1.2020.17")
|
||||
(version "1.2020.19")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/plantuml/"
|
||||
version "/plantuml-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"031xqzqi2jh2kms6qjy9sv9m5mjvk887jz54dnrkvw5zgn6kv4hp"))))
|
||||
"0ja2f72x2qd11pkgh1qj6k03yq9ljwsvd6lh84nndwhrbdj5vns7"))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no tests
|
||||
|
|
|
@ -1901,14 +1901,14 @@ masters from remote CVS hosts.")
|
|||
(define-public vc-dwim
|
||||
(package
|
||||
(name "vc-dwim")
|
||||
(version "1.9")
|
||||
(version "1.10")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/vc-dwim/vc-dwim-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0mf1dd7wdqxsm4fcfinfd7iadzarmzvg747pbsbi32qpavpk8gdf"))))
|
||||
"0am6axxdvkm2vwgg0gjrd930yv4dlsdbf0rdv0zh5bhy1ir64rph"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("perl" ,perl)))
|
||||
(native-inputs
|
||||
|
|
|
@ -70,7 +70,7 @@
|
|||
(define-public vim
|
||||
(package
|
||||
(name "vim")
|
||||
(version "8.2.1840")
|
||||
(version "8.2.1852")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -79,7 +79,7 @@
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0ly2kv1x3jqi363wjk694s8bi9q0xvw7yizf8pzanan8h2wy1r28"))))
|
||||
"0nvcvvig5fc45smf4kh71jqyqafffgxzaizwqknk0h9vzl4k4h57"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:test-target "test"
|
||||
|
|
|
@ -1518,18 +1518,19 @@ monitor/GPU.")
|
|||
"-xvf" source))))
|
||||
(replace 'build
|
||||
(lambda* (#:key import-path #:allow-other-keys)
|
||||
(chdir (string-append "src/" import-path))
|
||||
;; XXX: requires 'go-md2man'.
|
||||
;; (invoke "make" "man")
|
||||
(invoke "make")))
|
||||
(with-directory-excursion (string-append "src/" import-path)
|
||||
;; XXX: requires 'go-md2man'.
|
||||
;; (invoke "make" "man")
|
||||
(invoke "make"))))
|
||||
;; (replace 'check
|
||||
;; (lambda _
|
||||
;; (invoke "make" "localunittest")))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(invoke "make" "install" "install-bash"
|
||||
(string-append "PREFIX=" out))))))))
|
||||
(lambda* (#:key import-path outputs #:allow-other-keys)
|
||||
(with-directory-excursion (string-append "src/" import-path)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(invoke "make" "install" "install-bash"
|
||||
(string-append "PREFIX=" out)))))))))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
|
@ -1573,14 +1574,15 @@ Open Container Initiative specification.")
|
|||
"-xvf" source))))
|
||||
(replace 'build
|
||||
(lambda* (#:key import-path #:allow-other-keys)
|
||||
(chdir (string-append "src/" import-path))
|
||||
;; TODO: build manpages with 'go-md2man'.
|
||||
(invoke "make" "SHELL=bash")))
|
||||
(with-directory-excursion (string-append "src/" import-path)
|
||||
;; TODO: build manpages with 'go-md2man'.
|
||||
(invoke "make" "SHELL=bash"))))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(lambda* (#:key import-path outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bindir (string-append out "/bin")))
|
||||
(install-file "umoci" bindir)
|
||||
(install-file (string-append "src/" import-path "/umoci")
|
||||
bindir)
|
||||
#t))))))
|
||||
(home-page "https://umo.ci/")
|
||||
(synopsis "Tool for modifying Open Container images")
|
||||
|
@ -1617,19 +1619,20 @@ Open Container Initiative (OCI) image layout and its tagged images.")
|
|||
(arguments
|
||||
'(#:import-path "github.com/containers/skopeo"
|
||||
#:install-source? #f
|
||||
#:tests? #f ; The tests require Docker
|
||||
#:tests? #f ; The tests require Docker
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'build
|
||||
(lambda* (#:key import-path #:allow-other-keys)
|
||||
(chdir (string-append "src/" import-path))
|
||||
;; TODO: build manpages with 'go-md2man'.
|
||||
(invoke "make" "bin/skopeo")))
|
||||
(with-directory-excursion (string-append "src/" import-path)
|
||||
;; TODO: build manpages with 'go-md2man'.
|
||||
(invoke "make" "bin/skopeo"))))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(invoke "make" "install-binary" "install-completions"
|
||||
(string-append "PREFIX=" out))))))))
|
||||
(lambda* (#:key import-path outputs #:allow-other-keys)
|
||||
(with-directory-excursion (string-append "src/" import-path)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(invoke "make" "install-binary" "install-completions"
|
||||
(string-append "PREFIX=" out)))))))))
|
||||
(home-page "https://github.com/containers/skopeo")
|
||||
(synopsis "Interact with container images and container image registries")
|
||||
(description
|
||||
|
@ -1997,14 +2000,14 @@ administrators and developers in managing the database.")
|
|||
(define-public osinfo-db
|
||||
(package
|
||||
(name "osinfo-db")
|
||||
(version "20200813")
|
||||
(version "20201011")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://releases.pagure.org/libosinfo/osinfo-db-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"127lr4kvdy2b2lil7i0gbbxcf8vap0r6hxhnbmms4p7h2h0sdgri"))))
|
||||
"1zzx5gsqgzg2zki6h8vl0h7kpcrk5i2s1qhz7gcb18s7g99px8aj"))))
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build utils))
|
||||
|
|
|
@ -280,7 +280,7 @@ and the GTK+ toolkit.")
|
|||
(define-public lynx
|
||||
(package
|
||||
(name "lynx")
|
||||
(version "2.8.9rel.1")
|
||||
(version "2.9.0dev.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -288,7 +288,7 @@ and the GTK+ toolkit.")
|
|||
"/lynx" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"15cmyyma2kz1hfaa6mwjgli8zwdzq3jv0q2cl6nwzycjfwyijzrq"))))
|
||||
"1cjkpwxc1r8x8q73bgh9a4skaph1bwa0anml6f6lvf7lh5zvxw3q"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("pkg-config" ,pkg-config)
|
||||
("perl" ,perl)))
|
||||
|
@ -344,7 +344,7 @@ access.")
|
|||
(define-public qutebrowser
|
||||
(package
|
||||
(name "qutebrowser")
|
||||
(version "1.13.1")
|
||||
(version "1.14.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -352,7 +352,7 @@ access.")
|
|||
"qutebrowser/releases/download/v" version "/"
|
||||
"qutebrowser-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1n72dvrv4dch4i07lsis76p7g16a039fwx8rk7w8q9f60wgqb5i8"))))
|
||||
(base32 "0jip413yvyhdaywz0iadc32aaanjnhbx1d1vwzx3z1xbgc4i9svn"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
`(("python-attrs" ,python-attrs))) ; for tests
|
||||
|
|
|
@ -551,6 +551,78 @@ This is modified version, specifically intended for use with the NGinx
|
|||
documentation.")
|
||||
(license license:bsd-2))))
|
||||
|
||||
(define nginx-socket-cloexec
|
||||
(package
|
||||
(inherit nginx)
|
||||
(name "nginx-socket-cloexec") ;required for lua-resty-shell
|
||||
(source
|
||||
(origin
|
||||
(inherit (package-source nginx))
|
||||
(patches (append (search-patches "nginx-socket-cloexec.patch")
|
||||
(origin-patches (package-source nginx))))))))
|
||||
|
||||
(define-public nginx-lua-module
|
||||
(package
|
||||
(inherit nginx)
|
||||
(name "nginx-lua-module")
|
||||
(version "0.10.15")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/openresty/lua-nginx-module")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name "lua-nginx-module" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1j216isp0546hycklbr5wi8mlga5hq170hk7f2sm16sfavlkh5gz"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("nginx-sources" ,(package-source nginx-socket-cloexec))
|
||||
("luajit" ,luajit)
|
||||
,@(package-inputs nginx)))
|
||||
(arguments
|
||||
(substitute-keyword-arguments
|
||||
`(#:configure-flags '("--add-dynamic-module=.")
|
||||
#:make-flags '("modules")
|
||||
#:modules ((guix build utils)
|
||||
(guix build gnu-build-system)
|
||||
(ice-9 popen)
|
||||
(ice-9 regex)
|
||||
(ice-9 textual-ports))
|
||||
,@(package-arguments nginx))
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(add-after 'unpack 'unpack-nginx-sources
|
||||
(lambda* (#:key inputs native-inputs #:allow-other-keys)
|
||||
(begin
|
||||
;; The nginx source code is part of the module’s source.
|
||||
(format #t "decompressing nginx source code~%")
|
||||
(let ((tar (assoc-ref inputs "tar"))
|
||||
(nginx-srcs (assoc-ref inputs "nginx-sources")))
|
||||
(invoke (string-append tar "/bin/tar")
|
||||
"xvf" nginx-srcs "--strip-components=1"))
|
||||
#t)))
|
||||
(add-before 'configure 'set-luajit-env
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((luajit (assoc-ref inputs "luajit")))
|
||||
(setenv "LUAJIT_LIB"
|
||||
(string-append luajit "/lib"))
|
||||
(setenv "LUAJIT_INC"
|
||||
(string-append luajit "/include/luajit-2.1"))
|
||||
#t)))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((modules-dir (string-append (assoc-ref outputs "out")
|
||||
"/etc/nginx/modules")))
|
||||
(install-file "objs/ngx_http_lua_module.so" modules-dir)
|
||||
#t)))
|
||||
(delete 'fix-root-dirs)
|
||||
(delete 'install-man-page)))))
|
||||
(synopsis "NGINX module for Lua programming language support")
|
||||
(description "This NGINX module provides a scripting support with Lua
|
||||
programming language.")))
|
||||
|
||||
(define-public lighttpd
|
||||
(package
|
||||
(name "lighttpd")
|
||||
|
|
|
@ -987,7 +987,8 @@ compact configuration syntax.")
|
|||
;; This sets the destination when installing the necessary terminal
|
||||
;; capability data, which are not provided by 'ncurses'. See
|
||||
;; https://lists.gnu.org/archive/html/bug-ncurses/2009-10/msg00031.html
|
||||
`(#:make-flags (list (string-append "TERMINFO="
|
||||
`(#:configure-flags (list "--enable-256-color")
|
||||
#:make-flags (list (string-append "TERMINFO="
|
||||
(assoc-ref %outputs "out")
|
||||
"/share/terminfo"))
|
||||
#:phases
|
||||
|
|
|
@ -1396,7 +1396,7 @@ precedence rules, and the following functions and common constants.")
|
|||
(define-public xfce4-cpufreq-plugin
|
||||
(package
|
||||
(name "xfce4-cpufreq-plugin")
|
||||
(version "1.2.1")
|
||||
(version "1.2.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://archive.xfce.org/src/panel-plugins/"
|
||||
|
@ -1405,7 +1405,7 @@ precedence rules, and the following functions and common constants.")
|
|||
"/xfce4-cpufreq-plugin-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1dgmx3ygil51s1az298ly0gybcw8ln1dz8q8y9k207a0vk049q65"))))
|
||||
"16748wxy8aa5cxga0dbfrq7kv40alg5yx967r2l6vjapv2w083sh"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("intltool" ,intltool)
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
|
||||
;;; Copyright © 2020 Paul Garlick <pgarlick@tourbillion-technology.com>
|
||||
;;; Copyright © 2020 Edouard Klein <edk@beaver-labs.com>
|
||||
;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -1432,7 +1433,7 @@ SAX2 APIs.")
|
|||
(define-public xlsxio
|
||||
(package
|
||||
(name "xlsxio")
|
||||
(version "0.2.26")
|
||||
(version "0.2.29")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -1441,7 +1442,7 @@ SAX2 APIs.")
|
|||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0j8jral3yc2aib2ykp527lyb62a1d9p7qmfbszy7iy3s65pkma9b"))))
|
||||
(base32 "0jr6ggzhd8aakdvppcl8scy9j9jafg82zbzr4ih996sz8lrj90fn"))))
|
||||
(native-inputs
|
||||
`(("expat" ,expat)
|
||||
("make" ,gnu-make)
|
||||
|
|
|
@ -6076,7 +6076,7 @@ to answer a question. Xmessage can also exit after a specified time.")
|
|||
(define-public xterm
|
||||
(package
|
||||
(name "xterm")
|
||||
(version "359")
|
||||
(version "361")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (list
|
||||
|
@ -6086,7 +6086,7 @@ to answer a question. Xmessage can also exit after a specified time.")
|
|||
"xterm-" version ".tgz")))
|
||||
(sha256
|
||||
(base32
|
||||
"0lcjifz027j99zf2dnms0h43xp5zznxr39safrpyarv59jlmdjii"))))
|
||||
"0gv27akkfb796aww1snq3c2sxmi8vajgfxk83g60awp4slh0yqc5"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags '("--enable-wide-chars" "--enable-load-vt-fonts"
|
||||
|
@ -6278,7 +6278,8 @@ basic eye-candy effects.")
|
|||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "10alqdfmgml9ixdi1nyd9xlw8a5q0j8m2sv4g9p83pd6z1a0rpv2"))
|
||||
(patches (search-patches "xpra-4.0.1-systemd-run.patch"))))
|
||||
(patches (search-patches "xpra-4.0.1-systemd-run.patch"
|
||||
"xpra-4.0.4-norequests.patch"))))
|
||||
(build-system python-build-system)
|
||||
;; see also http://xpra.org/trac/wiki/Dependencies
|
||||
(inputs `(
|
||||
|
|
|
@ -461,7 +461,12 @@ channels in use and CONFIG-FILE, if it is true."
|
|||
|
||||
(mbegin %store-monad
|
||||
(let ((config-file (cond ((string? config-file)
|
||||
(local-file config-file "configuration.scm"))
|
||||
;; CONFIG-FILE has been passed typically via
|
||||
;; 'guix system reconfigure CONFIG-FILE' so we
|
||||
;; can assume it's valid: tell 'local-file' to
|
||||
;; not emit a warning.
|
||||
(local-file (assume-valid-file-name config-file)
|
||||
"configuration.scm"))
|
||||
((not config-file)
|
||||
#f)
|
||||
(else
|
||||
|
|
|
@ -84,7 +84,8 @@ loop-back communications.")
|
|||
|
||||
(define (containerd-shepherd-service config)
|
||||
(let* ((package (docker-configuration-containerd config))
|
||||
(debug? (docker-configuration-debug? config)))
|
||||
(debug? (docker-configuration-debug? config))
|
||||
(containerd (docker-configuration-containerd config)))
|
||||
(shepherd-service
|
||||
(documentation "containerd daemon.")
|
||||
(provision '(containerd))
|
||||
|
@ -93,6 +94,9 @@ loop-back communications.")
|
|||
#$@(if debug?
|
||||
'("--log-level=debug")
|
||||
'()))
|
||||
;; For finding containerd-shim binary.
|
||||
#:environment-variables
|
||||
(list (string-append "PATH=" #$containerd "/bin"))
|
||||
#:log-file "/var/log/containerd.log"))
|
||||
(stop #~(make-kill-destructor)))))
|
||||
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -90,7 +91,7 @@
|
|||
|
||||
nginx-configuration
|
||||
nginx-configuration?
|
||||
nginx-configuartion-nginx
|
||||
nginx-configuration-nginx
|
||||
nginx-configuration-log-directory
|
||||
nginx-configuration-run-directory
|
||||
nginx-configuration-server-blocks
|
||||
|
@ -525,6 +526,10 @@
|
|||
(modules nginx-configuration-modules (default '()))
|
||||
(global-directives nginx-configuration-global-directives
|
||||
(default '((events . ()))))
|
||||
(lua-package-path nginx-lua-package-path ;list of <package>
|
||||
(default #f))
|
||||
(lua-package-cpath nginx-lua-package-cpath ;list of <package>
|
||||
(default #f))
|
||||
(extra-content nginx-configuration-extra-content
|
||||
(default ""))
|
||||
(file nginx-configuration-file ;#f | string | file-like
|
||||
|
@ -630,6 +635,8 @@ of index files."
|
|||
server-names-hash-bucket-max-size
|
||||
modules
|
||||
global-directives
|
||||
lua-package-path
|
||||
lua-package-cpath
|
||||
extra-content)
|
||||
(apply mixed-text-file "nginx.conf"
|
||||
(flatten
|
||||
|
@ -646,11 +653,19 @@ of index files."
|
|||
" scgi_temp_path " run-directory "/scgi_temp;\n"
|
||||
" access_log " log-directory "/access.log;\n"
|
||||
" include " nginx "/share/nginx/conf/mime.types;\n"
|
||||
(if server-names-hash-bucket-size
|
||||
(string-append
|
||||
" server_names_hash_bucket_size "
|
||||
(number->string server-names-hash-bucket-size)
|
||||
";\n")
|
||||
(if lua-package-path
|
||||
#~(format #f " lua_package_path ~s;~%"
|
||||
(string-join (map (lambda (path)
|
||||
(string-append path "/lib/?.lua"))
|
||||
'#$lua-package-path)
|
||||
";"))
|
||||
"")
|
||||
(if lua-package-cpath
|
||||
#~(format #f " lua_package_cpath ~s;~%"
|
||||
(string-join (map (lambda (cpath)
|
||||
(string-append cpath "/lib/lua/?.lua"))
|
||||
'#$lua-package-cpath)
|
||||
";"))
|
||||
"")
|
||||
(if server-names-hash-bucket-max-size
|
||||
(string-append
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue