Merge remote-tracking branch 'origin/master' into core-updates
commit
d1252b597d
|
@ -18582,6 +18582,18 @@ Type of the service that runs the syslog daemon, whose value is a
|
|||
@code{<syslog-configuration>} object.
|
||||
@end defvar
|
||||
|
||||
To have a modified @code{syslog-configuration} come into effect after
|
||||
reconfiguring your system, the @samp{reload} action should be preferred
|
||||
to restarting the service, as many services such as the login manager
|
||||
depend on it and would be restarted as well:
|
||||
|
||||
@example
|
||||
# herd reload syslog
|
||||
@end example
|
||||
|
||||
which will cause the running @command{syslogd} process to reload its
|
||||
configuration.
|
||||
|
||||
@deftp {Data Type} syslog-configuration
|
||||
Data type representing the configuration of the syslog daemon.
|
||||
|
||||
|
@ -42565,10 +42577,10 @@ Name of this host declaration.
|
|||
@item @code{host-name} (type: maybe-string)
|
||||
Host name---e.g., @code{"foo.example.org"} or @code{"192.168.1.2"}.
|
||||
|
||||
@item @code{address-family} (type: address-family)
|
||||
@item @code{address-family} (type: maybe-address-family)
|
||||
Address family to use when connecting to this host: one of
|
||||
@code{AF_INET} (for IPv4 only), @code{AF_INET6} (for IPv6 only), or
|
||||
@code{*unspecified*} (allowing any address family).
|
||||
@code{AF_INET} (for IPv4 only), @code{AF_INET6} (for IPv6 only).
|
||||
Additionally, the field can be left unset to allow any address family.
|
||||
|
||||
@item @code{identity-file} (type: maybe-string)
|
||||
The identity file to use---e.g., @code{"/home/charlie/.ssh/id_ed25519"}.
|
||||
|
@ -42594,10 +42606,31 @@ machine.
|
|||
@item @code{compression?} (default: @code{#f}) (type: boolean)
|
||||
Whether to compress data in transit.
|
||||
|
||||
@item @code{proxy-command} (type: maybe-string)
|
||||
The command to use to connect to the server. As an example, a command
|
||||
to connect via an HTTP proxy at 192.0.2.0 would be: @code{"nc -X connect
|
||||
-x 192.0.2.0:8080 %h %p"}.
|
||||
@item @code{proxy} (type: maybe-proxy-command-or-jump-list)
|
||||
The command to use to connect to the server or a list of SSH hosts to
|
||||
jump through before connecting to the server. The field may be set to either a
|
||||
@code{proxy-command} or a list of @code{proxy-jump} records.
|
||||
|
||||
As an example, a @code{proxy-command} to connect via an HTTP proxy at 192.0.2.0
|
||||
would be constructed with: @code{(proxy-command "nc -X connect -x
|
||||
192.0.2.0:8080 %h %p")}.
|
||||
|
||||
@deftp {Data Type} proxy-jump
|
||||
Available @code{proxy-jump} fields are:
|
||||
|
||||
@table @asis
|
||||
@item @code{user} (type: maybe-string)
|
||||
User name on the remote host.
|
||||
|
||||
@item @code{host-name} (type: string)
|
||||
Host name---e.g., @code{foo.example.org} or @code{192.168.1.2}.
|
||||
|
||||
@item @code{port} (type: maybe-natural-number)
|
||||
TCP port number to connect to.
|
||||
|
||||
@end table
|
||||
|
||||
@end deftp
|
||||
|
||||
@item @code{host-key-algorithms} (type: maybe-string-list)
|
||||
The list of accepted host key algorithms---e.g.,
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
(define-module (gnu home services ssh)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix records)
|
||||
#:use-module (guix deprecation)
|
||||
#:use-module (guix diagnostics)
|
||||
#:use-module (guix i18n)
|
||||
#:use-module (gnu services)
|
||||
|
@ -32,6 +33,8 @@
|
|||
#:autoload (gnu packages base) (glibc-utf8-locales)
|
||||
#:use-module (gnu packages ssh)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-9)
|
||||
#:use-module (srfi srfi-9 gnu)
|
||||
#:use-module (srfi srfi-34)
|
||||
#:use-module (srfi srfi-35)
|
||||
#:use-module (ice-9 match)
|
||||
|
@ -55,6 +58,12 @@
|
|||
openssh-host-host-key-algorithms
|
||||
openssh-host-accepted-key-types
|
||||
openssh-host-extra-content
|
||||
proxy-jump
|
||||
proxy-jump-host-name
|
||||
proxy-jump-port
|
||||
proxy-jump-user
|
||||
proxy-command
|
||||
proxy-command->string
|
||||
|
||||
home-openssh-service-type
|
||||
home-ssh-agent-service-type))
|
||||
|
@ -114,6 +123,54 @@
|
|||
|
||||
(define-maybe string-list)
|
||||
|
||||
(define-record-type <proxy-command>
|
||||
(proxy-command command)
|
||||
proxy-command?
|
||||
(command proxy-command->string))
|
||||
|
||||
(set-record-type-printer! <proxy-command>
|
||||
(lambda (obj port)
|
||||
(format port "#<proxy-command ~s>" (proxy-command->string obj))))
|
||||
|
||||
(define-configuration/no-serialization proxy-jump
|
||||
(user
|
||||
maybe-string
|
||||
"User name on the remote host.")
|
||||
(host-name
|
||||
(string)
|
||||
"Host name---e.g., @code{foo.example.org} or @code{192.168.1.2}.")
|
||||
(port
|
||||
maybe-natural-number
|
||||
"TCP port number to connect to."))
|
||||
|
||||
(define (proxy-jump->string proxy-jump)
|
||||
(match-record proxy-jump <proxy-jump>
|
||||
(host-name user port)
|
||||
(string-append
|
||||
(if (maybe-value-set? user) (string-append user "@") "")
|
||||
host-name
|
||||
(if (maybe-value-set? port) (string-append ":" (number->string port)) ""))))
|
||||
|
||||
(define (proxy-command-or-jump-list? x)
|
||||
(or (proxy-command? x)
|
||||
(and (list? x)
|
||||
(every proxy-jump? x))))
|
||||
|
||||
(define (serialize-proxy-command-or-jump-list field value)
|
||||
(if (proxy-command? value)
|
||||
(serialize-string 'proxy-command (proxy-command->string value))
|
||||
(serialize-string-list 'proxy-jump (map proxy-jump->string value))))
|
||||
|
||||
(define-maybe proxy-command-or-jump-list)
|
||||
|
||||
(define (sanitize-proxy-command properties)
|
||||
(lambda (value)
|
||||
(when (maybe-value-set? value)
|
||||
(warn-about-deprecation 'proxy-command properties #:replacement 'proxy))
|
||||
(unless (maybe-string? value)
|
||||
(configuration-field-error (source-properties->location properties) 'proxy-command value))
|
||||
value))
|
||||
|
||||
(define-configuration openssh-host
|
||||
(name
|
||||
(string)
|
||||
|
@ -155,7 +212,13 @@ machine.")
|
|||
maybe-string
|
||||
"The command to use to connect to the server. As an example, a command
|
||||
to connect via an HTTP proxy at 192.0.2.0 would be: @code{\"nc -X
|
||||
connect -x 192.0.2.0:8080 %h %p\"}.")
|
||||
connect -x 192.0.2.0:8080 %h %p\"}. Using 'proxy-command' is deprecated, use
|
||||
'proxy' instead."
|
||||
(sanitizer (sanitize-proxy-command (current-source-location))))
|
||||
(proxy
|
||||
maybe-proxy-command-or-jump-list
|
||||
"The command to use to connect to the server or a list of SSH hosts to jump
|
||||
through before connecting to the server.")
|
||||
(host-key-algorithms
|
||||
maybe-string-list
|
||||
"The list of accepted host key algorithms---e.g.,
|
||||
|
|
|
@ -999,6 +999,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/classpath-aarch64-support.patch \
|
||||
%D%/packages/patches/classpath-miscompilation.patch \
|
||||
%D%/packages/patches/cling-use-shared-library.patch \
|
||||
%D%/packages/patches/clog-fix-shared-build.patch \
|
||||
%D%/packages/patches/clucene-pkgconfig.patch \
|
||||
%D%/packages/patches/cmake-curl-certificates-3.24.patch \
|
||||
%D%/packages/patches/coda-use-system-libs.patch \
|
||||
|
|
|
@ -2220,167 +2220,179 @@ easy-to-perform steps.")
|
|||
(license license:gpl3+)))
|
||||
|
||||
(define-public bpp-core
|
||||
;; The last release was in 2014 and the recommended way to install from source
|
||||
;; is to clone the git repository, so we do this.
|
||||
;; http://biopp.univ-montp2.fr/wiki/index.php/Main_Page
|
||||
(let ((commit "7d8bced0d1a87291ea8dd7046b7fb5ff9c35c582"))
|
||||
(package
|
||||
(name "bpp-core")
|
||||
(version (string-append "2.2.0-1." (string-take commit 7)))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "http://biopp.univ-montp2.fr/git/bpp-core")
|
||||
(commit commit)))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"10djsq5vlnkilv436gnmh4irpk49v29pa69r6xiryg32xmvn909j"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:parallel-build? #f))
|
||||
(home-page "http://biopp.univ-montp2.fr")
|
||||
(synopsis "C++ libraries for Bioinformatics")
|
||||
(description
|
||||
"Bio++ is a set of C++ libraries for Bioinformatics, including sequence
|
||||
(package
|
||||
(name "bpp-core")
|
||||
(version "2.4.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/BioPP/bpp-core")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0ma2cl677l7s0n5sffh66cy9lxp5wycm50f121g8rx85p95vkgwv"))))
|
||||
(build-system cmake-build-system)
|
||||
(home-page "https://pbil.univ-lyon1.fr/bpp-doc/bpp-core/html/index.html")
|
||||
(synopsis "C++ libraries for Bioinformatics")
|
||||
(description
|
||||
"Bio++ is a set of C++ libraries for Bioinformatics, including sequence
|
||||
analysis, phylogenetics, molecular evolution and population genetics. It is
|
||||
Object Oriented and is designed to be both easy to use and computer efficient.
|
||||
Bio++ intends to help programmers to write computer expensive programs, by
|
||||
providing them a set of re-usable tools.")
|
||||
(license license:cecill-c))))
|
||||
(license license:cecill-c)))
|
||||
|
||||
(define-public bpp-phyl
|
||||
;; The last release was in 2014 and the recommended way to install from source
|
||||
;; is to clone the git repository, so we do this.
|
||||
;; http://biopp.univ-montp2.fr/wiki/index.php/Main_Page
|
||||
(let ((commit "0c07167b629f68b569bf274d1ad0c4af83276ae2"))
|
||||
(package
|
||||
(name "bpp-phyl")
|
||||
(version (string-append "2.2.0-1." (string-take commit 7)))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "http://biopp.univ-montp2.fr/git/bpp-phyl")
|
||||
(commit commit)))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"1ssjgchzwj3iai26kyly7gwkdv8sk59nqhkb1wpap3sf5m6kyllh"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:parallel-build? #f
|
||||
;; If out-of-source, test data is not copied into the build directory
|
||||
;; so the tests fail.
|
||||
#:out-of-source? #f))
|
||||
(inputs
|
||||
(list bpp-core bpp-seq))
|
||||
(home-page "http://biopp.univ-montp2.fr")
|
||||
(synopsis "Bio++ phylogenetic Library")
|
||||
(description
|
||||
"Bio++ is a set of C++ libraries for Bioinformatics, including sequence
|
||||
(package
|
||||
(name "bpp-phyl")
|
||||
(version "2.4.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/BioPP/bpp-phyl")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"192zks6wyk903n06c2lbsscdhkjnfwms8p7jblsmk3lvjhdipb20"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs
|
||||
(list bpp-core bpp-seq))
|
||||
(home-page "https://pbil.univ-lyon1.fr/bpp-doc/bpp-phyl/html/")
|
||||
(synopsis "Bio++ phylogenetic library")
|
||||
(description
|
||||
"Bio++ is a set of C++ libraries for Bioinformatics, including sequence
|
||||
analysis, phylogenetics, molecular evolution and population genetics. This
|
||||
library provides phylogenetics-related modules.")
|
||||
(license license:cecill-c))))
|
||||
(license license:cecill-c)))
|
||||
|
||||
(define-public bpp-phyl-omics
|
||||
(package
|
||||
(name "bpp-phyl-omics")
|
||||
(version "2.4.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/BioPP/bpp-phyl-omics")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "172psb8njkjwg3cd6gdy5w0mq8f0817v635yw4bk7146aggjzl1h"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f)) ; No test provided.
|
||||
(inputs
|
||||
(list bpp-core
|
||||
bpp-phyl
|
||||
bpp-seq
|
||||
bpp-seq-omics))
|
||||
(home-page "https://github.com/BioPP/bpp-phyl-omics")
|
||||
(synopsis "Bio++ phylogenetic library genomics components")
|
||||
(description
|
||||
"This library contains the genomics components of the Bio++ phylogenetics
|
||||
library. It is part of the Bio++ project.")
|
||||
(license license:cecill)))
|
||||
|
||||
(define-public bpp-popgen
|
||||
;; The last release was in 2014 and the recommended way to install from source
|
||||
;; is to clone the git repository, so we do this.
|
||||
;; http://biopp.univ-montp2.fr/wiki/index.php/Main_Page
|
||||
(let ((commit "e472bac9b1a148803895d747cd6d0c5904f85d9f"))
|
||||
(package
|
||||
(name "bpp-popgen")
|
||||
(version (string-append "2.2.0-1." (string-take commit 7)))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "http://biopp.univ-montp2.fr/git/bpp-popgen")
|
||||
(commit commit)))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0yn82dzn1n5629nzja68xfrhi655709rjanyryb36vzkmymy6dw5"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:parallel-build? #f
|
||||
#:tests? #f)) ; There are no tests.
|
||||
(inputs
|
||||
(list bpp-core bpp-seq))
|
||||
(home-page "http://biopp.univ-montp2.fr")
|
||||
(synopsis "Bio++ population genetics library")
|
||||
(description
|
||||
"Bio++ is a set of C++ libraries for Bioinformatics, including sequence
|
||||
(package
|
||||
(name "bpp-popgen")
|
||||
(version "2.4.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/BioPP/bpp-popgen")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0bz0fhrq3dri6a0hvfc3zlvrns8mrzzlnicw5pyfa812gc1qwfvh"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f)) ; There are no tests.
|
||||
(inputs
|
||||
(list bpp-core bpp-seq))
|
||||
(home-page "https://pbil.univ-lyon1.fr/bpp-doc/bpp-popgen/html/")
|
||||
(synopsis "Bio++ population genetics library")
|
||||
(description
|
||||
"Bio++ is a set of C++ libraries for Bioinformatics, including sequence
|
||||
analysis, phylogenetics, molecular evolution and population genetics. This
|
||||
library provides population genetics-related modules.")
|
||||
(license license:cecill-c))))
|
||||
(license license:cecill-c)))
|
||||
|
||||
(define-public bpp-seq
|
||||
;; The last release was in 2014 and the recommended way to install from source
|
||||
;; is to clone the git repository, so we do this.
|
||||
;; http://biopp.univ-montp2.fr/wiki/index.php/Main_Page
|
||||
(let ((commit "6cfa07965ce152e5598a89df2fa80a75973bfa33"))
|
||||
(package
|
||||
(name "bpp-seq")
|
||||
(version (string-append "2.2.0-1." (string-take commit 7)))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "http://biopp.univ-montp2.fr/git/bpp-seq")
|
||||
(commit commit)))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"1nys5jq7jqvdg40d91wsmj3q2yzy4276cp7sp44n67p468f27zf2"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:parallel-build? #f
|
||||
;; If out-of-source, test data is not copied into the build directory
|
||||
;; so the tests fail.
|
||||
#:out-of-source? #f))
|
||||
(inputs
|
||||
(list bpp-core))
|
||||
(home-page "http://biopp.univ-montp2.fr")
|
||||
(synopsis "Bio++ sequence library")
|
||||
(description
|
||||
"Bio++ is a set of C++ libraries for Bioinformatics, including sequence
|
||||
(package
|
||||
(name "bpp-seq")
|
||||
(version "2.4.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/BioPP/bpp-seq")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1mc09g8jswzsa4wgrfv59jxn15ys3q8s0227p1j838wkphlwn2qk"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs
|
||||
(list bpp-core))
|
||||
(home-page "https://pbil.univ-lyon1.fr/bpp-doc/bpp-seq/html/")
|
||||
(synopsis "Bio++ sequence library")
|
||||
(description
|
||||
"Bio++ is a set of C++ libraries for Bioinformatics, including sequence
|
||||
analysis, phylogenetics, molecular evolution and population genetics. This
|
||||
library provides sequence-related modules.")
|
||||
(license license:cecill-c))))
|
||||
(license license:cecill-c)))
|
||||
|
||||
(define-public bpp-seq-omics
|
||||
(package
|
||||
(name "bpp-seq-omics")
|
||||
(version "2.4.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/BioPP/bpp-seq-omics")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1sc2xdfnfp5a6qihplp49rgrqmj89898avfy9bqaq1g2fajppgjj"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs
|
||||
(list bpp-core bpp-seq))
|
||||
(home-page "https://github.com/BioPP/bpp-seq-omics")
|
||||
(synopsis "Bio++ sequence library genomics components")
|
||||
(description
|
||||
"This library contains the genomics components of the Bio++ sequence library.
|
||||
It is part of the Bio++ project.")
|
||||
(license license:cecill)))
|
||||
|
||||
(define-public bppsuite
|
||||
;; The last release was in 2014 and the recommended way to install from source
|
||||
;; is to clone the git repository, so we do this.
|
||||
;; http://biopp.univ-montp2.fr/wiki/index.php/Main_Page
|
||||
(let ((commit "c516147f57aa50961121cd505bed52cd7603698b"))
|
||||
(package
|
||||
(name "bppsuite")
|
||||
(version (string-append "2.2.0-1." (string-take commit 7)))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "http://biopp.univ-montp2.fr/git/bppsuite")
|
||||
(commit commit)))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"1y87pxvw0jxjizhq2dr9g2r91md45k1p9ih2sl1yy1y3p934l2kb"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:parallel-build? #f
|
||||
#:tests? #f)) ; There are no tests.
|
||||
(native-inputs
|
||||
(list groff man-db texinfo))
|
||||
(inputs
|
||||
`(("bpp-core" ,bpp-core)
|
||||
("bpp-seq" ,bpp-seq)
|
||||
("bpp-phyl" ,bpp-phyl)
|
||||
("bpp-phyl" ,bpp-popgen)))
|
||||
(home-page "http://biopp.univ-montp2.fr")
|
||||
(synopsis "Bioinformatics tools written with the Bio++ libraries")
|
||||
(description
|
||||
"Bio++ is a set of C++ libraries for Bioinformatics, including sequence
|
||||
(package
|
||||
(name "bppsuite")
|
||||
(version "2.4.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/BioPP/bppsuite")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1wdwcgczqbc3m116vakvi0129wm3acln3cfc7ivqnalwvi6lrpds"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f)) ; There are no tests.
|
||||
(native-inputs
|
||||
(list groff man-db texinfo))
|
||||
(inputs
|
||||
(list bpp-core bpp-seq bpp-phyl bpp-popgen))
|
||||
(home-page "https://github.com/BioPP")
|
||||
(synopsis "Bioinformatics tools written with the Bio++ libraries")
|
||||
(description
|
||||
"Bio++ is a set of C++ libraries for Bioinformatics, including sequence
|
||||
analysis, phylogenetics, molecular evolution and population genetics. This
|
||||
package provides command line tools using the Bio++ library.")
|
||||
(license license:cecill-c))))
|
||||
(license license:cecill-c)))
|
||||
|
||||
(define-public blast+
|
||||
(package
|
||||
|
@ -6021,6 +6033,43 @@ resolution of binding sites through combining the information of both
|
|||
sequencing tag position and orientation.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public maffilter
|
||||
(package
|
||||
(name "maffilter")
|
||||
(version "1.3.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/jydu/maffilter")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "196c16qw82niqqyzi7j1ga1n0zmir73bm26kg04m0i5aq2cpa0ml"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments (list #:tests? #false)) ;there are none
|
||||
(inputs
|
||||
(list boost
|
||||
bpp-core
|
||||
bpp-phyl
|
||||
bpp-phyl-omics
|
||||
bpp-seq
|
||||
bpp-seq-omics
|
||||
zlib))
|
||||
(home-page "https://jydu.github.io/maffilter/")
|
||||
(synopsis "Multiple alignment format file processor")
|
||||
(description
|
||||
"MafFilter is a program dedicated to the analysis of genome alignments.
|
||||
It parses and manipulates @acronym{MAF, multiple alignment format} files as
|
||||
well as more simple fasta files. This package can be used to design a
|
||||
pipeline as a series of consecutive filters, each performing a dedicated
|
||||
analysis. Many of the filters are available, from alignment cleaning to
|
||||
phylogeny reconstruction and population genetics analysis. Despite various
|
||||
filtering options and format conversion tools, MafFilter can compute a wide
|
||||
range of statistics (phylogenetic trees, nucleotide diversity, inferrence of
|
||||
selection, etc.).")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public mafft
|
||||
(package
|
||||
(name "mafft")
|
||||
|
|
|
@ -125,6 +125,7 @@
|
|||
;;; Copyright © 2022 Demis Balbach <db@minikn.xyz>
|
||||
;;; Copyright © 2020, 2021, 2022, 2023 Andrew Tropin <andrew@trop.in>
|
||||
;;; Copyright © 2023 Dominik Delgado Steuter <d@delgado.nrw>
|
||||
;;; Copyright © 2023 Juliana Sims <juli@incana.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -2935,14 +2936,14 @@ incrementally confined in Isearch manner.")
|
|||
(define emacs-emms-print-metadata
|
||||
(package
|
||||
(name "emacs-emms-print-metadata")
|
||||
(version "14")
|
||||
(version "15")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://elpa.gnu.org/packages/"
|
||||
"emms-" version ".tar"))
|
||||
(sha256
|
||||
(base32 "0525vmi397q604z8i35zld3c4fkwbvxwir5lf4f1ji1bbvkzqavc"))))
|
||||
(base32 "0kd9qx93cgcxyqsnbp95xx414s08rd5bb35aif3c7qyab5w05yi6"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -10714,10 +10715,10 @@ them easier to distinguish from other, less important buffers.")
|
|||
(license license:expat)))
|
||||
|
||||
(define-public emacs-embark
|
||||
(let ((commit "63013c2d3ef4dccc95167218ccbf4f401e489c3e")) ;version bump
|
||||
(let ((commit "c914efe881df2bc6a2bd35cc7ee975d3e9d4a418")) ;version bump
|
||||
(package
|
||||
(name "emacs-embark")
|
||||
(version "0.21.1")
|
||||
(version "0.22.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -10725,7 +10726,7 @@ them easier to distinguish from other, less important buffers.")
|
|||
(url "https://github.com/oantolin/embark")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32 "14qp46wa1xgmb09jyk9cadj0b3m7bwspqnprk3zbfc6gw1r53235"))
|
||||
(base32 "1l288w27wav0r71hprqi74r77042d1fx3p1zmi05vl6z6230h48b"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
|
@ -13151,7 +13152,7 @@ with Elfeed.")
|
|||
(define-public emacs-elfeed-score
|
||||
(package
|
||||
(name "emacs-elfeed-score")
|
||||
(version "1.2.4")
|
||||
(version "1.2.5")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -13160,8 +13161,20 @@ with Elfeed.")
|
|||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0d1yh4wv81n5mnrzdi88z0vbs94m7j3q20r5fc1wk35r4hrl3xqw"))))
|
||||
(base32 "0slbmmcsf5pqbiq3nmna7wx9jvfgdgjp272qdqvmrv99jdj92cq6"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #false ;FIXME: How to run tests properly?
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'install 'make-info
|
||||
(lambda _
|
||||
(with-directory-excursion "doc"
|
||||
(invoke "makeinfo" "--no-split"
|
||||
"-o" "elfeed-score.info" "elfeed-score.texi")))))))
|
||||
(native-inputs
|
||||
(list texinfo))
|
||||
(propagated-inputs
|
||||
(list emacs-elfeed))
|
||||
(home-page "https://github.com/sp1ff/elfeed-score")
|
||||
|
@ -27423,7 +27436,7 @@ targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)")
|
|||
(define-public emacs-buttercup
|
||||
(package
|
||||
(name "emacs-buttercup")
|
||||
(version "1.30")
|
||||
(version "1.31")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -27433,7 +27446,7 @@ targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1zr1jlfwr8yp9168yvkrhif1mr1r40fr1j1v1iv11ryn2zjcm9yn"))))
|
||||
"1rvc9r6swb74lhzd877jidkkf2cxl5v4zz302j2imqhsbk844qzh"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
@ -32599,7 +32612,7 @@ contributed packages to Telega.")))
|
|||
(define-public emacs-doom-modeline
|
||||
(package
|
||||
(name "emacs-doom-modeline")
|
||||
(version "3.3.2")
|
||||
(version "3.4.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -32607,7 +32620,7 @@ contributed packages to Telega.")))
|
|||
(url "https://github.com/seagle0128/doom-modeline")
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32 "1v24hiqs4zbq613vanixgng9cx697di63jpafpmjlsripjfvk1qp"))
|
||||
(base32 "1z5cqn33v7sjihs05ycz1yzi5wcg90yn3cy09qj9g5g8pjs8qdki"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
|
@ -33712,7 +33725,7 @@ launching other commands/applications from within Emacs, similar to the
|
|||
(define-public emacs-no-littering
|
||||
(package
|
||||
(name "emacs-no-littering")
|
||||
(version "1.2.7")
|
||||
(version "1.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -33721,8 +33734,10 @@ launching other commands/applications from within Emacs, similar to the
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1grc5fk7ng4d6i8fwfpm3cb2b19s9sbdjbdn8ybchk7cj45kkl24"))))
|
||||
(base32 "1vkypj2mm428kmawxnyaqg3v5xpcs5hkbmyvjkib8ib02psshxd7"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs
|
||||
(list emacs-compat))
|
||||
(home-page "https://github.com/emacscollective/no-littering")
|
||||
(synopsis "Help keep @file{~/.emacs.d/} clean")
|
||||
(description "The default paths used to store configuration files and
|
||||
|
@ -36017,6 +36032,22 @@ audio volume via amixer.")
|
|||
Fennel code within Emacs.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-gerbil-mode
|
||||
(package
|
||||
(inherit gerbil)
|
||||
(name "emacs-gerbil-mode")
|
||||
(version "1.0")
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list #:phases #~(modify-phases %standard-phases
|
||||
(add-before 'install 'change-directory
|
||||
(lambda _
|
||||
(chdir "etc"))))))
|
||||
(synopsis "Emacs major-mode for editing Gerbil code")
|
||||
(description
|
||||
"Gerbil mode provides font-lock, indentation, navigation, and REPL for
|
||||
Gerbil code within Emacs.")))
|
||||
|
||||
(define-public emacs-org-modern
|
||||
(package
|
||||
(name "emacs-org-modern")
|
||||
|
|
|
@ -984,7 +984,7 @@ Emacs).")
|
|||
(define-public kicad
|
||||
(package
|
||||
(name "kicad")
|
||||
(version "7.0.1")
|
||||
(version "7.0.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -992,7 +992,7 @@ Emacs).")
|
|||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"021safxvyq9qzs08jy3jvpazmhvix4kyl05s9y9hwmyzdmdl2smn"))
|
||||
"0san7pjgvd8niwrki722qb6y46r71rlyspqp43pmkiz55dmz52zx"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
|
@ -1092,7 +1092,7 @@ electrical diagrams), gerbview (viewing Gerber files) and others.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1cy9w10wzdjm9z9vzv88ija6l3pp894hwcgz5jggjrnyazhpklvj"))))
|
||||
"1sh970sjvgzrwwjbkgg3ikzka5dfdq66hvkcxfx2dnp7hv0hidc2"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags (list "-DBUILD_FORMATS=html")
|
||||
|
@ -1126,7 +1126,7 @@ electrical diagrams), gerbview (viewing Gerber files) and others.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"14c5gci13m30xv0cmic5jxsmfx9lq3fnd8hyq3mmgkrw7443zy30"))))
|
||||
"0aah92rb8yx00z0xwx9z7xn5rrw4cc3z35gr7c0bnb49hiak01jc"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f)) ; no tests exist
|
||||
|
@ -1155,7 +1155,7 @@ libraries.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0k0z40wmaq665hjxb6kp1yl3v7clxz49r6ki0chyphsxv1cnixmy"))))
|
||||
"1qrdznfd4a6kzwd4aaijkpyjy0xnrmi66isq9z52652a8s6ja48v"))))
|
||||
(synopsis "Official KiCad footprint libraries")
|
||||
(description "This package contains the official KiCad footprint libraries.")))
|
||||
|
||||
|
@ -1172,7 +1172,7 @@ libraries.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0nzi7ijfb3rjm98kaa9va2mkh0nfzpq4vfhxkq8j18qhx24h5c8v"))))
|
||||
"1nkk4325jh89vh52ykfnf9pz1k3jk5017gz6r2cia2v4b3jadi31"))))
|
||||
(synopsis "Official KiCad 3D model libraries")
|
||||
(description "This package contains the official KiCad 3D model libraries.")))
|
||||
|
||||
|
@ -1189,7 +1189,7 @@ libraries.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"02i279269mhq7wjhb1yqk90820ncssxl9n7b20qr2r4fmm7jpvxv"))))
|
||||
"1qi20mrsfn4fxmr1fyphmil2i9p2nzmwk5rlfchc5aq2194nj3lq"))))
|
||||
(synopsis "Official KiCad project and worksheet templates")
|
||||
(description "This package contains the official KiCad project and
|
||||
worksheet templates.")))
|
||||
|
|
|
@ -3706,6 +3706,57 @@ enemies in different game modes such as space ball, death match, team death
|
|||
match, cannon keep, and grave-itation pit.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public alienblaster
|
||||
(package
|
||||
(name "alienblaster")
|
||||
(version "1.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.schwardtnet.de/alienblaster/archives/"
|
||||
"alienblaster-" version ".tgz"))
|
||||
(sha256
|
||||
(base32
|
||||
"104rfsfsv446n4y52p5zw9h8mhgjyrbca8fpyhnxkkasq141a264"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #f ; no tests
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-sdl-paths
|
||||
(lambda _
|
||||
(let ((share (string-append #$output "/share")))
|
||||
;; Fix name and append path to "SDL_mixer.h"
|
||||
(substitute* "src/Makefile"
|
||||
(("GAME_NAME=alienBlaster") "GAME_NAME=alienblaster")
|
||||
(("SDL_FLAGS=\\$\\(shell sdl-config --cflags\\)" line)
|
||||
(string-append line " -I"
|
||||
#$(this-package-input "sdl-mixer")
|
||||
"/include/SDL")))
|
||||
;; Substitute relative paths in ".cfg" and source/header files
|
||||
(substitute* (find-files "./cfg")
|
||||
(("(\\./)?images") (string-append share "/images")))
|
||||
(substitute* (list "src/global.h" "src/global.cc")
|
||||
(("./images") (string-append share "/images"))
|
||||
(("./sound") (string-append share "/sound"))
|
||||
(("./cfg") (string-append share "/cfg"))))))
|
||||
(delete 'configure)
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(install-file "alienblaster" (string-append #$output "/bin"))
|
||||
(for-each
|
||||
(lambda (dir)
|
||||
(copy-recursively dir (string-append #$output "/share/" dir)))
|
||||
'("images" "sound" "cfg")))))))
|
||||
(inputs (list sdl sdl-mixer))
|
||||
(home-page "http://www.schwardtnet.de/alienblaster/")
|
||||
(synopsis "Action-loaded 2D arcade shooter game")
|
||||
(description "Alien Blaster is an action-loaded 2D arcade shooter
|
||||
game. Your mission in the game is simple: stop the invasion of the aliens by
|
||||
blasting them. Simultaneous two-player mode is available.")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define glkterm
|
||||
(package
|
||||
(name "glkterm")
|
||||
|
|
|
@ -11706,7 +11706,7 @@ advanced image management tool")
|
|||
(define-public terminator
|
||||
(package
|
||||
(name "terminator")
|
||||
(version "2.1.2")
|
||||
(version "2.1.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -11714,7 +11714,7 @@ advanced image management tool")
|
|||
"releases/download/v" version "/"
|
||||
name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "10shpn8id7z43d4dpx16x76mgxnk4mr976j5cg28icjiiaidyfc2"))))
|
||||
(base32 "1rbarn9pq3g8k13clxiy0d62g0fxhkg5bcxw2h626wkb7lzr9s8a"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
`(("gettext" ,gettext-minimal)
|
||||
|
@ -12984,7 +12984,7 @@ profiler via Sysprof, debugging support, and more.")
|
|||
(define-public komikku
|
||||
(package
|
||||
(name "komikku")
|
||||
(version "1.15.0")
|
||||
(version "1.17.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -12994,7 +12994,7 @@ profiler via Sysprof, debugging support, and more.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0yd4274qxpv0wg1lm6daip2nd135qq07pfl5wrm2rqlzs5mvqs3n"))))
|
||||
"0snb6vdgb3l2mw0kr0yb4zjpq46w56rpi554vqn5ks6qwywvs58g"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
|
|
@ -733,7 +733,7 @@ you send to a FIFO file.")
|
|||
(define-public guile-dsv
|
||||
(package
|
||||
(name "guile-dsv")
|
||||
(version "0.5.1")
|
||||
(version "0.5.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -742,10 +742,10 @@ you send to a FIFO file.")
|
|||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"10wssilin4qphdmmqmms20bp3cy007kh22l1g45wfka0minmhkgs"))))
|
||||
"056wab749fyabklp4srai72dwzihlm6hkcdy1da7d4gh8iqsyqpi"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list autoconf automake pkg-config texinfo))
|
||||
(list autoconf automake pkg-config texinfo help2man))
|
||||
(inputs (list guile-3.0))
|
||||
(propagated-inputs (list guile-lib))
|
||||
(arguments
|
||||
|
|
|
@ -485,22 +485,22 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
|||
;; The current "stable" kernels. That is, the most recently released major
|
||||
;; versions that are still supported upstream.
|
||||
|
||||
(define-public linux-libre-6.2-version "6.2.11")
|
||||
(define-public linux-libre-6.2-version "6.2.12")
|
||||
(define-public linux-libre-6.2-gnu-revision "gnu")
|
||||
(define deblob-scripts-6.2
|
||||
(linux-libre-deblob-scripts
|
||||
linux-libre-6.2-version
|
||||
linux-libre-6.2-gnu-revision
|
||||
(base32 "15wrksnimwb099qgqc631rp8dgv5b61l6s5kknk23frqdwkp4shp")
|
||||
(base32 "0ir5vvbdh6dly5ld8mfp7285g8k88w5bb32hj4wmgyqsbfqc6rf2")))
|
||||
(base32 "0560xc8l2z79qk2dnv15i0m4igw9mq2ymv2a40nw2z3lcqygcs5x")))
|
||||
(define-public linux-libre-6.2-pristine-source
|
||||
(let ((version linux-libre-6.2-version)
|
||||
(hash (base32 "0iyx03z58pv1d5nrryjx94k3nxwyvm4b3bim6nawg1qbws26f8qd")))
|
||||
(hash (base32 "1j6cn1ifmcqfqvxp9h10y8yfxi918yzl3yjbf96gmb9p4ysldqf7")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-6.2)))
|
||||
|
||||
(define-public linux-libre-6.1-version "6.1.24")
|
||||
(define-public linux-libre-6.1-version "6.1.25")
|
||||
(define-public linux-libre-6.1-gnu-revision "gnu")
|
||||
(define deblob-scripts-6.1
|
||||
(linux-libre-deblob-scripts
|
||||
|
@ -510,7 +510,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
|||
(base32 "0cchdhjra74zanyk14brv2l2dvxpg8dn58rn477lgfb44mcnhq33")))
|
||||
(define-public linux-libre-6.1-pristine-source
|
||||
(let ((version linux-libre-6.1-version)
|
||||
(hash (base32 "0135aj8asplpxqr48hwdmwynx8n8hzhdgh55yl8r0n1kivisgrma")))
|
||||
(hash (base32 "149h95r5msvqah868zd36y92ls9h41cr1rb5vzinl20mxdn46wnb")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-6.1)))
|
||||
|
@ -518,7 +518,7 @@ 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.15-version "5.15.107")
|
||||
(define-public linux-libre-5.15-version "5.15.108")
|
||||
(define-public linux-libre-5.15-gnu-revision "gnu")
|
||||
(define deblob-scripts-5.15
|
||||
(linux-libre-deblob-scripts
|
||||
|
@ -528,12 +528,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
|||
(base32 "03hwhwbcicwyx5i30d6m715kwgrxz4h21xhk55wnawlk8zhx3r35")))
|
||||
(define-public linux-libre-5.15-pristine-source
|
||||
(let ((version linux-libre-5.15-version)
|
||||
(hash (base32 "1a5gqpxmzls5mp4a0cw10ldrps4pvbn19nzfri91ys25j1v0wdqr")))
|
||||
(hash (base32 "1fj38bvsyr9g89qr8pcjrp0kaq44g301x46gyjibq73gljnnkswb")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-5.15)))
|
||||
|
||||
(define-public linux-libre-5.10-version "5.10.177")
|
||||
(define-public linux-libre-5.10-version "5.10.178")
|
||||
(define-public linux-libre-5.10-gnu-revision "gnu1")
|
||||
(define deblob-scripts-5.10
|
||||
(linux-libre-deblob-scripts
|
||||
|
@ -543,12 +543,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
|||
(base32 "1g4vabfswxzf9ahxc06k2ffksf84kcr2csx4m5kx680w0jqqnk80")))
|
||||
(define-public linux-libre-5.10-pristine-source
|
||||
(let ((version linux-libre-5.10-version)
|
||||
(hash (base32 "0waml6svj07b7f8yb1kzrflqlf61x4kcqbgsr372s484m3z628lz")))
|
||||
(hash (base32 "1bx8wws9gvksg1c1af29nm03jjz2f5a5sq9hzc00ymjyf7isvkqs")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-5.10)))
|
||||
|
||||
(define-public linux-libre-5.4-version "5.4.240")
|
||||
(define-public linux-libre-5.4-version "5.4.241")
|
||||
(define-public linux-libre-5.4-gnu-revision "gnu1")
|
||||
(define deblob-scripts-5.4
|
||||
(linux-libre-deblob-scripts
|
||||
|
@ -558,12 +558,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
|||
(base32 "1d6as1yk9svysh07hdybs8glvn8s9f8gwlbjl7f9m920pdam2r60")))
|
||||
(define-public linux-libre-5.4-pristine-source
|
||||
(let ((version linux-libre-5.4-version)
|
||||
(hash (base32 "0ihf0rqhx7dav3k3igk29962sscb1xyniy2gx8chyllprr0z126w")))
|
||||
(hash (base32 "0z7api3qcjrd6w7fva7k6fj4zx17mg5ibn28a6qbgy27dyny1h7z")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-5.4)))
|
||||
|
||||
(define-public linux-libre-4.19-version "4.19.280")
|
||||
(define-public linux-libre-4.19-version "4.19.281")
|
||||
(define-public linux-libre-4.19-gnu-revision "gnu1")
|
||||
(define deblob-scripts-4.19
|
||||
(linux-libre-deblob-scripts
|
||||
|
@ -573,12 +573,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
|||
(base32 "1q0fgpbdwc21wj9wnjjb49dp84ch6ymd5na3iaabadwjs2nmb6bd")))
|
||||
(define-public linux-libre-4.19-pristine-source
|
||||
(let ((version linux-libre-4.19-version)
|
||||
(hash (base32 "1xmg9p3ky75n5q894f522s8nwcmbd5c15nmjr0n96m6xzag3kd7w")))
|
||||
(hash (base32 "13nwzsh3h634450k37pxdca5j8vr3qswx7k79bs2999xp2js9pf0")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-4.19)))
|
||||
|
||||
(define-public linux-libre-4.14-version "4.14.312")
|
||||
(define-public linux-libre-4.14-version "4.14.313")
|
||||
(define-public linux-libre-4.14-gnu-revision "gnu1")
|
||||
(define deblob-scripts-4.14
|
||||
(linux-libre-deblob-scripts
|
||||
|
@ -588,7 +588,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
|||
(base32 "1ccggm19nl7pdcxmsm08fkqy8phz8rqfmww5ypizibdmnrmpn2v9")))
|
||||
(define-public linux-libre-4.14-pristine-source
|
||||
(let ((version linux-libre-4.14-version)
|
||||
(hash (base32 "03bwrnm7z8jxxn681dd5jffrj76l14ngkcccfgbg1p4a0471q436")))
|
||||
(hash (base32 "0k2j856niappvkp9m1wxr87xvbwdzdy03mbcj827kmpjd9gdca76")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-4.14)))
|
||||
|
|
|
@ -39,7 +39,6 @@
|
|||
#:use-module (guix build-system trivial)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages admin)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages compton)
|
||||
|
@ -321,8 +320,7 @@ LXQt and the system it's running on.")
|
|||
libqtxdg
|
||||
polkit-qt
|
||||
qtsvg-5
|
||||
qtx11extras
|
||||
tzdata))
|
||||
qtx11extras))
|
||||
(native-inputs
|
||||
(list lxqt-build-tools qttools-5))
|
||||
(arguments
|
||||
|
@ -330,14 +328,12 @@ LXQt and the system it's running on.")
|
|||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-source
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(lambda _
|
||||
(substitute* '("lxqt-admin-user/CMakeLists.txt"
|
||||
"lxqt-admin-time/CMakeLists.txt")
|
||||
(("DESTINATION \"\\$\\{POLKITQT-1_POLICY_FILES_INSTALL_DIR\\}")
|
||||
"DESTINATION \"share/polkit-1/actions"))
|
||||
(substitute* '("lxqt-admin-time/timeadmindialog.cpp")
|
||||
(("/usr/share/zoneinfo/zone.tab")
|
||||
(search-input-file inputs "share/zoneinfo/zone.tab"))))))))
|
||||
#t)))))
|
||||
(home-page "https://lxqt-project.org")
|
||||
(synopsis "LXQt system administration tool")
|
||||
(description "lxqt-admin is providing two GUI tools to adjust settings of
|
||||
|
|
|
@ -561,7 +561,7 @@ album-experience.")
|
|||
(define-public mpdevil
|
||||
(package
|
||||
(name "mpdevil")
|
||||
(version "1.10.0")
|
||||
(version "1.10.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -569,7 +569,7 @@ album-experience.")
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "04dzxyv176w5sm4j85j7fbh42nk9wsyz5s005kj9cjwsrzrnxlbk"))))
|
||||
(base32 "0ghmw3xiz567qd1iv1ggkv6zl1jb5d40mz27npk2zvlpikmqpc6c"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
|
|
@ -1756,14 +1756,14 @@ of the same name.")
|
|||
(define-public wireshark
|
||||
(package
|
||||
(name "wireshark")
|
||||
(version "4.0.4")
|
||||
(version "4.0.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.wireshark.org/download/src/wireshark-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "0jz76ra86gy7r4wwb174lggnl5y29nn68l7ydw1kj1phcijrz854"))))
|
||||
(base32 "0abb36n3li5w22f435k31mvk0sy0f41sxz4fqrl4ksjzjd377dki"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list
|
||||
|
|
|
@ -500,6 +500,35 @@ obtain information about the CPU being used: supported instruction set,
|
|||
processor name, cache information, and topology information.")
|
||||
(license license:bsd-2))))
|
||||
|
||||
(define-public clog
|
||||
(package
|
||||
(inherit cpuinfo) ;distributed with cpuinfo but not built by it
|
||||
(name "clog")
|
||||
(source (origin
|
||||
(inherit (package-source cpuinfo))
|
||||
(patches (search-patches "clog-fix-shared-build.patch"))))
|
||||
(arguments
|
||||
(list #:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON")
|
||||
#:phases #~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'chdir
|
||||
(lambda _
|
||||
(chdir "deps/clog"))))))
|
||||
(native-inputs (list googletest))
|
||||
(inputs '())
|
||||
(synopsis "C-style logging library based on printf")
|
||||
(description
|
||||
"This package provides a C-style library for logging errors,
|
||||
warnings, information notes, and debug information. Its features are:
|
||||
@itemize
|
||||
@item printf-style interface for formatting variadic parameters.
|
||||
@item Separate functions for logging errors, warnings, information notes, and
|
||||
debug information.
|
||||
@item Independent logging settings for different modules.
|
||||
@item Logging to logcat on Android and stderr/stdout on other platforms.
|
||||
@item Compatible with C99 and C++.
|
||||
@item Covered with unit tests.
|
||||
@end itemize")))
|
||||
|
||||
(define-public psimd
|
||||
;; There is currently no tag in this repo.
|
||||
(let ((commit "072586a71b55b7f8c584153d223e95687148a900")
|
||||
|
|
|
@ -0,0 +1,85 @@
|
|||
Author: Antero Mejr <antero@mailbox.org>
|
||||
Notes: Disabled function visibility hacks and googletest download. Enabled
|
||||
non-static builds.
|
||||
|
||||
diff --git a/deps/clog/CMakeLists.txt b/deps/clog/CMakeLists.txt
|
||||
index 083f519..b7b225a 100644
|
||||
--- a/deps/clog/CMakeLists.txt
|
||||
+++ b/deps/clog/CMakeLists.txt
|
||||
@@ -38,20 +38,8 @@ SET(CONFU_DEPENDENCIES_SOURCE_DIR ${CMAKE_SOURCE_DIR}/deps
|
||||
SET(CONFU_DEPENDENCIES_BINARY_DIR ${CMAKE_BINARY_DIR}/deps
|
||||
CACHE PATH "Confu-style dependencies binary directory")
|
||||
|
||||
-IF(CLOG_BUILD_TESTS)
|
||||
- IF(NOT DEFINED GOOGLETEST_SOURCE_DIR)
|
||||
- MESSAGE(STATUS "Downloading Google Test to ${CONFU_DEPENDENCIES_SOURCE_DIR}/googletest (define GOOGLETEST_SOURCE_DIR to avoid it)")
|
||||
- CONFIGURE_FILE(cmake/DownloadGoogleTest.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/googletest-download/CMakeLists.txt")
|
||||
- EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" .
|
||||
- WORKING_DIRECTORY "${CONFU_DEPENDENCIES_BINARY_DIR}/googletest-download")
|
||||
- EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" --build .
|
||||
- WORKING_DIRECTORY "${CONFU_DEPENDENCIES_BINARY_DIR}/googletest-download")
|
||||
- SET(GOOGLETEST_SOURCE_DIR "${CONFU_DEPENDENCIES_SOURCE_DIR}/googletest" CACHE STRING "Google Test source directory")
|
||||
- ENDIF()
|
||||
-ENDIF()
|
||||
-
|
||||
# ---[ clog library
|
||||
-ADD_LIBRARY(clog STATIC src/clog.c)
|
||||
+ADD_LIBRARY(clog src/clog.c)
|
||||
SET_TARGET_PROPERTIES(clog PROPERTIES
|
||||
C_STANDARD 99
|
||||
C_EXTENSIONS NO)
|
||||
@@ -74,16 +62,6 @@ INSTALL(TARGETS clog
|
||||
|
||||
# ---[ clog tests
|
||||
IF(CLOG_BUILD_TESTS)
|
||||
- # ---[ Build google test
|
||||
- IF(NOT TARGET gtest)
|
||||
- IF(MSVC AND NOT CLOG_RUNTIME_TYPE STREQUAL "static")
|
||||
- SET(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
|
||||
- ENDIF()
|
||||
- ADD_SUBDIRECTORY(
|
||||
- "${GOOGLETEST_SOURCE_DIR}"
|
||||
- "${CONFU_DEPENDENCIES_BINARY_DIR}/googletest")
|
||||
- ENDIF()
|
||||
-
|
||||
ADD_EXECUTABLE(clog-test test/clog.cc)
|
||||
SET_TARGET_PROPERTIES(clog-test PROPERTIES
|
||||
CXX_STANDARD 11
|
||||
diff --git a/deps/clog/include/clog.h b/deps/clog/include/clog.h
|
||||
index 4143761..aa9000f 100644
|
||||
--- a/deps/clog/include/clog.h
|
||||
+++ b/deps/clog/include/clog.h
|
||||
@@ -11,16 +11,6 @@
|
||||
#define CLOG_INFO 4
|
||||
#define CLOG_DEBUG 5
|
||||
|
||||
-#ifndef CLOG_VISIBILITY
|
||||
- #if defined(__ELF__)
|
||||
- #define CLOG_VISIBILITY __attribute__((__visibility__("internal")))
|
||||
- #elif defined(__MACH__)
|
||||
- #define CLOG_VISIBILITY __attribute__((__visibility__("hidden")))
|
||||
- #else
|
||||
- #define CLOG_VISIBILITY
|
||||
- #endif
|
||||
-#endif
|
||||
-
|
||||
#ifndef CLOG_ARGUMENTS_FORMAT
|
||||
#if defined(__GNUC__)
|
||||
#define CLOG_ARGUMENTS_FORMAT __attribute__((__format__(__printf__, 1, 2)))
|
||||
@@ -33,11 +23,11 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
-CLOG_VISIBILITY void clog_vlog_debug(const char* module, const char* format, va_list args);
|
||||
-CLOG_VISIBILITY void clog_vlog_info(const char* module, const char* format, va_list args);
|
||||
-CLOG_VISIBILITY void clog_vlog_warning(const char* module, const char* format, va_list args);
|
||||
-CLOG_VISIBILITY void clog_vlog_error(const char* module, const char* format, va_list args);
|
||||
-CLOG_VISIBILITY void clog_vlog_fatal(const char* module, const char* format, va_list args);
|
||||
+void clog_vlog_debug(const char* module, const char* format, va_list args);
|
||||
+void clog_vlog_info(const char* module, const char* format, va_list args);
|
||||
+void clog_vlog_warning(const char* module, const char* format, va_list args);
|
||||
+void clog_vlog_error(const char* module, const char* format, va_list args);
|
||||
+void clog_vlog_fatal(const char* module, const char* format, va_list args);
|
||||
|
||||
#define CLOG_DEFINE_LOG_DEBUG(log_debug_function_name, module, level) \
|
||||
CLOG_ARGUMENTS_FORMAT \
|
|
@ -56,14 +56,14 @@
|
|||
(define-public a2ps
|
||||
(package
|
||||
(name "a2ps")
|
||||
(version "4.15.3")
|
||||
(version "4.15.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/a2ps/a2ps-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1izpmbk3i66g8cn1bd3kdpk72vxn5ggy329xjvag5jsdxgh823nh"))
|
||||
"1mvd41xvcy8vk91nndzifasq600kzlswl1379bhnpn49pa23y1ja"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Remove timestamp from the installed 'README' file.
|
||||
|
|
|
@ -1258,6 +1258,7 @@ Password-Authenticated Key Exchange algorithm.")
|
|||
(list python-automat
|
||||
python-idna
|
||||
python-incremental
|
||||
python-pyopenssl
|
||||
python-service-identity
|
||||
python-twisted
|
||||
python-zope-interface))
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
;;; Copyright © 2022 zamfofex <zamfofex@twdb.moe>
|
||||
;;; Copyright © 2022 jgart <jgart@dismail.de>
|
||||
;;; Copyright © 2022 Andy Tai <atai@atai.org>
|
||||
;;; Copyright © 2023 Eidvilas Markevičius <markeviciuseidvilas@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -173,7 +174,7 @@ based command language.")
|
|||
(define-public kakoune
|
||||
(package
|
||||
(name "kakoune")
|
||||
(version "2021.11.08")
|
||||
(version "2022.10.31")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -181,7 +182,7 @@ based command language.")
|
|||
"releases/download/v" version "/"
|
||||
"kakoune-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "1x5mvmpf0rgmr2xdw5wjn4hr6qd8yvj0zx588fi324x1knfqhc5a"))))
|
||||
(base32 "12z5wka649xycclbs94bfy2yyln2172dz0zycxsxr384r5i7ncgv"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags
|
||||
|
|
|
@ -213,65 +213,57 @@ features including, tables, builtin image display, bookmarks, SSL and more.")
|
|||
(define-public luakit
|
||||
(package
|
||||
(name "luakit")
|
||||
(version "2.3")
|
||||
(version "2.3.3")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/luakit/luakit")
|
||||
(commit version)))
|
||||
(url "https://github.com/luakit/luakit")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1khbn7dpizkznnwkw7rcfhf72dnd1nazk7dwb4rkh9i97b53mf1y"))))
|
||||
(inputs
|
||||
`(("lua-5.1" ,lua-5.1)
|
||||
("gtk+" ,gtk+)
|
||||
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
|
||||
("glib-networking" ,glib-networking)
|
||||
("lua5.1-filesystem" ,lua5.1-filesystem)
|
||||
("luajit" ,luajit)
|
||||
("webkitgtk" ,webkitgtk-with-libsoup2)
|
||||
("sqlite" ,sqlite)))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
"19z6idmjz6y7xmjpqgw65mdfi65lyvy06819dj5bb7rad63v5542"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(arguments
|
||||
`(#:make-flags
|
||||
(let ((out (assoc-ref %outputs "out")))
|
||||
(list
|
||||
"CC=gcc"
|
||||
"LUA_BIN_NAME=lua"
|
||||
"DEVELOPMENT_PATHS=0"
|
||||
(string-append "PREFIX=" out)
|
||||
(string-append "XDGPREFIX=" out "/etc/xdg")))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'build 'lfs-workaround
|
||||
(lambda _
|
||||
(setenv "LUA_CPATH"
|
||||
(string-append
|
||||
(assoc-ref %build-inputs "lua5.1-filesystem")
|
||||
"/lib/lua/5.1/?.so;;"))
|
||||
#t))
|
||||
(add-before 'build 'set-version
|
||||
(lambda _
|
||||
(setenv "VERSION_FROM_GIT" ,(package-version this-package))
|
||||
#t))
|
||||
(delete 'configure)
|
||||
(delete 'check)
|
||||
(add-after 'install 'wrap
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((luakit (assoc-ref outputs "out"))
|
||||
(lua5.1-filesystem (assoc-ref inputs "lua5.1-filesystem") )
|
||||
(gtk (assoc-ref inputs "gtk+"))
|
||||
(gtk-share (string-append gtk "/share")))
|
||||
(wrap-program (string-append luakit "/bin/luakit")
|
||||
`("LUA_CPATH" prefix
|
||||
(,(string-append lua5.1-filesystem
|
||||
"/lib/lua/5.1/?.so;;")))
|
||||
`("XDG_CONFIG_DIRS" prefix
|
||||
(,(string-append luakit "/etc/xdg/"))))
|
||||
#t))))))
|
||||
(list
|
||||
#:tests? #false ;require un-packaged "luassert"
|
||||
#:test-target "run-tests"
|
||||
#:make-flags
|
||||
#~(list (string-append "CC=" #$(cc-for-target))
|
||||
"LUA_BIN_NAME=lua"
|
||||
"DEVELOPMENT_PATHS=0"
|
||||
(string-append "PREFIX=" #$output)
|
||||
(string-append "XDGPREFIX=" #$output "/etc/xdg"))
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'build 'lfs-workaround
|
||||
(lambda _
|
||||
(setenv "LUA_CPATH"
|
||||
(string-append #$(this-package-input "lua5.1-filesystem")
|
||||
"/lib/lua/5.1/?.so;;"))))
|
||||
(add-before 'build 'set-version
|
||||
(lambda _
|
||||
(setenv "VERSION_FROM_GIT" #$version)))
|
||||
(delete 'configure)
|
||||
(add-after 'install 'wrap
|
||||
(lambda _
|
||||
(wrap-program (string-append #$output "/bin/luakit")
|
||||
`("LUA_CPATH" prefix
|
||||
(,(string-append #$(this-package-input "lua5.1-filesystem")
|
||||
"/lib/lua/5.1/?.so;;")))
|
||||
`("XDG_CONFIG_DIRS" prefix
|
||||
(,(string-append #$output "/etc/xdg/")))))))))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
(list glib-networking
|
||||
gsettings-desktop-schemas
|
||||
gtk+
|
||||
lua-5.1
|
||||
lua5.1-filesystem
|
||||
luajit
|
||||
sqlite
|
||||
webkitgtk-with-libsoup2))
|
||||
(synopsis "Fast, lightweight, and simple browser based on WebKit")
|
||||
(description "Luakit is a fast, lightweight, and simple to use
|
||||
micro-browser framework extensible by Lua using the WebKit web content engine
|
||||
|
|
|
@ -748,7 +748,7 @@ desktop environment.")
|
|||
(define-public icewm
|
||||
(package
|
||||
(name "icewm")
|
||||
(version "3.3.2")
|
||||
(version "3.3.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -756,7 +756,7 @@ desktop environment.")
|
|||
version "/icewm-" version ".tar.lz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1mp1xl64sin3d4nkh19qmnic1c9qcwf9v7mkzji76pg3mzd823jg"))))
|
||||
"0wyg7lk65kf03brhzrbk158sr8d5cqny5qcyrwypnzpp0chcff71"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs (list pkg-config))
|
||||
(inputs (list fontconfig
|
||||
|
@ -1884,7 +1884,7 @@ core/thread.")
|
|||
(define-public wlr-randr
|
||||
(package
|
||||
(name "wlr-randr")
|
||||
(version "0.2.0")
|
||||
(version "0.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -1893,7 +1893,7 @@ core/thread.")
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0d44r4schknfc3g09y0kjbhl62zkynv6hi1z4zqc9ic5fhav3r15"))))
|
||||
(base32 "0cj24fb6s7n8nphvhrp8ldrivjdcrjw64i5v9rsfb6z80q4qg548"))))
|
||||
(build-system meson-build-system)
|
||||
(inputs (list wayland))
|
||||
(native-inputs (list pkg-config))
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
;;; Copyright © 2020, 2021 Brice Waegeneire <brice@waegenei.re>
|
||||
;;; Copyright © 2021 qblade <qblade@protonmail.com>
|
||||
;;; Copyright © 2021 Hui Lu <luhuins@163.com>
|
||||
;;; Copyright © 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2021, 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2021 muradm <mail@muradm.net>
|
||||
;;; Copyright © 2022 Guillaume Le Vaillant <glv@posteo.net>
|
||||
;;; Copyright © 2022 Justin Veilleux <terramorpha@cock.li>
|
||||
|
@ -1428,7 +1428,11 @@ the tty to run, among other things."
|
|||
(list (shepherd-service
|
||||
(documentation "Run libc's name service cache daemon (nscd).")
|
||||
(provision '(nscd))
|
||||
(requirement '(user-processes))
|
||||
|
||||
;; Logs are written with syslog(3), which writes to /dev/console
|
||||
;; when nobody's listening--ugly. Thus, wait for syslogd.
|
||||
(requirement '(user-processes syslogd))
|
||||
|
||||
(start #~(make-forkexec-constructor
|
||||
(list #$nscd "-f" #$nscd.conf "--foreground")
|
||||
|
||||
|
@ -1497,31 +1501,36 @@ given @var{config}---an @code{<nscd-configuration>} object. @xref{Name
|
|||
Service Switch}, for an example."
|
||||
(service nscd-service-type config))
|
||||
|
||||
;; Snippet adapted from the GNU inetutils manual.
|
||||
;;; Snippet adapted from the GNU inetutils manual.
|
||||
(define %default-syslog.conf
|
||||
(plain-file "syslog.conf" "
|
||||
# Log all error messages, authentication messages of
|
||||
# level notice or higher and anything of level err or
|
||||
# higher to the console.
|
||||
# Don't log private authentication messages!
|
||||
*.alert;auth.notice;authpriv.none -/dev/console
|
||||
(plain-file "syslog.conf" "\
|
||||
# See info '(inetutils) syslogd invocation' for the documentation
|
||||
# of the syslogd configuration syntax.
|
||||
|
||||
# Log anything (except mail) of level info or higher.
|
||||
# Don't log private authentication messages!
|
||||
*.info;mail.none;authpriv.none -/var/log/messages
|
||||
# Log all error messages, authentication messages of
|
||||
# level notice or higher and anything of level err or
|
||||
# higher to the console.
|
||||
# Don't log private authentication messages!
|
||||
*.alert;auth.notice;authpriv.none -/dev/console
|
||||
|
||||
# Log \"debug\"-level entries and nothing else.
|
||||
*.=debug -/var/log/debug
|
||||
# Log anything (except mail) of level info or higher.
|
||||
# Don't log private authentication messages!
|
||||
*.info;mail.none;authpriv.none -/var/log/messages
|
||||
|
||||
# Same, in a different place.
|
||||
*.info;mail.none;authpriv.none -/dev/tty12
|
||||
# Log \"debug\"-level entries and nothing else.
|
||||
*.=debug -/var/log/debug
|
||||
|
||||
# The authpriv file has restricted access.
|
||||
# 'fsync' the file after each line (hence the lack of a leading dash).
|
||||
authpriv.* /var/log/secure
|
||||
# Same, in a different place.
|
||||
*.info;mail.none;authpriv.none -/dev/tty12
|
||||
|
||||
# Log all the mail messages in one place.
|
||||
mail.* -/var/log/maillog
|
||||
# The authpriv file has restricted access.
|
||||
# 'fsync' the file after each line (hence the lack of a leading dash).
|
||||
# Also include unprivileged auth logs of info or higher level
|
||||
# to conveniently gather the authentication data at the same place.
|
||||
authpriv.*;auth.info /var/log/secure
|
||||
|
||||
# Log all the mail messages in one place.
|
||||
mail.* -/var/log/maillog
|
||||
"))
|
||||
|
||||
(define-record-type* <syslog-configuration>
|
||||
|
@ -1532,30 +1541,57 @@ Service Switch}, for an example."
|
|||
(config-file syslog-configuration-config-file
|
||||
(default %default-syslog.conf)))
|
||||
|
||||
(define syslog-service-type
|
||||
(shepherd-service-type
|
||||
'syslog
|
||||
(lambda (config)
|
||||
(define config-file
|
||||
(syslog-configuration-config-file config))
|
||||
;;; Note: a static file name is used for syslog.conf so that the reload action
|
||||
;;; work as intended.
|
||||
(define syslog.conf "/etc/syslog.conf")
|
||||
|
||||
(shepherd-service
|
||||
(documentation "Run the syslog daemon (syslogd).")
|
||||
(provision '(syslogd))
|
||||
(requirement '(user-processes))
|
||||
(actions (list (shepherd-configuration-action config-file)))
|
||||
(start #~(let ((spawn (make-forkexec-constructor
|
||||
(list #$(syslog-configuration-syslogd config)
|
||||
"--rcfile" #$config-file)
|
||||
#:pid-file "/var/run/syslog.pid")))
|
||||
(lambda ()
|
||||
;; Set the umask such that file permissions are #o640.
|
||||
(let ((mask (umask #o137))
|
||||
(pid (spawn)))
|
||||
(umask mask)
|
||||
pid))))
|
||||
(stop #~(make-kill-destructor))))
|
||||
(syslog-configuration)
|
||||
(define (syslog-etc configuration)
|
||||
(match-record configuration <syslog-configuration>
|
||||
(config-file)
|
||||
(list `(,(basename syslog.conf) ,config-file))))
|
||||
|
||||
(define (syslog-shepherd-service config)
|
||||
(define config-file
|
||||
(syslog-configuration-config-file config))
|
||||
|
||||
(shepherd-service
|
||||
(documentation "Run the syslog daemon (syslogd).")
|
||||
(provision '(syslogd))
|
||||
(requirement '(user-processes))
|
||||
(actions
|
||||
(list (shepherd-configuration-action syslog.conf)
|
||||
(shepherd-action
|
||||
(name 'reload)
|
||||
(documentation "Reload the configuration file from disk.")
|
||||
(procedure
|
||||
#~(lambda (pid)
|
||||
(if pid
|
||||
(begin
|
||||
(kill pid SIGHUP)
|
||||
(display #$(G_ "Service syslog has been asked to \
|
||||
reload its settings file.")))
|
||||
(display #$(G_ "Service syslog is not running."))))))))
|
||||
;; Note: a static file name is used for syslog.conf so that the reload
|
||||
;; action work as intended.
|
||||
(start #~(let ((spawn (make-forkexec-constructor
|
||||
(list #$(syslog-configuration-syslogd config)
|
||||
#$(string-append "--rcfile=" syslog.conf))
|
||||
#:pid-file "/var/run/syslog.pid")))
|
||||
(lambda ()
|
||||
;; Set the umask such that file permissions are #o640.
|
||||
(let ((mask (umask #o137))
|
||||
(pid (spawn)))
|
||||
(umask mask)
|
||||
pid))))
|
||||
(stop #~(make-kill-destructor))))
|
||||
|
||||
(define syslog-service-type
|
||||
(service-type
|
||||
(name 'syslog)
|
||||
(default-value (syslog-configuration))
|
||||
(extensions (list (service-extension shepherd-root-service-type
|
||||
(compose list syslog-shepherd-service))
|
||||
(service-extension etc-service-type syslog-etc)))
|
||||
(description "Run the syslog daemon, @command{syslogd}, which is
|
||||
responsible for logging system messages.")))
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2015 David Thompson <davet@gnu.org>
|
||||
;;; Copyright © 2015, 2016, 2022 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015-2016, 2022-2023 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
|
||||
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
|
||||
|
@ -167,7 +167,8 @@ host all all ::1/128 md5"))
|
|||
(define-record-type* <postgresql-configuration>
|
||||
postgresql-configuration make-postgresql-configuration
|
||||
postgresql-configuration?
|
||||
(postgresql postgresql-configuration-postgresql) ;file-like
|
||||
(postgresql postgresql-configuration-postgresql ;file-like
|
||||
(default postgresql-10))
|
||||
(port postgresql-configuration-port
|
||||
(default 5432))
|
||||
(locale postgresql-configuration-locale
|
||||
|
@ -308,11 +309,12 @@ host all all ::1/128 md5"))
|
|||
(call-with-input-file #$pid-file read))
|
||||
(_ #t))))))
|
||||
(list (shepherd-service
|
||||
(provision '(postgres))
|
||||
(provision '(postgres postgresql))
|
||||
(documentation "Run the PostgreSQL daemon.")
|
||||
(requirement '(user-processes loopback syslogd))
|
||||
(modules `((ice-9 match)
|
||||
,@%default-modules))
|
||||
(actions (list (shepherd-configuration-action config-file)))
|
||||
(start (action "start"))
|
||||
(stop (action "stop"))))))))
|
||||
|
||||
|
@ -329,8 +331,7 @@ host all all ::1/128 md5"))
|
|||
(service-extension
|
||||
profile-service-type
|
||||
(compose list postgresql-configuration-postgresql))))
|
||||
(default-value (postgresql-configuration
|
||||
(postgresql postgresql-10)))
|
||||
(default-value (postgresql-configuration))
|
||||
(description "Run the PostgreSQL database server.")))
|
||||
|
||||
(define-deprecated (postgresql-service #:key (postgresql postgresql)
|
||||
|
@ -595,6 +596,8 @@ port=" (number->string port) "
|
|||
(provision '(mysql))
|
||||
(requirement '(user-processes))
|
||||
(documentation "Run the MySQL server.")
|
||||
(actions (list (shepherd-configuration-action
|
||||
(mysql-configuration-file config))))
|
||||
(start (let ((mysql (mysql-configuration-mysql config))
|
||||
(extra-env (mysql-configuration-extra-environment config))
|
||||
(my.cnf (mysql-configuration-file config)))
|
||||
|
@ -752,6 +755,7 @@ port=" (number->string port) "
|
|||
(provision '(redis))
|
||||
(documentation "Run the Redis daemon.")
|
||||
(requirement '(user-processes syslogd))
|
||||
(actions (list (shepherd-configuration-action config-file)))
|
||||
(start #~(make-forkexec-constructor
|
||||
'(#$(file-append redis "/bin/redis-server")
|
||||
#$config-file)
|
||||
|
|
|
@ -622,6 +622,7 @@
|
|||
(documentation "Run the Knot DNS daemon.")
|
||||
(provision '(knot dns))
|
||||
(requirement '(networking))
|
||||
(actions (list (shepherd-configuration-action config-file)))
|
||||
(start #~(make-forkexec-constructor
|
||||
(list (string-append #$knot "/sbin/knotd")
|
||||
"-c" #$config-file)))
|
||||
|
|
|
@ -282,14 +282,10 @@ returns a shepherd <service> object."
|
|||
`(primitive-load ,file))
|
||||
files))))
|
||||
|
||||
(define (load-services/safe files)
|
||||
"This is like 'load-services', but make sure only the subset of FILES that
|
||||
can be safely reloaded is actually reloaded."
|
||||
(eval-there `(let ((services (map primitive-load ',files)))
|
||||
;; Since version 0.5.0 of the Shepherd, registering a service
|
||||
;; that has the same name as an already-registered service
|
||||
;; makes it a "replacement" of that previous service.
|
||||
(apply register-services services))))
|
||||
(define load-services/safe
|
||||
;; Deprecated. It used to behave differently before service replacements
|
||||
;; were a thing.
|
||||
load-services)
|
||||
|
||||
(define* (start-service name #:optional (arguments '()))
|
||||
(invoke-action name 'start arguments
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
;;; Copyright © 2021 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2021, 2023 Ludovic Courtès <ludo@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -225,13 +225,15 @@ please use 'modules' instead~%")))
|
|||
(pid-file (rsync-configuration-pid-file config))
|
||||
(port-number (rsync-configuration-port-number config))
|
||||
(user (rsync-configuration-user config))
|
||||
(group (rsync-configuration-group config)))
|
||||
(group (rsync-configuration-group config))
|
||||
(config-file (rsync-config-file config)))
|
||||
(list (shepherd-service
|
||||
(provision '(rsync))
|
||||
(documentation "Run rsync daemon.")
|
||||
(actions (list (shepherd-configuration-action config-file)))
|
||||
(start #~(make-forkexec-constructor
|
||||
(list (string-append #$rsync "/bin/rsync")
|
||||
"--config" #$(rsync-config-file config)
|
||||
"--config" #$config-file
|
||||
"--daemon")
|
||||
#:pid-file #$pid-file
|
||||
#:user #$user
|
||||
|
|
112
gnu/tests.scm
112
gnu/tests.scm
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2016-2020, 2022 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016-2020, 2022-2023 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
|
||||
|
@ -88,6 +88,61 @@
|
|||
(with-extensions extensions
|
||||
gexp)))
|
||||
|
||||
(define (marionette-program device imported-modules extensions)
|
||||
"Return the program that runs the marionette REPL on DEVICE. Ensure
|
||||
IMPORTED-MODULES and EXTENSIONS are accessible from the REPL."
|
||||
(define code
|
||||
(with-imported-modules-and-extensions
|
||||
`((guix build utils)
|
||||
(guix build syscalls)
|
||||
,@imported-modules)
|
||||
extensions
|
||||
#~(begin
|
||||
(use-modules (ice-9 match)
|
||||
(ice-9 binary-ports))
|
||||
|
||||
(define (self-quoting? x)
|
||||
(letrec-syntax ((one-of (syntax-rules ()
|
||||
((_) #f)
|
||||
((_ pred rest ...)
|
||||
(or (pred x)
|
||||
(one-of rest ...))))))
|
||||
(one-of symbol? string? keyword? pair? null? array?
|
||||
number? boolean? char?)))
|
||||
|
||||
(let ((repl (open-file #$device "r+0"))
|
||||
(console (open-file "/dev/console" "r+0")))
|
||||
;; Redirect output to the console.
|
||||
(close-fdes 1)
|
||||
(close-fdes 2)
|
||||
(dup2 (fileno console) 1)
|
||||
(dup2 (fileno console) 2)
|
||||
(close-port console)
|
||||
|
||||
(display 'ready repl)
|
||||
(let loop ()
|
||||
(newline repl)
|
||||
|
||||
(match (read repl)
|
||||
((? eof-object?)
|
||||
(primitive-exit 0))
|
||||
(expr
|
||||
(catch #t
|
||||
(lambda ()
|
||||
(let ((result (primitive-eval expr)))
|
||||
(write (if (self-quoting? result)
|
||||
result
|
||||
(object->string result))
|
||||
repl)))
|
||||
(lambda (key . args)
|
||||
(print-exception (current-error-port)
|
||||
(stack-ref (make-stack #t) 1)
|
||||
key args)
|
||||
(write #f repl)))))
|
||||
(loop))))))
|
||||
|
||||
(program-file "marionette-repl.scm" code))
|
||||
|
||||
(define (marionette-shepherd-service config)
|
||||
"Return the Shepherd service for the marionette REPL"
|
||||
(match config
|
||||
|
@ -101,57 +156,10 @@
|
|||
|
||||
(modules '((ice-9 match)
|
||||
(srfi srfi-9 gnu)))
|
||||
(start
|
||||
(with-imported-modules-and-extensions imported-modules extensions
|
||||
#~(lambda ()
|
||||
(define (self-quoting? x)
|
||||
(letrec-syntax ((one-of (syntax-rules ()
|
||||
((_) #f)
|
||||
((_ pred rest ...)
|
||||
(or (pred x)
|
||||
(one-of rest ...))))))
|
||||
(one-of symbol? string? keyword? pair? null? array?
|
||||
number? boolean? char?)))
|
||||
|
||||
(match (primitive-fork)
|
||||
(0
|
||||
(dynamic-wind
|
||||
(const #t)
|
||||
(lambda ()
|
||||
(let ((repl (open-file #$device "r+0"))
|
||||
(console (open-file "/dev/console" "r+0")))
|
||||
;; Redirect output to the console.
|
||||
(close-fdes 1)
|
||||
(close-fdes 2)
|
||||
(dup2 (fileno console) 1)
|
||||
(dup2 (fileno console) 2)
|
||||
(close-port console)
|
||||
|
||||
(display 'ready repl)
|
||||
(let loop ()
|
||||
(newline repl)
|
||||
|
||||
(match (read repl)
|
||||
((? eof-object?)
|
||||
(primitive-exit 0))
|
||||
(expr
|
||||
(catch #t
|
||||
(lambda ()
|
||||
(let ((result (primitive-eval expr)))
|
||||
(write (if (self-quoting? result)
|
||||
result
|
||||
(object->string result))
|
||||
repl)))
|
||||
(lambda (key . args)
|
||||
(print-exception (current-error-port)
|
||||
(stack-ref (make-stack #t) 1)
|
||||
key args)
|
||||
(write #f repl)))))
|
||||
(loop))))
|
||||
(lambda ()
|
||||
(primitive-exit 1))))
|
||||
(pid
|
||||
pid)))))
|
||||
(start #~(make-forkexec-constructor
|
||||
(list #$(marionette-program device
|
||||
imported-modules
|
||||
extensions))))
|
||||
(stop #~(make-kill-destructor)))))))
|
||||
|
||||
(define marionette-service-type
|
||||
|
|
|
@ -148,7 +148,7 @@ Otherwise assume that there is no password for root."
|
|||
(marionette-eval
|
||||
`(begin
|
||||
(use-modules (gnu services herd))
|
||||
(start 'user-processes)
|
||||
(start-service 'user-processes)
|
||||
((@@ (gnu services herd) eval-there)
|
||||
'(let ((result (read (current-input-port))))
|
||||
(if (eof-object? result)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2016-2022 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016-2023 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2017, 2019, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2020 Danny Milosavljevic <dannym@scratchpost.org>
|
||||
|
@ -316,7 +316,7 @@ such as for RAID systems."
|
|||
;; Wait for tty1.
|
||||
(marionette-eval '(begin
|
||||
(use-modules (gnu services herd))
|
||||
(start 'term-tty1))
|
||||
(start-service 'term-tty1))
|
||||
marionette)
|
||||
|
||||
(when #$(->bool script)
|
||||
|
|
|
@ -1234,11 +1234,14 @@ input list."
|
|||
"Return all source origins associated with PACKAGE; including origins in
|
||||
PACKAGE's inputs and patches."
|
||||
(define (expand source)
|
||||
(cons
|
||||
source
|
||||
(filter origin? (origin-patches source))))
|
||||
(cons source
|
||||
(filter origin? (origin-patches source))))
|
||||
|
||||
`(,@(or (and=> (package-source package) expand) '())
|
||||
`(,@(match (package-source package)
|
||||
((? origin? origin)
|
||||
(expand origin))
|
||||
(_
|
||||
'()))
|
||||
,@(filter-map (match-lambda
|
||||
((_ (? origin? orig) _ ...)
|
||||
orig)
|
||||
|
|
|
@ -44,7 +44,7 @@ cmp "$archive" "$archive_alt"
|
|||
# Check the exit value upon import.
|
||||
guix archive --import < "$archive"
|
||||
|
||||
! guix archive something-that-does-not-exist
|
||||
guix archive --export something-that-does-not-exist && false
|
||||
|
||||
# This one must not be listed as missing.
|
||||
guix build guile-bootstrap > "$archive"
|
||||
|
@ -61,7 +61,7 @@ cmp "$archive" "$archive_alt"
|
|||
|
||||
# This is not a valid store file name, so an error.
|
||||
echo something invalid > "$archive"
|
||||
! guix archive --missing < "$archive"
|
||||
guix archive --missing < "$archive" && false
|
||||
|
||||
# Check '--extract'.
|
||||
guile -c "(use-modules (guix serialization))
|
||||
|
@ -77,4 +77,6 @@ guix archive -t < "$archive" | grep "^D /share/guile"
|
|||
guix archive -t < "$archive" | grep "^x /bin/guile"
|
||||
guix archive -t < "$archive" | grep "^r /share/guile.*/boot-9\.scm"
|
||||
|
||||
! echo foo | guix archive --authorize
|
||||
echo foo | guix archive --authorize && false
|
||||
|
||||
exit 0
|
||||
|
|
|
@ -58,4 +58,6 @@ guix gc -R "$v0_1_0_drv" | grep guile-gcrypt-9e3eacd
|
|||
test "$v0_1_0_drv" != "$latest_drv"
|
||||
test "$v0_1_0_drv" != "$orig_drv"
|
||||
|
||||
! guix build guix --with-commit=guile-gcrypt=000 -d
|
||||
guix build guix --with-commit=guile-gcrypt=000 -d && false
|
||||
|
||||
exit 0
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
guix build --version
|
||||
|
||||
# Should fail.
|
||||
! guix build -e +
|
||||
guix build -e + && false
|
||||
|
||||
# Source-less packages are accepted; they just return nothing.
|
||||
guix build -e '(@ (gnu packages bootstrap) %bootstrap-glibc)' -S
|
||||
|
@ -92,7 +92,7 @@ cat > "$module_dir/foo.scm" <<EOF
|
|||
(use-modules (guix))
|
||||
) ;extra closing paren
|
||||
EOF
|
||||
! guix build -f "$module_dir/foo.scm" 2> "$module_dir/stderr"
|
||||
guix build -f "$module_dir/foo.scm" 2> "$module_dir/stderr" && false
|
||||
grep "read error" "$module_dir/stderr"
|
||||
rm "$module_dir/stderr" "$module_dir/foo.scm"
|
||||
|
||||
|
@ -199,7 +199,7 @@ cat > "$module_dir/foo.scm" <<EOF
|
|||
(inputs (quasiquote (("sed" ,sed)))))) ;unbound variable
|
||||
EOF
|
||||
|
||||
! guix build package-with-something-wrong -n
|
||||
guix build package-with-something-wrong -n && false
|
||||
guix build package-with-something-wrong -n 2> "$module_dir/err" || true
|
||||
grep "unbound" "$module_dir/err" # actual error
|
||||
grep "forget.*(gnu packages base)" "$module_dir/err" # hint
|
||||
|
@ -240,7 +240,7 @@ cat > "$module_dir/cc-user.scm" <<EOF
|
|||
(define-module (cc-user))
|
||||
(make-thing 42)
|
||||
EOF
|
||||
! guix build -f "$module_dir/cc-user.scm" -n 2> "$module_dir/err"
|
||||
guix build -f "$module_dir/cc-user.scm" -n 2> "$module_dir/err" && false
|
||||
cat "$module_dir/err"
|
||||
grep "make-thing.*unbound" "$module_dir/err" # actual error
|
||||
grep "forget.*(bb-public)" "$module_dir/err" # hint
|
||||
|
@ -270,7 +270,7 @@ test "`guix build --log-file guile-bootstrap`" = "$log"
|
|||
test "`guix build --log-file $out`" = "$log"
|
||||
|
||||
# Should fail because the name/version combination could not be found.
|
||||
! guix build hello-0.0.1 -n
|
||||
guix build hello-0.0.1 -n && false
|
||||
|
||||
# Keep a symlink to the result, registered as a root.
|
||||
result="t-result-$$"
|
||||
|
@ -279,7 +279,7 @@ guix build -r "$result" \
|
|||
test -x "$result/bin/guile"
|
||||
|
||||
# Should fail, because $result already exists.
|
||||
! guix build -r "$result" -e '(@@ (gnu packages bootstrap) %bootstrap-guile)'
|
||||
guix build -r "$result" -e '(@@ (gnu packages bootstrap) %bootstrap-guile)' && false
|
||||
|
||||
rm -f "$result"
|
||||
|
||||
|
@ -323,7 +323,7 @@ drv2=`guix build hello -d --with-input=gcc=gcc-toolchain`
|
|||
test "$drv1" != "$drv2"
|
||||
guix gc -R "$drv2" | grep `guix build -d gcc-toolchain`
|
||||
|
||||
! guix build guile --with-input=libunistring=something-really-silly
|
||||
guix build guile --with-input=libunistring=something-really-silly && false
|
||||
|
||||
# Deprecated/superseded packages.
|
||||
test "`guix build superseded -d`" = "`guix build bar -d`"
|
||||
|
@ -331,8 +331,8 @@ test "`guix build superseded -d`" = "`guix build bar -d`"
|
|||
# Parsing package names and versions.
|
||||
guix build -n time # PASS
|
||||
guix build -n time@1.9 # PASS, version found
|
||||
! guix build -n time@3.2 # FAIL, version not found
|
||||
! guix build -n something-that-will-never-exist # FAIL
|
||||
guix build -n time@3.2 && false # FAIL, version not found
|
||||
guix build -n something-that-will-never-exist && false # FAIL
|
||||
|
||||
# Invoking a monadic procedure.
|
||||
guix build -e "(begin
|
||||
|
@ -404,4 +404,6 @@ export GUIX_BUILD_OPTIONS
|
|||
guix build emacs
|
||||
|
||||
GUIX_BUILD_OPTIONS="--something-completely-crazy"
|
||||
! guix build emacs
|
||||
guix build emacs && false
|
||||
|
||||
exit 0
|
||||
|
|
|
@ -224,7 +224,7 @@ daemon_pid=$!
|
|||
GUIX_DAEMON_SOCKET="guix://$tcp_socket"
|
||||
export GUIX_DAEMON_SOCKET
|
||||
|
||||
! guix gc
|
||||
guix gc && false
|
||||
|
||||
unset GUIX_DAEMON_SOCKET
|
||||
kill "$daemon_pid"
|
||||
|
|
|
@ -23,11 +23,11 @@
|
|||
guix download --version
|
||||
|
||||
# Make sure it fails here.
|
||||
! guix download http://does.not/exist
|
||||
guix download http://does.not/exist && false
|
||||
|
||||
! guix download unknown://some/where;
|
||||
guix download unknown://some/where && false
|
||||
|
||||
! guix download /does-not-exist
|
||||
guix download /does-not-exist && false
|
||||
|
||||
# This one should succeed.
|
||||
guix download "file://$abs_top_srcdir/README"
|
||||
|
@ -43,4 +43,6 @@ GUIX_DAEMON_SOCKET="/nowhere" guix download -o "$output" \
|
|||
cmp "$output" "$abs_top_srcdir/README"
|
||||
|
||||
# This one should fail.
|
||||
! guix download "file:///does-not-exist" "file://$abs_top_srcdir/README"
|
||||
guix download "file:///does-not-exist" "file://$abs_top_srcdir/README" && false
|
||||
|
||||
exit 0
|
||||
|
|
|
@ -260,16 +260,15 @@ guix shell --bootstrap guile-bootstrap --container \
|
|||
/usr/bin/guile --version
|
||||
|
||||
# A dangling symlink causes the command to fail.
|
||||
! guix shell --bootstrap -CS /usr/bin/python=bin/python guile-bootstrap -- exit
|
||||
guix shell --bootstrap -CS /usr/bin/python=bin/python guile-bootstrap -- exit && false
|
||||
|
||||
# An invalid symlink spec causes the command to fail.
|
||||
! guix shell --bootstrap -CS bin/guile=/usr/bin/guile guile-bootstrap -- exit
|
||||
guix shell --bootstrap -CS bin/guile=/usr/bin/guile guile-bootstrap -- exit && false
|
||||
|
||||
# Check whether '--nesting' works.
|
||||
guix build hello -d
|
||||
env="$(type -P pre-inst-env)"
|
||||
if guix shell -C -D guix -- "$env" guix build hello -d # cannot work
|
||||
then false; else true; fi
|
||||
guix shell -C -D guix -- "$env" guix build hello -d && false # cannot work
|
||||
hello_drv="$(guix build hello -d)"
|
||||
hello_drv_nested="$(cd "$(dirname env)" && guix shell --bootstrap -CW -D guix -- "$env" guix build hello -d)"
|
||||
test "$hello_drv" = "$hello_drv_nested"
|
||||
|
|
|
@ -60,7 +60,7 @@ guix environment --bootstrap --ad-hoc guile-bootstrap --pure \
|
|||
grep '^PATH=' "$tmpdir/a"
|
||||
grep '^GUIX_TEST_ABC=' "$tmpdir/a"
|
||||
grep '^GUIX_TEST_DEF=' "$tmpdir/a"
|
||||
! grep '^GUIX_TEST_XYZ=' "$tmpdir/a"
|
||||
grep '^GUIX_TEST_XYZ=' "$tmpdir/a" && false
|
||||
|
||||
# Make sure the exit value is preserved.
|
||||
if guix environment --bootstrap --ad-hoc guile-bootstrap --pure \
|
||||
|
@ -207,7 +207,7 @@ then
|
|||
done
|
||||
|
||||
# 'make-boot0' itself must not be listed.
|
||||
! guix gc --references "$profile" | grep make-boot0
|
||||
guix gc --references "$profile" | grep make-boot0 && false
|
||||
|
||||
# Make sure that the shell spawned with '--exec' sees the same environment
|
||||
# as returned by '--search-paths'.
|
||||
|
@ -224,7 +224,7 @@ then
|
|||
test "x$make_boot0_debug" != "x"
|
||||
|
||||
# Make sure the "debug" output is not listed.
|
||||
! guix gc --references "$profile" | grep "$make_boot0_debug"
|
||||
guix gc --references "$profile" | grep "$make_boot0_debug" && false
|
||||
|
||||
# Compute the build environment for the initial GNU Make, but add in the
|
||||
# bootstrap Guile as an ad-hoc addition.
|
||||
|
|
|
@ -36,11 +36,11 @@ unset out
|
|||
# For some operations, passing extra arguments is an error.
|
||||
for option in "" "-C 500M" "--verify" "--optimize" "--list-roots"
|
||||
do
|
||||
! guix gc $option whatever
|
||||
guix gc $option whatever && false
|
||||
done
|
||||
|
||||
# This should fail.
|
||||
! guix gc --verify=foo
|
||||
guix gc --verify=foo && false
|
||||
|
||||
# Check the references of a .drv.
|
||||
drv="`guix build guile-bootstrap -d`"
|
||||
|
@ -51,7 +51,7 @@ guix gc --references "$drv" | grep -e -bash
|
|||
guix gc --references "$out"
|
||||
guix gc --references "$out/bin/guile"
|
||||
|
||||
! guix gc --references /dev/null;
|
||||
guix gc --references /dev/null && false
|
||||
|
||||
# Check derivers.
|
||||
guix gc --derivers "$out" | grep "$drv"
|
||||
|
@ -62,7 +62,7 @@ test -f "$drv"
|
|||
|
||||
guix gc --list-dead | grep "$drv"
|
||||
guix gc --delete "$drv"
|
||||
! test -f "$drv"
|
||||
test ! -f "$drv"
|
||||
|
||||
# Add a .drv, register it as a root.
|
||||
drv="`guix build --root=guix-gc-root lsh -d`"
|
||||
|
@ -71,18 +71,18 @@ test -f "$drv" && test -L guix-gc-root
|
|||
guix gc --list-roots | grep "$PWD/guix-gc-root"
|
||||
|
||||
guix gc --list-live | grep "$drv"
|
||||
! guix gc --delete "$drv";
|
||||
guix gc --delete "$drv" && false
|
||||
|
||||
rm guix-gc-root
|
||||
guix gc --list-dead | grep "$drv"
|
||||
guix gc --delete "$drv"
|
||||
! test -f "$drv"
|
||||
test ! -f "$drv"
|
||||
|
||||
# Try a random collection.
|
||||
guix gc -C 1KiB
|
||||
|
||||
# Check trivial error cases.
|
||||
! guix gc --delete /dev/null;
|
||||
guix gc --delete /dev/null && false
|
||||
|
||||
# Bug #19757
|
||||
out="`guix build guile-bootstrap`"
|
||||
|
@ -90,14 +90,14 @@ test -d "$out"
|
|||
|
||||
guix gc --delete "$out"
|
||||
|
||||
! test -d "$out"
|
||||
test ! -d "$out"
|
||||
|
||||
out="`guix build guile-bootstrap`"
|
||||
test -d "$out"
|
||||
|
||||
guix gc --delete "$out/"
|
||||
|
||||
! test -d "$out"
|
||||
test ! -d "$out"
|
||||
|
||||
out="`guix build guile-bootstrap`"
|
||||
test -d "$out"
|
||||
|
|
|
@ -35,9 +35,9 @@ intro_signer="BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA"
|
|||
cache_key="test-$$"
|
||||
|
||||
# This must fail because the end commit is not a descendant of $intro_commit.
|
||||
! guix git authenticate "$intro_commit" "$intro_signer" \
|
||||
guix git authenticate "$intro_commit" "$intro_signer" \
|
||||
--cache-key="$cache_key" --stats \
|
||||
--end=9549f0283a78fe36f2d4ff2a04ef8ad6b0c02604
|
||||
--end=9549f0283a78fe36f2d4ff2a04ef8ad6b0c02604 && false
|
||||
|
||||
# The v1.2.0 commit is a descendant of $intro_commit and it satisfies the
|
||||
# authorization invariant.
|
||||
|
@ -59,8 +59,8 @@ guix git authenticate "$intro_commit" "$intro_signer" \
|
|||
--end="$v1_0_0_commit"
|
||||
|
||||
# This should fail because these commits lack '.guix-authorizations'.
|
||||
! guix git authenticate "$v1_0_0_commit" "$v1_0_0_signer" \
|
||||
--cache-key="$cache_key" --end="$v1_0_1_commit"
|
||||
guix git authenticate "$v1_0_0_commit" "$v1_0_0_signer" \
|
||||
--cache-key="$cache_key" --end="$v1_0_1_commit" && false
|
||||
|
||||
# This should work thanks to '--historical-authorizations'.
|
||||
guix git authenticate "$v1_0_0_commit" "$v1_0_0_signer" \
|
||||
|
|
|
@ -59,7 +59,7 @@ guix graph -t references guile-bootstrap | grep guile-bootstrap
|
|||
guix graph -e '(@ (gnu packages bootstrap) %bootstrap-guile)' \
|
||||
| grep guile-bootstrap
|
||||
|
||||
! guix graph -e +
|
||||
guix graph -e + && false
|
||||
|
||||
# Try passing store file names.
|
||||
|
||||
|
@ -76,13 +76,13 @@ cmp "$tmpfile1" "$tmpfile2"
|
|||
# Try package transformation options.
|
||||
guix graph git | grep 'label = "openssl'
|
||||
guix graph git --with-input=openssl=libressl | grep 'label = "libressl'
|
||||
! guix graph git --with-input=openssl=libressl | grep 'label = "openssl'
|
||||
guix graph git --with-input=openssl=libressl | grep 'label = "openssl' && false
|
||||
|
||||
# Try --load-path
|
||||
guix graph -L $module_dir dummy | grep 'label = "dummy'
|
||||
|
||||
# Displaying shortest paths (or lack thereof).
|
||||
! guix graph --path emacs vim
|
||||
guix graph --path emacs vim && false
|
||||
|
||||
path="\
|
||||
emacs
|
||||
|
|
|
@ -38,12 +38,12 @@ test `guix hash -H sha1 -f base64 /dev/null` = "2jmj7l5rSw0yVb/vlWAYkK/YBwk="
|
|||
test "`guix hash /dev/null "$abs_top_srcdir/README"`" = "`guix hash /dev/null ; guix hash "$abs_top_srcdir/README"`"
|
||||
|
||||
# Zero files.
|
||||
! guix hash
|
||||
guix hash && false
|
||||
|
||||
# idem as `cat /dev/null | git hash-object --stdin`
|
||||
test `guix hash -S git -H sha1 -f hex /dev/null` = e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
|
||||
|
||||
! guix hash -H abcd1234 /dev/null
|
||||
guix hash -H abcd1234 /dev/null && false
|
||||
|
||||
mkdir "$tmpdir"
|
||||
echo -n executable > "$tmpdir/exe"
|
||||
|
@ -61,11 +61,11 @@ test `guix hash -r "$tmpdir" 2>/dev/null` = 10k1lw41wyrjf9mxydi0is5nkpynlsvgslin
|
|||
test `guix hash -r "$tmpdir" -H sha512 2>/dev/null` = 301ra58c2vahczzxiyfin41mpyb0ljh4dh9zn3ijvwviaw1j40sfzw5skh9x945da88n3785ggifzig7acd6k72h0mpsc20m1f66m9n
|
||||
|
||||
# Without '-r', this should fail.
|
||||
! guix hash "$tmpdir"
|
||||
guix hash "$tmpdir" && false
|
||||
|
||||
# This should fail because /dev/null is a character device, which
|
||||
# the archive format doesn't support.
|
||||
! guix hash -S nar /dev/null
|
||||
guix hash -S nar /dev/null && false
|
||||
|
||||
# Adding a .git directory
|
||||
mkdir "$tmpdir/.git"
|
||||
|
@ -80,5 +80,6 @@ test `guix hash -S nar $tmpdir -x` = 10k1lw41wyrjf9mxydi0is5nkpynlsvgslinics4ppi
|
|||
test `guix hash -S git $tmpdir -x` = 1m9yxz99g7askm88h6hzyv4g2bfv57rp5wvwp3iq5ypsplq1xkkk
|
||||
|
||||
# Without '-r', this should fail.
|
||||
! guix hash "$tmpdir"
|
||||
guix hash "$tmpdir" && false
|
||||
|
||||
exit 0
|
||||
|
|
|
@ -109,7 +109,7 @@ EOF
|
|||
guix home extension-graph "home.scm" | grep 'label = "home"'
|
||||
|
||||
# There are no Shepherd services so the one below must fail.
|
||||
! guix home shepherd-graph "home.scm"
|
||||
guix home shepherd-graph "home.scm" && false
|
||||
|
||||
if container_supported
|
||||
then
|
||||
|
@ -118,17 +118,17 @@ EOF
|
|||
# TODO: Make container independent from external environment variables.
|
||||
SHELL=bash
|
||||
guix home container home.scm -- true
|
||||
! guix home container home.scm -- false
|
||||
guix home container home.scm -- false && false
|
||||
test "$(guix home container home.scm -- echo '$HOME')" = "$HOME"
|
||||
guix home container home.scm -- cat '~/.config/test.conf' | \
|
||||
grep "the content of"
|
||||
guix home container home.scm -- test -h '~/.bashrc'
|
||||
test "$(guix home container home.scm -- id -u)" = 1000
|
||||
! guix home container home.scm -- test -f '$HOME/sample/home.scm'
|
||||
guix home container home.scm -- test -f '$HOME/sample/home.scm' && false
|
||||
guix home container home.scm --expose="$PWD=$HOME/sample" -- \
|
||||
test -f '$HOME/sample/home.scm'
|
||||
! guix home container home.scm --expose="$PWD=$HOME/sample" -- \
|
||||
rm -v '$HOME/sample/home.scm'
|
||||
guix home container home.scm --expose="$PWD=$HOME/sample" -- \
|
||||
rm -v '$HOME/sample/home.scm' && false
|
||||
else
|
||||
echo "'guix home container' test SKIPPED" >&2
|
||||
fi
|
||||
|
@ -206,8 +206,8 @@ EOF
|
|||
# the NEW content of bashrc-test-config.sh"
|
||||
|
||||
# This file must have been removed and not backed up.
|
||||
! test -e "$HOME/.config/test.conf"
|
||||
! test -e "$HOME"/*guix-home*backup/.config/test.conf
|
||||
test ! -e "$HOME/.config/test.conf"
|
||||
test ! -e "$HOME"/*guix-home*backup/.config/test.conf
|
||||
|
||||
test "$(cat "$(configuration_file)")" == "$(cat home.scm)"
|
||||
test "$(canonical_file_name)" == "$(readlink "${HOME}/.guix-home")"
|
||||
|
|
|
@ -92,7 +92,7 @@ then
|
|||
grep 'GNU sed' "$test_directory/output"
|
||||
|
||||
# Check whether the exit code is preserved.
|
||||
! run_without_store "$test_directory/Bin/sed" --does-not-exist
|
||||
run_without_store "$test_directory/Bin/sed" --does-not-exist && false
|
||||
|
||||
chmod -Rf +w "$test_directory"; rm -rf "$test_directory"/*
|
||||
else
|
||||
|
|
|
@ -37,7 +37,7 @@ test_directory="`mktemp -d`"
|
|||
trap 'chmod -Rf +w "$test_directory"; rm -rf "$test_directory"' EXIT
|
||||
|
||||
# Reject unsuppoted packages.
|
||||
! guix pack intelmetool -s armhf-linux -n
|
||||
guix pack intelmetool -s armhf-linux -n && false
|
||||
|
||||
# Compute the derivation of a pack.
|
||||
drv="`guix pack coreutils -d --no-grafts`"
|
||||
|
@ -48,7 +48,7 @@ guix gc -R "$drv" | grep "`guix build coreutils -d --no-grafts`"
|
|||
drv="`guix pack idutils -d --no-grafts --target=arm-linux-gnueabihf`"
|
||||
guix gc -R "$drv" | \
|
||||
grep "`guix build idutils --target=arm-linux-gnueabihf -d --no-grafts`"
|
||||
! guix gc -R "$drv" | grep "`guix build idutils -d --no-grafts`"
|
||||
guix gc -R "$drv" | grep "`guix build idutils -d --no-grafts`" && false
|
||||
|
||||
# Build a tarball with no compression.
|
||||
guix pack --compression=none --bootstrap guile-bootstrap
|
||||
|
|
|
@ -36,7 +36,7 @@ guix install --bootstrap guile-bootstrap -p "$profile"
|
|||
test -x "$profile/bin/guile"
|
||||
|
||||
# Make sure '-r' isn't passed as-is to 'guix package'.
|
||||
! guix install -r guile-bootstrap -p "$profile" --bootstrap
|
||||
guix install -r guile-bootstrap -p "$profile" --bootstrap && false
|
||||
test -x "$profile/bin/guile"
|
||||
|
||||
# Use a package transformation option and make sure it's recorded.
|
||||
|
@ -48,16 +48,16 @@ grep "libreoffice=inkscape" "$profile/manifest"
|
|||
guix upgrade --version
|
||||
guix upgrade -n
|
||||
guix upgrade gui.e -n
|
||||
! guix upgrade foo bar -n;
|
||||
guix upgrade foo bar -n
|
||||
|
||||
guix remove --version
|
||||
guix remove --bootstrap guile-bootstrap -p "$profile"
|
||||
! test -x "$profile/bin/guile"
|
||||
test ! -x "$profile/bin/guile"
|
||||
test `guix package -p "$profile" -I | wc -l` -eq 0
|
||||
|
||||
! guix remove -p "$profile" this-is-not-installed --bootstrap
|
||||
guix remove -p "$profile" this-is-not-installed --bootstrap && false
|
||||
|
||||
! guix remove -i guile-bootstrap -p "$profile" --bootstrap
|
||||
guix remove -i guile-bootstrap -p "$profile" --bootstrap && false
|
||||
|
||||
guix search '\<board\>' game | grep '^name: gnubg'
|
||||
|
||||
|
@ -66,7 +66,7 @@ guix show guile
|
|||
guix show python@3 | grep "^name: python"
|
||||
|
||||
# "python@2" exists but is deprecated; make sure it doesn't show up.
|
||||
! guix show python@2
|
||||
guix show python@2 && false
|
||||
|
||||
# Specifying multiple packages.
|
||||
output="`guix show sed grep | grep ^name:`"
|
||||
|
|
|
@ -58,7 +58,7 @@ trap 'rm -f "$profile" "$profile_alt" "$profile.lock" "$profile_alt.lock" "$prof
|
|||
|
||||
guix package --bootstrap -p "$profile" -i guile-bootstrap
|
||||
test -L "$profile" && test -L "$profile-1-link"
|
||||
! test -f "$profile-2-link"
|
||||
test ! -f "$profile-2-link"
|
||||
test -f "$profile/bin/guile"
|
||||
|
||||
boot_make="(@ (guix tests) gnu-make-for-tests)"
|
||||
|
@ -98,13 +98,13 @@ test "`guix package -p "$profile" -l | cut -f1 | grep guile | head -n1`" \
|
|||
= " guile-bootstrap"
|
||||
|
||||
# Exit with 1 when a generation does not exist.
|
||||
! guix package -p "$profile" --list-generations=42
|
||||
! guix package -p "$profile" --switch-generation=99
|
||||
guix package -p "$profile" --list-generations=42 && false
|
||||
guix package -p "$profile" --switch-generation=99 && false
|
||||
|
||||
# Remove a package.
|
||||
guix package --bootstrap -p "$profile" -r "guile-bootstrap"
|
||||
test -L "$profile-3-link"
|
||||
test -f "$profile/bin/make" && ! test -f "$profile/bin/guile"
|
||||
test -f "$profile/bin/make" && test ! -f "$profile/bin/guile"
|
||||
|
||||
# Roll back.
|
||||
guix package --roll-back -p "$profile"
|
||||
|
@ -112,7 +112,7 @@ test "`readlink_base "$profile"`" = "$profile-2-link"
|
|||
test -x "$profile/bin/guile" && test -x "$profile/bin/make"
|
||||
guix package --roll-back -p "$profile"
|
||||
test "`readlink_base "$profile"`" = "$profile-1-link"
|
||||
test -x "$profile/bin/guile" && ! test -x "$profile/bin/make"
|
||||
test -x "$profile/bin/guile" && test ! -x "$profile/bin/make"
|
||||
|
||||
# Switch to the rolled generation and switch back.
|
||||
guix package -p "$profile" --switch-generation=2
|
||||
|
@ -124,8 +124,8 @@ test "`readlink_base "$profile"`" = "$profile-1-link"
|
|||
for i in `seq 1 3`
|
||||
do
|
||||
guix package --bootstrap --roll-back -p "$profile"
|
||||
! test -f "$profile/bin"
|
||||
! test -f "$profile/lib"
|
||||
test ! -f "$profile/bin"
|
||||
test ! -f "$profile/lib"
|
||||
test "`readlink_base "$profile"`" = "$profile-0-link"
|
||||
done
|
||||
|
||||
|
@ -135,7 +135,7 @@ test -z "`guix package -p "$profile" -l 0`"
|
|||
# Reinstall after roll-back to the empty profile.
|
||||
guix package --bootstrap -p "$profile" -e "$boot_make"
|
||||
test "`readlink_base "$profile"`" = "$profile-1-link"
|
||||
test -x "$profile/bin/guile" && ! test -x "$profile/bin/make"
|
||||
test -x "$profile/bin/guile" && test ! -x "$profile/bin/make"
|
||||
|
||||
# Check that the first generation is the current one.
|
||||
test "`guix package -p "$profile" -l 1 | cut -f3 | head -n1`" = "(current)"
|
||||
|
@ -143,7 +143,7 @@ test "`guix package -p "$profile" -l 1 | cut -f3 | head -n1`" = "(current)"
|
|||
# Roll-back to generation 0, and install---all at once.
|
||||
guix package --bootstrap -p "$profile" --roll-back -i guile-bootstrap
|
||||
test "`readlink_base "$profile"`" = "$profile-1-link"
|
||||
test -x "$profile/bin/guile" && ! test -x "$profile/bin/make"
|
||||
test -x "$profile/bin/guile" && test ! -x "$profile/bin/make"
|
||||
|
||||
# Install Make.
|
||||
guix package --bootstrap -p "$profile" -e "$boot_make"
|
||||
|
@ -175,7 +175,7 @@ test -z "`guix package -p "$profile" -l 3`"
|
|||
rm "$profile"
|
||||
guix package --bootstrap -p "$profile" -i guile-bootstrap
|
||||
guix package --bootstrap -p "$profile_alt" -i gcc-bootstrap
|
||||
! guix package -p "$profile" --search-paths | grep LIBRARY_PATH
|
||||
guix package -p "$profile" --search-paths | grep LIBRARY_PATH && false
|
||||
guix package -p "$profile" -p "$profile_alt" --search-paths \
|
||||
| grep "LIBRARY_PATH.*$profile/lib.$profile_alt/lib"
|
||||
|
||||
|
@ -234,4 +234,4 @@ guix package --bootstrap -e "$boot_make"
|
|||
test -f "$HOME/.guix-profile/bin/make"
|
||||
|
||||
guix package --bootstrap --roll-back
|
||||
! test -f "$HOME/.guix-profile/bin/make"
|
||||
test ! -f "$HOME/.guix-profile/bin/make"
|
||||
|
|
|
@ -37,7 +37,7 @@ rm -f "$profile" "$tmpfile"
|
|||
trap 'rm -f "$profile" "$profile.lock" "$profile-"[0-9]* "$tmpfile"; rm -rf "$module_dir" t-home-'"$$" EXIT
|
||||
|
||||
# Use `-e' with a non-package expression.
|
||||
! guix package --bootstrap -e +
|
||||
guix package --bootstrap -e + && false
|
||||
|
||||
# Install a store item and make sure the version and output in the manifest
|
||||
# are correct.
|
||||
|
@ -57,23 +57,23 @@ guix gc --list-live | grep "`readlink "$profile-1-link"`"
|
|||
# Installing the same package a second time does nothing.
|
||||
guix package --bootstrap -p "$profile" -i guile-bootstrap
|
||||
test -L "$profile" && test -L "$profile-1-link"
|
||||
! test -f "$profile-2-link"
|
||||
test ! -f "$profile-2-link"
|
||||
test -f "$profile/bin/guile"
|
||||
|
||||
# Unsupported packages cannot be installed.
|
||||
! guix package -e '(begin (use-modules (guix) (gnu packages base)) (package (inherit sed) (supported-systems (list))))' -n
|
||||
guix package -e '(begin (use-modules (guix) (gnu packages base)) (package (inherit sed) (supported-systems (list))))' -n && false
|
||||
case $(uname -m) in
|
||||
x86_64|i[3456]86)
|
||||
! guix package -i novena-eeprom -n
|
||||
guix package -i novena-eeprom -n && false
|
||||
break;;
|
||||
*)
|
||||
! guix package -i intelmetool -n
|
||||
guix package -i intelmetool -n && false
|
||||
break;;
|
||||
esac
|
||||
|
||||
# Collisions are properly flagged (in this case, 'g-wrap' propagates
|
||||
# guile@2.2, which conflicts with guile@2.0.)
|
||||
! guix package --bootstrap -n -p "$profile" -i g-wrap guile@2.0
|
||||
guix package --bootstrap -n -p "$profile" -i g-wrap guile@2.0 && false
|
||||
|
||||
guix package --bootstrap -n -p "$profile" -i g-wrap guile@2.0 \
|
||||
--allow-collisions
|
||||
|
@ -88,7 +88,7 @@ test "`guix package -p "$profile" --search-paths | wc -l`" = 1 # $PATH
|
|||
type -P rm )
|
||||
|
||||
# Exit with 1 when a generation does not exist.
|
||||
! guix package -p "$profile" --delete-generations=42
|
||||
guix package -p "$profile" --delete-generations=42 && false
|
||||
|
||||
# Exit with 0 when trying to delete the zeroth generation.
|
||||
guix package -p "$profile" --delete-generations=0
|
||||
|
@ -101,12 +101,12 @@ guix package --bootstrap -i "glibc:debug" -p "$profile" -n
|
|||
|
||||
# Make sure nonexistent outputs are reported.
|
||||
guix package --bootstrap -i "guile-bootstrap:out" -p "$profile" -n
|
||||
! guix package --bootstrap -i "guile-bootstrap:does-not-exist" -p "$profile" -n
|
||||
! guix package --bootstrap -i "guile-bootstrap:does-not-exist" -p "$profile"
|
||||
guix package --bootstrap -i "guile-bootstrap:does-not-exist" -p "$profile" -n && false
|
||||
guix package --bootstrap -i "guile-bootstrap:does-not-exist" -p "$profile" && false
|
||||
|
||||
# Make sure we get an error when trying to remove something that's not
|
||||
# installed.
|
||||
! guix package --bootstrap -r something-not-installed -p "$profile"
|
||||
guix package --bootstrap -r something-not-installed -p "$profile" && false
|
||||
|
||||
# Check whether `--list-available' returns something sensible.
|
||||
guix package -p "$profile" -A 'gui.*e' | grep guile
|
||||
|
@ -118,8 +118,8 @@ guix package --show=guile | grep "^name: guile"
|
|||
guix package --show=texlive
|
||||
|
||||
# Fail for non-existent packages or package/version pairs.
|
||||
! guix package --show=does-not-exist
|
||||
! guix package --show=emacs@42
|
||||
guix package --show=does-not-exist && false
|
||||
guix package --show=emacs@42 && false
|
||||
|
||||
# Search.
|
||||
LC_MESSAGES=C
|
||||
|
@ -163,19 +163,19 @@ guix package --search="" > /dev/null
|
|||
# There's no generation older than 12 months, so the following command should
|
||||
# have no effect.
|
||||
generation="`readlink_base "$profile"`"
|
||||
! guix package -p "$profile" --delete-generations=12m
|
||||
guix package -p "$profile" --delete-generations=12m && false
|
||||
test "`readlink_base "$profile"`" = "$generation"
|
||||
|
||||
# The following command should not delete the current generation, even though
|
||||
# it matches the given pattern (see <http://bugs.gnu.org/19978>.) And since
|
||||
# there's nothing else to delete, it should just fail.
|
||||
guix package --list-generations -p "$profile"
|
||||
! guix package --bootstrap -p "$profile" --delete-generations=1..
|
||||
guix package --bootstrap -p "$profile" --delete-generations=1.. && false
|
||||
test "`readlink_base "$profile"`" = "$generation"
|
||||
|
||||
# Make sure $profile is a GC root at this point.
|
||||
real_profile="`readlink -f "$profile"`"
|
||||
! guix gc -d "$real_profile"
|
||||
guix gc -d "$real_profile" && false
|
||||
test -d "$real_profile"
|
||||
|
||||
# Now, let's remove all the symlinks to $real_profile, and make sure
|
||||
|
@ -278,22 +278,22 @@ do
|
|||
guix gc --list-live | grep "`readlink "$profile_link"`"
|
||||
|
||||
guix package --bootstrap --roll-back
|
||||
! test -f "$HOME/.guix-profile/bin"
|
||||
! test -f "$HOME/.guix-profile/lib"
|
||||
test ! -f "$HOME/.guix-profile/bin"
|
||||
test ! -f "$HOME/.guix-profile/lib"
|
||||
test "`readlink "$default_profile"`" = "`basename $default_profile-0-link`"
|
||||
done
|
||||
|
||||
# Check whether '-p ~/.guix-profile' makes any difference.
|
||||
# See <http://bugs.gnu.org/17939>.
|
||||
! test -e "$HOME/.guix-profile-0-link"
|
||||
! test -e "$HOME/.guix-profile-1-link"
|
||||
test ! -e "$HOME/.guix-profile-0-link"
|
||||
test ! -e "$HOME/.guix-profile-1-link"
|
||||
guix package --bootstrap -p "$HOME/.guix-profile" -i guile-bootstrap
|
||||
! test -e "$HOME/.guix-profile-1-link"
|
||||
test ! -e "$HOME/.guix-profile-1-link"
|
||||
guix package --bootstrap --roll-back -p "$HOME/.guix-profile"
|
||||
! test -e "$HOME/.guix-profile-0-link"
|
||||
test ! -e "$HOME/.guix-profile-0-link"
|
||||
|
||||
# Extraneous argument.
|
||||
! guix package install foo-bar
|
||||
guix package install foo-bar && false
|
||||
|
||||
# Make sure the "broken pipe" doesn't yield an error.
|
||||
# Note: 'pipefail' is a Bash-specific option.
|
||||
|
@ -382,7 +382,7 @@ cat > "$module_dir/package.scm"<<EOF
|
|||
|
||||
(define my-package coreutils) ;returns *unspecified*
|
||||
EOF
|
||||
! guix package --bootstrap --install-from-file="$module_dir/package.scm"
|
||||
guix package --bootstrap --install-from-file="$module_dir/package.scm" && false
|
||||
|
||||
rm "$module_dir/package.scm"
|
||||
|
||||
|
|
|
@ -37,12 +37,12 @@ GUIX_TEST_UPDATER_TARGETS='
|
|||
("the-test-package" "" (("5.5" "file://'$PWD/$module_dir'/source"))))'
|
||||
|
||||
# No newer version available.
|
||||
! guix refresh -t test idutils
|
||||
guix refresh -t test idutils # XXX: should return non-zero?
|
||||
case "$(guix refresh -t test idutils 2>&1)" in
|
||||
*"$idutils_version"*"already the latest version"*) true;;
|
||||
*) false;;
|
||||
esac
|
||||
! guix refresh -t test libreoffice
|
||||
guix refresh -t test libreoffice # XXX: should return non-zero?
|
||||
case "$(guix refresh -t test libreoffice 2>&1)" in
|
||||
*"greater than the latest known version"*"1.0"*) true;;
|
||||
*) false;;
|
||||
|
@ -100,7 +100,7 @@ grep 'version "5.5"' "$module_dir/sample.scm"
|
|||
grep "$(guix hash -H sha256 -f nix-base32 "$module_dir/source")" "$module_dir/sample.scm"
|
||||
|
||||
# Specifying a target version.
|
||||
! guix refresh -t test guile=2.0.0
|
||||
guix refresh -t test guile=2.0.0 # XXX: should return non-zero?
|
||||
case "$(guix refresh -t test guile=2.0.0 2>&1)" in
|
||||
*"failed to find"*"2.0.0"*) true;;
|
||||
*) false;;
|
||||
|
|
|
@ -33,13 +33,13 @@ export XDG_CONFIG_HOME
|
|||
guix shell --bootstrap --pure guile-bootstrap -- guile --version
|
||||
|
||||
# '--symlink' can only be used with --container.
|
||||
! guix shell --bootstrap guile-bootstrap -S /dummy=bin/guile
|
||||
guix shell --bootstrap guile-bootstrap -S /dummy=bin/guile && false
|
||||
|
||||
# '--ad-hoc' is a thing of the past.
|
||||
! guix shell --ad-hoc guile-bootstrap
|
||||
guix shell --ad-hoc guile-bootstrap && false
|
||||
|
||||
# Rejecting unsupported packages.
|
||||
! guix shell -s armhf-linux intelmetool -n
|
||||
guix shell -s armhf-linux intelmetool -n && false
|
||||
|
||||
# Test approximately that the child process does not inherit extra file
|
||||
# descriptors. Ideally we'd check there's nothing more than 0, 1, and 2, but
|
||||
|
@ -55,7 +55,7 @@ test "$(echo $fd_list | wc -w)" -le "$(echo $initial_fd_list | wc -w)"
|
|||
cat > "$tmpdir/guix.scm" <<EOF
|
||||
This is a broken guix.scm file.
|
||||
EOF
|
||||
! (cd "$tmpdir"; SHELL="$(type -P true)" guix shell --bootstrap 2> "stderr")
|
||||
(cd "$tmpdir"; SHELL="$(type -P true)" guix shell --bootstrap 2> "stderr") && false
|
||||
grep "not authorized" "$tmpdir/stderr"
|
||||
rm "$tmpdir/stderr"
|
||||
|
||||
|
@ -122,7 +122,7 @@ then
|
|||
done
|
||||
|
||||
# 'make-boot0' itself must not be listed.
|
||||
! guix gc --references "$profile" | grep make-boot0
|
||||
guix gc --references "$profile" | grep make-boot0 && false
|
||||
|
||||
# Honoring the local 'guix.scm' file.
|
||||
echo '(@ (guix tests) gnu-make-for-tests)' > "$tmpdir/guix.scm"
|
||||
|
|
|
@ -65,7 +65,7 @@ cp "$tmpfile" "$tmpfile.bak"
|
|||
initial_hash="$(guix hash "$tmpfile")"
|
||||
|
||||
guix style -f "$tmpfile"
|
||||
if ! test "$initial_hash" = "$(guix hash "$tmpfile")"
|
||||
if test "$initial_hash" != "$(guix hash "$tmpfile")"
|
||||
then
|
||||
cat "$tmpfile"
|
||||
diff -u "$tmpfile.bak" "$tmpfile"
|
||||
|
@ -73,8 +73,8 @@ then
|
|||
fi
|
||||
|
||||
# Introduce random changes and try again.
|
||||
sed -i "$tmpfile" -e's/ +/ /g'
|
||||
! test "$initial_hash" = "$(guix hash "$tmpfile")"
|
||||
sed -i "$tmpfile" -e's/ \+/ /g'
|
||||
test "$initial_hash" != "$(guix hash "$tmpfile")"
|
||||
|
||||
guix style -f "$tmpfile"
|
||||
test "$initial_hash" = "$(guix hash "$tmpfile")"
|
||||
|
|
|
@ -318,7 +318,7 @@ cat > "$tmpdir/config.scm" <<EOF
|
|||
|
||||
(bad-local-file "whatever.scm")
|
||||
EOF
|
||||
! guix system build "$tmpdir/config.scm" -n
|
||||
guix system build "$tmpdir/config.scm" -n && false
|
||||
guix system build "$tmpdir/config.scm" -n 2>&1 | \
|
||||
grep "config\.scm:4:2: warning:.*whatever.*relative to current directory"
|
||||
|
||||
|
|
Reference in New Issue