Merge branch 'master' into staging
This commit is contained in:
		
						commit
						d614f0bba9
					
				
					 29 changed files with 2539 additions and 423 deletions
				
			
		|  | @ -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))) | ||||||
|  |  | ||||||
|  | @ -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 () | ||||||
|  |  | ||||||
|  | @ -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))) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -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
											
										
									
								
							|  | @ -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))) | ||||||
|  |  | ||||||
|  | @ -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) | ||||||
|  |        ((#:modules _) | ||||||
|  |         `((guix build emacs-utils) | ||||||
|  |           ,@%gnu-build-system-modules)) | ||||||
|  |        ((#:imported-modules _) | ||||||
|  |         `((guix build emacs-utils) | ||||||
|  |           ,@%gnu-build-system-modules)) | ||||||
|        ((#:configure-flags cf) |        ((#:configure-flags cf) | ||||||
|             `(cons "--with-x-toolkit=no" ,cf))))))) |         `(cons "--with-x-toolkit=no" ,cf)))))) | ||||||
| 
 | 
 | ||||||
| (define-public guile-emacs | (define-public guile-emacs | ||||||
|   (let ((commit "41120e0f595b16387eebfbf731fff70481de1b4b") |   (let ((commit "41120e0f595b16387eebfbf731fff70481de1b4b") | ||||||
|  |  | ||||||
|  | @ -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,6 +794,7 @@ 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") | ||||||
|  | @ -817,6 +819,11 @@ language.") | ||||||
|              "-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 '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 |          (add-after 'install 'wrap-program | ||||||
|            ;; Ensure correct Python at runtime. |            ;; Ensure correct Python at runtime. | ||||||
|            (lambda* (#:key inputs outputs #:allow-other-keys) |            (lambda* (#:key inputs outputs #:allow-other-keys) | ||||||
|  | @ -835,16 +842,30 @@ language.") | ||||||
|                  `("PATH" ":" prefix |                  `("PATH" ":" prefix | ||||||
|                    (,(string-append python "/bin:"))))) |                    (,(string-append python "/bin:"))))) | ||||||
|              #t))))) |              #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 |     (native-inputs | ||||||
|      `(("boost" ,boost) |      `(("boost" ,boost) | ||||||
|  |        ("desktop-file-utils" ,desktop-file-utils) | ||||||
|        ("gettext" ,gnu-gettext) |        ("gettext" ,gnu-gettext) | ||||||
|  |        ("kicad-i18l" ,kicad-i18l) | ||||||
|        ("pkg-config" ,pkg-config) |        ("pkg-config" ,pkg-config) | ||||||
|        ("swig" ,swig) |        ("swig" ,swig) | ||||||
|        ("zlib" ,zlib))) |        ("zlib" ,zlib))) | ||||||
|     (inputs |     (inputs | ||||||
|      `(("cairo" ,cairo) |      `(("cairo" ,cairo) | ||||||
|        ("curl" ,curl) |        ("curl" ,curl) | ||||||
|          ("desktop-file-utils" ,desktop-file-utils) |  | ||||||
|        ("glew" ,glew) |        ("glew" ,glew) | ||||||
|        ("glm" ,glm) |        ("glm" ,glm) | ||||||
|        ("hicolor-icon-theme" ,hicolor-icon-theme) |        ("hicolor-icon-theme" ,hicolor-icon-theme) | ||||||
|  | @ -853,7 +874,7 @@ language.") | ||||||
|        ("mesa" ,mesa) |        ("mesa" ,mesa) | ||||||
|        ("opencascade-oce" ,opencascade-oce) |        ("opencascade-oce" ,opencascade-oce) | ||||||
|        ("openssl" ,openssl) |        ("openssl" ,openssl) | ||||||
|          ("python" ,python) |        ("python" ,python-wrapper) | ||||||
|        ("wxwidgets" ,wxwidgets) |        ("wxwidgets" ,wxwidgets) | ||||||
|        ("wxpython" ,python-wxpython))) |        ("wxpython" ,python-wxpython))) | ||||||
|     (home-page "https://kicad-pcb.org/") |     (home-page "https://kicad-pcb.org/") | ||||||
|  | @ -864,67 +885,32 @@ 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-library") |     (name "kicad-i18l") | ||||||
|       (version version) |     (version "5.1.5") | ||||||
|       (source |     (source (origin | ||||||
|        (origin |               (method git-fetch) | ||||||
|          (method url-fetch) |               (uri (git-reference | ||||||
|          (uri (string-append |                     (url "https://gitlab.com/kicad/code/kicad-i18n.git") | ||||||
|                "https://kicad-downloads.s3.cern.ch/libraries/kicad-library-" |                     (commit version))) | ||||||
|                version ".tar.gz")) |               (file-name (git-file-name name version)) | ||||||
|          (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 |               (sha256 | ||||||
|                (base32 |                (base32 | ||||||
|                "08qrz5zzsb5127jlnv24j0sgiryd5nqwg3lfnwi8j9a25agqk13j")))))) |                 "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/") |     (home-page "https://kicad-pcb.org/") | ||||||
|       (synopsis "Libraries for kicad") |     (synopsis "KiCad GUI translations") | ||||||
|       (description "This package provides Kicad component, footprint and 3D |     (description "This package contains the po files that are used for the GUI | ||||||
| render model libraries.") | translations for KiCad.") | ||||||
|       (license license:lgpl2.0+)))) |     (license license:gpl3+))) | ||||||
| 
 | 
 | ||||||
| (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") | ||||||
|  |  | ||||||
|  | @ -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") | ||||||
|  |  | ||||||
|  | @ -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" | ||||||
|  |  | ||||||
|  | @ -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 _ | ||||||
|  |             (substitute* "Delft/index.theme" | ||||||
|               (("gnome") "Adwaita")) |               (("gnome") "Adwaita")) | ||||||
|          (delete-file "icons/README.md") |             #t))))) | ||||||
|          (delete-file "icons/LICENSE") |  | ||||||
|          (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))) | ||||||
|  |  | ||||||
|  | @ -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. | ||||||
|  |  | ||||||
|  | @ -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") | ||||||
|  |  | ||||||
|  | @ -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 | ||||||
|  |  | ||||||
|  | @ -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+))) | ||||||
|  |  | ||||||
|  | @ -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) | ||||||
|  |  | ||||||
|  | @ -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 | ||||||
|  |  | ||||||
|  | @ -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. | ||||||
|  |  | ||||||
|  | @ -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))) | ||||||
|  |  | ||||||
|  | @ -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) | ||||||
|  |  | ||||||
|  | @ -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) | ||||||
|  |  | ||||||
|  | @ -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 | ||||||
|  |  | ||||||
|  | @ -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) | ||||||
|  |  | ||||||
|  | @ -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 | ||||||
|  |  | ||||||
|  | @ -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: | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -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))) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  |  | ||||||
|  | @ -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. | ||||||
|  |  | ||||||
|  | @ -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 | ||||||
|  |  | ||||||
|  | @ -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" | ||||||
|  |  | ||||||
		Reference in a new issue