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
(package
(name "git-repo")
(version "2.3")
(version "2.4.1")
(source
(origin
(method git-fetch)
@ -726,7 +726,7 @@ to be passed to the @code{udev} service.")
(commit (string-append "v" version))))
(file-name (string-append "git-repo-" version "-checkout"))
(sha256
(base32 "0jrll0mjfwakyjvlhbxwsdi32jhgss9mwz8c8h24n1qbqqxysrk4"))))
(base32 "0khg1731927gvin73dcbw1657kbfq4k7agla5rpzqcnwkk5agzg3"))))
(build-system python-build-system)
(arguments
`(#:phases
@ -735,47 +735,48 @@ to be passed to the @code{udev} service.")
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(git (assoc-ref inputs "git"))
(gpg (assoc-ref inputs "gnupg"))
(ssh (assoc-ref inputs "ssh")))
(substitute* '("repo" "git_command.py")
(("^GIT = 'git'")
(string-append "GIT = '" git "/bin/git'")))
(substitute* "repo"
((" cmd = \\['gpg',")
(string-append " cmd = ['" gpg "/bin/gpg',")))
(substitute* "git_config.py"
((" command_base = \\['ssh',")
(string-append " command_base = ['" ssh "/bin/ssh',")))
#t)))
(add-before 'build 'do-not-clone-this-source
(add-before 'build 'do-not-self-update
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(repo-dir (string-append out "/share/" ,name)))
(substitute* "repo"
(("^def _FindRepo\\(\\):.*")
(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, ''
;; Setting the REPO_MAIN variable to an absolute file name is
;; enough to have _FindRepo return the store main.py file. The
;; self update mechanism is activated with the call to _Init() in
;; main(), so we bypass it.
# The remaining of this function is dead code. It was used to
# find a git-checked-out version in the local project.\n" repo-dir))
;; Neither clone, check out, nor verify the git repository
(("(^\\s+)_Clone\\(.*\\)") "")
(("(^\\s+)_Checkout\\(.*\\)") "")
((" rev = _Verify\\(.*\\)") " rev = None"))
#t)))
;; Ticket requesting upstream to provide a mean to disable the
;; self update mechanism:
;; https://bugs.chromium.org/p/gerrit/issues/detail?id=12407.
(let* ((out (assoc-ref outputs "out"))
(repo-main (string-append out "/share/git-repo/main.py")))
(substitute* "repo"
(("^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
(add-before 'check 'configure-git
(lambda _
@ -800,7 +801,6 @@ def _FindRepo():
(inputs
;; TODO: Add git-remote-persistent-https once it is available in guix
`(("git" ,git)
("gnupg" ,gnupg)
("ssh" ,openssh)))
(native-inputs
`(("pytest" ,python-pytest)))

View File

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

View File

@ -410,7 +410,7 @@ computational cluster.")
(define-public bedtools
(package
(name "bedtools")
(version "2.27.1")
(version "2.29.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/arq5x/bedtools2/releases/"
@ -418,7 +418,7 @@ computational cluster.")
"bedtools-" version ".tar.gz"))
(sha256
(base32
"1ndg5yknrxl4djx8ddzgk12rrbiidfpmkkg5z3f95jzryfxarhn8"))))
"0m3hk6548846w83a9s5drsczvy67n2azx41kj71n03klb2gbzwg3"))))
(build-system gnu-build-system)
(arguments
'(#:test-target "test"
@ -427,7 +427,8 @@ computational cluster.")
#:phases
(modify-phases %standard-phases
(delete 'configure))))
(native-inputs `(("python" ,python-2)))
(native-inputs
`(("python" ,python-wrapper)))
(inputs
`(("samtools" ,samtools)
("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
intervals from multiple files in widely-used genomic file formats such as BAM,
BED, GFF/GTF, VCF.")
(license license:gpl2)))
(license license:expat)))
;; Later releases of bedtools produce files with more columns than
;; what Ribotaper expects.
@ -5306,7 +5307,7 @@ BAM and Wiggle files in both transcript-coordinate and genomic-coordinate.")
(define-public rseqc
(package
(name "rseqc")
(version "2.6.1")
(version "3.0.1")
(source
(origin
(method url-fetch)
@ -5314,28 +5315,18 @@ BAM and Wiggle files in both transcript-coordinate and genomic-coordinate.")
(string-append "mirror://sourceforge/rseqc/"
"RSeQC-" version ".tar.gz"))
(sha256
(base32 "15ly0254yi032qzkdplg00q144qfdsd986gh62829rl5bkxhj330"))
(modules '((guix build utils)))
(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))))
(base32
"0gbb9iyb7swiv5455fm5rg98r7l6qn27v564yllqjd574hncpx6m"))))
(build-system python-build-system)
(arguments `(#:python ,python-2))
(inputs
`(("python-cython" ,python2-cython)
("python-pysam" ,python2-pysam)
("python-numpy" ,python2-numpy)
`(("python-cython" ,python-cython)
("python-bx-python" ,python-bx-python)
("python-pybigwig" ,python-pybigwig)
("python-pysam" ,python-pysam)
("python-numpy" ,python-numpy)
("zlib" ,zlib)))
(native-inputs
`(("python-nose" ,python2-nose)))
`(("python-nose" ,python-nose)))
(home-page "http://rseqc.sourceforge.net/")
(synopsis "RNA-seq quality control package")
(description
@ -6581,7 +6572,7 @@ profiles, and associated taxonomic information.")
(define-public vcftools
(package
(name "vcftools")
(version "0.1.15")
(version "0.1.16")
(source (origin
(method url-fetch)
(uri (string-append
@ -6589,7 +6580,7 @@ profiles, and associated taxonomic information.")
version "/vcftools-" version ".tar.gz"))
(sha256
(base32
"1qw30c45wihgy632rbz4rh3njnwj4msj46l1rsgdhyg6bgypmr1i"))))
"1qqlx7flfv7axrjwkaz6njkscsl1d0jw98ns8d8bh1n1hd1pgz6v"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no "check" target
@ -6617,17 +6608,18 @@ data in the form of VCF files.")
(define-public infernal
(package
(name "infernal")
(version "1.1.2")
(version "1.1.3")
(source (origin
(method url-fetch)
(uri (string-append "http://eddylab.org/software/infernal/"
"infernal-" version ".tar.gz"))
(sha256
(base32
"0sr2hiz3qxfwqpz3whxr6n82p3x27336v3f34iqznp10hks2935c"))))
"0pm8bm3s6nfa0av4x6m6h27lsg12b3lz3jm0fyh1mc77l2isd61v"))))
(build-system gnu-build-system)
(native-inputs
`(("perl" ,perl))) ; for tests
`(("perl" ,perl)
("python" ,python))) ; for tests
(home-page "http://eddylab.org/infernal/")
(synopsis "Inference of RNA alignments")
(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
homologs that conserve their secondary structure more than their primary
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"))
(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"))
(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
(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 © 2015, 2016, 2018 Christopher Lemmer Webber <cwebber@dustycloud.org>
;;; 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 Matthew Jordan <matthewjordandevops@yandex.com>
;;; Copyright © 2016, 2017 Roel Janssen <roel@gnu.org>
@ -16,7 +16,7 @@
;;; Copyright © 2016, 2019 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; 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, 2018, 2019, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017, 2018, 2019 Clément Lassieur <clement@lassieur.org>
@ -155,6 +155,7 @@
#:use-module (gnu packages video)
#:use-module (gnu packages haskell-xyz)
#:use-module (gnu packages wordnet)
#:use-module (gnu packages photo)
#:use-module (guix utils)
#:use-module (srfi srfi-1)
#:use-module (ice-9 match))
@ -3434,9 +3435,7 @@ for Flow files.")
(out (assoc-ref outputs "out"))
(version ,(version-major+minor (package-version python))))
(with-directory-excursion
(string-append out
"/share/emacs/site-lisp/guix.d/"
"flycheck-grammalecte-" ,version)
(string-append out "/share/emacs/site-lisp")
(symlink (string-append grammalecte "/lib/"
"python" version "/site-packages/"
"grammalecte")
@ -4711,6 +4710,47 @@ number.")
@code{org-mode} to be rendered as UTF-8 characters.")
(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
;; Last release version was from 2016.
(let ((commit "aa07c11318f91219336197e62c47bc7a3d090479")
@ -7434,7 +7474,8 @@ xref, etc...) are still available, but with better integration.")
#:phases
;; The package provides autoloads.
(modify-phases %standard-phases
(delete 'make-autoloads))))
(delete 'make-autoloads)
(delete 'enable-autoloads-compilation))))
(synopsis "Quicklisp support for SLY")
(description
"@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
`(("emacs-sly" ,emacs-sly)))
(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")
(description
"@command{sly-named-readtables} is an external contrib for SLY that
@ -7525,7 +7569,8 @@ file.")
#:phases
;; The package provides autoloads.
(modify-phases %standard-phases
(delete 'make-autoloads))))
(delete 'make-autoloads)
(delete 'enable-autoloads-compilation))))
(synopsis "Expand Common Lisp macros inside source files with SLY")
(description
"@command{sly-macrostep} is a SLY contrib for expanding CL macros right
@ -7641,7 +7686,7 @@ extensions.")
(license license:gpl3+)))
(define-public emacs-evil-collection
(let ((commit "eb36c82a84d313e961777dc78fd4ff1d718efdf6")
(let ((commit "a478a95a8a3665e40bdae3bab2a0519db6c1f29c")
(revision "13"))
(package
(name "emacs-evil-collection")
@ -7654,7 +7699,7 @@ extensions.")
(file-name (git-file-name name version))
(sha256
(base32
"0wi84x9176y4xjl7zpn882achfamx3a2ixlj4nvflxfh6q1qg7bz"))))
"15ii5lw6hs4yyl22yyzfwzagdma2sman4rm5gq4m9773g4ava515"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-evil" ,emacs-evil)
@ -12024,6 +12069,10 @@ match and total match information in the mode-line in various search modes.")
(base32
"0vb338bhjpsnrf60qgxny4z5rjrnifahnrv9axd4shay89d894zq"))))
(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")
(synopsis
"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)
(let ((perl (assoc-ref inputs "perl"))
(dir (string-append (assoc-ref outputs "out")
"/share/emacs/site-lisp/guix.d/edbi-"
,version)))
"/share/emacs/site-lisp")))
(substitute* (string-append dir "/edbi.el")
(("\"perl\"") (string-append "\"" perl "/bin/perl\"")))
(chmod (string-append dir "/edbi-bridge.pl") #o555)
@ -21560,3 +21608,62 @@ variables.")
"This library is a Company back-end providing auto-completion for
emoji.")
(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
#:configure-flags (list "--with-modules"
"--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
(modify-phases %standard-phases
(add-before 'configure 'fix-/bin/pwd
@ -139,13 +144,12 @@
"pwd"))
#t))
(add-after 'install 'install-site-start
;; Use 'guix-emacs' in "site-start.el". This way, Emacs packages
;; provided by Guix and installed in
;; ~/.guix-profile/share/emacs/site-lisp/guix.d/PACKAGE-VERSION are
;; automatically found.
;; Use 'guix-emacs' in "site-start.el", which is used autoload the
;; Elisp packages found in EMACSLOADPATH.
(lambda* (#:key inputs outputs #:allow-other-keys)
(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")
(string-append lisp-dir "/guix-emacs.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,
;; which leads to conflicts.
(delete-file (string-append lisp-dir "/subdirs.el"))
;; Byte compile the site-start files.
(parameterize ((%emacs emacs))
(emacs-byte-compile-directory lisp-dir))
#t))))))
(inputs
`(("gnutls" ,gnutls)
@ -326,6 +333,12 @@ languages.")
(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))
((#:phases phases)
`(modify-phases ,phases
(delete 'install-site-start)))
@ -345,6 +358,12 @@ editor (with xwidgets support)")
(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))
((#:configure-flags flags ''())
`(cons "--with-xwidgets" ,flags))))
(inputs
@ -358,6 +377,14 @@ editor (with xwidgets support)")
(synopsis "The extensible, customizable, self-documenting text
editor (console only)")
(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
(package-inputs emacs)
'("libx11" "gtk+" "libxft" "libtiff" "giflib" "libjpeg"
@ -376,9 +403,15 @@ editor (without an X toolkit)" )
(inputs (append `(("inotify-tools" ,inotify-tools))
(alist-delete "gtk+" (package-inputs emacs))))
(arguments
`(,@(substitute-keyword-arguments (package-arguments emacs)
((#:configure-flags cf)
`(cons "--with-x-toolkit=no" ,cf)))))))
(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 cf)
`(cons "--with-x-toolkit=no" ,cf))))))
(define-public guile-emacs
(let ((commit "41120e0f595b16387eebfbf731fff70481de1b4b")

View File

@ -14,6 +14,7 @@
;;; Copyright © 2019 Jovany Leandro G.C <bit4bit@riseup.net>
;;; Copyright © 2019 Steve Sprang <scs@stevesprang.com>
;;; Copyright © 2019 John Soo <jsoo1@asu.edu>
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;;
;;; This file is part of GNU Guix.
;;;
@ -793,138 +794,123 @@ language.")
(define-public ao
(deprecated-package "ao-cad" libfive))
;; TODO Add doc https://gitlab.com/kicad/services/kicad-doc/-/tree/master
(define-public kicad
(package
(name "kicad")
(version "5.1.5")
(source
(origin
(method url-fetch)
(file-name (string-append name "-" version ".tar.xz"))
(uri (string-append
"https://launchpad.net/kicad/" (version-major version)
".0/" version "/+download/kicad-" version ".tar.xz"))
(sha256
(base32 "0x3417f2pa7p65s9f7l49rqbnrzy8gz6i0n07mlbxqbnm0fmlql0"))))
(build-system cmake-build-system)
(arguments
`(#:out-of-source? #t
#:tests? #f ; no tests
#:build-type "Release"
#:configure-flags
(list "-DKICAD_SCRIPTING_PYTHON3=ON"
"-DKICAD_SCRIPTING_WXPYTHON_PHOENIX=ON"
"-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE")
#:phases
(modify-phases %standard-phases
(add-after 'install 'wrap-program
;; Ensure correct Python at runtime.
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(python (assoc-ref inputs "python"))
(file (string-append out "/bin/kicad"))
(path (string-append
out
"/lib/python"
,(version-major+minor
(package-version python))
"/site-packages:"
(getenv "PYTHONPATH"))))
(wrap-program file
`("PYTHONPATH" ":" prefix (,path))
`("PATH" ":" prefix
(,(string-append python "/bin:")))))
#t)))))
(native-inputs
`(("boost" ,boost)
("gettext" ,gnu-gettext)
("pkg-config" ,pkg-config)
("swig" ,swig)
("zlib" ,zlib)))
(inputs
`(("cairo" ,cairo)
("curl" ,curl)
("desktop-file-utils" ,desktop-file-utils)
("glew" ,glew)
("glm" ,glm)
("hicolor-icon-theme" ,hicolor-icon-theme)
("libngspice" ,libngspice)
("libsm" ,libsm)
("mesa" ,mesa)
("opencascade-oce" ,opencascade-oce)
("openssl" ,openssl)
("python" ,python)
("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
(package
(name "kicad")
(version "5.1.5")
(source
(origin
(method url-fetch)
(file-name (string-append name "-" version ".tar.xz"))
(uri (string-append
"https://launchpad.net/kicad/" (version-major version)
".0/" version "/+download/kicad-" version ".tar.xz"))
(sha256
(base32 "0x3417f2pa7p65s9f7l49rqbnrzy8gz6i0n07mlbxqbnm0fmlql0"))))
(build-system cmake-build-system)
(arguments
`(#:out-of-source? #t
#:tests? #f ; no tests
#:build-type "Release"
#:configure-flags
(list "-DKICAD_SCRIPTING_PYTHON3=ON"
"-DKICAD_SCRIPTING_WXPYTHON_PHOENIX=ON"
"-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE")
#:phases
(modify-phases %standard-phases
(add-after 'install 'install-translations
(lambda* (#:key inputs outputs #:allow-other-keys)
(copy-recursively (assoc-ref inputs "kicad-i18l")
(assoc-ref outputs "out"))
#t))
(add-after 'install 'wrap-program
;; Ensure correct Python at runtime.
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(python (assoc-ref inputs "python"))
(file (string-append out "/bin/kicad"))
(path (string-append
out
"/lib/python"
,(version-major+minor
(package-version python))
"/site-packages:"
(getenv "PYTHONPATH"))))
(wrap-program file
`("PYTHONPATH" ":" prefix (,path))
`("PATH" ":" prefix
(,(string-append python "/bin:")))))
#t)))))
(native-search-paths
(list (search-path-specification
(variable "KICAD_TEMPLATE_DIR")
(files '("share/kicad/template")))
(search-path-specification
(variable "KICAD_SYMBOL_DIR") ; symbol path
(files '("share/kicad/library")))
(search-path-specification
(variable "KISYSMOD") ; footprint path
(files '("share/kicad/modules")))
(search-path-specification
(variable "KISYS3DMOD") ; 3D model path
(files '("share/kicad/modules/packages3d")))))
(native-inputs
`(("boost" ,boost)
("desktop-file-utils" ,desktop-file-utils)
("gettext" ,gnu-gettext)
("kicad-i18l" ,kicad-i18l)
("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
perform specific functions, for example, pcbnew (Editing PCB), eeschema (editing
electrical diagrams), gerbview (viewing Gerber files) and others.")
(license license:gpl3+)))
(license license:gpl3+)))
(define-public kicad-library
(let ((version "4.0.7"))
(package
(name "kicad-library")
(version version)
(source
(origin
(method url-fetch)
(uri (string-append
"https://kicad-downloads.s3.cern.ch/libraries/kicad-library-"
version ".tar.gz"))
(sha256
(base32 "1azb7v1y3l6j329r9gg7f4zlg0wz8nh4s4i5i0l9s4yh9r6i9zmv"))))
(build-system cmake-build-system)
(arguments
`(#:out-of-source? #t
#:tests? #f ; no tests
#:phases
(modify-phases %standard-phases
(add-after 'install 'install-footprints ; from footprints tarball
(lambda* (#:key inputs outputs #:allow-other-keys)
(invoke "tar" "xvf"
(assoc-ref inputs "kicad-footprints")
"-C" (string-append (assoc-ref outputs "out")
"/share/kicad/modules")
"--strip-components=1")))
;; 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 kicad-i18l
(package
(name "kicad-i18l")
(version "5.1.5")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/kicad/code/kicad-i18n.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1rfpifl8vky1gba2angizlb2n7mwmsiai3r6ip6qma60wdj8sbd3"))))
(build-system cmake-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(delete 'build)
(delete 'check))))
(native-inputs
`(("gettext" ,gnu-gettext)))
(home-page "https://kicad-pcb.org/")
(synopsis "KiCad GUI translations")
(description "This package contains the po files that are used for the GUI
translations for KiCad.")
(license license:gpl3+)))
(define-public kicad-symbols
(package
@ -943,9 +929,9 @@ render model libraries.")
(arguments
`(#:tests? #f)) ; no tests exist
(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
libraries for KiCad 5.")
libraries.")
;; TODO: Exception: "To the extent that the creation of electronic designs
;; that use 'Licensed Material' can be considered to be 'Adapted Material',
;; 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>.
(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
(package
(name "linsmith")

View File

@ -188,7 +188,7 @@ by the b43-open driver of Linux-libre.")
(name (string-replace-substring
(string-append "opensbi-" platform "-" variant)
"_" "-"))
(version "0.5")
(version "0.6")
(source
(origin
(method git-fetch)
@ -197,7 +197,7 @@ by the b43-open driver of Linux-libre.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0qc73xbiy79qqkwxmp4mg15q8n8k26njkyqb6n0jw5dyibd6hb85"))))
(base32 "129ypdga0fzn657n2f42g2a1vx3hf8x7sd78h06d35pgkry0jkl7"))))
(build-system gnu-build-system)
(native-inputs
`(,@(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
(make-opensbi-package "qemu" "virt"))
(define-public opensbi-qemu-sifive-u
(make-opensbi-package "qemu" "sifive_u"))
(define-public opensbi-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
(package
(name "seabios")

View File

@ -8,7 +8,7 @@
;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Kei Kebreau <kkebreau@posteo.net>
;;; 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 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
@ -306,7 +306,6 @@ the freedesktop.org XDG Base Directory specification.")
"-Dcgroup-controller=elogind"
"-Dman=true"
;; Disable some tests.
"-Dtests=false"
"-Dslow-tests=false"))
#:phases
(modify-phases %standard-phases
@ -324,6 +323,46 @@ the freedesktop.org XDG Base Directory specification.")
(("=/run/dbus/system_bus_socket")
"=/var/run/dbus/system_bus_socket"))
#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
(lambda _
(substitute* "src/login/elogind.c"

View File

@ -24,15 +24,20 @@
#:use-module (guix build-system trivial)
#:use-module (guix build-system gnu)
#:use-module (guix build-system copy)
#:use-module (guix build-system meson)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
#: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 xml))
@ -85,7 +90,7 @@ like Gnome, Unity, Budgie, Pantheon, XFCE, Mate and others.")
(define-public delft-icon-theme
(package
(name "delft-icon-theme")
(version "1.10")
(version "1.11")
(source
(origin
(method git-fetch)
@ -94,21 +99,19 @@ like Gnome, Unity, Budgie, Pantheon, XFCE, Mate and others.")
(commit (string-append "v" version))))
(sha256
(base32
"0vw3yw9f9ygzfd2k3zrfih3r0vkzlhk1bmsk8sapvk7np24i1z9s"))
"1m3r4i4m3y3xsjb5f4bik0ylmi64amkfyr0y8pjbvv6gyj492mi6"))
(file-name (git-file-name name version))))
(build-system trivial-build-system)
(build-system copy-build-system)
(arguments
`(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(copy-recursively (assoc-ref %build-inputs "source") "icons")
(substitute* "icons/Delft/index.theme"
(("gnome") "Adwaita"))
(delete-file "icons/README.md")
(delete-file "icons/LICENSE")
(delete-file "icons/logo.jpg")
(copy-recursively "icons" (string-append %output "/share/icons")))))
`(#:install-plan
`(("." "share/icons" #:exclude ("README.md" "LICENSE" "logo.jpg")))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-index.theme
(lambda _
(substitute* "Delft/index.theme"
(("gnome") "Adwaita"))
#t)))))
(home-page "https://www.gnome-look.org/p/1199881/")
(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
@ -131,19 +134,11 @@ the Obsidian icon theme.")
(base32
"1fjhx23jqwv3d0smwhnjvc35gqhwk9p5f96ic22pfax653cn5vh8"))
(file-name (git-file-name name version))))
(build-system trivial-build-system)
(build-system copy-build-system)
(arguments
'(#:modules ((guix build utils))
#:builder
(begin
(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))))
`(#:install-plan
'(("." ,(string-append "share/gnome-shell/extensions/"
"appindicatorsupport@rgcjonas.gmail.com")))))
(synopsis "Adds KStatusNotifierItem support to GNOME Shell")
(description "This extension integrates Ubuntu AppIndicators
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/")
(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
(let ((commit "4188aa5f4ba24901a053a0c3eb0d83baa8625eab")
(revision "0"))
@ -289,20 +378,12 @@ into a single panel, similar to that found in KDE Plasma and Windows 7+.")
(base32
"0fa8l3xlh8kbq07y4385wpb908zm6x53z81q16xlmin97dln32hh"))
(file-name (git-file-name name version))))
(build-system trivial-build-system)
(build-system copy-build-system)
(arguments
'(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(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.
'(#:install-plan
'(("." "share/gnome-shell/extensions/noannoyance@daase.net"))))
(synopsis "Remove '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.")
(home-page "https://extensions.gnome.org/extension/2182/noannoyance/")
(license license:gpl2)))

View File

@ -7,10 +7,11 @@
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;; 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 © 2019 Ivan Petkov <ivanppetkov@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.
;;;
@ -882,6 +883,7 @@ from forcing GEXP-PROMISE."
#:modules ((ice-9 ftw)
(ice-9 rdelim)
(ice-9 regex)
(ice-9 match)
(srfi srfi-34)
(srfi srfi-35)
@ -1067,6 +1069,20 @@ from forcing GEXP-PROMISE."
(force-output)
(retry (- remaining-attempts 1))))
(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
(lambda* (#:key outputs #:allow-other-keys)
;; Install the '.desktop' file.

View File

@ -970,20 +970,17 @@ using S-expressions.")
(define-public guile-debbugs
(package
(name "guile-debbugs")
(version "0.0.2")
(version "0.0.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/guile-debbugs/guile-debbugs-"
version ".tar.gz"))
(sha256
(base32
"16l8910p57im6s3j93xhdaqvgfy6ms5n97177mrch3y961z5hy0i"))
(modules '((guix build utils)))
(snippet
'(substitute* "Makefile.in"
(("^godir = (.*)/ccache" _ prefix)
(string-append "godir = " prefix "/site-ccache"))))))
"1cc63nw3xdfjrfk8c58r6d5lidmfq5cpqcy32yd5xp81yccprvn9"))))
(build-system gnu-build-system)
(propagated-inputs
`(("guile-email" ,guile-email)))
(native-inputs
`(("guile" ,guile-2.2)
("pkg-config" ,pkg-config)))
@ -1023,31 +1020,6 @@ Extensions) compliant email messages and reading emails from the mbox
format.")
(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
(package
(name "guile-newt")

View File

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

View File

@ -39,6 +39,7 @@
;;; Copyright © 2019, 2020 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2019 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@ -2739,7 +2740,7 @@ from the module-init-tools project.")
(define-public earlyoom
(package
(name "earlyoom")
(version "1.3")
(version "1.3.1")
(source (origin
(method git-fetch)
(uri (git-reference
@ -2748,7 +2749,7 @@ from the module-init-tools project.")
(file-name (git-file-name name version))
(sha256
(base32
"0fwbx0y80nqgkxrc9kf9j3iwa0wbps2jmqir3pgqbc2cj0wjh0lr"))))
"06sd3jpkdrwqbphsf8jrgs5rxfi7j3xjmygjjvj4xjk4gncz7r2i"))))
(build-system gnu-build-system)
(arguments
`(#: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
platforms, it is not limited to resource-constrained systems.")
(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"))))
#t))))))
(inputs
`(("guile-debbugs" ,guile-debbugs-next)
`(("guile-debbugs" ,guile-debbugs)
("guile-email" ,guile-email)
("guile-fibers" ,guile-fibers)
("guile-json" ,guile-json-1)

View File

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

View File

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

View File

@ -18,6 +18,7 @@
;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2020 Valentin Ignatev <valentignatev@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -36,6 +37,7 @@
(define-module (gnu packages terminals)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system cargo)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system glib-or-gtk)
@ -47,7 +49,9 @@
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages crates-io)
#:use-module (gnu packages crypto)
#:use-module (gnu packages docbook)
#: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
made by suckless.")
(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/")))
(define openssl-1.1.1d
(package/inherit
openssl
(package
(inherit openssl)
(version "1.1.1d")
(source (origin
(method url-fetch)

View File

@ -3,7 +3,7 @@
;;; 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 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 © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; 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 libidn)
#:use-module (gnu packages libunistring)
#:use-module (gnu packages libunwind)
#:use-module (gnu packages linux)
#:use-module (gnu packages lisp-xyz)
#:use-module (gnu packages lua)
#:use-module (gnu packages markup)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages nss)
#:use-module (gnu packages openldap)
#:use-module (gnu packages openstack)
#:use-module (gnu packages base)
#:use-module (gnu packages package-management)
@ -548,6 +550,67 @@ supported at your website.")
;; binary:
(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
(package
(name "fcgi")
@ -7029,8 +7092,8 @@ compressed JSON header blocks.
;; 'Node' requires this newer version, to be removed on the next rebuild cycle.
(define-public nghttp2-1.40
(package/inherit
nghttp2
(package
(inherit nghttp2)
(version "1.40.0")
(source (origin
(method url-fetch)

View File

@ -91,7 +91,13 @@ if TARGET ends with a '/', the source is installed underneath."
file))))
(format (current-output-port) "`~a' -> `~a'~%" file 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))
"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))
(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)
"Check if NAME correspond to the name of an Emacs package."
(string-prefix? "emacs-" name))
@ -253,10 +268,13 @@ second hyphen. This corresponds to 'name-version' as used in ELPA packages."
(replace 'check check)
(replace 'install install)
(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.
(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)
#:allow-other-keys #:rest args)

View File

@ -41,16 +41,22 @@
;; The `emacs' command.
(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)
"Run Emacs in batch mode, and execute the elisp code EXPR."
(invoke (%emacs) "--quick" "--batch"
(format #f "--eval=~S" expr)))
(string-append "--eval=" (expr->string expr))))
(define (emacs-batch-edit-file file expr)
"Load FILE in Emacs using batch mode, and execute the elisp code EXPR."
(invoke (%emacs) "--quick" "--batch"
(string-append "--visit=" file)
(format #f "--eval=~S" expr)))
(string-append "--eval=" (expr->string expr))))
(define (emacs-batch-disable-compilation file)
(emacs-batch-edit-file file

View File

@ -1,5 +1,5 @@
;;; 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 © 2015, 2016 Alex Kost <alezost@gmail.com>
;;;
@ -228,17 +228,19 @@ Show what and how will/would be built."
(thresholds (%disk-space-warning)))
"Display a hint about 'guix gc' if less than THRESHOLD of /gnu/store is
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)))
(block-size (file-system-block-size stats))
(available (* block-size (file-system-blocks-available stats)))
(total (* block-size (file-system-block-count stats)))
(relative-threshold-in-bytes (* total (cadr thresholds)))
(absolute-threshold-in-bytes (* 1024 1024 1024 (car thresholds))))
(when (< available (min relative-threshold-in-bytes
(absolute-threshold-in-bytes (car thresholds)))
(when (< available (max relative-threshold-in-bytes
absolute-threshold-in-bytes))
(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
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~%")
(if (supports-hyperlinks?)
(channel-commit-hyperlink channel commit)
commit))
(when (not (supports-hyperlinks?))
(format #t (G_ " URL: ~a~%")
(channel-commit-hyperlink channel commit
(lambda (url msg) url))))))
commit))))
(_ #f)))
;; 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
#:optional
(commit (channel-commit channel))
(transformer hyperlink))
(commit (channel-commit channel)))
"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.
TRANSFORMER is a procedure of 2 arguments, a URI and text, and returns a
string for display."
text. The hyperlink links to a web view of COMMIT, when available."
(let* ((url (channel-url channel))
(uri (string->uri url))
(host (and uri (uri-host uri))))
@ -251,7 +244,7 @@ string for display."
(#f
commit)
((_ template)
(transformer (template url commit) commit)))
(hyperlink (template url commit) commit)))
commit)))

View File

@ -81,12 +81,15 @@
"Ensure the default profile symlink and directory exist and are writable."
(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
%current-profile
(not (false-if-exception
(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)
"Delete GENERATIONS from PROFILE.

View File

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

View File

@ -1,5 +1,5 @@
;;; 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.
;;;
@ -25,8 +25,7 @@
;; Test the JSON mapping machinery used in (guix swh).
(define %origin
"{ \"id\": 42,
\"visits_url\": \"/visits/42\",
"{ \"visits_url\": \"/visits/42\",
\"type\": \"git\",
\"url\": \"http://example.org/guix.git\" }")
@ -48,11 +47,10 @@
(test-begin "swh")
(test-equal "lookup-origin"
(list 42 "git" "http://example.org/guix.git")
(list "git" "http://example.org/guix.git")
(with-json-result %origin
(let ((origin (lookup-origin "http://example.org/guix.git")))
(list (origin-id origin)
(origin-type origin)
(list (origin-type origin)
(origin-url origin)))))
(test-equal "lookup-origin, not found"