me
/
guix
Archived
1
0
Fork 0

Merge branch 'master' into staging

master
Marius Bakke 2020-02-28 19:07:46 +01:00
commit d614f0bba9
No known key found for this signature in database
GPG Key ID: A2A06DF2A33A54FA
29 changed files with 2539 additions and 423 deletions

View File

@ -717,7 +717,7 @@ to be passed to the @code{udev} service.")
(define-public git-repo (define-public git-repo
(package (package
(name "git-repo") (name "git-repo")
(version "2.3") (version "2.4.1")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -726,7 +726,7 @@ to be passed to the @code{udev} service.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (string-append "git-repo-" version "-checkout")) (file-name (string-append "git-repo-" version "-checkout"))
(sha256 (sha256
(base32 "0jrll0mjfwakyjvlhbxwsdi32jhgss9mwz8c8h24n1qbqqxysrk4")))) (base32 "0khg1731927gvin73dcbw1657kbfq4k7agla5rpzqcnwkk5agzg3"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:phases `(#:phases
@ -735,47 +735,48 @@ to be passed to the @code{udev} service.")
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
(git (assoc-ref inputs "git")) (git (assoc-ref inputs "git"))
(gpg (assoc-ref inputs "gnupg"))
(ssh (assoc-ref inputs "ssh"))) (ssh (assoc-ref inputs "ssh")))
(substitute* '("repo" "git_command.py") (substitute* '("repo" "git_command.py")
(("^GIT = 'git'") (("^GIT = 'git'")
(string-append "GIT = '" git "/bin/git'"))) (string-append "GIT = '" git "/bin/git'")))
(substitute* "repo"
((" cmd = \\['gpg',")
(string-append " cmd = ['" gpg "/bin/gpg',")))
(substitute* "git_config.py" (substitute* "git_config.py"
((" command_base = \\['ssh',") ((" command_base = \\['ssh',")
(string-append " command_base = ['" ssh "/bin/ssh',"))) (string-append " command_base = ['" ssh "/bin/ssh',")))
#t))) #t)))
(add-before 'build 'do-not-clone-this-source (add-before 'build 'do-not-self-update
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) ;; Setting the REPO_MAIN variable to an absolute file name is
(repo-dir (string-append out "/share/" ,name))) ;; enough to have _FindRepo return the store main.py file. The
(substitute* "repo" ;; self update mechanism is activated with the call to _Init() in
(("^def _FindRepo\\(\\):.*") ;; main(), so we bypass it.
(format #f "
def _FindRepo():
'''Look for a repo installation, starting at the current directory.'''
# Use the installed version of git-repo.
repo_main = '~a/main.py'
curdir = os.getcwd()
olddir = None
while curdir != '/' and curdir != olddir:
dot_repo = os.path.join(curdir, repodir)
if os.path.isdir(dot_repo):
return (repo_main, dot_repo)
else:
olddir = curdir
curdir = os.path.dirname(curdir)
return None, ''
# The remaining of this function is dead code. It was used to ;; Ticket requesting upstream to provide a mean to disable the
# find a git-checked-out version in the local project.\n" repo-dir)) ;; self update mechanism:
;; Neither clone, check out, nor verify the git repository ;; https://bugs.chromium.org/p/gerrit/issues/detail?id=12407.
(("(^\\s+)_Clone\\(.*\\)") "") (let* ((out (assoc-ref outputs "out"))
(("(^\\s+)_Checkout\\(.*\\)") "") (repo-main (string-append out "/share/git-repo/main.py")))
((" rev = _Verify\\(.*\\)") " rev = None")) (substitute* "repo"
#t))) (("^REPO_MAIN = .*")
(format #f "REPO_MAIN = ~s~%" repo-main))
((" _Init\\(args, gitc_init=\\(cmd ==.*" all)
(string-append "True #" all)))
;; Prevent repo from trying to git describe its version from
;; the (disabled) self updated copy.
(substitute* "git_command.py"
(("ver = getattr\\(RepoSourceVersion.*")
(format #f "ver = ~s~%" ,version)))
(substitute* "subcmds/version.py"
(("rp_ver = .*")
(format #f "rp_ver = ~s~%" ,version)))
;; Prevent repo from adding its (disabled) self update copy to
;; the list of projects to fetch when using 'repo sync'.
(substitute* "subcmds/sync.py"
(("to_fetch\\.extend\\(all_projects\\).*" all)
(string-append "#" all))
(("self\\._Fetch\\(to_fetch")
"self._Fetch(all_projects")
(("_PostRepoFetch\\(rp, opt\\.repo_verify).*" all)
(string-append "#" all))))))
(delete 'build) ; nothing to build (delete 'build) ; nothing to build
(add-before 'check 'configure-git (add-before 'check 'configure-git
(lambda _ (lambda _
@ -800,7 +801,6 @@ def _FindRepo():
(inputs (inputs
;; TODO: Add git-remote-persistent-https once it is available in guix ;; TODO: Add git-remote-persistent-https once it is available in guix
`(("git" ,git) `(("git" ,git)
("gnupg" ,gnupg)
("ssh" ,openssh))) ("ssh" ,openssh)))
(native-inputs (native-inputs
`(("pytest" ,python-pytest))) `(("pytest" ,python-pytest)))

View File

@ -35,8 +35,9 @@
"Return a list of Emacs 'autoloads' files in DIRECTORY. "Return a list of Emacs 'autoloads' files in DIRECTORY.
The files in the list do not have extensions (.el, .elc)." The files in the list do not have extensions (.el, .elc)."
;; `directory-files' doesn't honor group in regexp. ;; `directory-files' doesn't honor group in regexp.
(mapcar #'file-name-sans-extension (delete-dups (mapcar #'file-name-sans-extension
(directory-files directory 'full-name guix-emacs-autoloads-regexp))) (directory-files directory 'full-name
guix-emacs-autoloads-regexp))))
;;;###autoload ;;;###autoload
(defun guix-emacs-autoload-packages () (defun guix-emacs-autoload-packages ()

View File

@ -410,7 +410,7 @@ computational cluster.")
(define-public bedtools (define-public bedtools
(package (package
(name "bedtools") (name "bedtools")
(version "2.27.1") (version "2.29.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/arq5x/bedtools2/releases/" (uri (string-append "https://github.com/arq5x/bedtools2/releases/"
@ -418,7 +418,7 @@ computational cluster.")
"bedtools-" version ".tar.gz")) "bedtools-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1ndg5yknrxl4djx8ddzgk12rrbiidfpmkkg5z3f95jzryfxarhn8")))) "0m3hk6548846w83a9s5drsczvy67n2azx41kj71n03klb2gbzwg3"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:test-target "test" '(#:test-target "test"
@ -427,7 +427,8 @@ computational cluster.")
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(delete 'configure)))) (delete 'configure))))
(native-inputs `(("python" ,python-2))) (native-inputs
`(("python" ,python-wrapper)))
(inputs (inputs
`(("samtools" ,samtools) `(("samtools" ,samtools)
("zlib" ,zlib))) ("zlib" ,zlib)))
@ -440,7 +441,7 @@ genome arithmetic: that is, set theory on the genome. For example, bedtools
allows one to intersect, merge, count, complement, and shuffle genomic allows one to intersect, merge, count, complement, and shuffle genomic
intervals from multiple files in widely-used genomic file formats such as BAM, intervals from multiple files in widely-used genomic file formats such as BAM,
BED, GFF/GTF, VCF.") BED, GFF/GTF, VCF.")
(license license:gpl2))) (license license:expat)))
;; Later releases of bedtools produce files with more columns than ;; Later releases of bedtools produce files with more columns than
;; what Ribotaper expects. ;; what Ribotaper expects.
@ -5306,7 +5307,7 @@ BAM and Wiggle files in both transcript-coordinate and genomic-coordinate.")
(define-public rseqc (define-public rseqc
(package (package
(name "rseqc") (name "rseqc")
(version "2.6.1") (version "3.0.1")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -5314,28 +5315,18 @@ BAM and Wiggle files in both transcript-coordinate and genomic-coordinate.")
(string-append "mirror://sourceforge/rseqc/" (string-append "mirror://sourceforge/rseqc/"
"RSeQC-" version ".tar.gz")) "RSeQC-" version ".tar.gz"))
(sha256 (sha256
(base32 "15ly0254yi032qzkdplg00q144qfdsd986gh62829rl5bkxhj330")) (base32
(modules '((guix build utils))) "0gbb9iyb7swiv5455fm5rg98r7l6qn27v564yllqjd574hncpx6m"))))
(snippet
'(begin
;; remove bundled copy of pysam
(delete-file-recursively "lib/pysam")
(substitute* "setup.py"
;; remove dependency on outdated "distribute" module
(("^from distribute_setup import use_setuptools") "")
(("^use_setuptools\\(\\)") "")
;; do not use bundled copy of pysam
(("^have_pysam = False") "have_pysam = True"))
#t))))
(build-system python-build-system) (build-system python-build-system)
(arguments `(#:python ,python-2))
(inputs (inputs
`(("python-cython" ,python2-cython) `(("python-cython" ,python-cython)
("python-pysam" ,python2-pysam) ("python-bx-python" ,python-bx-python)
("python-numpy" ,python2-numpy) ("python-pybigwig" ,python-pybigwig)
("python-pysam" ,python-pysam)
("python-numpy" ,python-numpy)
("zlib" ,zlib))) ("zlib" ,zlib)))
(native-inputs (native-inputs
`(("python-nose" ,python2-nose))) `(("python-nose" ,python-nose)))
(home-page "http://rseqc.sourceforge.net/") (home-page "http://rseqc.sourceforge.net/")
(synopsis "RNA-seq quality control package") (synopsis "RNA-seq quality control package")
(description (description
@ -6581,7 +6572,7 @@ profiles, and associated taxonomic information.")
(define-public vcftools (define-public vcftools
(package (package
(name "vcftools") (name "vcftools")
(version "0.1.15") (version "0.1.16")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -6589,7 +6580,7 @@ profiles, and associated taxonomic information.")
version "/vcftools-" version ".tar.gz")) version "/vcftools-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1qw30c45wihgy632rbz4rh3njnwj4msj46l1rsgdhyg6bgypmr1i")))) "1qqlx7flfv7axrjwkaz6njkscsl1d0jw98ns8d8bh1n1hd1pgz6v"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:tests? #f ; no "check" target `(#:tests? #f ; no "check" target
@ -6617,17 +6608,18 @@ data in the form of VCF files.")
(define-public infernal (define-public infernal
(package (package
(name "infernal") (name "infernal")
(version "1.1.2") (version "1.1.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://eddylab.org/software/infernal/" (uri (string-append "http://eddylab.org/software/infernal/"
"infernal-" version ".tar.gz")) "infernal-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0sr2hiz3qxfwqpz3whxr6n82p3x27336v3f34iqznp10hks2935c")))) "0pm8bm3s6nfa0av4x6m6h27lsg12b3lz3jm0fyh1mc77l2isd61v"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("perl" ,perl))) ; for tests `(("perl" ,perl)
("python" ,python))) ; for tests
(home-page "http://eddylab.org/infernal/") (home-page "http://eddylab.org/infernal/")
(synopsis "Inference of RNA alignments") (synopsis "Inference of RNA alignments")
(description "Infernal (\"INFERence of RNA ALignment\") is a tool for (description "Infernal (\"INFERence of RNA ALignment\") is a tool for
@ -6638,7 +6630,7 @@ profile, but it scores a combination of sequence consensus and RNA secondary
structure consensus, so in many cases, it is more capable of identifying RNA structure consensus, so in many cases, it is more capable of identifying RNA
homologs that conserve their secondary structure more than their primary homologs that conserve their secondary structure more than their primary
sequence.") sequence.")
;; Infernal 1.1.2 requires VMX or SSE capability for parallel instructions. ;; Infernal 1.1.3 requires VMX or SSE capability for parallel instructions.
(supported-systems '("i686-linux" "x86_64-linux")) (supported-systems '("i686-linux" "x86_64-linux"))
(license license:bsd-3))) (license license:bsd-3)))

View File

@ -670,7 +670,20 @@ it fits within common partitioning schemes.")
(make-u-boot-sunxi64-package "pine64-lts" "aarch64-linux-gnu")) (make-u-boot-sunxi64-package "pine64-lts" "aarch64-linux-gnu"))
(define-public u-boot-pinebook (define-public u-boot-pinebook
(make-u-boot-sunxi64-package "pinebook" "aarch64-linux-gnu")) (let ((base (make-u-boot-sunxi64-package "pinebook" "aarch64-linux-gnu")))
(package
(inherit base)
(arguments
(substitute-keyword-arguments (package-arguments base)
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'patch-pinebook-config
;; Fix regression with LCD video output introduced in 2020.01
;; https://patchwork.ozlabs.org/patch/1225130/
(lambda _
(substitute* "configs/pinebook_defconfig"
(("CONFIG_VIDEO_BRIDGE_ANALOGIX_ANX6345=y") "CONFIG_VIDEO_BRIDGE_ANALOGIX_ANX6345=y\nCONFIG_VIDEO_BPP32=y"))
#t)))))))))
(define-public u-boot-bananapi-m2-ultra (define-public u-boot-bananapi-m2-ultra
(make-u-boot-package "Bananapi_M2_Ultra" "arm-linux-gnueabihf")) (make-u-boot-package "Bananapi_M2_Ultra" "arm-linux-gnueabihf"))

File diff suppressed because it is too large Load Diff

View File

@ -8,7 +8,7 @@
;;; Copyright © 2016, 2017, 2018, 2019 Chris Marusich <cmmarusich@gmail.com> ;;; Copyright © 2016, 2017, 2018, 2019 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2015, 2016, 2018 Christopher Lemmer Webber <cwebber@dustycloud.org> ;;; Copyright © 2015, 2016, 2018 Christopher Lemmer Webber <cwebber@dustycloud.org>
;;; Copyright © 2016 Adriano Peluso <catonano@gmail.com> ;;; Copyright © 2016 Adriano Peluso <catonano@gmail.com>
;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 David Thompson <davet@gnu.org> ;;; Copyright © 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com> ;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com>
;;; Copyright © 2016, 2017 Roel Janssen <roel@gnu.org> ;;; Copyright © 2016, 2017 Roel Janssen <roel@gnu.org>
@ -16,7 +16,7 @@
;;; Copyright © 2016, 2019 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2016, 2019 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2016, 2017, 2018 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2016, 2017, 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2016, 2017, 2018, 2019 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017 Christopher Baines <mail@cbaines.net> ;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
;;; Copyright © 2017, 2018, 2019, 2020 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017, 2018, 2019, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017, 2018, 2019 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017, 2018, 2019 Clément Lassieur <clement@lassieur.org>
@ -155,6 +155,7 @@
#:use-module (gnu packages video) #:use-module (gnu packages video)
#:use-module (gnu packages haskell-xyz) #:use-module (gnu packages haskell-xyz)
#:use-module (gnu packages wordnet) #:use-module (gnu packages wordnet)
#:use-module (gnu packages photo)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
#:use-module (ice-9 match)) #:use-module (ice-9 match))
@ -3434,9 +3435,7 @@ for Flow files.")
(out (assoc-ref outputs "out")) (out (assoc-ref outputs "out"))
(version ,(version-major+minor (package-version python)))) (version ,(version-major+minor (package-version python))))
(with-directory-excursion (with-directory-excursion
(string-append out (string-append out "/share/emacs/site-lisp")
"/share/emacs/site-lisp/guix.d/"
"flycheck-grammalecte-" ,version)
(symlink (string-append grammalecte "/lib/" (symlink (string-append grammalecte "/lib/"
"python" version "/site-packages/" "python" version "/site-packages/"
"grammalecte") "grammalecte")
@ -4711,6 +4710,47 @@ number.")
@code{org-mode} to be rendered as UTF-8 characters.") @code{org-mode} to be rendered as UTF-8 characters.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-org-superstar
(package
(name "emacs-org-superstar")
(version "1.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/integral-dw/org-superstar-mode.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0q6180qwjpha10zsiw0ni6lanyjwlj8141a6qivfcs8nwczz7nvz"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-org" ,emacs-org)))
(home-page "https://github.com/integral-dw/org-superstar-mode")
(synopsis "Prettify headings and plain lists in Org mode")
(description "This package prettifies headings and plain lists in
Org mode. It is a direct descendant of @code{org-bullets}, with most
of the code base completely rewritten.
Currently, this package prettifies Org heading lines by:
@itemize
@item replacing trailing bullets by UTF-8 bullets,
@item hiding leading stars, customizing their look or removing them from vision,
@item applying a custom face to the header bullet,
@item applying a custom face to the leading bullets,
@item using double-bullets for inline tasks,
@item (optional) using special bullets for TODO keywords.
@end itemize
It also prettifies Org plain list bullets by:
@itemize
@item replacing each bullet type (*, + and -) with UTF-8 bullets,
@item applying a custom face to item bullets.
@end itemize
Features degrade gracefully when viewed from terminal.")
(license license:gpl3+)))
(define-public emacs-org-pomodoro (define-public emacs-org-pomodoro
;; Last release version was from 2016. ;; Last release version was from 2016.
(let ((commit "aa07c11318f91219336197e62c47bc7a3d090479") (let ((commit "aa07c11318f91219336197e62c47bc7a3d090479")
@ -7434,7 +7474,8 @@ xref, etc...) are still available, but with better integration.")
#:phases #:phases
;; The package provides autoloads. ;; The package provides autoloads.
(modify-phases %standard-phases (modify-phases %standard-phases
(delete 'make-autoloads)))) (delete 'make-autoloads)
(delete 'enable-autoloads-compilation))))
(synopsis "Quicklisp support for SLY") (synopsis "Quicklisp support for SLY")
(description (description
"@command{sly-quicklisp} is an external contrib for SLY that provides a "@command{sly-quicklisp} is an external contrib for SLY that provides a
@ -7491,7 +7532,10 @@ additional support for working with ASDF projects.")
(propagated-inputs (propagated-inputs
`(("emacs-sly" ,emacs-sly))) `(("emacs-sly" ,emacs-sly)))
(arguments (arguments
'(#:include (cons* "\\.lisp$" "\\.asd$" %default-include))) '(#:include (cons* "\\.lisp$" "\\.asd$" %default-include)
#:phases (modify-phases %standard-phases
;; Byte compilation of the autoload file fails.
(delete 'enable-autoloads-compilation))))
(synopsis "Named-readtables support for SLY") (synopsis "Named-readtables support for SLY")
(description (description
"@command{sly-named-readtables} is an external contrib for SLY that "@command{sly-named-readtables} is an external contrib for SLY that
@ -7525,7 +7569,8 @@ file.")
#:phases #:phases
;; The package provides autoloads. ;; The package provides autoloads.
(modify-phases %standard-phases (modify-phases %standard-phases
(delete 'make-autoloads)))) (delete 'make-autoloads)
(delete 'enable-autoloads-compilation))))
(synopsis "Expand Common Lisp macros inside source files with SLY") (synopsis "Expand Common Lisp macros inside source files with SLY")
(description (description
"@command{sly-macrostep} is a SLY contrib for expanding CL macros right "@command{sly-macrostep} is a SLY contrib for expanding CL macros right
@ -7641,7 +7686,7 @@ extensions.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-evil-collection (define-public emacs-evil-collection
(let ((commit "eb36c82a84d313e961777dc78fd4ff1d718efdf6") (let ((commit "a478a95a8a3665e40bdae3bab2a0519db6c1f29c")
(revision "13")) (revision "13"))
(package (package
(name "emacs-evil-collection") (name "emacs-evil-collection")
@ -7654,7 +7699,7 @@ extensions.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0wi84x9176y4xjl7zpn882achfamx3a2ixlj4nvflxfh6q1qg7bz")))) "15ii5lw6hs4yyl22yyzfwzagdma2sman4rm5gq4m9773g4ava515"))))
(build-system emacs-build-system) (build-system emacs-build-system)
(propagated-inputs (propagated-inputs
`(("emacs-evil" ,emacs-evil) `(("emacs-evil" ,emacs-evil)
@ -12024,6 +12069,10 @@ match and total match information in the mode-line in various search modes.")
(base32 (base32
"0vb338bhjpsnrf60qgxny4z5rjrnifahnrv9axd4shay89d894zq")))) "0vb338bhjpsnrf60qgxny4z5rjrnifahnrv9axd4shay89d894zq"))))
(build-system emacs-build-system) (build-system emacs-build-system)
;; Byte compilation of the autoload file fails.
(arguments
`(#:phases (modify-phases %standard-phases
(delete 'enable-autoloads-compilation))))
(home-page "https://elpa.gnu.org/packages/seq.html") (home-page "https://elpa.gnu.org/packages/seq.html")
(synopsis (synopsis
"Forward @code{cl-generic} compatibility for Emacs before version 25") "Forward @code{cl-generic} compatibility for Emacs before version 25")
@ -17365,8 +17414,7 @@ asynchronous communications, the RPC response is fairly good.")
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda* (#:key inputs outputs #:allow-other-keys)
(let ((perl (assoc-ref inputs "perl")) (let ((perl (assoc-ref inputs "perl"))
(dir (string-append (assoc-ref outputs "out") (dir (string-append (assoc-ref outputs "out")
"/share/emacs/site-lisp/guix.d/edbi-" "/share/emacs/site-lisp")))
,version)))
(substitute* (string-append dir "/edbi.el") (substitute* (string-append dir "/edbi.el")
(("\"perl\"") (string-append "\"" perl "/bin/perl\""))) (("\"perl\"") (string-append "\"" perl "/bin/perl\"")))
(chmod (string-append dir "/edbi-bridge.pl") #o555) (chmod (string-append dir "/edbi-bridge.pl") #o555)
@ -21560,3 +21608,62 @@ variables.")
"This library is a Company back-end providing auto-completion for "This library is a Company back-end providing auto-completion for
emoji.") emoji.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-exiftool
(package
(name "emacs-exiftool")
(version "0.3.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.systemreboot.net/exiftool.el/")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0bv58is66cz21yhc0qqkp1z4nk13zfi2l7i6pjbhyi0g1n88qqyv"))))
(build-system emacs-build-system)
(arguments
`(#:tests? #t
#:test-command '("make" "-C" "tests")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'configure
(lambda* (#:key inputs #:allow-other-keys)
(make-file-writable "exiftool.el")
(emacs-substitute-variables "exiftool.el"
("exiftool-executable"
(string-append (assoc-ref inputs "perl-image-exiftool")
"/bin/exiftool")))
#t)))))
(inputs
`(("perl-image-exiftool" ,perl-image-exiftool)))
(home-page "https://git.systemreboot.net/exiftool.el/about/")
(synopsis "Elisp wrapper around ExifTool")
(description "@code{emacs-exiftool} is an Elisp wrapper around ExifTool.
ExifTool supports reading and writing metadata in various formats including
EXIF, XMP and IPTC.")
(license license:gpl3+)))
(define-public emacs-password-generator
(package
(name "emacs-password-generator")
(version "1.01")
(home-page "https://github.com/zargener/emacs-password-genarator")
(source
(origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit "904cdb591a04305ba882ce19e1d117f5fa60f7d3")))
(file-name (git-file-name name version))
(sha256
(base32
"1qgvn79qz1h8ykm5i1qv2fja4v2y0g2i0n5sf7byhnqhqlwn63nv"))))
(build-system emacs-build-system)
(synopsis "Generate passwords inside Emacs")
(description "@code{emacs-password-generator} provides simple functions to
generate random passwords and insert them into the current buffer. It also
supports generation of phonetic and numeric passwords.")
(license license:artistic2.0)))

View File

@ -129,6 +129,11 @@
`(#:tests? #f ; no check target `(#:tests? #f ; no check target
#:configure-flags (list "--with-modules" #:configure-flags (list "--with-modules"
"--disable-build-details") "--disable-build-details")
#:modules ((guix build emacs-utils)
(guix build glib-or-gtk-build-system)
(guix build utils))
#:imported-modules ((guix build emacs-utils)
,@%glib-or-gtk-build-system-modules)
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before 'configure 'fix-/bin/pwd (add-before 'configure 'fix-/bin/pwd
@ -139,13 +144,12 @@
"pwd")) "pwd"))
#t)) #t))
(add-after 'install 'install-site-start (add-after 'install 'install-site-start
;; Use 'guix-emacs' in "site-start.el". This way, Emacs packages ;; Use 'guix-emacs' in "site-start.el", which is used autoload the
;; provided by Guix and installed in ;; Elisp packages found in EMACSLOADPATH.
;; ~/.guix-profile/share/emacs/site-lisp/guix.d/PACKAGE-VERSION are
;; automatically found.
(lambda* (#:key inputs outputs #:allow-other-keys) (lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
(lisp-dir (string-append out "/share/emacs/site-lisp"))) (lisp-dir (string-append out "/share/emacs/site-lisp"))
(emacs (string-append out "/bin/emacs")))
(copy-file (assoc-ref inputs "guix-emacs.el") (copy-file (assoc-ref inputs "guix-emacs.el")
(string-append lisp-dir "/guix-emacs.el")) (string-append lisp-dir "/guix-emacs.el"))
(with-output-to-file (string-append lisp-dir "/site-start.el") (with-output-to-file (string-append lisp-dir "/site-start.el")
@ -158,6 +162,9 @@
;; share/emacs/site-lisp union when added to EMACSLOADPATH, ;; share/emacs/site-lisp union when added to EMACSLOADPATH,
;; which leads to conflicts. ;; which leads to conflicts.
(delete-file (string-append lisp-dir "/subdirs.el")) (delete-file (string-append lisp-dir "/subdirs.el"))
;; Byte compile the site-start files.
(parameterize ((%emacs emacs))
(emacs-byte-compile-directory lisp-dir))
#t)))))) #t))))))
(inputs (inputs
`(("gnutls" ,gnutls) `(("gnutls" ,gnutls)
@ -326,6 +333,12 @@ languages.")
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(substitute-keyword-arguments (package-arguments emacs) (substitute-keyword-arguments (package-arguments emacs)
((#:modules _)
`((guix build emacs-utils)
,@%gnu-build-system-modules))
((#:imported-modules _)
`((guix build emacs-utils)
,@%gnu-build-system-modules))
((#:phases phases) ((#:phases phases)
`(modify-phases ,phases `(modify-phases ,phases
(delete 'install-site-start))) (delete 'install-site-start)))
@ -345,6 +358,12 @@ editor (with xwidgets support)")
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
(substitute-keyword-arguments (package-arguments emacs) (substitute-keyword-arguments (package-arguments emacs)
((#:modules _)
`((guix build emacs-utils)
,@%gnu-build-system-modules))
((#:imported-modules _)
`((guix build emacs-utils)
,@%gnu-build-system-modules))
((#:configure-flags flags ''()) ((#:configure-flags flags ''())
`(cons "--with-xwidgets" ,flags)))) `(cons "--with-xwidgets" ,flags))))
(inputs (inputs
@ -358,6 +377,14 @@ editor (with xwidgets support)")
(synopsis "The extensible, customizable, self-documenting text (synopsis "The extensible, customizable, self-documenting text
editor (console only)") editor (console only)")
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments
(substitute-keyword-arguments (package-arguments emacs)
((#:modules _)
`((guix build emacs-utils)
,@%gnu-build-system-modules))
((#:imported-modules _)
`((guix build emacs-utils)
,@%gnu-build-system-modules))))
(inputs (fold alist-delete (inputs (fold alist-delete
(package-inputs emacs) (package-inputs emacs)
'("libx11" "gtk+" "libxft" "libtiff" "giflib" "libjpeg" '("libx11" "gtk+" "libxft" "libtiff" "giflib" "libjpeg"
@ -376,9 +403,15 @@ editor (without an X toolkit)" )
(inputs (append `(("inotify-tools" ,inotify-tools)) (inputs (append `(("inotify-tools" ,inotify-tools))
(alist-delete "gtk+" (package-inputs emacs)))) (alist-delete "gtk+" (package-inputs emacs))))
(arguments (arguments
`(,@(substitute-keyword-arguments (package-arguments emacs) (substitute-keyword-arguments (package-arguments emacs)
((#:configure-flags cf) ((#:modules _)
`(cons "--with-x-toolkit=no" ,cf))))))) `((guix build emacs-utils)
,@%gnu-build-system-modules))
((#:imported-modules _)
`((guix build emacs-utils)
,@%gnu-build-system-modules))
((#:configure-flags cf)
`(cons "--with-x-toolkit=no" ,cf))))))
(define-public guile-emacs (define-public guile-emacs
(let ((commit "41120e0f595b16387eebfbf731fff70481de1b4b") (let ((commit "41120e0f595b16387eebfbf731fff70481de1b4b")

View File

@ -14,6 +14,7 @@
;;; Copyright © 2019 Jovany Leandro G.C <bit4bit@riseup.net> ;;; Copyright © 2019 Jovany Leandro G.C <bit4bit@riseup.net>
;;; Copyright © 2019 Steve Sprang <scs@stevesprang.com> ;;; Copyright © 2019 Steve Sprang <scs@stevesprang.com>
;;; Copyright © 2019 John Soo <jsoo1@asu.edu> ;;; Copyright © 2019 John Soo <jsoo1@asu.edu>
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -793,138 +794,123 @@ language.")
(define-public ao (define-public ao
(deprecated-package "ao-cad" libfive)) (deprecated-package "ao-cad" libfive))
;; TODO Add doc https://gitlab.com/kicad/services/kicad-doc/-/tree/master
(define-public kicad (define-public kicad
(package (package
(name "kicad") (name "kicad")
(version "5.1.5") (version "5.1.5")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(file-name (string-append name "-" version ".tar.xz")) (file-name (string-append name "-" version ".tar.xz"))
(uri (string-append (uri (string-append
"https://launchpad.net/kicad/" (version-major version) "https://launchpad.net/kicad/" (version-major version)
".0/" version "/+download/kicad-" version ".tar.xz")) ".0/" version "/+download/kicad-" version ".tar.xz"))
(sha256 (sha256
(base32 "0x3417f2pa7p65s9f7l49rqbnrzy8gz6i0n07mlbxqbnm0fmlql0")))) (base32 "0x3417f2pa7p65s9f7l49rqbnrzy8gz6i0n07mlbxqbnm0fmlql0"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:out-of-source? #t `(#:out-of-source? #t
#:tests? #f ; no tests #:tests? #f ; no tests
#:build-type "Release" #:build-type "Release"
#:configure-flags #:configure-flags
(list "-DKICAD_SCRIPTING_PYTHON3=ON" (list "-DKICAD_SCRIPTING_PYTHON3=ON"
"-DKICAD_SCRIPTING_WXPYTHON_PHOENIX=ON" "-DKICAD_SCRIPTING_WXPYTHON_PHOENIX=ON"
"-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE") "-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE")
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'install 'wrap-program (add-after 'install 'install-translations
;; Ensure correct Python at runtime. (lambda* (#:key inputs outputs #:allow-other-keys)
(lambda* (#:key inputs outputs #:allow-other-keys) (copy-recursively (assoc-ref inputs "kicad-i18l")
(let* ((out (assoc-ref outputs "out")) (assoc-ref outputs "out"))
(python (assoc-ref inputs "python")) #t))
(file (string-append out "/bin/kicad")) (add-after 'install 'wrap-program
(path (string-append ;; Ensure correct Python at runtime.
out (lambda* (#:key inputs outputs #:allow-other-keys)
"/lib/python" (let* ((out (assoc-ref outputs "out"))
,(version-major+minor (python (assoc-ref inputs "python"))
(package-version python)) (file (string-append out "/bin/kicad"))
"/site-packages:" (path (string-append
(getenv "PYTHONPATH")))) out
(wrap-program file "/lib/python"
`("PYTHONPATH" ":" prefix (,path)) ,(version-major+minor
`("PATH" ":" prefix (package-version python))
(,(string-append python "/bin:"))))) "/site-packages:"
#t))))) (getenv "PYTHONPATH"))))
(native-inputs (wrap-program file
`(("boost" ,boost) `("PYTHONPATH" ":" prefix (,path))
("gettext" ,gnu-gettext) `("PATH" ":" prefix
("pkg-config" ,pkg-config) (,(string-append python "/bin:")))))
("swig" ,swig) #t)))))
("zlib" ,zlib))) (native-search-paths
(inputs (list (search-path-specification
`(("cairo" ,cairo) (variable "KICAD_TEMPLATE_DIR")
("curl" ,curl) (files '("share/kicad/template")))
("desktop-file-utils" ,desktop-file-utils) (search-path-specification
("glew" ,glew) (variable "KICAD_SYMBOL_DIR") ; symbol path
("glm" ,glm) (files '("share/kicad/library")))
("hicolor-icon-theme" ,hicolor-icon-theme) (search-path-specification
("libngspice" ,libngspice) (variable "KISYSMOD") ; footprint path
("libsm" ,libsm) (files '("share/kicad/modules")))
("mesa" ,mesa) (search-path-specification
("opencascade-oce" ,opencascade-oce) (variable "KISYS3DMOD") ; 3D model path
("openssl" ,openssl) (files '("share/kicad/modules/packages3d")))))
("python" ,python) (native-inputs
("wxwidgets" ,wxwidgets) `(("boost" ,boost)
("wxpython" ,python-wxpython))) ("desktop-file-utils" ,desktop-file-utils)
(home-page "https://kicad-pcb.org/") ("gettext" ,gnu-gettext)
(synopsis "Electronics Design Automation Suite") ("kicad-i18l" ,kicad-i18l)
(description "Kicad is a program for the formation of printed circuit ("pkg-config" ,pkg-config)
("swig" ,swig)
("zlib" ,zlib)))
(inputs
`(("cairo" ,cairo)
("curl" ,curl)
("glew" ,glew)
("glm" ,glm)
("hicolor-icon-theme" ,hicolor-icon-theme)
("libngspice" ,libngspice)
("libsm" ,libsm)
("mesa" ,mesa)
("opencascade-oce" ,opencascade-oce)
("openssl" ,openssl)
("python" ,python-wrapper)
("wxwidgets" ,wxwidgets)
("wxpython" ,python-wxpython)))
(home-page "https://kicad-pcb.org/")
(synopsis "Electronics Design Automation Suite")
(description "Kicad is a program for the formation of printed circuit
boards and electrical circuits. The software has a number of programs that boards and electrical circuits. The software has a number of programs that
perform specific functions, for example, pcbnew (Editing PCB), eeschema (editing perform specific functions, for example, pcbnew (Editing PCB), eeschema (editing
electrical diagrams), gerbview (viewing Gerber files) and others.") electrical diagrams), gerbview (viewing Gerber files) and others.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public kicad-library (define kicad-i18l
(let ((version "4.0.7")) (package
(package (name "kicad-i18l")
(name "kicad-library") (version "5.1.5")
(version version) (source (origin
(source (method git-fetch)
(origin (uri (git-reference
(method url-fetch) (url "https://gitlab.com/kicad/code/kicad-i18n.git")
(uri (string-append (commit version)))
"https://kicad-downloads.s3.cern.ch/libraries/kicad-library-" (file-name (git-file-name name version))
version ".tar.gz")) (sha256
(sha256 (base32
(base32 "1azb7v1y3l6j329r9gg7f4zlg0wz8nh4s4i5i0l9s4yh9r6i9zmv")))) "1rfpifl8vky1gba2angizlb2n7mwmsiai3r6ip6qma60wdj8sbd3"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
`(#:out-of-source? #t `(#:phases
#:tests? #f ; no tests (modify-phases %standard-phases
#:phases (delete 'build)
(modify-phases %standard-phases (delete 'check))))
(add-after 'install 'install-footprints ; from footprints tarball (native-inputs
(lambda* (#:key inputs outputs #:allow-other-keys) `(("gettext" ,gnu-gettext)))
(invoke "tar" "xvf" (home-page "https://kicad-pcb.org/")
(assoc-ref inputs "kicad-footprints") (synopsis "KiCad GUI translations")
"-C" (string-append (assoc-ref outputs "out") (description "This package contains the po files that are used for the GUI
"/share/kicad/modules") translations for KiCad.")
"--strip-components=1"))) (license license:gpl3+)))
;; We change the default global footprint file, which is generated if
;; it doesn't exist in user's home directory, from the one using the
;; github plugin, to the one using the KISYSMOD environment path.
(add-after 'install-footprints 'use-pretty-footprint-table
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(template-dir (string-append out "/share/kicad/template"))
(fp-lib-table (string-append template-dir "/fp-lib-table")))
(delete-file fp-lib-table)
(copy-file (string-append fp-lib-table ".for-pretty")
fp-lib-table))
#t)))))
(native-search-paths
(list (search-path-specification
(variable "KISYSMOD") ; footprint path
(files '("share/kicad/modules")))
(search-path-specification
(variable "KISYS3DMOD") ; 3D model path
(files '("share/kicad/modules/packages3d")))))
;; Kicad distributes footprints in a separate tarball.
(native-inputs
`(("kicad-footprints"
,(origin
(method url-fetch)
(uri (string-append
"http://downloads.kicad-pcb.org/libraries/kicad-footprints-"
version ".tar.gz"))
(sha256
(base32
"08qrz5zzsb5127jlnv24j0sgiryd5nqwg3lfnwi8j9a25agqk13j"))))))
(home-page "https://kicad-pcb.org/")
(synopsis "Libraries for kicad")
(description "This package provides Kicad component, footprint and 3D
render model libraries.")
(license license:lgpl2.0+))))
(define-public kicad-symbols (define-public kicad-symbols
(package (package
@ -943,9 +929,9 @@ render model libraries.")
(arguments (arguments
`(#:tests? #f)) ; no tests exist `(#:tests? #f)) ; no tests exist
(home-page "https://kicad-pcb.org/") (home-page "https://kicad-pcb.org/")
(synopsis "Official KiCad schematic symbol libraries for KiCad 5") (synopsis "Official KiCad schematic symbol libraries")
(description "This package contains the official KiCad schematic symbol (description "This package contains the official KiCad schematic symbol
libraries for KiCad 5.") libraries.")
;; TODO: Exception: "To the extent that the creation of electronic designs ;; TODO: Exception: "To the extent that the creation of electronic designs
;; that use 'Licensed Material' can be considered to be 'Adapted Material', ;; that use 'Licensed Material' can be considered to be 'Adapted Material',
;; then the copyright holder waives article 3 of the license with respect to ;; then the copyright holder waives article 3 of the license with respect to
@ -954,6 +940,58 @@ libraries for KiCad 5.")
;; See <https://github.com/KiCad/kicad-symbols/blob/master/LICENSE.md>. ;; See <https://github.com/KiCad/kicad-symbols/blob/master/LICENSE.md>.
(license license:cc-by-sa4.0))) (license license:cc-by-sa4.0)))
(define-public kicad-footprints
(package
(inherit kicad-symbols)
(name "kicad-footprints")
(version "5.1.5")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/KiCad/kicad-footprints.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1c4whgn14qhz4yqkl46w13p6rpv1k0hsc9s9h9368fxfcz9knb2j"))))
(synopsis "Official KiCad footprint libraries")
(description "This package contains the official KiCad footprint libraries.")))
(define-public kicad-packages3d
(package
(inherit kicad-symbols)
(name "kicad-packages3d")
(version "5.1.5")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/KiCad/kicad-packages3d.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0cff2ms1bsw530kqb1fr1m2pjixyxzwa81mxgac3qpbcf8fnpvaz"))))
(synopsis "Official KiCad 3D model libraries")
(description "This package contains the official KiCad 3D model libraries.")))
(define-public kicad-templates
(package
(inherit kicad-symbols)
(name "kicad-templates")
(version "5.1.5")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/KiCad/kicad-templates.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0cs3bm3zb5ngw5ldn0lzw5bvqm4kvcidyrn76438alffwiz2b15g"))))
(synopsis "Official KiCad project and worksheet templates")
(description "This package contains the official KiCad project and
worksheet templates.")))
(define-public linsmith (define-public linsmith
(package (package
(name "linsmith") (name "linsmith")

View File

@ -188,7 +188,7 @@ by the b43-open driver of Linux-libre.")
(name (string-replace-substring (name (string-replace-substring
(string-append "opensbi-" platform "-" variant) (string-append "opensbi-" platform "-" variant)
"_" "-")) "_" "-"))
(version "0.5") (version "0.6")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -197,7 +197,7 @@ by the b43-open driver of Linux-libre.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 "0qc73xbiy79qqkwxmp4mg15q8n8k26njkyqb6n0jw5dyibd6hb85")))) (base32 "129ypdga0fzn657n2f42g2a1vx3hf8x7sd78h06d35pgkry0jkl7"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(,@(if (and (not (string-prefix? "riscv64" (%current-system))) `(,@(if (and (not (string-prefix? "riscv64" (%current-system)))
@ -240,12 +240,14 @@ for platform-specific firmwares executing in M-mode.")
(define-public opensbi-qemu-virt (define-public opensbi-qemu-virt
(make-opensbi-package "qemu" "virt")) (make-opensbi-package "qemu" "virt"))
(define-public opensbi-qemu-sifive-u
(make-opensbi-package "qemu" "sifive_u"))
(define-public opensbi-sifive-fu540 (define-public opensbi-sifive-fu540
(make-opensbi-package "sifive" "fu540")) (make-opensbi-package "sifive" "fu540"))
(define-public opensbi-qemu-sifive-u
;; Dropped upstream, as all functionality is present in the sifive-fu540
;; target for recent versions of qemu, u-boot and linux.
(deprecated-package "opensbi-qemu-sifive-u" opensbi-sifive-fu540))
(define-public seabios (define-public seabios
(package (package
(name "seabios") (name "seabios")

View File

@ -8,7 +8,7 @@
;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2017, 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2017, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2017, 2018, 2019 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017, 2018, 2019, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2017 Brendan Tildesley <mail@brendan.scot> ;;; Copyright © 2017 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
@ -306,7 +306,6 @@ the freedesktop.org XDG Base Directory specification.")
"-Dcgroup-controller=elogind" "-Dcgroup-controller=elogind"
"-Dman=true" "-Dman=true"
;; Disable some tests. ;; Disable some tests.
"-Dtests=false"
"-Dslow-tests=false")) "-Dslow-tests=false"))
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
@ -324,6 +323,46 @@ the freedesktop.org XDG Base Directory specification.")
(("=/run/dbus/system_bus_socket") (("=/run/dbus/system_bus_socket")
"=/var/run/dbus/system_bus_socket")) "=/var/run/dbus/system_bus_socket"))
#t)) #t))
(add-after 'unpack 'adjust-tests
(lambda _
;; This test tries to copy some bytes from /usr/lib/os-release,
;; which does not exist in the build container. Choose something
;; more likely to be available.
(substitute* "src/test/test-copy.c"
(("/usr/lib/os-release")
"/etc/passwd"))
;; Use a shebang that works in the build container.
(substitute* "src/test/test-exec-util.c"
(("#!/bin/sh")
(string-append "#!" (which "sh"))))
;; Do not look for files or directories that do not exist.
(substitute* "src/test/test-fs-util.c"
(("usr") "etc")
(("/etc/machine-id") "/etc/passwd"))
;; FIXME: Why is sd_id128_get_machine_app_specific failing.
;; Disable for now by hooking into the kernel support check.
(substitute* "src/test/test-id128.c"
(("if \\(r == -EOPNOTSUPP\\)")
"if (1)"))
;; This test expects that /sys is available.
(substitute* "src/test/test-mountpoint-util.c"
(("assert_se\\(path_is_mount_point\\(\"/sys.*")
""))
;; /bin/sh does not exist in the build container.
(substitute* "src/test/test-path-util.c"
(("/bin/sh") (which "sh")))
;; This test uses sd_device_new_from_syspath to allocate a
;; loopback device, but that fails because /sys is unavailable.
(substitute* "src/libelogind/sd-device/test-sd-device-thread.c"
((".*sd_device_new_from_syspath.*/sys/class/net/lo.*")
"return 77;"))
;; Most of these tests require cgroups or an actual live
;; logind system so that it can flicker the monitor, etc.
;; Just skip it until a more narrow selection can be made.
(substitute* "src/libelogind/sd-login/test-login.c"
(("r = sd_pid_get_slice.*")
"return 77;"))
#t))
(add-after 'unpack 'change-pid-file-path (add-after 'unpack 'change-pid-file-path
(lambda _ (lambda _
(substitute* "src/login/elogind.c" (substitute* "src/login/elogind.c"

View File

@ -24,15 +24,20 @@
#:use-module (guix build-system trivial) #:use-module (guix build-system trivial)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system copy) #:use-module (guix build-system copy)
#:use-module (guix build-system meson)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages bash) #:use-module (gnu packages bash)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages gnome) #:use-module (gnu packages gnome)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages ssh)
#:use-module (gnu packages tls)
#:use-module (gnu packages ruby) #:use-module (gnu packages ruby)
#:use-module (gnu packages xml)) #:use-module (gnu packages xml))
@ -85,7 +90,7 @@ like Gnome, Unity, Budgie, Pantheon, XFCE, Mate and others.")
(define-public delft-icon-theme (define-public delft-icon-theme
(package (package
(name "delft-icon-theme") (name "delft-icon-theme")
(version "1.10") (version "1.11")
(source (source
(origin (origin
(method git-fetch) (method git-fetch)
@ -94,21 +99,19 @@ like Gnome, Unity, Budgie, Pantheon, XFCE, Mate and others.")
(commit (string-append "v" version)))) (commit (string-append "v" version))))
(sha256 (sha256
(base32 (base32
"0vw3yw9f9ygzfd2k3zrfih3r0vkzlhk1bmsk8sapvk7np24i1z9s")) "1m3r4i4m3y3xsjb5f4bik0ylmi64amkfyr0y8pjbvv6gyj492mi6"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(build-system trivial-build-system) (build-system copy-build-system)
(arguments (arguments
`(#:modules ((guix build utils)) `(#:install-plan
#:builder `(("." "share/icons" #:exclude ("README.md" "LICENSE" "logo.jpg")))
(begin #:phases
(use-modules (guix build utils)) (modify-phases %standard-phases
(copy-recursively (assoc-ref %build-inputs "source") "icons") (add-after 'unpack 'patch-index.theme
(substitute* "icons/Delft/index.theme" (lambda _
(("gnome") "Adwaita")) (substitute* "Delft/index.theme"
(delete-file "icons/README.md") (("gnome") "Adwaita"))
(delete-file "icons/LICENSE") #t)))))
(delete-file "icons/logo.jpg")
(copy-recursively "icons" (string-append %output "/share/icons")))))
(home-page "https://www.gnome-look.org/p/1199881/") (home-page "https://www.gnome-look.org/p/1199881/")
(synopsis "Continuation of Faenza icon theme with up to date app icons") (synopsis "Continuation of Faenza icon theme with up to date app icons")
(description "Delft is a fork of the popular icon theme Faenza with up to (description "Delft is a fork of the popular icon theme Faenza with up to
@ -131,19 +134,11 @@ the Obsidian icon theme.")
(base32 (base32
"1fjhx23jqwv3d0smwhnjvc35gqhwk9p5f96ic22pfax653cn5vh8")) "1fjhx23jqwv3d0smwhnjvc35gqhwk9p5f96ic22pfax653cn5vh8"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(build-system trivial-build-system) (build-system copy-build-system)
(arguments (arguments
'(#:modules ((guix build utils)) `(#:install-plan
#:builder '(("." ,(string-append "share/gnome-shell/extensions/"
(begin "appindicatorsupport@rgcjonas.gmail.com")))))
(use-modules (guix build utils))
(let* ((source (assoc-ref %build-inputs "source"))
(install-dir (string-append (assoc-ref %outputs "out")
"/share/gnome-shell/extensions"
"/appindicatorsupport@rgcjonas.gmail.com")))
(mkdir-p install-dir)
(copy-recursively source install-dir)
#t))))
(synopsis "Adds KStatusNotifierItem support to GNOME Shell") (synopsis "Adds KStatusNotifierItem support to GNOME Shell")
(description "This extension integrates Ubuntu AppIndicators (description "This extension integrates Ubuntu AppIndicators
and KStatusNotifierItems (KDE's successor of the systray) into and KStatusNotifierItems (KDE's successor of the systray) into
@ -188,6 +183,100 @@ faster window switching.")
(home-page "https://micheleg.github.io/dash-to-dock/") (home-page "https://micheleg.github.io/dash-to-dock/")
(license license:gpl2+))) (license license:gpl2+)))
(define-public gnome-shell-extension-gsconnect
(package
(name "gnome-shell-extension-gsconnect")
;; v28 is the last version to support GNOME 3.32
(version "28")
(source (origin
(method git-fetch)
(uri (git-reference
(url (string-append "https://github.com/andyholmes"
"/gnome-shell-extension-gsconnect.git"))
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0grqkzqm7mlkbzin4nx9w7bh5cgygph8pn0cvim4a4gg99nfcp5z"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags
(let* ((out (assoc-ref %outputs "out"))
(name+version (strip-store-file-name out))
(gschema-dir (string-append out
"/share/gsettings-schemas/"
name+version
"/glib-2.0/schemas"))
(gnome-shell (assoc-ref %build-inputs "gnome-shell"))
(openssh (assoc-ref %build-inputs "openssh"))
(openssl (assoc-ref %build-inputs "openssl")))
(list
(string-append "-Dgnome_shell_libdir=" gnome-shell "/lib")
(string-append "-Dgsettings_schemadir=" gschema-dir)
(string-append "-Dopenssl_path=" openssl "/bin/openssl")
(string-append "-Dsshadd_path=" openssh "/bin/ssh-add")
(string-append "-Dsshkeygen_path=" openssh "/bin/ssh-keygen")
(string-append "-Dsession_bus_services_dir=" out "/share/dbus-1/services")
"-Dpost_install=true"))
#:phases
(modify-phases %standard-phases
(add-before 'configure 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(let* ((glib (assoc-ref inputs "glib:bin"))
(gapplication (string-append glib "/bin/gapplication"))
(gi-typelib-path (getenv "GI_TYPELIB_PATH")))
(substitute* "data/org.gnome.Shell.Extensions.GSConnect.desktop"
(("gapplication") gapplication))
(for-each
(lambda (file)
(substitute* file
(("'use strict';")
(string-append "'use strict';\n\n"
"'" gi-typelib-path "'.split(':').forEach("
"path => imports.gi.GIRepository.Repository."
"prepend_search_path(path));"))))
'("src/extension.js" "src/prefs.js"))
#t)))
(add-after 'install 'wrap-daemons
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(service-dir
(string-append out "/share/gnome-shell/extensions"
"/gsconnect@andyholmes.github.io/service"))
(gi-typelib-path (getenv "GI_TYPELIB_PATH")))
(wrap-program (string-append service-dir "/daemon.js")
`("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))
#t))))))
(inputs
`(("at-spi2-core" ,at-spi2-core)
("caribou" ,caribou)
("evolution-data-server" ,evolution-data-server)
("folks" ,folks)
("gjs" ,gjs)
("glib" ,glib)
("glib:bin" ,glib "bin")
("gsound" ,gsound)
("gnome-shell" ,gnome-shell)
("gtk+" ,gtk+)
("nautilus" ,nautilus)
("openssh" ,openssh)
("openssl" ,openssl)
("python-nautilus" ,python-nautilus)
("python-pygobject" ,python-pygobject)
("upower" ,upower)))
(native-inputs
`(("gettext" ,gettext-minimal)
("gobject-introspection" ,gobject-introspection)
("libxml2" ,libxml2)
("pkg-config" ,pkg-config)))
(home-page "https://github.com/andyholmes/gnome-shell-extension-gsconnect/wiki")
(synopsis "Connect GNOME Shell with your Android phone")
(description "GSConnect is a complete implementation of KDE Connect
especially for GNOME Shell, allowing devices to securely share content, like
notifications or files, and other features like SMS messaging and remote
control.")
(license license:gpl2)))
(define-public gnome-shell-extension-hide-app-icon (define-public gnome-shell-extension-hide-app-icon
(let ((commit "4188aa5f4ba24901a053a0c3eb0d83baa8625eab") (let ((commit "4188aa5f4ba24901a053a0c3eb0d83baa8625eab")
(revision "0")) (revision "0"))
@ -289,20 +378,12 @@ into a single panel, similar to that found in KDE Plasma and Windows 7+.")
(base32 (base32
"0fa8l3xlh8kbq07y4385wpb908zm6x53z81q16xlmin97dln32hh")) "0fa8l3xlh8kbq07y4385wpb908zm6x53z81q16xlmin97dln32hh"))
(file-name (git-file-name name version)))) (file-name (git-file-name name version))))
(build-system trivial-build-system) (build-system copy-build-system)
(arguments (arguments
'(#:modules ((guix build utils)) '(#:install-plan
#:builder '(("." "share/gnome-shell/extensions/noannoyance@daase.net"))))
(begin (synopsis "Remove 'Window is ready' annotation")
(use-modules (guix build utils)) (description "One of the many extensions that remove this message.
(let ((dst (string-append
(assoc-ref %outputs "out")
"/share/gnome-shell/extensions/"
"noannoyance@daase.net")))
(mkdir-p dst)
(copy-recursively (assoc-ref %build-inputs "source") dst)))))
(synopsis "Removes 'Window is ready' annotation")
(description "One of the many extensions, that remove this message.
It uses ES6 syntax and claims to be more actively maintained than others.") It uses ES6 syntax and claims to be more actively maintained than others.")
(home-page "https://extensions.gnome.org/extension/2182/noannoyance/") (home-page "https://extensions.gnome.org/extension/2182/noannoyance/")
(license license:gpl2))) (license license:gpl2)))

View File

@ -7,10 +7,11 @@
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 ng0 <ng0@n0.is> ;;; Copyright © 2017 ng0 <ng0@n0.is>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Ivan Petkov <ivanppetkov@gmail.com> ;;; Copyright © 2019 Ivan Petkov <ivanppetkov@gmail.com>
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -882,6 +883,7 @@ from forcing GEXP-PROMISE."
#:modules ((ice-9 ftw) #:modules ((ice-9 ftw)
(ice-9 rdelim) (ice-9 rdelim)
(ice-9 regex)
(ice-9 match) (ice-9 match)
(srfi srfi-34) (srfi srfi-34)
(srfi srfi-35) (srfi srfi-35)
@ -1067,6 +1069,20 @@ from forcing GEXP-PROMISE."
(force-output) (force-output)
(retry (- remaining-attempts 1)))) (retry (- remaining-attempts 1))))
(apply build args))))))) (apply build args)))))))
(add-after 'build 'neutralise-store-references
(lambda _
;; Mangle the store references to compilers & other build tools in
;; about:buildconfig, reducing IceCat's closure by 1 GiB on x86-64.
(substitute*
"dist/bin/chrome/toolkit/content/global/buildconfig.html"
(((format #f "(~a/)([0-9a-df-np-sv-z]{32})"
(regexp-quote (%store-directory)))
_ store hash)
(string-append store
(string-take hash 8)
"<!-- Guix: not a runtime dependency -->"
(string-drop hash 8))))
#t))
(add-before 'configure 'install-desktop-entry (add-before 'configure 'install-desktop-entry
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
;; Install the '.desktop' file. ;; Install the '.desktop' file.

View File

@ -970,20 +970,17 @@ using S-expressions.")
(define-public guile-debbugs (define-public guile-debbugs
(package (package
(name "guile-debbugs") (name "guile-debbugs")
(version "0.0.2") (version "0.0.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnu/guile-debbugs/guile-debbugs-" (uri (string-append "mirror://gnu/guile-debbugs/guile-debbugs-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"16l8910p57im6s3j93xhdaqvgfy6ms5n97177mrch3y961z5hy0i")) "1cc63nw3xdfjrfk8c58r6d5lidmfq5cpqcy32yd5xp81yccprvn9"))))
(modules '((guix build utils)))
(snippet
'(substitute* "Makefile.in"
(("^godir = (.*)/ccache" _ prefix)
(string-append "godir = " prefix "/site-ccache"))))))
(build-system gnu-build-system) (build-system gnu-build-system)
(propagated-inputs
`(("guile-email" ,guile-email)))
(native-inputs (native-inputs
`(("guile" ,guile-2.2) `(("guile" ,guile-2.2)
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)))
@ -1023,31 +1020,6 @@ Extensions) compliant email messages and reading emails from the mbox
format.") format.")
(license license:agpl3+))) (license license:agpl3+)))
(define-public guile-debbugs-next
(let ((commit "fb0ae064037a38a0d526e08b4ad24c52e205edb9")
(revision "2"))
(package (inherit guile-debbugs)
(name "guile-debbugs")
(version (git-version "0.0.3" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://git.savannah.gnu.org/git/guile-debbugs.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"195sacx2xc1mzzfljj62nfpi8mxn0rc6dabxckizjksnhb5irfwy"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("autoconf" ,autoconf)
("automake" ,automake)
("texinfo" ,texinfo)))
(inputs
`(("guile" ,guile-2.2)
("guile-email" ,guile-email))))))
(define-public guile-newt (define-public guile-newt
(package (package
(name "guile-newt") (name "guile-newt")

View File

@ -269,14 +269,14 @@ unique algebra of patches called @url{http://darcs.net/Theory,Patchtheory}.
(define-public git-annex (define-public git-annex
(package (package
(name "git-annex") (name "git-annex")
(version "7.20200219") (version "8.20200226")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/" (uri (string-append "https://hackage.haskell.org/package/"
"git-annex/git-annex-" version ".tar.gz")) "git-annex/git-annex-" version ".tar.gz"))
(sha256 (sha256
(base32 "0pzwjh98jpirgssbd7pqfk7mzraibrk277dn34s2mrah8zy75b58")))) (base32 "09v80ni1w9z1im79lzrnpz7xlivwna44zqpwq4axwyd17cffqi9m"))))
(build-system haskell-build-system) (build-system haskell-build-system)
(arguments (arguments
`(#:configure-flags `(#:configure-flags

View File

@ -39,6 +39,7 @@
;;; Copyright © 2019, 2020 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2019, 2020 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2019 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2019 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -2739,7 +2740,7 @@ from the module-init-tools project.")
(define-public earlyoom (define-public earlyoom
(package (package
(name "earlyoom") (name "earlyoom")
(version "1.3") (version "1.3.1")
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -2748,7 +2749,7 @@ from the module-init-tools project.")
(file-name (git-file-name name version)) (file-name (git-file-name name version))
(sha256 (sha256
(base32 (base32
"0fwbx0y80nqgkxrc9kf9j3iwa0wbps2jmqir3pgqbc2cj0wjh0lr")))) "06sd3jpkdrwqbphsf8jrgs5rxfi7j3xjmygjjvj4xjk4gncz7r2i"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases (modify-phases %standard-phases `(#:phases (modify-phases %standard-phases
@ -6397,3 +6398,28 @@ the Linux kernel, C standard library, and libdl (for dynamic linking). While
ELL is designed to be efficient and compact enough for use on embedded Linux ELL is designed to be efficient and compact enough for use on embedded Linux
platforms, it is not limited to resource-constrained systems.") platforms, it is not limited to resource-constrained systems.")
(license license:lgpl2.1+))) (license license:lgpl2.1+)))
(define-public lttng-ust
(package
(name "lttng-ust")
(version "2.11.0")
(source (origin
(method url-fetch)
(uri (string-append "https://lttng.org/files/lttng-ust/"
"lttng-ust-" version ".tar.bz2"))
(sha256
(base32
"1n646yz7882svf5a4ay3vqiiz3qjn3pgkkij9kk22871wp7q0ck8"))))
(build-system gnu-build-system)
(inputs
`(("liburcu" ,liburcu)
("numactl" ,numactl)))
(native-inputs
`(("python" ,python-3)))
(home-page "https://lttng.org/")
(synopsis "LTTng userspace tracer libraries")
(description "The user space tracing library, liblttng-ust, is the LTTng
user space tracer. It receives commands from a session daemon, for example to
enable and disable specific instrumentation points, and writes event records
to ring buffers shared with a consumer daemon.")
(license license:lgpl2.1+)))

View File

@ -3034,7 +3034,7 @@ assetsjs_DATA = $(wildcard assets/js/*)\n"))
(,go ,(getenv "GUILE_LOAD_COMPILED_PATH")))) (,go ,(getenv "GUILE_LOAD_COMPILED_PATH"))))
#t)))))) #t))))))
(inputs (inputs
`(("guile-debbugs" ,guile-debbugs-next) `(("guile-debbugs" ,guile-debbugs)
("guile-email" ,guile-email) ("guile-email" ,guile-email)
("guile-fibers" ,guile-fibers) ("guile-fibers" ,guile-fibers)
("guile-json" ,guile-json-1) ("guile-json" ,guile-json-1)

View File

@ -110,8 +110,8 @@
;; Note: the 'update-guix-package.scm' script expects this definition to ;; Note: the 'update-guix-package.scm' script expects this definition to
;; start precisely like this. ;; start precisely like this.
(let ((version "1.0.1") (let ((version "1.0.1")
(commit "50299ade040e934fa5533768aacb081eb340af3f") (commit "c2f9ea2b502a617bb69227d5f858eee9d4288a6a")
(revision 13)) (revision 14))
(package (package
(name "guix") (name "guix")
@ -127,7 +127,7 @@
(commit commit))) (commit commit)))
(sha256 (sha256
(base32 (base32
"0rbnyy0vqmsl7z350cdazm5xzx74cdia3nxp0msk8xalyb76hff4")) "0hg6yrqlzqiv4gmk9liqar6m9qhhn66q75jsmh86awjwq4qmvyab"))
(file-name (string-append "guix-" version "-checkout")))) (file-name (string-append "guix-" version "-checkout"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments

View File

@ -16368,14 +16368,14 @@ class in a @acronym{DRY, Don't Repeat Yourself} way.")
(define-public python-construct (define-public python-construct
(package (package
(name "python-construct") (name "python-construct")
(version "2.9.45") (version "2.10.56")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "construct" version)) (uri (pypi-uri "construct" version))
(sha256 (sha256
(base32 (base32
"130iy05awzigm2xah2yvlmb08mac5bi4gzr5m3g7k1krs3ps0w92")))) "0q86jjzsvy835h3c8pjj4619vbp7ihfg8njmyw86ym4qrpni7flp"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
`(#:tests? #f)) ; No tests exist. `(#:tests? #f)) ; No tests exist.

View File

@ -18,6 +18,7 @@
;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2019 Brett Gilio <brettg@gnu.org> ;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2020 Valentin Ignatev <valentignatev@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -36,6 +37,7 @@
(define-module (gnu packages terminals) (define-module (gnu packages terminals)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system cargo)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system glib-or-gtk)
@ -47,7 +49,9 @@
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages crates-io)
#:use-module (gnu packages crypto) #:use-module (gnu packages crypto)
#:use-module (gnu packages docbook) #:use-module (gnu packages docbook)
#:use-module (gnu packages fontutils) #:use-module (gnu packages fontutils)
@ -1141,3 +1145,181 @@ while also supporting native scrolling and @command{tmux} control mode
an st fork using wld. st is a simple terminal emulator for X originally an st fork using wld. st is a simple terminal emulator for X originally
made by suckless.") made by suckless.")
(license license:x11))) (license license:x11)))
(define-public alacritty
(package
(name "alacritty")
(version "0.4.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jwilm/alacritty.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "05jcg33ifngpzw2hdhgb614j87ihhhlqgar0kky183rywg0dxikg"))
(modules '((guix build utils)))
(snippet
;; Don't use a custom location for winit-0.20-alpha6.
'(begin (substitute* "Cargo.toml"
(("winit .*") ""))
#t))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-clap" ,rust-clap-2)
("rust-log" ,rust-log-0.4)
("rust-time" ,rust-time-0.1)
("rust-env-logger" ,rust-env-logger-0.7)
("rust-serde" ,rust-serde-1.0)
("rust-serde-yaml" ,rust-serde-yaml-0.8)
("rust-serde-json" ,rust-serde-json-1.0)
("rust-glutin" ,rust-glutin-0.22) ; adjust 'patch-glutin-libgl-path as needed
("rust-notify" ,rust-notify-4)
("rust-libc" ,rust-libc-0.2)
("rust-unicode-width" ,rust-unicode-width-0.1)
("rust-parking-lot" ,rust-parking-lot-0.9)
("rust-urlocator" ,rust-urlocator-0.1)
("rust-xdg" ,rust-xdg-2.2)
("rust-image" ,rust-image-0.22)
("rust-dirs" ,rust-dirs-2.0)
("rust-x11-dl" ,rust-x11-dl-2)
("rust-winapi" ,rust-winapi-0.3)
("rust-base64" ,rust-base64-0.11)
("rust-bigflags" ,rust-bitflags-1)
("rust-fnv" ,rust-fnv-1.0)
("rust-mio" ,rust-mio-0.6)
("rust-mio-extras" ,rust-mio-extras-2)
("rust-terminfo" ,rust-terminfo-0.6)
("rust-url" ,rust-url-2.1)
("rust-vte" ,rust-vte-0.3)
("rust-nix" ,rust-nix-0.15)
("rust-miow" ,rust-miow-0.3)
("rust-mio-anonymous-pipes" ,rust-mio-anonymous-pipes-0.1)
("rust-mio-named-pipes" ,rust-mio-named-pipes-0.1)
("rust-signal-hook" ,rust-signal-hook-0.1)
("rust-clipboard-win" ,rust-clipboard-win-2.1)
("rust-objc" ,rust-objc-0.2)
("rust-objc-id" ,rust-objc-id-0.1)
("rust-objc-foundation" ,rust-objc-foundation-0.1)
("rust-x11-clipboard" ,rust-x11-clipboard-0.4)
("rust-smithay-clipboard" ,rust-smithay-clipboard-0.3)
("rust-wayland-client" ,rust-wayland-client-0.23)
("rust-euclid" ,rust-euclid-0.20)
("rust-foreign-types" ,rust-foreign-types-0.5)
("rust-servo-fontconfig" ,rust-servo-fontconfig-0.4)
("rust-freetype-rs" ,rust-freetype-rs-0.23)
("rust-core-foundation" ,rust-core-foundation-0.6)
("rust-core-foundation-sys" ,rust-core-foundation-sys-0.6)
("rust-core-text" ,rust-core-text-13)
("rust-core-graphics" ,rust-core-graphics-0.17)
("rust-dwrote" ,rust-dwrote-0.9)
("rust-winpty-sys" ,rust-winpty-sys-0.4))
#:cargo-development-inputs
(("rust-rustc-tools-util" ,rust-rustc-tools-util-0.2)
("rust-gl-generator" ,rust-gl-generator-0.14)
("rust-andrew" ,rust-andrew-0.2)
("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.6)
("rust-embed-resource" ,rust-embed-resource-1.3)
("rust-http-req" ,rust-http-req-0.5)
("rust-zip" ,rust-zip-0.5)
("rust-tempfile" ,rust-tempfile-3.1)
("rust-named-pipe" ,rust-named-pipe-0.4)
("rust-winapi" ,rust-winapi-0.3))
#:phases
(modify-phases %standard-phases
(add-after 'configure 'patch-glutin-libgl-path
(lambda* (#:key inputs cargo-inputs vendor-dir #:allow-other-keys)
(let* ((glutin-name ,(package-name rust-glutin-0.22))
(glutin-version ,(package-version rust-glutin-0.22))
(src-api
(string-append
glutin-name "-" glutin-version ".tar.gz/src/api/"))
(mesa (assoc-ref inputs "mesa")))
(substitute* (string-append vendor-dir "/" src-api "glx/mod.rs")
(("libGL.so") (string-append mesa "/lib/libGL.so")))
(substitute* (string-append vendor-dir "/" src-api "egl/mod.rs")
(("libEGL.so") (string-append mesa "/lib/libEGL.so")))
#t)))
(add-after 'configure 'remove-alacritty-vendor
(lambda* (#:key vendor-dir #:allow-other-keys)
;; We don't want Alacritty to be a dependency of itself
;; If we don't delete it from guix-vendor then build will fail
;; because Alacritty has a virtual workspace Cargo.toml.
(delete-file-recursively
(string-append vendor-dir "/alacritty-" ,version ".tar.xz"))
#t))
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(share (string-append out "/share"))
(icons (string-append share "/icons/hicolor/scalable/apps"))
(tic (string-append (assoc-ref inputs "ncurses") "/bin/tic"))
(man (string-append share "/man/man1"))
(alacritty-bin "target/release/alacritty"))
;; Install binary
(install-file alacritty-bin (string-append out "/bin"))
;; Install man pages
(mkdir-p man)
(copy-file "extra/alacritty.man"
(string-append man "/alacritty.1"))
;; Install desktop file
(install-file "extra/linux/alacritty.desktop"
(string-append share "/applications"))
;; Install icon
(mkdir-p icons)
(copy-file "extra/logo/alacritty-term.svg"
(string-append icons "/Alacritty.svg"))
;; Install terminfo
(mkdir-p (string-append share "/terminfo"))
;; We don't compile alacritty-common entry because
;; it's being used only for inheritance.
(invoke tic "-x" "-e" "alacritty,alacritty-direct"
"-o" (string-append share "/terminfo/")
"extra/alacritty.info")
;; Install completions
(install-file
"extra/completions/alacritty.bash"
(string-append out "/etc/bash_completion.d"))
(install-file
"extra/completions/_alacritty"
(string-append share "/zsh/site-functions"))
(install-file
"extra/completions/alacritty.fish"
(string-append share "/fish/vendor_completions.d"))
#t))))))
(inputs
`(("expat" ,expat)
("fontconfig" ,fontconfig)
("freetype" ,freetype)
("libx11" ,libx11)
("libxcb" ,libxcb)
("libxcursor" ,libxcursor)
("libxi" ,libxi)
("libxkbcommon" ,libxkbcommon)
("libxrandr" ,libxrandr)
("libxxf86vm" ,libxxf86vm)
("wayland" ,wayland)
("mesa" ,mesa)))
(native-inputs
`(("cmake" ,cmake)
("ncurses" ,ncurses)
("pkg-config" ,pkg-config)
("python3" ,python)))
(home-page "https://github.com/alacritty/alacritty")
(synopsis "GPU-accelerated terminal emulator")
(description
"Alacritty is a GPU-accelerated terminal emulator with a strong focus on
simplicity and performance. With such a strong focus on performance, included
features are carefully considered and you can always expect Alacritty to be
blazingly fast. By making sane choices for defaults, Alacritty requires no
additional setup. However, it does allow configuration of many aspects of the
terminal. Note that you need support for OpenGL 3.2 or higher.")
(license license:asl2.0)))

View File

@ -403,8 +403,8 @@ required structures.")
(home-page "https://www.openssl.org/"))) (home-page "https://www.openssl.org/")))
(define openssl-1.1.1d (define openssl-1.1.1d
(package/inherit (package
openssl (inherit openssl)
(version "1.1.1d") (version "1.1.1d")
(source (origin (source (origin
(method url-fetch) (method url-fetch)

View File

@ -3,7 +3,7 @@
;;; Copyright © 2013 Aljosha Papsch <misc@rpapsch.de> ;;; Copyright © 2013 Aljosha Papsch <misc@rpapsch.de>
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Raoul Jean Pierre Bonnal <ilpuccio.febo@gmail.com> ;;; Copyright © 2018 Raoul Jean Pierre Bonnal <ilpuccio.febo@gmail.com>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Eric Bavier <bavier@posteo.net> ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Eric Bavier <bavier@posteo.net>
@ -114,12 +114,14 @@
#:use-module (gnu packages libevent) #:use-module (gnu packages libevent)
#:use-module (gnu packages libidn) #:use-module (gnu packages libidn)
#:use-module (gnu packages libunistring) #:use-module (gnu packages libunistring)
#:use-module (gnu packages libunwind)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages lisp-xyz) #:use-module (gnu packages lisp-xyz)
#:use-module (gnu packages lua) #:use-module (gnu packages lua)
#:use-module (gnu packages markup) #:use-module (gnu packages markup)
#:use-module (gnu packages ncurses) #:use-module (gnu packages ncurses)
#:use-module (gnu packages nss) #:use-module (gnu packages nss)
#:use-module (gnu packages openldap)
#:use-module (gnu packages openstack) #:use-module (gnu packages openstack)
#:use-module (gnu packages base) #:use-module (gnu packages base)
#:use-module (gnu packages package-management) #:use-module (gnu packages package-management)
@ -548,6 +550,67 @@ supported at your website.")
;; binary: ;; binary:
(package-license nginx))))))) (package-license nginx)))))))
(define-public lighttpd
(package
(name "lighttpd")
(version "1.4.55")
(source (origin
(method url-fetch)
(uri (string-append "https://download.lighttpd.net/lighttpd/"
"releases-" (version-major+minor version) ".x/"
"lighttpd-" version ".tar.xz"))
(sha256
(base32
"09z947730yjh438wrqb3z1c5hr1dbb11a8sr92g3vk6mr7lm02va"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(list "--with-krb5"
"--with-ldap"
"--with-libev"
"--with-libunwind"
"--with-openssl"
"--with-pam"
"--with-sasl")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'embed-/bin/sh-reference
(lambda _
(substitute* "src/mod_ssi.c"
(("/bin/sh") (which "sh")))
#t))
(add-after 'unpack 'fix-tests
(lambda _
(setenv "SHELL" (which "sh"))
;; gethostbyaddr fails
(substitute* "tests/LightyTest.pm"
(("\\{HOSTNAME\\} = \\$name;")
"{HOSTNAME} = \"127.0.0.1\";"))
#t)))))
(inputs
`(("cyrus-sasl" ,cyrus-sasl)
("libev" ,libev)
("libunwind" ,libunwind)
("linux-pam" ,linux-pam)
("mit-krb5" ,mit-krb5)
("openldap" ,openldap)
("openssl" ,openssl)
("pcre" ,pcre)
("pcre:bin" ,pcre "bin")
("zlib" ,zlib)))
(native-inputs
`(("perl" ,perl) ; for tests
("pkg-config" ,pkg-config)
("which" ,which)))
(home-page "https://www.lighttpd.net/")
(synopsis "Lightweight HTTP and reverse proxy server")
(description
"Lighttpd is a secure, fast, compliant, and very flexible web-server that
has been optimized for high-performance environments. It has a very low
memory footprint compared to other webservers. Its features include FastCGI,
CGI, authentication, output compression, URL rewriting and many more.")
(license license:bsd-3)))
(define-public fcgi (define-public fcgi
(package (package
(name "fcgi") (name "fcgi")
@ -7029,8 +7092,8 @@ compressed JSON header blocks.
;; 'Node' requires this newer version, to be removed on the next rebuild cycle. ;; 'Node' requires this newer version, to be removed on the next rebuild cycle.
(define-public nghttp2-1.40 (define-public nghttp2-1.40
(package/inherit (package
nghttp2 (inherit nghttp2)
(version "1.40.0") (version "1.40.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)

View File

@ -91,7 +91,13 @@ if TARGET ends with a '/', the source is installed underneath."
file)))) file))))
(format (current-output-port) "`~a' -> `~a'~%" file dest) (format (current-output-port) "`~a' -> `~a'~%" file dest)
(mkdir-p (dirname dest)) (mkdir-p (dirname dest))
(copy-file file dest))) (let ((stat (lstat file)))
(case (stat:type stat)
((symlink)
(let ((target (readlink file)))
(symlink target dest)))
(else
(copy-file file dest))))))
(define* (make-file-predicate suffixes matches-regexp #:optional (default-value #t)) (define* (make-file-predicate suffixes matches-regexp #:optional (default-value #t))
"Return a predicate that returns #t if its file argument matches the "Return a predicate that returns #t if its file argument matches the

View File

@ -225,6 +225,21 @@ parallel. PARALLEL-TESTS? is ignored when using a non-make TEST-COMMAND."
(parameterize ((%emacs emacs)) (parameterize ((%emacs emacs))
(emacs-generate-autoloads elpa-name site-lisp)))) (emacs-generate-autoloads elpa-name site-lisp))))
(define* (enable-autoloads-compilation #:key outputs #:allow-other-keys)
"Remove the NO-BYTE-COMPILATION local variable embedded in the generated
autoload files."
(let* ((out (assoc-ref outputs "out"))
(autoloads (find-files out "-autoloads.el$")))
(substitute* autoloads
((";; no-byte-compile.*") ""))
#t))
(define* (validate-compiled-autoloads #:key outputs #:allow-other-keys)
"Verify whether the byte compiled autoloads load fine."
(let* ((out (assoc-ref outputs "out"))
(autoloads (find-files out "-autoloads.elc$")))
(emacs-batch-eval (format #f "(mapc #'load '~s)" autoloads))))
(define (emacs-package? name) (define (emacs-package? name)
"Check if NAME correspond to the name of an Emacs package." "Check if NAME correspond to the name of an Emacs package."
(string-prefix? "emacs-" name)) (string-prefix? "emacs-" name))
@ -253,10 +268,13 @@ second hyphen. This corresponds to 'name-version' as used in ELPA packages."
(replace 'check check) (replace 'check check)
(replace 'install install) (replace 'install install)
(add-after 'install 'make-autoloads make-autoloads) (add-after 'install 'make-autoloads make-autoloads)
(add-after 'make-autoloads 'patch-el-files patch-el-files) (add-after 'make-autoloads 'enable-autoloads-compilation
enable-autoloads-compilation)
(add-after 'enable-autoloads-compilation 'patch-el-files patch-el-files)
;; The .el files are byte compiled directly in the store. ;; The .el files are byte compiled directly in the store.
(add-after 'patch-el-files 'build build) (add-after 'patch-el-files 'build build)
(add-after 'build 'move-doc move-doc))) (add-after 'build 'validate-compiled-autoloads validate-compiled-autoloads)
(add-after 'validate-compiled-autoloads 'move-doc move-doc)))
(define* (emacs-build #:key inputs (phases %standard-phases) (define* (emacs-build #:key inputs (phases %standard-phases)
#:allow-other-keys #:rest args) #:allow-other-keys #:rest args)

View File

@ -41,16 +41,22 @@
;; The `emacs' command. ;; The `emacs' command.
(make-parameter "emacs")) (make-parameter "emacs"))
(define (expr->string expr)
"Converts EXPR, an expression, into a string."
(if (string? expr)
expr
(format #f "~s" expr)))
(define (emacs-batch-eval expr) (define (emacs-batch-eval expr)
"Run Emacs in batch mode, and execute the elisp code EXPR." "Run Emacs in batch mode, and execute the elisp code EXPR."
(invoke (%emacs) "--quick" "--batch" (invoke (%emacs) "--quick" "--batch"
(format #f "--eval=~S" expr))) (string-append "--eval=" (expr->string expr))))
(define (emacs-batch-edit-file file expr) (define (emacs-batch-edit-file file expr)
"Load FILE in Emacs using batch mode, and execute the elisp code EXPR." "Load FILE in Emacs using batch mode, and execute the elisp code EXPR."
(invoke (%emacs) "--quick" "--batch" (invoke (%emacs) "--quick" "--batch"
(string-append "--visit=" file) (string-append "--visit=" file)
(format #f "--eval=~S" expr))) (string-append "--eval=" (expr->string expr))))
(define (emacs-batch-disable-compilation file) (define (emacs-batch-disable-compilation file)
(emacs-batch-edit-file file (emacs-batch-edit-file file

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2014, 2015, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Deck Pickard <deck.r.pickard@gmail.com> ;;; Copyright © 2014 Deck Pickard <deck.r.pickard@gmail.com>
;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com> ;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com>
;;; ;;;
@ -228,17 +228,19 @@ Show what and how will/would be built."
(thresholds (%disk-space-warning))) (thresholds (%disk-space-warning)))
"Display a hint about 'guix gc' if less than THRESHOLD of /gnu/store is "Display a hint about 'guix gc' if less than THRESHOLD of /gnu/store is
available. available.
THRESHOLD is a pair of (ABSOLUTE-THRESHOLD RELATIVE-THRESHOLD)." THRESHOLDS is a pair (ABSOLUTE-THRESHOLD . RELATIVE-THRESHOLD)."
(define GiB (expt 2 30))
(let* ((stats (statfs (%store-prefix))) (let* ((stats (statfs (%store-prefix)))
(block-size (file-system-block-size stats)) (block-size (file-system-block-size stats))
(available (* block-size (file-system-blocks-available stats))) (available (* block-size (file-system-blocks-available stats)))
(total (* block-size (file-system-block-count stats))) (total (* block-size (file-system-block-count stats)))
(relative-threshold-in-bytes (* total (cadr thresholds))) (relative-threshold-in-bytes (* total (cadr thresholds)))
(absolute-threshold-in-bytes (* 1024 1024 1024 (car thresholds)))) (absolute-threshold-in-bytes (car thresholds)))
(when (< available (min relative-threshold-in-bytes (when (< available (max relative-threshold-in-bytes
absolute-threshold-in-bytes)) absolute-threshold-in-bytes))
(warning (G_ "only ~,1f GiB of free space available on ~a~%") (warning (G_ "only ~,1f GiB of free space available on ~a~%")
available (%store-prefix)) (/ available 1. GiB) (%store-prefix))
(display-hint (format #f (G_ "Consider deleting old profile (display-hint (format #f (G_ "Consider deleting old profile
generations and collecting garbage, along these lines: generations and collecting garbage, along these lines:

View File

@ -201,11 +201,7 @@ way and displaying details about the channel's source code."
(format #t (G_ " commit: ~a~%") (format #t (G_ " commit: ~a~%")
(if (supports-hyperlinks?) (if (supports-hyperlinks?)
(channel-commit-hyperlink channel commit) (channel-commit-hyperlink channel commit)
commit)) commit))))
(when (not (supports-hyperlinks?))
(format #t (G_ " URL: ~a~%")
(channel-commit-hyperlink channel commit
(lambda (url msg) url))))))
(_ #f))) (_ #f)))
;; Show most recently installed packages last. ;; Show most recently installed packages last.
@ -237,12 +233,9 @@ way and displaying details about the channel's source code."
(define* (channel-commit-hyperlink channel (define* (channel-commit-hyperlink channel
#:optional #:optional
(commit (channel-commit channel)) (commit (channel-commit channel)))
(transformer hyperlink))
"Return a hyperlink for COMMIT in CHANNEL, using COMMIT as the hyperlink's "Return a hyperlink for COMMIT in CHANNEL, using COMMIT as the hyperlink's
text. The hyperlink links to a web view of COMMIT, when available. text. The hyperlink links to a web view of COMMIT, when available."
TRANSFORMER is a procedure of 2 arguments, a URI and text, and returns a
string for display."
(let* ((url (channel-url channel)) (let* ((url (channel-url channel))
(uri (string->uri url)) (uri (string->uri url))
(host (and uri (uri-host uri)))) (host (and uri (uri-host uri))))
@ -251,7 +244,7 @@ string for display."
(#f (#f
commit) commit)
((_ template) ((_ template)
(transformer (template url commit) commit))) (hyperlink (template url commit) commit)))
commit))) commit)))

View File

@ -81,12 +81,15 @@
"Ensure the default profile symlink and directory exist and are writable." "Ensure the default profile symlink and directory exist and are writable."
(ensure-profile-directory) (ensure-profile-directory)
;; Create ~/.guix-profile if it doesn't exist yet. ;; Try to create ~/.guix-profile if it doesn't exist yet.
(when (and %user-profile-directory (when (and %user-profile-directory
%current-profile %current-profile
(not (false-if-exception (not (false-if-exception
(lstat %user-profile-directory)))) (lstat %user-profile-directory))))
(symlink %current-profile %user-profile-directory))) (catch 'system-error
(lambda ()
(symlink %current-profile %user-profile-directory))
(const #t))))
(define (delete-generations store profile generations) (define (delete-generations store profile generations)
"Delete GENERATIONS from PROFILE. "Delete GENERATIONS from PROFILE.

View File

@ -1638,7 +1638,7 @@ DURATION-RELATION with the current time."
(let* ((file (generation-file-name profile number)) (let* ((file (generation-file-name profile number))
(link (if (supports-hyperlinks?) (link (if (supports-hyperlinks?)
(cut file-hyperlink file <>) (cut file-hyperlink file <>)
(cut format #f (G_ "~a~%file: ~a") <> file))) identity))
(header (format #f (link (highlight (G_ "Generation ~a\t~a"))) (header (format #f (link (highlight (G_ "Generation ~a\t~a")))
number number
(date->string (date->string

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -25,8 +25,7 @@
;; Test the JSON mapping machinery used in (guix swh). ;; Test the JSON mapping machinery used in (guix swh).
(define %origin (define %origin
"{ \"id\": 42, "{ \"visits_url\": \"/visits/42\",
\"visits_url\": \"/visits/42\",
\"type\": \"git\", \"type\": \"git\",
\"url\": \"http://example.org/guix.git\" }") \"url\": \"http://example.org/guix.git\" }")
@ -48,11 +47,10 @@
(test-begin "swh") (test-begin "swh")
(test-equal "lookup-origin" (test-equal "lookup-origin"
(list 42 "git" "http://example.org/guix.git") (list "git" "http://example.org/guix.git")
(with-json-result %origin (with-json-result %origin
(let ((origin (lookup-origin "http://example.org/guix.git"))) (let ((origin (lookup-origin "http://example.org/guix.git")))
(list (origin-id origin) (list (origin-type origin)
(origin-type origin)
(origin-url origin))))) (origin-url origin)))))
(test-equal "lookup-origin, not found" (test-equal "lookup-origin, not found"