Merge branch 'staging' into core-updates
This commit is contained in:
		
						commit
						80c76f5d8e
					
				
					 25 changed files with 685 additions and 168 deletions
				
			
		| 
						 | 
				
			
			@ -13228,6 +13228,12 @@ The command below imports metadata for the @code{rails} Ruby package:
 | 
			
		|||
guix import gem rails
 | 
			
		||||
@end example
 | 
			
		||||
 | 
			
		||||
You can also ask for a specific version:
 | 
			
		||||
 | 
			
		||||
@example
 | 
			
		||||
guix import gem @@7.0.4
 | 
			
		||||
@end example
 | 
			
		||||
 | 
			
		||||
@table @code
 | 
			
		||||
@item --recursive
 | 
			
		||||
@itemx -r
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -52,6 +52,7 @@
 | 
			
		|||
# Copyright © 2022 Artyom V. Poptsov <poptsov.artyom@gmail.com>
 | 
			
		||||
# Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
 | 
			
		||||
# Copyright © 2022 muradm <mail@muradm.net>
 | 
			
		||||
# Copyright © 2022 Hilton Chain <hako@ultrarare.space>
 | 
			
		||||
#
 | 
			
		||||
# This file is part of GNU Guix.
 | 
			
		||||
#
 | 
			
		||||
| 
						 | 
				
			
			@ -1038,12 +1039,14 @@ dist_patch_DATA =						\
 | 
			
		|||
  %D%/packages/patches/emacs-highlight-stages-add-gexp.patch	\
 | 
			
		||||
  %D%/packages/patches/emacs-libgit-use-system-libgit2.patch    \
 | 
			
		||||
  %D%/packages/patches/emacs-lispy-fix-thread-last-test.patch   \
 | 
			
		||||
  %D%/packages/patches/emacs-polymode-fix-lexical-variable-error.patch  \
 | 
			
		||||
  %D%/packages/patches/emacs-source-date-epoch.patch		\
 | 
			
		||||
  %D%/packages/patches/emacs-telega-path-placeholder.patch	\
 | 
			
		||||
  %D%/packages/patches/emacs-telega-test-env.patch		\
 | 
			
		||||
  %D%/packages/patches/emacs-wordnut-require-adaptive-wrap.patch	\
 | 
			
		||||
  %D%/packages/patches/emacs-yasnippet-fix-tests.patch	\
 | 
			
		||||
  %D%/packages/patches/emacs-kv-fix-tests.patch	\
 | 
			
		||||
  %D%/packages/patches/emacs-pgtk-super-key-fix.patch	\
 | 
			
		||||
  %D%/packages/patches/enjarify-setup-py.patch			\
 | 
			
		||||
  %D%/packages/patches/enlightenment-fix-setuid-path.patch	\
 | 
			
		||||
  %D%/packages/patches/erlang-man-path.patch			\
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1348,6 +1348,28 @@ color scheme used by Visual Studio Code.")
 | 
			
		|||
Apprentice and Sourcerer.")
 | 
			
		||||
      (license license:gpl3+))))
 | 
			
		||||
 | 
			
		||||
(define-public emacs-suneater-theme
 | 
			
		||||
  (package
 | 
			
		||||
    (name "emacs-suneater-theme")
 | 
			
		||||
    (version "2.0.0")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method git-fetch)
 | 
			
		||||
       (uri (git-reference
 | 
			
		||||
             (url "https://git.sr.ht/~plattfot/suneater-theme")
 | 
			
		||||
             (commit version)))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
         "0nlam8f8ly86y7p2dn10y9ixnm7bhmigsx7si4cjynh6aiyczyds"))
 | 
			
		||||
       (file-name (git-file-name name version))))
 | 
			
		||||
    (build-system emacs-build-system)
 | 
			
		||||
    (home-page "https://git.sr.ht/~plattfot/suneater-theme")
 | 
			
		||||
    (synopsis "Minimalistic dark theme for Emacs")
 | 
			
		||||
    (description
 | 
			
		||||
     "Suneater is a dark, minimalistic Emacs theme.  It was based on Sunburst
 | 
			
		||||
theme but now takes more inspiration from the Nano theme.")
 | 
			
		||||
    (license license:gpl3+)))
 | 
			
		||||
 | 
			
		||||
(define-public emacs-treepy
 | 
			
		||||
  (package
 | 
			
		||||
    (name "emacs-treepy")
 | 
			
		||||
| 
						 | 
				
			
			@ -2572,6 +2594,30 @@ light user interface.")
 | 
			
		|||
within a specified width.  It is useful for displaying long track titles.")
 | 
			
		||||
    (license license:gpl3+)))
 | 
			
		||||
 | 
			
		||||
(define-public emacs-emprise
 | 
			
		||||
  (package
 | 
			
		||||
    (name "emacs-emprise")
 | 
			
		||||
    (version "0.3.0")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method git-fetch)
 | 
			
		||||
       (uri (git-reference
 | 
			
		||||
             (url "https://git.sr.ht/~plattfot/emprise")
 | 
			
		||||
             (commit (string-append "v" version))))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32
 | 
			
		||||
         "0yddvvpjdcgsiwv24jbddkgl5r1lxgz037akjln6z9acx9qrc8px"))
 | 
			
		||||
       (file-name (git-file-name name version))))
 | 
			
		||||
    (build-system emacs-build-system)
 | 
			
		||||
    (home-page "https://sr.ht/~plattfot/emprise")
 | 
			
		||||
    (synopsis "Control MPRIS supported media players from Emacs")
 | 
			
		||||
    (description "This package provides a set of commands to control media
 | 
			
		||||
players that supports the Media Player Remote Interfacing
 | 
			
		||||
Specification (MPRIS) protocol from Emacs.  It uses Emacs' Completing Read
 | 
			
		||||
framework as the user interface, which integrates well with Vertico or
 | 
			
		||||
Selectrum.")
 | 
			
		||||
    (license license:gpl3+)))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;;;
 | 
			
		||||
;;; Miscellaneous.
 | 
			
		||||
| 
						 | 
				
			
			@ -2605,6 +2651,31 @@ This package turns this into an O(1) operation.  It does so by assigning a
 | 
			
		|||
letter to each link using avy.")
 | 
			
		||||
    (license license:gpl3+)))
 | 
			
		||||
 | 
			
		||||
(define-public emacs-app-launcher
 | 
			
		||||
  ;; XXX: Upstream did not tag any commit so far.  Base version is extracted
 | 
			
		||||
  ;; from Version keyword.
 | 
			
		||||
  (let ((commit "d5015e394b0a666a8c7c4d4bdf786266e773b145")
 | 
			
		||||
        (revision "0"))
 | 
			
		||||
    (package
 | 
			
		||||
      (name "emacs-app-launcher")
 | 
			
		||||
      (version (git-version "0.1" revision commit))
 | 
			
		||||
      (source
 | 
			
		||||
       (origin
 | 
			
		||||
         (method git-fetch)
 | 
			
		||||
         (uri (git-reference
 | 
			
		||||
               (url "https://github.com/SebastienWae/app-launcher")
 | 
			
		||||
               (commit commit)))
 | 
			
		||||
         (file-name (git-file-name name version))
 | 
			
		||||
         (sha256
 | 
			
		||||
          (base32 "0l97ajy27awydyd4gc6323wyhpm5vm2db6i0lp5gqaxi9fp7jivp"))))
 | 
			
		||||
      (build-system emacs-build-system)
 | 
			
		||||
      (home-page "https://github.com/SebastienWae/app-launcher")
 | 
			
		||||
      (synopsis "Use Emacs standard completion to launch applications")
 | 
			
		||||
      (description "This package defines the @code{app-launcher-run-app}
 | 
			
		||||
command, which uses Emacs standard completion to select an application
 | 
			
		||||
installed on your machine and launch it.")
 | 
			
		||||
      (license license:gpl3+))))
 | 
			
		||||
 | 
			
		||||
(define-public emacs-auto-sudoedit
 | 
			
		||||
  (package
 | 
			
		||||
    (name "emacs-auto-sudoedit")
 | 
			
		||||
| 
						 | 
				
			
			@ -6162,6 +6233,64 @@ and retrieving information using the SQLite program through Elisp programming.
 | 
			
		|||
It is not intended as a user interface.")
 | 
			
		||||
      (license license:gpl3+))))
 | 
			
		||||
 | 
			
		||||
(define-public emacs-sqlite3-api
 | 
			
		||||
  (package
 | 
			
		||||
    (name "emacs-sqlite3-api")
 | 
			
		||||
    (version "0.16")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method git-fetch)
 | 
			
		||||
              (uri (git-reference
 | 
			
		||||
                    (url "https://github.com/pekingduck/emacs-sqlite3-api")
 | 
			
		||||
                    (commit (string-append "v" version))))
 | 
			
		||||
              (file-name (git-file-name name version))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "0yrfwb3yvhp1ib4izxh1ds68b3zw8gjkjhlk1kivarxnfjnjnly2"))))
 | 
			
		||||
    (build-system emacs-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     (list
 | 
			
		||||
      #:tests? (not (%current-target-system))
 | 
			
		||||
      #:test-command #~(list "make" "test" "EMACS=emacs")
 | 
			
		||||
      #:modules '((guix build emacs-build-system)
 | 
			
		||||
                  (guix build emacs-utils)
 | 
			
		||||
                  (guix build utils))
 | 
			
		||||
      #:phases
 | 
			
		||||
      #~(modify-phases %standard-phases
 | 
			
		||||
          (add-after 'unpack 'patch-module-load
 | 
			
		||||
            (lambda _
 | 
			
		||||
              (make-file-writable "sqlite3.el")
 | 
			
		||||
              (emacs-substitute-sexps "sqlite3.el"
 | 
			
		||||
                ("(require 'sqlite3-api nil t)"
 | 
			
		||||
                 (string-append
 | 
			
		||||
                  "(module-load \"" #$output "/lib/sqlite3-api.so\")")))))
 | 
			
		||||
          (add-before 'check 'build-emacs-module
 | 
			
		||||
            (lambda _
 | 
			
		||||
              ;; Remove code that fetches constants from the SQLite website
 | 
			
		||||
              ;; and the call to generate a timestamp.
 | 
			
		||||
              (invoke "sed" "--in-place" "3,4d;24,28d;31d" "tools/gen-consts.sh")
 | 
			
		||||
              ;; Remove filter logic from the script that generates the constants.
 | 
			
		||||
              (invoke "sed" "--in-place" "7,11d;18,22d" "tools/gen-consts.py")
 | 
			
		||||
              ;; Generate the consts.c file.
 | 
			
		||||
              (invoke "make" "--directory=tools")
 | 
			
		||||
              ;; Remove the SQLITE_STATIC and SQLITE_TRANSIENT
 | 
			
		||||
              ;; constants. They cause a compilation warning and would have
 | 
			
		||||
              ;; been removed by the original script.
 | 
			
		||||
              (invoke "sed" "--in-place" "/ifdef SQLITE_STATIC/,+2d" "consts.c")
 | 
			
		||||
              (invoke "sed" "--in-place" "/ifdef SQLITE_TRANSIENT/,+2d" "consts.c")
 | 
			
		||||
              ;; Compile the shared object file.
 | 
			
		||||
              (invoke "make" #$(string-append "CC=" (cc-for-target)))
 | 
			
		||||
              ;; Move the shared object file into /lib.
 | 
			
		||||
              (install-file "sqlite3-api.so"
 | 
			
		||||
                            (string-append #$output "/lib")))))))
 | 
			
		||||
    (native-inputs (list python sed))
 | 
			
		||||
    (inputs (list sqlite))
 | 
			
		||||
    (home-page "https://github.com/pekingduck/emacs-sqlite3-api")
 | 
			
		||||
    (synopsis "Dynamic module for Emacs to access the SQLite C interface")
 | 
			
		||||
    (description "This package provides a dynamic module for Emacs that allows
 | 
			
		||||
direct access to the SQLite C interface.  It only exposes a subset of the full
 | 
			
		||||
SQLite C interface, but should satisfy most user's needs.")
 | 
			
		||||
    (license license:gpl3+)))
 | 
			
		||||
 | 
			
		||||
(define-public emacs-sr-speedbar
 | 
			
		||||
  (let ((commit "77a83fb50f763a465c021eca7343243f465b4a47")
 | 
			
		||||
        (revision "0"))
 | 
			
		||||
| 
						 | 
				
			
			@ -6725,14 +6854,14 @@ user.")
 | 
			
		|||
(define-public emacs-subed
 | 
			
		||||
  (package
 | 
			
		||||
    (name "emacs-subed")
 | 
			
		||||
    (version "1.0.8")
 | 
			
		||||
    (version "1.0.9")
 | 
			
		||||
    (source (origin
 | 
			
		||||
              (method url-fetch)
 | 
			
		||||
              (uri (string-append "https://elpa.nongnu.org/nongnu/subed-"
 | 
			
		||||
                                  version ".tar"))
 | 
			
		||||
              (sha256
 | 
			
		||||
               (base32
 | 
			
		||||
                "05dx4ywma7n73d0cihf4v8ayihm7gmfqpzvdycq4yk0zkxb958z1"))))
 | 
			
		||||
                "192m7pg8hiqx7ppr1sk6n5qjcbz78dmcg6m14syq12ll07zfpcm0"))))
 | 
			
		||||
    (arguments
 | 
			
		||||
     (list
 | 
			
		||||
      #:tests? #t
 | 
			
		||||
| 
						 | 
				
			
			@ -15755,7 +15884,7 @@ gnugo-image-display-mode}.")
 | 
			
		|||
(define-public emacs-transpose-frame
 | 
			
		||||
  (package
 | 
			
		||||
    (name "emacs-transpose-frame")
 | 
			
		||||
    (version "0.2.0")
 | 
			
		||||
    (version "0.2.1")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method git-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -15764,7 +15893,7 @@ gnugo-image-display-mode}.")
 | 
			
		|||
             (commit (string-append "v" version))))
 | 
			
		||||
       (file-name (git-file-name name version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "01j4ci0c52r2c31hc9r4p7nsb6s8blmvg50g9n5v5h3afjl1c35v"))))
 | 
			
		||||
        (base32 "0m9jmfwwhgkwxbq3y000ymx7parbgqr7gq3yjm2wh1ll747gv51y"))))
 | 
			
		||||
    (build-system emacs-build-system)
 | 
			
		||||
    (home-page "https://www.emacswiki.org/emacs/TransposeFrame")
 | 
			
		||||
    (synopsis "Transpose window arrangement in current frame")
 | 
			
		||||
| 
						 | 
				
			
			@ -15773,6 +15902,31 @@ functions which allows users to transpose windows arrangement in currently
 | 
			
		|||
selected frame.")
 | 
			
		||||
    (license license:bsd-2)))
 | 
			
		||||
 | 
			
		||||
(define-public emacs-transpose-mark
 | 
			
		||||
  ;; XXX: Upstream made no release so far, and did not add a Version keyword.
 | 
			
		||||
  (let ((commit "667327602004794de97214cf336ac61650ef75b7")
 | 
			
		||||
        (revision "0"))
 | 
			
		||||
    (package
 | 
			
		||||
      (name "emacs-transpose-mark")
 | 
			
		||||
      (version (git-version "0" revision commit))
 | 
			
		||||
      (source
 | 
			
		||||
       (origin
 | 
			
		||||
         (method git-fetch)
 | 
			
		||||
         (uri (git-reference
 | 
			
		||||
               (url "https://github.com/kwrooijen/transpose-mark")
 | 
			
		||||
               (commit commit)))
 | 
			
		||||
         (file-name (git-file-name name version))
 | 
			
		||||
         (sha256
 | 
			
		||||
          (base32 "03wc50vn1kmrgnzzhs06pwpap2p2rx84wwzxw0hawsg1f1l35m2x"))))
 | 
			
		||||
      (build-system emacs-build-system)
 | 
			
		||||
      (home-page "https://github.com/kwrooijen/transpose-mark")
 | 
			
		||||
      (synopsis "Library for transposing lines and regions")
 | 
			
		||||
      (description "Transpose mark provides some commands that makes
 | 
			
		||||
transposing lines and regions easier.  You can mark a line and transpose it
 | 
			
		||||
with a line at point, or mark a region and transpose it with another region
 | 
			
		||||
a point.  The plugin provides visual feedback for marked regions.")
 | 
			
		||||
      (license license:gpl3+))))
 | 
			
		||||
 | 
			
		||||
(define-public emacs-key-chord
 | 
			
		||||
  (package
 | 
			
		||||
    (name "emacs-key-chord")
 | 
			
		||||
| 
						 | 
				
			
			@ -16574,7 +16728,7 @@ which avoids some of the issues with using Emacs’s built-in Url library.")
 | 
			
		|||
(define-public emacs-ement
 | 
			
		||||
  (package
 | 
			
		||||
    (name "emacs-ement")
 | 
			
		||||
    (version "0.1.3")
 | 
			
		||||
    (version "0.1.4")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method git-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -16583,7 +16737,7 @@ which avoids some of the issues with using Emacs’s built-in Url library.")
 | 
			
		|||
             (commit (string-append "v" version))))
 | 
			
		||||
       (file-name (git-file-name name version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "075mwlc616rr86zgli36n6r8w09c5cvlk43by0f1xzla5rmiza8r"))))
 | 
			
		||||
        (base32 "1kms6l14h6ig8kphzpkxv16z7gpvcwvcfsp5ljssdnrx0c7dzz16"))))
 | 
			
		||||
    (build-system emacs-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:emacs ,emacs))               ;need libxml support
 | 
			
		||||
| 
						 | 
				
			
			@ -17525,7 +17679,10 @@ contexts.
 | 
			
		|||
             (commit (string-append "v" version))))
 | 
			
		||||
       (file-name (git-file-name name version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "18ssl2h861dm2jkd3df6wkfr48p8zk337dbvpq5522kia7fq1lbn"))))
 | 
			
		||||
        (base32 "18ssl2h861dm2jkd3df6wkfr48p8zk337dbvpq5522kia7fq1lbn"))
 | 
			
		||||
       (patches
 | 
			
		||||
        ;; XXX: Cherry-picked from upstream, remove when bumping to 0.2.3.
 | 
			
		||||
        (search-patches "emacs-polymode-fix-lexical-variable-error.patch"))))
 | 
			
		||||
    (build-system emacs-build-system)
 | 
			
		||||
    (home-page "https://github.com/polymode/polymode")
 | 
			
		||||
    (synopsis "Framework for multiple Emacs modes based on indirect buffers")
 | 
			
		||||
| 
						 | 
				
			
			@ -19292,7 +19449,7 @@ files to be expanded upon opening them.")
 | 
			
		|||
(define-public emacs-parsebib
 | 
			
		||||
  (package
 | 
			
		||||
    (name "emacs-parsebib")
 | 
			
		||||
    (version "4.2")
 | 
			
		||||
    (version "4.3")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method git-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -19301,7 +19458,7 @@ files to be expanded upon opening them.")
 | 
			
		|||
             (commit version)))
 | 
			
		||||
       (file-name (git-file-name name version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "0da4b6d65bq9xhyhq7h9g315zg6g5q9435vz870la966rgav5szd"))))
 | 
			
		||||
        (base32 "0vcl2wvxwpr62c9ym0fm3qaxzhjcrpk4r6r0zaqhkvlf8qr3rg8y"))))
 | 
			
		||||
    (build-system emacs-build-system)
 | 
			
		||||
    (home-page "https://github.com/joostkremers/parsebib")
 | 
			
		||||
    (synopsis "Library for parsing @file{.bib} files")
 | 
			
		||||
| 
						 | 
				
			
			@ -19619,7 +19776,7 @@ that it can display an error message showing how the parser fails.")
 | 
			
		|||
(define-public emacs-move-text
 | 
			
		||||
  (package
 | 
			
		||||
    (name "emacs-move-text")
 | 
			
		||||
    (version "2.0.8")
 | 
			
		||||
    (version "2.0.10")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method git-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -19628,7 +19785,7 @@ that it can display an error message showing how the parser fails.")
 | 
			
		|||
             (commit version)))
 | 
			
		||||
       (file-name (git-file-name name version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "06jxk5g23822gfmwrxhc34zand3dr8p2wjh1zs3j61ibz6n0nmz1"))))
 | 
			
		||||
        (base32 "0pxvipjp9xvr9zwiwij943jgpy7fk8pxphbdj0vrg8ar5avlqiam"))))
 | 
			
		||||
    (build-system emacs-build-system)
 | 
			
		||||
    (home-page "https://github.com/emacsfodder/move-text")
 | 
			
		||||
    (synopsis "Move current line or region with M-up or M-down")
 | 
			
		||||
| 
						 | 
				
			
			@ -21005,7 +21162,7 @@ and doesn't require memorisation of commands.
 | 
			
		|||
(define-public emacs-logview
 | 
			
		||||
  (package
 | 
			
		||||
    (name "emacs-logview")
 | 
			
		||||
    (version "0.15")
 | 
			
		||||
    (version "0.15.1")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method git-fetch)
 | 
			
		||||
| 
						 | 
				
			
			@ -21014,7 +21171,7 @@ and doesn't require memorisation of commands.
 | 
			
		|||
             (commit version)))
 | 
			
		||||
       (file-name (git-file-name name version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "08bn7fj336krlrsf7flk0fgx9mdkd44vq8sxyx6s1c1q5bc0hqnk"))))
 | 
			
		||||
        (base32 "1khri5632pjirj191x3ps94s4pyrwapf1pbrkmqqp0d26b50d3s2"))))
 | 
			
		||||
    (propagated-inputs
 | 
			
		||||
     (list emacs-datetime emacs-extmap))
 | 
			
		||||
    (build-system emacs-build-system)
 | 
			
		||||
| 
						 | 
				
			
			@ -30320,14 +30477,14 @@ detected language.")
 | 
			
		|||
(define-public emacs-persist
 | 
			
		||||
  (package
 | 
			
		||||
    (name "emacs-persist")
 | 
			
		||||
    (version "0.4")
 | 
			
		||||
    (version "0.5")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
       (uri (string-append "https://elpa.gnu.org/packages/"
 | 
			
		||||
                           "persist-" version ".tar"))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "0gpxy41qawzss2526j9a7lys60vqma1lvamn4bfabwza7gfhac0q"))))
 | 
			
		||||
        (base32 "090n4479zs82by7a3vb551gyjvv8lpfcylk43ywr2lfyssc9xiq0"))))
 | 
			
		||||
    (build-system emacs-build-system)
 | 
			
		||||
    (home-page "http://elpa.gnu.org/packages/persist.html")
 | 
			
		||||
    (synopsis "Persist variables between Emacs sessions")
 | 
			
		||||
| 
						 | 
				
			
			@ -30655,6 +30812,34 @@ conventions.")
 | 
			
		|||
snippets for Emacs.")
 | 
			
		||||
      (license license:expat))))
 | 
			
		||||
 | 
			
		||||
(define-public emacs-orca
 | 
			
		||||
  ;; XXX: Upstream did not tag any commit so far.  Base version is extracted
 | 
			
		||||
  ;; from Version keyword.
 | 
			
		||||
  (let ((commit "0687f416a5573f63b691d384454f5a793266ed97")
 | 
			
		||||
        (revision "0"))
 | 
			
		||||
    (package
 | 
			
		||||
      (name "emacs-orca")
 | 
			
		||||
      (version (git-version "0.1.0" revision commit))
 | 
			
		||||
      (source
 | 
			
		||||
       (origin
 | 
			
		||||
         (method git-fetch)
 | 
			
		||||
         (uri (git-reference
 | 
			
		||||
               (url "https://github.com/abo-abo/orca")
 | 
			
		||||
               (commit commit)))
 | 
			
		||||
         (sha256
 | 
			
		||||
          (base32 "00a363vkqvryw5s7pj0kh8pqq5vvbf1pmbzz0b1z1fckwr49sv0f"))))
 | 
			
		||||
      (build-system emacs-build-system)
 | 
			
		||||
      (propagated-inputs (list emacs-zoutline))
 | 
			
		||||
      (home-page "https://github.com/abo-abo/orca")
 | 
			
		||||
      (synopsis "Handler for Org Capture")
 | 
			
		||||
      (description
 | 
			
		||||
       "This package provides several convenient recipes for configuring Org
 | 
			
		||||
Capture, mainly for capturing from a browser.  It can match URLs and inject
 | 
			
		||||
the capture in a targeted Org file, under a targeted heading.  The more this
 | 
			
		||||
package is configured, the less refiling is needed on your captures: they will
 | 
			
		||||
go directly to where they belong.")
 | 
			
		||||
      (license license:gpl3+))))
 | 
			
		||||
 | 
			
		||||
(define-public emacs-org-roam
 | 
			
		||||
  (package
 | 
			
		||||
    (name "emacs-org-roam")
 | 
			
		||||
| 
						 | 
				
			
			@ -30717,6 +30902,34 @@ as a plug-and-play solution for anyone already using Org mode for their
 | 
			
		|||
personal wiki.")
 | 
			
		||||
    (license license:gpl3+)))
 | 
			
		||||
 | 
			
		||||
(define-public emacs-org-roam-ui
 | 
			
		||||
  (let ((commit "c75fc7506ee7f03840a9a93ed9336d7ed24551aa")
 | 
			
		||||
        (revision "0"))
 | 
			
		||||
    (package
 | 
			
		||||
      (name "emacs-org-roam-ui")
 | 
			
		||||
      (version (git-version "0.1" revision commit))
 | 
			
		||||
      (source
 | 
			
		||||
       (origin
 | 
			
		||||
         (method git-fetch)
 | 
			
		||||
         (uri (git-reference
 | 
			
		||||
               (url "https://github.com/org-roam/org-roam-ui")
 | 
			
		||||
               (commit commit)))
 | 
			
		||||
         (sha256
 | 
			
		||||
          (base32 "0mkcd2622np8s5qz2zvx7lch6dc586xqmn6914gi4ym7nvklf3zy"))))
 | 
			
		||||
      (build-system emacs-build-system)
 | 
			
		||||
      (arguments
 | 
			
		||||
       (list #:include #~(cons "^out" %default-include)))
 | 
			
		||||
      (propagated-inputs
 | 
			
		||||
       (list emacs-org-roam emacs-simple-httpd emacs-websocket))
 | 
			
		||||
      (home-page "https://github.com/org-roam/org-roam-ui")
 | 
			
		||||
      (synopsis "Web User Interface for Org Roam")
 | 
			
		||||
      (description
 | 
			
		||||
       "Org Roam UI is meant as a successor of Org Roam server that extends
 | 
			
		||||
functionality of Org Roam with a web app that runs side-by-side with Emacs,
 | 
			
		||||
providing a web interface for navigating around notes created within Org
 | 
			
		||||
Roam.")
 | 
			
		||||
      (license license:gpl3+))))
 | 
			
		||||
 | 
			
		||||
(define-public emacs-org-roam-bibtex
 | 
			
		||||
  (package
 | 
			
		||||
    (name "emacs-org-roam-bibtex")
 | 
			
		||||
| 
						 | 
				
			
			@ -31575,14 +31788,14 @@ work on alists, hash-table and arrays.  All functions are prefixed with
 | 
			
		|||
(define-public emacs-xref
 | 
			
		||||
  (package
 | 
			
		||||
    (name "emacs-xref")
 | 
			
		||||
    (version "1.5.0")
 | 
			
		||||
    (version "1.5.1")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
       (uri (string-append "https://elpa.gnu.org/packages/xref-"
 | 
			
		||||
                           version ".tar"))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "0xl6aiwkjbgs44c3wxk6s85diydm3y5lsd7znb0dhbqb7milid2d"))))
 | 
			
		||||
        (base32 "131jxsc1sl8q3r9drhylwyfig9qjjkj3hilv3npidp868pr7xdna"))))
 | 
			
		||||
    (build-system emacs-build-system)
 | 
			
		||||
    (home-page "http://elpa.gnu.org/packages/xref.html")
 | 
			
		||||
    (synopsis "Cross-referencing commands")
 | 
			
		||||
| 
						 | 
				
			
			@ -32155,14 +32368,14 @@ are prefixed with @code{seq-} and work on lists, strings, and vectors.")
 | 
			
		|||
(define-public emacs-setup
 | 
			
		||||
  (package
 | 
			
		||||
    (name "emacs-setup")
 | 
			
		||||
    (version "1.3.0")
 | 
			
		||||
    (version "1.3.1")
 | 
			
		||||
    (source
 | 
			
		||||
      (origin
 | 
			
		||||
        (method url-fetch)
 | 
			
		||||
        (uri (string-append "https://elpa.gnu.org/packages/setup-"
 | 
			
		||||
                            version ".tar"))
 | 
			
		||||
        (sha256
 | 
			
		||||
          (base32 "0r13ry73jm31j8fq7v1sh0k113fr4blfkiz85696bdpah2pnca87"))))
 | 
			
		||||
          (base32 "0n9zjclf4b2sr8c8zd37fs45p25p3856frm419c9hch69hhcsv3a"))))
 | 
			
		||||
    (build-system emacs-build-system)
 | 
			
		||||
    (home-page "https://git.sr.ht/~pkal/setup")
 | 
			
		||||
    (synopsis "Helpful configuration macro")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -409,6 +409,10 @@ languages.")
 | 
			
		|||
  (package
 | 
			
		||||
    (inherit emacs-next)
 | 
			
		||||
    (name "emacs-next-pgtk")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (inherit (package-source emacs-next))
 | 
			
		||||
       (patches (search-patches "emacs-pgtk-super-key-fix.patch"))))
 | 
			
		||||
    (arguments
 | 
			
		||||
     (substitute-keyword-arguments (package-arguments emacs-next)
 | 
			
		||||
       ((#:configure-flags flags #~'())
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -447,8 +447,15 @@ converts any cubic curves to quadratic.  The most useful function is probably
 | 
			
		|||
       (sha256
 | 
			
		||||
        (base32 "068hm62s1iphyg66w96vgiif6ahpcsaf8fr44rk6jdf71f6fyqd5"))))
 | 
			
		||||
    (build-system python-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     (list #:phases
 | 
			
		||||
           #~(modify-phases %standard-phases
 | 
			
		||||
               (replace 'check
 | 
			
		||||
                 (lambda* (#:key tests? #:allow-other-keys)
 | 
			
		||||
                   (when tests?
 | 
			
		||||
                     (invoke "pytest" "-vv")))))))
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     (list python-pytest python-pytest-runner python-setuptools-scm))
 | 
			
		||||
     (list python-pytest python-setuptools-scm))
 | 
			
		||||
    (propagated-inputs
 | 
			
		||||
     (list python-booleanoperations
 | 
			
		||||
           python-cffsubr
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2366,7 +2366,14 @@ visualization.")
 | 
			
		|||
                           (version-major version) "/SAGA%20-%20" version
 | 
			
		||||
                           "/saga-" version ".tar.gz"))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "008izjs6gvj09abxf16ssl1xy0ay3ljq4jswbggp6wiiq459minv"))))
 | 
			
		||||
        (base32 "008izjs6gvj09abxf16ssl1xy0ay3ljq4jswbggp6wiiq459minv"))
 | 
			
		||||
       (modules '((guix build utils)))
 | 
			
		||||
       (snippet
 | 
			
		||||
        '(substitute* "saga-gis/src/tools/docs/docs_pdf/doc_pdf.cpp"
 | 
			
		||||
           (("^#include <hpdf\\.h>\n" all)
 | 
			
		||||
            (string-append all "#include <hpdf_version.h>\n"))
 | 
			
		||||
           (("\\bHPDF_PROJECTING_SCUARE_END\\b")
 | 
			
		||||
            "HPDF_PROJECTING_SQUARE_END")))))
 | 
			
		||||
    (build-system cmake-build-system)
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     (list pkg-config swig))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2293,6 +2293,7 @@ The gnome-about program helps find which version of GNOME is installed.")
 | 
			
		|||
    (build-system meson-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:configure-flags '("-Dlogind=libelogind")
 | 
			
		||||
       #:meson ,meson-0.60
 | 
			
		||||
       #:phases
 | 
			
		||||
       (modify-phases %standard-phases
 | 
			
		||||
         (add-after 'unpack 'skip-gtk-update-icon-cache
 | 
			
		||||
| 
						 | 
				
			
			@ -5815,7 +5816,10 @@ services for numerous locations.")
 | 
			
		|||
              "-Dsystemd=false"
 | 
			
		||||
              ;; Otherwise, the RUNPATH will lack the final path component.
 | 
			
		||||
              (string-append "-Dc_link_args=-Wl,-rpath=" #$output
 | 
			
		||||
                             "/lib/gnome-settings-daemon-3.0"))
 | 
			
		||||
                             "/lib/gnome-settings-daemon-3.0:"
 | 
			
		||||
                             ;; Also add NSS because for some reason Meson
 | 
			
		||||
                             ;; > 0.60 does not add it automatically (XXX).
 | 
			
		||||
                             (search-input-directory %build-inputs "lib/nss")))
 | 
			
		||||
      #:phases
 | 
			
		||||
      #~(modify-phases %standard-phases
 | 
			
		||||
          (add-before 'configure 'set-baobab-file-name
 | 
			
		||||
| 
						 | 
				
			
			@ -9613,7 +9617,8 @@ can add your own files to the collection.")
 | 
			
		|||
         "15wmikwk62cdi93gas77nqh4fbhlrxrncyfmcd1gfa34jbn7vnsa"))))
 | 
			
		||||
    (build-system meson-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     '(#:glib-or-gtk? #t
 | 
			
		||||
     `(#:meson ,meson-0.60
 | 
			
		||||
       #:glib-or-gtk? #t
 | 
			
		||||
       #:phases
 | 
			
		||||
       (modify-phases %standard-phases
 | 
			
		||||
         (add-after 'unpack 'skip-gtk-update-icon-cache
 | 
			
		||||
| 
						 | 
				
			
			@ -9655,6 +9660,8 @@ beautifying border effects.")
 | 
			
		|||
        (base32
 | 
			
		||||
         "1qvrxrk1h8bd75xwasxbvlkqrw6xkavjimvc7sslkw6lvb3z86jp"))))
 | 
			
		||||
    (build-system meson-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     (list #:meson meson-0.60))
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     `(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
 | 
			
		||||
       ("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
 | 
			
		||||
| 
						 | 
				
			
			@ -12022,6 +12029,7 @@ desktop environment.")
 | 
			
		|||
           gspell
 | 
			
		||||
           gtk
 | 
			
		||||
           gjs
 | 
			
		||||
           libadwaita
 | 
			
		||||
           libsecret
 | 
			
		||||
           libsoup
 | 
			
		||||
           telepathy-glib
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -476,7 +476,21 @@ the GStreamer multimedia framework.")
 | 
			
		|||
    (arguments
 | 
			
		||||
     (list #:phases
 | 
			
		||||
           #~(modify-phases %standard-phases
 | 
			
		||||
               #$@%common-gstreamer-phases)))
 | 
			
		||||
               #$@%common-gstreamer-phases
 | 
			
		||||
               #$@(if (string-prefix? "i686" (or (%current-target-system)
 | 
			
		||||
                                                 (%current-system)))
 | 
			
		||||
                      ;; FIXME: These tests consistently fail in the Guix CI:
 | 
			
		||||
                      ;;   https://issues.guix.gnu.org/57868
 | 
			
		||||
                      '((add-after 'unpack 'disable-systemclock-test
 | 
			
		||||
                          (lambda _
 | 
			
		||||
                            (substitute* "tests/check/gst/gstsystemclock.c"
 | 
			
		||||
                              (("tcase_add_test \\(tc_chain, \
 | 
			
		||||
test_stress_cleanup_unschedule.*")
 | 
			
		||||
                               "")
 | 
			
		||||
                              (("tcase_add_test \\(tc_chain, \
 | 
			
		||||
test_stress_reschedule.*")
 | 
			
		||||
                               "")))))
 | 
			
		||||
                      '()))))
 | 
			
		||||
    (propagated-inputs
 | 
			
		||||
     ;; In gstreamer-1.0.pc:
 | 
			
		||||
     ;;   Requires: glib-2.0, gobject-2.0
 | 
			
		||||
| 
						 | 
				
			
			@ -880,7 +894,7 @@ model to base your own plug-in on, here it is.")
 | 
			
		|||
            openjpeg
 | 
			
		||||
            ;; openni2
 | 
			
		||||
            opensles
 | 
			
		||||
            openssl
 | 
			
		||||
            openssl-1.1
 | 
			
		||||
            opus
 | 
			
		||||
            orc
 | 
			
		||||
            pango
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -329,9 +329,13 @@ many popular formats.")
 | 
			
		|||
                      (string-append "ThirdParty/" dir "/vtk" dir)))
 | 
			
		||||
                   ;; pugixml depended upon unconditionally
 | 
			
		||||
                   '("doubleconversion" "eigen" "expat" "freetype" "gl2ps"
 | 
			
		||||
                      "glew" "hdf5" "jpeg" "jsoncpp" "libproj" "libxml2" "lz4"
 | 
			
		||||
                      "netcdf" "ogg" "png" "sqlite" "theora" "tiff" "zlib"))
 | 
			
		||||
                  #t))))
 | 
			
		||||
                     "glew" "hdf5" "jpeg" "jsoncpp" "libharu" "libproj"
 | 
			
		||||
                     "libxml2" "lz4" "netcdf" "ogg" "png" "sqlite" "theora"
 | 
			
		||||
                     "tiff" "zlib"))
 | 
			
		||||
                  (substitute* "IO/ExportPDF/vtkPDFContextDevice2D.cxx"
 | 
			
		||||
                    (("\\bHPDF_UINT16 (noPen|dash|dot|denseDot|dashDot|dashDotDot)\\b"
 | 
			
		||||
                      _ var)
 | 
			
		||||
                     (string-append "HPDF_REAL " var)))))))
 | 
			
		||||
    (properties `((release-monitoring-url . "https://vtk.org/download/")))
 | 
			
		||||
    (build-system cmake-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
| 
						 | 
				
			
			@ -348,6 +352,7 @@ many popular formats.")
 | 
			
		|||
                           "-DVTK_MODULE_USE_EXTERNAL_VTK_hdf5=ON"
 | 
			
		||||
                           "-DVTK_MODULE_USE_EXTERNAL_VTK_jpeg=ON"
 | 
			
		||||
                           "-DVTK_MODULE_USE_EXTERNAL_VTK_jsoncpp=ON"
 | 
			
		||||
                           "-DVTK_MODULE_USE_EXTERNAL_VTK_libharu=ON"
 | 
			
		||||
                           "-DVTK_MODULE_USE_EXTERNAL_VTK_libproj=ON"
 | 
			
		||||
                           "-DVTK_MODULE_USE_EXTERNAL_VTK_libxml2=ON"
 | 
			
		||||
                           "-DVTK_MODULE_USE_EXTERNAL_VTK_lz4=ON"
 | 
			
		||||
| 
						 | 
				
			
			@ -381,6 +386,7 @@ many popular formats.")
 | 
			
		|||
           glew
 | 
			
		||||
           glu
 | 
			
		||||
           hdf5
 | 
			
		||||
           libharu
 | 
			
		||||
           libjpeg-turbo
 | 
			
		||||
           jsoncpp
 | 
			
		||||
           libtheora
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -353,17 +353,17 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
 | 
			
		|||
;; The current "stable" kernels. That is, the most recently released major
 | 
			
		||||
;; versions that are still supported upstream.
 | 
			
		||||
 | 
			
		||||
(define-public linux-libre-5.19-version "5.19.8")
 | 
			
		||||
(define-public linux-libre-5.19-version "5.19.9")
 | 
			
		||||
(define-public linux-libre-5.19-gnu-revision "gnu")
 | 
			
		||||
(define deblob-scripts-5.19
 | 
			
		||||
  (linux-libre-deblob-scripts
 | 
			
		||||
   linux-libre-5.19-version
 | 
			
		||||
   linux-libre-5.19-gnu-revision
 | 
			
		||||
   (base32 "1lk90psz33ldb8aiaws4iayhycl5bmywr6badvzffjpr87s5phxw")
 | 
			
		||||
   (base32 "1ph67fvg5qvlkh4cynrrmvkngkb0sw6k90b1mwy9466s24khn05i")))
 | 
			
		||||
   (base32 "092myqjixvy1k3ylcj0hfc4whfxapjvxsxm4gk30a3jv5dnh7mly")))
 | 
			
		||||
(define-public linux-libre-5.19-pristine-source
 | 
			
		||||
  (let ((version linux-libre-5.19-version)
 | 
			
		||||
        (hash (base32 "1kl7fifsa6vsm34xg3kd2svhx18n771hfj67nhwnlalmb9whhqv1")))
 | 
			
		||||
        (hash (base32 "0dvzjbyknzlx4ndz77fsm6v28fj2chxbq1z85fbc3bckcscbbm8a")))
 | 
			
		||||
   (make-linux-libre-source version
 | 
			
		||||
                            (%upstream-linux-source version hash)
 | 
			
		||||
                            deblob-scripts-5.19)))
 | 
			
		||||
| 
						 | 
				
			
			@ -372,22 +372,22 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
 | 
			
		|||
;; The "longterm" kernels — the older releases with long-term upstream support.
 | 
			
		||||
;; Here are the support timelines:
 | 
			
		||||
;; <https://www.kernel.org/category/releases.html>
 | 
			
		||||
(define-public linux-libre-5.15-version "5.15.67")
 | 
			
		||||
(define-public linux-libre-5.15-version "5.15.68")
 | 
			
		||||
(define-public linux-libre-5.15-gnu-revision "gnu")
 | 
			
		||||
(define deblob-scripts-5.15
 | 
			
		||||
  (linux-libre-deblob-scripts
 | 
			
		||||
   linux-libre-5.15-version
 | 
			
		||||
   linux-libre-5.15-gnu-revision
 | 
			
		||||
   (base32 "0vj60bra81fmbx3lz924czbhxs4dmvd4d584g9mcs80b7c4q52kg")
 | 
			
		||||
   (base32 "1r189c704jvizk452zcsm9v3g27ybjcjchjwxazsy3nx0wdwx7si")))
 | 
			
		||||
   (base32 "048r4synfax2ajyzlmp672b68yshxwlfccdah2vz1kh88rqfmgsc")))
 | 
			
		||||
(define-public linux-libre-5.15-pristine-source
 | 
			
		||||
  (let ((version linux-libre-5.15-version)
 | 
			
		||||
        (hash (base32 "0h7r2k59jsw8ykb2p7nxrpazbwx1n5p3nmfbbj1lhib91fldjiys")))
 | 
			
		||||
        (hash (base32 "0zlb44bwpc0hwfynzz5v5b3lkv4aha7w5737ns1qb8cvbk5v7fqp")))
 | 
			
		||||
   (make-linux-libre-source version
 | 
			
		||||
                            (%upstream-linux-source version hash)
 | 
			
		||||
                            deblob-scripts-5.15)))
 | 
			
		||||
 | 
			
		||||
(define-public linux-libre-5.10-version "5.10.142")
 | 
			
		||||
(define-public linux-libre-5.10-version "5.10.143")
 | 
			
		||||
(define-public linux-libre-5.10-gnu-revision "gnu1")
 | 
			
		||||
(define deblob-scripts-5.10
 | 
			
		||||
  (linux-libre-deblob-scripts
 | 
			
		||||
| 
						 | 
				
			
			@ -397,12 +397,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
 | 
			
		|||
   (base32 "1981axxswghza3iadp94q54y8w30h9w9vyq4cbjiiv9alvbv0pb8")))
 | 
			
		||||
(define-public linux-libre-5.10-pristine-source
 | 
			
		||||
  (let ((version linux-libre-5.10-version)
 | 
			
		||||
        (hash (base32 "0s52vfvw5pgnq7gq9n66ib05ryhkxwv765f16862l5gykbdynirz")))
 | 
			
		||||
        (hash (base32 "14af0lsvgh1k0fh283d0nrm1pkrk2kaf2mz0ab59vlvjybg9wb7s")))
 | 
			
		||||
   (make-linux-libre-source version
 | 
			
		||||
                            (%upstream-linux-source version hash)
 | 
			
		||||
                            deblob-scripts-5.10)))
 | 
			
		||||
 | 
			
		||||
(define-public linux-libre-5.4-version "5.4.212")
 | 
			
		||||
(define-public linux-libre-5.4-version "5.4.213")
 | 
			
		||||
(define-public linux-libre-5.4-gnu-revision "gnu1")
 | 
			
		||||
(define deblob-scripts-5.4
 | 
			
		||||
  (linux-libre-deblob-scripts
 | 
			
		||||
| 
						 | 
				
			
			@ -412,12 +412,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
 | 
			
		|||
   (base32 "1vnjbdyssa7dwyjl9kg35alwvf7yh597cl74yr1wy2gk5bc9paw6")))
 | 
			
		||||
(define-public linux-libre-5.4-pristine-source
 | 
			
		||||
  (let ((version linux-libre-5.4-version)
 | 
			
		||||
        (hash (base32 "1hngr4hsrcd6hmlyvc3msy5racniav2jagp5abmp7xsxv0yjxiq9")))
 | 
			
		||||
        (hash (base32 "1wdssqmac66zqsnq5lx2z8ampa0rd3qswg0gm1sh6n3y8xlf2z76")))
 | 
			
		||||
   (make-linux-libre-source version
 | 
			
		||||
                            (%upstream-linux-source version hash)
 | 
			
		||||
                            deblob-scripts-5.4)))
 | 
			
		||||
 | 
			
		||||
(define-public linux-libre-4.19-version "4.19.257")
 | 
			
		||||
(define-public linux-libre-4.19-version "4.19.258")
 | 
			
		||||
(define-public linux-libre-4.19-gnu-revision "gnu1")
 | 
			
		||||
(define deblob-scripts-4.19
 | 
			
		||||
  (linux-libre-deblob-scripts
 | 
			
		||||
| 
						 | 
				
			
			@ -427,12 +427,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
 | 
			
		|||
   (base32 "00i91lx938nqlgy63hiricqd0fnbbf26vgya9c5lb7m1f4x324im")))
 | 
			
		||||
(define-public linux-libre-4.19-pristine-source
 | 
			
		||||
  (let ((version linux-libre-4.19-version)
 | 
			
		||||
        (hash (base32 "0izaldl2l2zsshkd07qsnr9x6ikipmj5jp7lxr8dyz7kf2m17pga")))
 | 
			
		||||
        (hash (base32 "002sw8b272dzkp3vff0x89sbj5p3vrrikqygfdgrsxv7k3w4459x")))
 | 
			
		||||
    (make-linux-libre-source version
 | 
			
		||||
                             (%upstream-linux-source version hash)
 | 
			
		||||
                             deblob-scripts-4.19)))
 | 
			
		||||
 | 
			
		||||
(define-public linux-libre-4.14-version "4.14.292")
 | 
			
		||||
(define-public linux-libre-4.14-version "4.14.293")
 | 
			
		||||
(define-public linux-libre-4.14-gnu-revision "gnu1")
 | 
			
		||||
(define deblob-scripts-4.14
 | 
			
		||||
  (linux-libre-deblob-scripts
 | 
			
		||||
| 
						 | 
				
			
			@ -442,12 +442,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
 | 
			
		|||
   (base32 "00i91lx938nqlgy63hiricqd0fnbbf26vgya9c5lb7m1f4x324im")))
 | 
			
		||||
(define-public linux-libre-4.14-pristine-source
 | 
			
		||||
  (let ((version linux-libre-4.14-version)
 | 
			
		||||
        (hash (base32 "0zc97qy62dhc5xkjnvsfn4lpl4dgrj23hlxvxcr4cr8sj0hxzx3h")))
 | 
			
		||||
        (hash (base32 "047gl9nqrvpi9jaxlmhfnx848qvnrhf13710ka8fwn3lyv22k342")))
 | 
			
		||||
    (make-linux-libre-source version
 | 
			
		||||
                             (%upstream-linux-source version hash)
 | 
			
		||||
                             deblob-scripts-4.14)))
 | 
			
		||||
 | 
			
		||||
(define-public linux-libre-4.9-version "4.9.327")
 | 
			
		||||
(define-public linux-libre-4.9-version "4.9.328")
 | 
			
		||||
(define-public linux-libre-4.9-gnu-revision "gnu1")
 | 
			
		||||
(define deblob-scripts-4.9
 | 
			
		||||
  (linux-libre-deblob-scripts
 | 
			
		||||
| 
						 | 
				
			
			@ -457,7 +457,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
 | 
			
		|||
   (base32 "0bib3641dbcqdkx3anna3caxnsg3nw9cnmhcklq0s93g3m57041h")))
 | 
			
		||||
(define-public linux-libre-4.9-pristine-source
 | 
			
		||||
  (let ((version linux-libre-4.9-version)
 | 
			
		||||
        (hash (base32 "1lh63viynf9f7vl0a52mnal8jack9lbqfsfammwkxi3kafpw30r2")))
 | 
			
		||||
        (hash (base32 "1px2np3k796cjwq1sp9gfxyql6hqyqya82vq9cb5y0canq6fqmg8")))
 | 
			
		||||
    (make-linux-libre-source version
 | 
			
		||||
                             (%upstream-linux-source version hash)
 | 
			
		||||
                             deblob-scripts-4.9)))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1253,45 +1253,45 @@ of xmpppy.")
 | 
			
		|||
          "3.9"
 | 
			
		||||
          "/site-packages"))))))
 | 
			
		||||
    (native-inputs
 | 
			
		||||
     `(("gettext" ,gettext-minimal)
 | 
			
		||||
       ("glib:bin" ,glib "bin")
 | 
			
		||||
       ("gobject-introspection" ,gobject-introspection)
 | 
			
		||||
       ("gtk+:bin" ,gtk+ "bin")
 | 
			
		||||
       ("python-distutils-extra" ,python-distutils-extra)
 | 
			
		||||
       ("python-setuptools" ,python-setuptools)
 | 
			
		||||
       ("xorg-server" ,xorg-server-for-tests)))
 | 
			
		||||
     (list gettext-minimal
 | 
			
		||||
           `(,glib "bin")
 | 
			
		||||
           gobject-introspection
 | 
			
		||||
           `(,gtk+ "bin")
 | 
			
		||||
           python-distutils-extra
 | 
			
		||||
           python-setuptools
 | 
			
		||||
           xorg-server-for-tests))
 | 
			
		||||
    (inputs
 | 
			
		||||
     `(("avahi" ,avahi)
 | 
			
		||||
       ("dbus" ,dbus)
 | 
			
		||||
       ("farstream" ,farstream)
 | 
			
		||||
       ("geoclue" ,geoclue)
 | 
			
		||||
       ("glib" ,glib)
 | 
			
		||||
       ("glib-networking" ,glib-networking)
 | 
			
		||||
       ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
 | 
			
		||||
       ("gsound",gsound)
 | 
			
		||||
       ("gspell" ,gspell)
 | 
			
		||||
       ("gstreamer" ,gstreamer)
 | 
			
		||||
       ("gst-plugins-base" ,gst-plugins-base)
 | 
			
		||||
       ("gtk+" ,gtk+)
 | 
			
		||||
       ("gtksourceview" ,gtksourceview-4)
 | 
			
		||||
       ("gupnp-igd" ,gupnp-igd)
 | 
			
		||||
       ("libappindicator" ,libappindicator)
 | 
			
		||||
       ("libnice" ,libnice)
 | 
			
		||||
       ("libsecret" ,libsecret)
 | 
			
		||||
       ("libsoup" ,libsoup)
 | 
			
		||||
       ("libxss" ,libxscrnsaver)
 | 
			
		||||
       ("network-manager" ,network-manager)
 | 
			
		||||
       ("python-css-parser" ,python-css-parser)
 | 
			
		||||
       ("python-dbus" ,python-dbus)
 | 
			
		||||
       ("python-gssapi" ,python-gssapi)
 | 
			
		||||
       ("python-keyring" ,python-keyring)
 | 
			
		||||
       ("python-nbxmpp" ,python-nbxmpp)
 | 
			
		||||
       ("python-packaging" ,python-packaging)
 | 
			
		||||
       ("python-pillow" ,python-pillow)
 | 
			
		||||
       ("python-precis-i18n" ,python-precis-i18n)
 | 
			
		||||
       ("python-pycairo" ,python-pycairo)
 | 
			
		||||
       ("python-pygobject" ,python-pygobject)
 | 
			
		||||
       ("python-pyopenssl" ,python-pyopenssl)))
 | 
			
		||||
     (list avahi
 | 
			
		||||
           dbus
 | 
			
		||||
           farstream
 | 
			
		||||
           geoclue
 | 
			
		||||
           glib
 | 
			
		||||
           glib-networking
 | 
			
		||||
           gsettings-desktop-schemas
 | 
			
		||||
           gsound
 | 
			
		||||
           gspell
 | 
			
		||||
           gstreamer
 | 
			
		||||
           gst-plugins-base
 | 
			
		||||
           gtk+
 | 
			
		||||
           gtksourceview-4
 | 
			
		||||
           gupnp-igd
 | 
			
		||||
           libappindicator
 | 
			
		||||
           libnice
 | 
			
		||||
           libsecret
 | 
			
		||||
           libsoup
 | 
			
		||||
           libxscrnsaver
 | 
			
		||||
           network-manager
 | 
			
		||||
           python-css-parser
 | 
			
		||||
           python-dbus
 | 
			
		||||
           python-gssapi
 | 
			
		||||
           python-keyring
 | 
			
		||||
           python-nbxmpp
 | 
			
		||||
           python-packaging
 | 
			
		||||
           python-pillow
 | 
			
		||||
           python-precis-i18n
 | 
			
		||||
           python-pycairo
 | 
			
		||||
           python-pygobject
 | 
			
		||||
           python-pyopenssl))
 | 
			
		||||
    (propagated-inputs
 | 
			
		||||
     (list dconf))
 | 
			
		||||
    (synopsis "Fully-featured XMPP client")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -155,7 +155,7 @@ time-stamping or reference clock, sub-microsecond accuracy is possible.")
 | 
			
		|||
           #t))))
 | 
			
		||||
   (native-inputs (list which pkg-config))
 | 
			
		||||
   (inputs
 | 
			
		||||
    `(("openssl" ,openssl)
 | 
			
		||||
    `(("openssl" ,openssl-1.1)
 | 
			
		||||
      ("libevent" ,libevent)
 | 
			
		||||
      ;; Build with POSIX capabilities support on GNU/Linux.  This allows 'ntpd'
 | 
			
		||||
      ;; to run as non-root (when invoked with '-u'.)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										49
									
								
								gnu/packages/patches/emacs-pgtk-super-key-fix.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								gnu/packages/patches/emacs-pgtk-super-key-fix.patch
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,49 @@
 | 
			
		|||
From a897516fc5ec380938115ad42023f279d128fc1e Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: Andrew Tropin <andrew@trop.in>
 | 
			
		||||
Date: Fri, 16 Sep 2022 15:24:19 +0300
 | 
			
		||||
Subject: [PATCH] Workaround gtk bug for superkey handling
 | 
			
		||||
 | 
			
		||||
https://gitlab.gnome.org/GNOME/gtk/-/issues/4913
 | 
			
		||||
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=55362
 | 
			
		||||
Patch based on Thomas Jost's suggestion.
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
 src/pgtkterm.c | 9 +++++----
 | 
			
		||||
 1 file changed, 5 insertions(+), 4 deletions(-)
 | 
			
		||||
 | 
			
		||||
diff --git a/src/pgtkterm.c b/src/pgtkterm.c
 | 
			
		||||
index 491ba33882..d5a9970693 100644
 | 
			
		||||
--- a/src/pgtkterm.c
 | 
			
		||||
+++ b/src/pgtkterm.c
 | 
			
		||||
@@ -5051,7 +5051,7 @@ pgtk_gtk_to_emacs_modifiers (struct pgtk_display_info *dpyinfo, int state)
 | 
			
		||||
     mod |= mod_ctrl;
 | 
			
		||||
   if (state & GDK_META_MASK || state & GDK_MOD1_MASK)
 | 
			
		||||
     mod |= mod_meta;
 | 
			
		||||
-  if (state & GDK_SUPER_MASK)
 | 
			
		||||
+  if (state & GDK_SUPER_MASK || state & GDK_MOD4_MASK)
 | 
			
		||||
     mod |= mod_super;
 | 
			
		||||
   if (state & GDK_HYPER_MASK)
 | 
			
		||||
     mod |= mod_hyper;
 | 
			
		||||
@@ -5184,7 +5184,7 @@ key_press_event (GtkWidget *widget, GdkEvent *event, gpointer *user_data)
 | 
			
		||||
       /* While super is pressed, the input method will always always
 | 
			
		||||
 	 resend the key events ignoring super.  As a workaround, don't
 | 
			
		||||
 	 filter key events with super or hyper pressed.  */
 | 
			
		||||
-      if (!(event->key.state & (GDK_SUPER_MASK | GDK_HYPER_MASK)))
 | 
			
		||||
+      if (!(event->key.state & (GDK_SUPER_MASK | GDK_MOD4_MASK | GDK_HYPER_MASK)))
 | 
			
		||||
 	{
 | 
			
		||||
 	  if (pgtk_im_filter_keypress (f, &event->key))
 | 
			
		||||
 	    return TRUE;
 | 
			
		||||
@@ -5199,8 +5199,9 @@ key_press_event (GtkWidget *widget, GdkEvent *event, gpointer *user_data)
 | 
			
		||||
       /* make_lispy_event turns chars into control chars.
 | 
			
		||||
          Don't do it here because XLookupString is too eager.  */
 | 
			
		||||
       state &= ~GDK_CONTROL_MASK;
 | 
			
		||||
-      state &= ~(GDK_META_MASK
 | 
			
		||||
-		 | GDK_SUPER_MASK | GDK_HYPER_MASK | GDK_MOD1_MASK);
 | 
			
		||||
+      state &= ~(GDK_META_MASK | GDK_MOD1_MASK
 | 
			
		||||
+		 | GDK_SUPER_MASK | GDK_MOD4_MASK
 | 
			
		||||
+		 | GDK_HYPER_MASK);
 | 
			
		||||
 
 | 
			
		||||
       nbytes = event->key.length;
 | 
			
		||||
       if (nbytes > copy_bufsiz)
 | 
			
		||||
-- 
 | 
			
		||||
2.37.3
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,37 @@
 | 
			
		|||
From 8b83fa772a71efc9dc030c43db2cba944e4338c1 Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: Kien Nguyen <kien.n.quang@gmail.com>
 | 
			
		||||
Date: Wed, 19 May 2021 23:15:01 +0900
 | 
			
		||||
Subject: [PATCH] Fix using of temporary lexical variable causes error in
 | 
			
		||||
 native compiling
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
 polymode-core.el | 6 +++---
 | 
			
		||||
 1 file changed, 3 insertions(+), 3 deletions(-)
 | 
			
		||||
 | 
			
		||||
diff --git a/polymode-core.el b/polymode-core.el
 | 
			
		||||
index e7d40be..ef316f8 100644
 | 
			
		||||
--- a/polymode-core.el
 | 
			
		||||
+++ b/polymode-core.el
 | 
			
		||||
@@ -2088,14 +2088,14 @@ Elements of LIST can be either strings or symbols."
 | 
			
		||||
                              (stringp pm--output-file)
 | 
			
		||||
                              (pm--file-mod-time pm--output-file)))
 | 
			
		||||
                    (imt (and omt (pm--file-mod-time pm--input-file)))
 | 
			
		||||
-                   (action (if is-exporter "exporting" "weaving"))
 | 
			
		||||
                    (ofile (if (and imt (time-less-p imt omt))
 | 
			
		||||
                               (progn
 | 
			
		||||
                                 (message "Not re-%s as input file '%s' hasn't changed"
 | 
			
		||||
-                                         (file-name-nondirectory ifile) action)
 | 
			
		||||
+                                         (if is-exporter "exporting" "weaving")
 | 
			
		||||
+                                         (file-name-nondirectory ifile))
 | 
			
		||||
                                 pm--output-file)
 | 
			
		||||
                             (message "%s '%s' with '%s' ..."
 | 
			
		||||
-                                     (capitalize action)
 | 
			
		||||
+                                     (if is-exporter "EXPORTING" "WEAVING")
 | 
			
		||||
                                      (file-name-nondirectory ifile)
 | 
			
		||||
                                      (eieio-object-name processor))
 | 
			
		||||
                             (let ((fn (with-no-warnings
 | 
			
		||||
 | 
			
		||||
base-commit: 44265e35161d77f6eaa09388ea2256b89bd5dcc8
 | 
			
		||||
-- 
 | 
			
		||||
2.37.2
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -22,6 +22,7 @@
 | 
			
		|||
;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si>
 | 
			
		||||
;;; Copyright © 2020, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 | 
			
		||||
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
 | 
			
		||||
;;; Copyright © 2022 Paul A. Patience <paul@apatience.com>
 | 
			
		||||
;;;
 | 
			
		||||
;;; This file is part of GNU Guix.
 | 
			
		||||
;;;
 | 
			
		||||
| 
						 | 
				
			
			@ -386,29 +387,30 @@ Poppler PDF rendering library.")
 | 
			
		|||
(define-public libharu
 | 
			
		||||
  (package
 | 
			
		||||
    (name "libharu")
 | 
			
		||||
   (version "2.3.0")
 | 
			
		||||
   (source (origin
 | 
			
		||||
    (version "2.4.2")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method git-fetch)
 | 
			
		||||
       (uri (git-reference
 | 
			
		||||
             (url "https://github.com/libharu/libharu")
 | 
			
		||||
                   (commit (string-append
 | 
			
		||||
                            "RELEASE_"
 | 
			
		||||
                            (string-join (string-split version #\.) "_")))))
 | 
			
		||||
             (commit (string-append "v" version))))
 | 
			
		||||
       (file-name (git-file-name name version))
 | 
			
		||||
       (sha256
 | 
			
		||||
              (base32
 | 
			
		||||
               "15s9hswnl3qqi7yh29jyrg0hma2n99haxznvcywmsp8kjqlyg75q"))))
 | 
			
		||||
   (build-system gnu-build-system)
 | 
			
		||||
        (base32 "1jwzqvv81zf5f7zssyixhyjirlp9ddwkbaabd177syb1bxljlsdc"))))
 | 
			
		||||
    (build-system cmake-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
    `(#:configure-flags
 | 
			
		||||
      (list (string-append "--with-zlib="
 | 
			
		||||
                           (assoc-ref %build-inputs "zlib"))
 | 
			
		||||
            (string-append "--with-png="
 | 
			
		||||
                           (assoc-ref %build-inputs "libpng")))))
 | 
			
		||||
     (list #:tests? #f                  ; No tests
 | 
			
		||||
           #:phases
 | 
			
		||||
           #~(modify-phases %standard-phases
 | 
			
		||||
               (add-after 'unpack 'patch-cmake
 | 
			
		||||
                 (lambda _
 | 
			
		||||
                   (substitute* "CMakeLists.txt"
 | 
			
		||||
                     (("^install\\(FILES (README\\.md CHANGES) INSTALL DESTINATION .*\\)"
 | 
			
		||||
                       _ files)
 | 
			
		||||
                      (format #f "install(FILES ~a DESTINATION ~a/share/doc/~a-~a)"
 | 
			
		||||
                              files #$output #$name #$version))))))))
 | 
			
		||||
    (inputs
 | 
			
		||||
    (list zlib libpng))
 | 
			
		||||
   (native-inputs
 | 
			
		||||
    (list autoconf automake libtool))
 | 
			
		||||
     (list libpng zlib))
 | 
			
		||||
    (home-page "http://libharu.org/")
 | 
			
		||||
    (synopsis "Library for generating PDF files")
 | 
			
		||||
    (description
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -381,7 +381,7 @@
 | 
			
		|||
       ("libzip" ,libzip)
 | 
			
		||||
       ("oniguruma" ,oniguruma)
 | 
			
		||||
       ("openldap" ,openldap)
 | 
			
		||||
       ("openssl" ,openssl)
 | 
			
		||||
       ("openssl" ,openssl-1.1)
 | 
			
		||||
       ("pcre" ,pcre2)
 | 
			
		||||
       ("postgresql" ,postgresql)
 | 
			
		||||
       ("readline" ,readline)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -269,14 +269,14 @@ colors, styles, options and details.")
 | 
			
		|||
(define-public asymptote
 | 
			
		||||
  (package
 | 
			
		||||
    (name "asymptote")
 | 
			
		||||
    (version "2.82")
 | 
			
		||||
    (version "2.83")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
       (uri (string-append "mirror://sourceforge/asymptote/"
 | 
			
		||||
                           version "/asymptote-" version ".src.tgz"))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "13blmsapbai4hqynyj1r1sjpypdv6frfassl2f2x7j2ql1dbqvsg"))
 | 
			
		||||
        (base32 "18w8nf0p1b3h74sk1b7w96kq5gcaq09idi4771ini7p594gsfg7y"))
 | 
			
		||||
       (modules '((guix build utils)))
 | 
			
		||||
       (snippet
 | 
			
		||||
        ;; Remove bundled RapidJSON.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -348,13 +348,13 @@ library.")
 | 
			
		|||
(define-public python-pandas
 | 
			
		||||
  (package
 | 
			
		||||
    (name "python-pandas")
 | 
			
		||||
    (version "1.4.2")
 | 
			
		||||
    (version "1.4.4")
 | 
			
		||||
    (source
 | 
			
		||||
     (origin
 | 
			
		||||
       (method url-fetch)
 | 
			
		||||
       (uri (pypi-uri "pandas" version))
 | 
			
		||||
       (sha256
 | 
			
		||||
        (base32 "04lsak3j5hq2hk0vfjf532rdxdqmg2akamdl4yl3qipihp2izg4j"))))
 | 
			
		||||
        (base32 "0ryv66s9cvd27q6a985vv556k2qlnlrdna2z7qc7bdhphrrhsv5b"))))
 | 
			
		||||
    (build-system python-build-system)
 | 
			
		||||
    (arguments
 | 
			
		||||
     `(#:modules ((guix build utils)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -117,6 +117,9 @@
 | 
			
		|||
            elogind-service
 | 
			
		||||
            elogind-service-type
 | 
			
		||||
 | 
			
		||||
            %gdm-file-system
 | 
			
		||||
            gdm-file-system-service
 | 
			
		||||
 | 
			
		||||
            %fontconfig-file-system
 | 
			
		||||
            fontconfig-file-system-service
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1232,6 +1235,13 @@ when they log out."
 | 
			
		|||
    (flags '(read-only))
 | 
			
		||||
    (check? #f)))
 | 
			
		||||
 | 
			
		||||
(define %gdm-file-system
 | 
			
		||||
  (file-system
 | 
			
		||||
    (device "none")
 | 
			
		||||
    (mount-point "/var/lib/gdm")
 | 
			
		||||
    (type "tmpfs")
 | 
			
		||||
    (check? #f)))
 | 
			
		||||
 | 
			
		||||
;; The global fontconfig cache directory can sometimes contain stale entries,
 | 
			
		||||
;; possibly referencing fonts that have been GC'd, so mount it read-only.
 | 
			
		||||
;; As mentioned https://debbugs.gnu.org/cgi/bugreport.cgi?bug=36924#8 and
 | 
			
		||||
| 
						 | 
				
			
			@ -1240,6 +1250,15 @@ when they log out."
 | 
			
		|||
  (simple-service 'fontconfig-file-system
 | 
			
		||||
                  file-system-service-type
 | 
			
		||||
                  (list %fontconfig-file-system)))
 | 
			
		||||
 | 
			
		||||
;; Avoid stale caches and stale user IDs being reused between system
 | 
			
		||||
;; reconfigurations, which would crash GDM and render the system unusable.
 | 
			
		||||
;; GDM doesn't require persisting anything valuable there anyway.
 | 
			
		||||
(define gdm-file-system-service
 | 
			
		||||
  (simple-service 'gdm-file-system
 | 
			
		||||
                  file-system-service-type
 | 
			
		||||
                  (list %gdm-file-system)))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
;;;
 | 
			
		||||
;;; AccountsService service.
 | 
			
		||||
| 
						 | 
				
			
			@ -1750,6 +1769,10 @@ applications needing access to be root.")
 | 
			
		|||
                              (list (file-append nfs-utils "/sbin/mount.nfs")
 | 
			
		||||
                               (file-append ntfs-3g "/sbin/mount.ntfs-3g"))))
 | 
			
		||||
 | 
			
		||||
         ;; This is a volatile read-write file system mounted at /var/lib/gdm,
 | 
			
		||||
         ;; to avoid GDM stale cache and permission issues.
 | 
			
		||||
         gdm-file-system-service
 | 
			
		||||
 | 
			
		||||
         ;; The global fontconfig cache directory can sometimes contain
 | 
			
		||||
         ;; stale entries, possibly referencing fonts that have been GC'd,
 | 
			
		||||
         ;; so mount it read-only.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -818,27 +818,6 @@ the GNOME desktop environment.")
 | 
			
		|||
         (home-directory "/var/lib/gdm")
 | 
			
		||||
         (shell (file-append shadow "/sbin/nologin")))))
 | 
			
		||||
 | 
			
		||||
(define %gdm-activation
 | 
			
		||||
  ;; Ensure /var/lib/gdm is owned by the "gdm" user.  This is normally the
 | 
			
		||||
  ;; case but could be wrong if the "gdm" user was created, then removed, and
 | 
			
		||||
  ;; then recreated under a different UID/GID: <https://bugs.gnu.org/37423>.
 | 
			
		||||
  (with-imported-modules '((guix build utils))
 | 
			
		||||
    #~(begin
 | 
			
		||||
        (use-modules (guix build utils))
 | 
			
		||||
 | 
			
		||||
        (let* ((gdm (getpwnam "gdm"))
 | 
			
		||||
               (uid (passwd:uid gdm))
 | 
			
		||||
               (gid (passwd:gid gdm))
 | 
			
		||||
               (st  (stat "/var/lib/gdm" #f)))
 | 
			
		||||
          ;; Recurse into /var/lib/gdm only if it has wrong ownership.
 | 
			
		||||
          (when (and st
 | 
			
		||||
                     (or (not (= uid (stat:uid st)))
 | 
			
		||||
                         (not (= gid (stat:gid st)))))
 | 
			
		||||
            (for-each (lambda (file)
 | 
			
		||||
                        (chown file uid gid))
 | 
			
		||||
                      (find-files "/var/lib/gdm"
 | 
			
		||||
                                  #:directories? #t)))))))
 | 
			
		||||
 | 
			
		||||
(define dbus-daemon-wrapper
 | 
			
		||||
  (program-file
 | 
			
		||||
   "gdm-dbus-wrapper"
 | 
			
		||||
| 
						 | 
				
			
			@ -1022,8 +1001,6 @@ the GNOME desktop environment.")
 | 
			
		|||
                  (extensions
 | 
			
		||||
                   (list (service-extension shepherd-root-service-type
 | 
			
		||||
                                            gdm-shepherd-service)
 | 
			
		||||
                         (service-extension activation-service-type
 | 
			
		||||
                                            (const %gdm-activation))
 | 
			
		||||
                         (service-extension account-service-type
 | 
			
		||||
                                            (const %gdm-accounts))
 | 
			
		||||
                         (service-extension pam-root-service-type
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,6 +2,7 @@
 | 
			
		|||
;;; Copyright © 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
 | 
			
		||||
;;; Copyright © 2012, 2013 Nikita Karetnikov <nikita@karetnikov.org>
 | 
			
		||||
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
 | 
			
		||||
;;; Copyright © 2022 Maxime Devos <maximedevos@telenet.be>
 | 
			
		||||
;;;
 | 
			
		||||
;;; This file is part of GNU Guix.
 | 
			
		||||
;;;
 | 
			
		||||
| 
						 | 
				
			
			@ -499,6 +500,12 @@ are unavailable."
 | 
			
		|||
             (base-url (string-append base-url directory))
 | 
			
		||||
             (url  (cond ((and=> (string->uri url) uri-scheme) ;full URL?
 | 
			
		||||
                          url)
 | 
			
		||||
                         ;; full URL, except for URI scheme.  Reuse the URI
 | 
			
		||||
                         ;; scheme of the document that contains the link.
 | 
			
		||||
                         ((string-prefix? "//" url)
 | 
			
		||||
                          (string-append
 | 
			
		||||
                           (symbol->string (uri-scheme (string->uri base-url)))
 | 
			
		||||
                           ":" url))
 | 
			
		||||
                         ((string-prefix? "/" url) ;absolute path?
 | 
			
		||||
                          (let ((uri (string->uri base-url)))
 | 
			
		||||
                            (uri->string
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -5,6 +5,7 @@
 | 
			
		|||
;;; Copyright © 2020, 2021 Ludovic Courtès <ludo@gnu.org>
 | 
			
		||||
;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
 | 
			
		||||
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
 | 
			
		||||
;;; Copyright © 2022 Taiju HIGASHI <higashi@taiju.info>
 | 
			
		||||
;;;
 | 
			
		||||
;;; This file is part of GNU Guix.
 | 
			
		||||
;;;
 | 
			
		||||
| 
						 | 
				
			
			@ -81,10 +82,12 @@
 | 
			
		|||
  (requirements  gem-dependency-requirements))    ;string
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
(define (rubygems-fetch name)
 | 
			
		||||
  "Return a <gem> record for the package NAME, or #f on failure."
 | 
			
		||||
(define* (rubygems-fetch name #:optional version)
 | 
			
		||||
  "Return a <gem> record for the package NAME and VERSION, or #f on failure.  If VERSION is #f or missing, return the latest version gem."
 | 
			
		||||
  (and=> (json-fetch
 | 
			
		||||
          (string-append "https://rubygems.org/api/v1/gems/" name ".json"))
 | 
			
		||||
          (if version
 | 
			
		||||
              (string-append "https://rubygems.org/api/v2/rubygems/" name "/versions/" version ".json")
 | 
			
		||||
              (string-append "https://rubygems.org/api/v1/gems/" name ".json")))
 | 
			
		||||
         json->gem))
 | 
			
		||||
 | 
			
		||||
(define (ruby-package-name name)
 | 
			
		||||
| 
						 | 
				
			
			@ -122,8 +125,11 @@ VERSION, HASH, HOME-PAGE, DESCRIPTION, DEPENDENCIES, and LICENSES."
 | 
			
		|||
 | 
			
		||||
(define* (gem->guix-package package-name #:key (repo 'rubygems) version)
 | 
			
		||||
  "Fetch the metadata for PACKAGE-NAME from rubygems.org, and return the
 | 
			
		||||
`package' s-expression corresponding to that package, or #f on failure."
 | 
			
		||||
  (let ((gem (rubygems-fetch package-name)))
 | 
			
		||||
`package' s-expression corresponding to that package, or #f on failure.
 | 
			
		||||
Optionally include a VERSION string to fetch a specific version gem."
 | 
			
		||||
  (let ((gem (if version
 | 
			
		||||
                 (rubygems-fetch package-name version)
 | 
			
		||||
                 (rubygems-fetch package-name))))
 | 
			
		||||
    (if gem
 | 
			
		||||
        (let* ((dependencies-names (map gem-dependency-name
 | 
			
		||||
                                        (gem-dependencies-runtime
 | 
			
		||||
| 
						 | 
				
			
			@ -189,4 +195,5 @@ package on RubyGems."
 | 
			
		|||
  (recursive-import package-name
 | 
			
		||||
                    #:repo '()
 | 
			
		||||
                    #:repo->guix-package gem->guix-package
 | 
			
		||||
                    #:guix-name ruby-package-name))
 | 
			
		||||
                    #:guix-name ruby-package-name
 | 
			
		||||
                    #:version version))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -4,6 +4,7 @@
 | 
			
		|||
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
 | 
			
		||||
;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
 | 
			
		||||
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
 | 
			
		||||
;;; Copyright © 2022 Taiju HIGASHI <higashi@taiju.info>
 | 
			
		||||
;;;
 | 
			
		||||
;;; This file is part of GNU Guix.
 | 
			
		||||
;;;
 | 
			
		||||
| 
						 | 
				
			
			@ -31,6 +32,7 @@
 | 
			
		|||
  #:use-module (srfi srfi-37)
 | 
			
		||||
  #:use-module (ice-9 match)
 | 
			
		||||
  #:use-module (ice-9 format)
 | 
			
		||||
  #:use-module (ice-9 receive)
 | 
			
		||||
  #:export (guix-import-gem))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -42,8 +44,9 @@
 | 
			
		|||
  '())
 | 
			
		||||
 | 
			
		||||
(define (show-help)
 | 
			
		||||
  (display (G_ "Usage: guix import gem PACKAGE-NAME
 | 
			
		||||
Import and convert the RubyGems package for PACKAGE-NAME.\n"))
 | 
			
		||||
  (display (G_ "Usage: guix import gem PACKAGE-NAME[@VERSION] Import and
 | 
			
		||||
convert the RubyGems package for PACKAGE-NAME.  Optionally, a version can be
 | 
			
		||||
specified after the at-sign (@) character.\n"))
 | 
			
		||||
  (display (G_ "
 | 
			
		||||
  -h, --help             display this help and exit"))
 | 
			
		||||
  (display (G_ "
 | 
			
		||||
| 
						 | 
				
			
			@ -86,21 +89,23 @@ Import and convert the RubyGems package for PACKAGE-NAME.\n"))
 | 
			
		|||
                             (_ #f))
 | 
			
		||||
                           (reverse opts))))
 | 
			
		||||
    (match args
 | 
			
		||||
      ((package-name)
 | 
			
		||||
      ((spec)
 | 
			
		||||
       (receive (package-name package-version)
 | 
			
		||||
           (package-name->name+version spec)
 | 
			
		||||
         (let ((code (if (assoc-ref opts 'recursive)
 | 
			
		||||
                         (map (match-lambda
 | 
			
		||||
                                ((and ('package ('name name) . rest) pkg)
 | 
			
		||||
                                 `(define-public ,(string->symbol name)
 | 
			
		||||
                                    ,pkg))
 | 
			
		||||
                                (_ #f))
 | 
			
		||||
                            (gem-recursive-import package-name 'rubygems))
 | 
			
		||||
                       (let ((sexp (gem->guix-package package-name)))
 | 
			
		||||
                              (gem-recursive-import package-name package-version))
 | 
			
		||||
                         (let ((sexp (gem->guix-package package-name #:version package-version)))
 | 
			
		||||
                           (if sexp sexp #f)))))
 | 
			
		||||
           (match code
 | 
			
		||||
             ((or #f '(#f))
 | 
			
		||||
              (leave (G_ "failed to download meta-data for package '~a'~%")
 | 
			
		||||
                     package-name))
 | 
			
		||||
           (_ code))))
 | 
			
		||||
             (_ code)))))
 | 
			
		||||
      (()
 | 
			
		||||
       (leave (G_ "too few arguments~%")))
 | 
			
		||||
      ((many ...)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										113
									
								
								tests/gem.scm
									
										
									
									
									
								
							
							
						
						
									
										113
									
								
								tests/gem.scm
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -3,6 +3,7 @@
 | 
			
		|||
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
 | 
			
		||||
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
 | 
			
		||||
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
 | 
			
		||||
;;; Copyright © 2022 Taiju HIGASHI <higashi@taiju.info>
 | 
			
		||||
;;;
 | 
			
		||||
;;; This file is part of GNU Guix.
 | 
			
		||||
;;;
 | 
			
		||||
| 
						 | 
				
			
			@ -44,6 +45,22 @@
 | 
			
		|||
  \"licenses\": [\"MIT\", \"Apache 2.0\"]
 | 
			
		||||
}")
 | 
			
		||||
 | 
			
		||||
(define test-foo-v2-json
 | 
			
		||||
  "{
 | 
			
		||||
  \"name\": \"foo\",
 | 
			
		||||
  \"version\": \"2.0.0\",
 | 
			
		||||
  \"sha\": \"f3676eafca9987cb5fe263df1edf2538bf6dafc712b30e17be3543a9680547a8\",
 | 
			
		||||
  \"info\": \"A cool gem\",
 | 
			
		||||
  \"homepage_uri\": \"https://example.com\",
 | 
			
		||||
  \"dependencies\": {
 | 
			
		||||
    \"runtime\": [
 | 
			
		||||
      { \"name\": \"bundler\" },
 | 
			
		||||
      { \"name\": \"bar\" }
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  \"licenses\": [\"MIT\", \"Apache 2.0\"]
 | 
			
		||||
}")
 | 
			
		||||
 | 
			
		||||
(define test-bar-json
 | 
			
		||||
  "{
 | 
			
		||||
  \"name\": \"bar\",
 | 
			
		||||
| 
						 | 
				
			
			@ -103,6 +120,35 @@
 | 
			
		|||
      (x
 | 
			
		||||
       (pk 'fail x #f)))))
 | 
			
		||||
 | 
			
		||||
(test-assert "gem->guix-package with a specific version"
 | 
			
		||||
  ;; Replace network resources with sample data.
 | 
			
		||||
  (mock ((guix http-client) http-fetch
 | 
			
		||||
         (lambda (url . rest)
 | 
			
		||||
           (match url
 | 
			
		||||
             ("https://rubygems.org/api/v2/rubygems/foo/versions/2.0.0.json"
 | 
			
		||||
              (values (open-input-string test-foo-v2-json)
 | 
			
		||||
                      (string-length test-foo-v2-json)))
 | 
			
		||||
             (_ (error "Unexpected URL: " url)))))
 | 
			
		||||
    (match (gem->guix-package "foo" #:version "2.0.0")
 | 
			
		||||
      (('package
 | 
			
		||||
         ('name "ruby-foo")
 | 
			
		||||
         ('version "2.0.0")
 | 
			
		||||
         ('source ('origin
 | 
			
		||||
                    ('method 'url-fetch)
 | 
			
		||||
                    ('uri ('rubygems-uri "foo" 'version))
 | 
			
		||||
                    ('sha256
 | 
			
		||||
                     ('base32
 | 
			
		||||
                      "1a270mlajhrmpqbhxcqjqypnvgrq4pgixpv3w9gwp1wrrapnwrzk"))))
 | 
			
		||||
         ('build-system 'ruby-build-system)
 | 
			
		||||
         ('propagated-inputs ('list 'bundler 'ruby-bar))
 | 
			
		||||
         ('synopsis "A cool gem")
 | 
			
		||||
         ('description "This package provides a cool gem")
 | 
			
		||||
         ('home-page "https://example.com")
 | 
			
		||||
         ('license ('list 'license:expat 'license:asl2.0)))
 | 
			
		||||
       #t)
 | 
			
		||||
      (x
 | 
			
		||||
       (pk 'fail x #f)))))
 | 
			
		||||
 | 
			
		||||
(test-assert "gem-recursive-import"
 | 
			
		||||
  ;; Replace network resources with sample data.
 | 
			
		||||
  (mock ((guix http-client) http-fetch
 | 
			
		||||
| 
						 | 
				
			
			@ -170,4 +216,71 @@
 | 
			
		|||
          (x
 | 
			
		||||
           (pk 'fail x #f)))))
 | 
			
		||||
 | 
			
		||||
(test-assert "gem-recursive-import with a specific version"
 | 
			
		||||
  ;; Replace network resources with sample data.
 | 
			
		||||
  (mock ((guix http-client) http-fetch
 | 
			
		||||
         (lambda (url . rest)
 | 
			
		||||
           (match url
 | 
			
		||||
             ("https://rubygems.org/api/v2/rubygems/foo/versions/2.0.0.json"
 | 
			
		||||
              (values (open-input-string test-foo-v2-json)
 | 
			
		||||
                      (string-length test-foo-v2-json)))
 | 
			
		||||
             ("https://rubygems.org/api/v1/gems/bar.json"
 | 
			
		||||
              (values (open-input-string test-bar-json)
 | 
			
		||||
                      (string-length test-bar-json)))
 | 
			
		||||
             ("https://rubygems.org/api/v1/gems/bundler.json"
 | 
			
		||||
              (values (open-input-string test-bundler-json)
 | 
			
		||||
                      (string-length test-bundler-json)))
 | 
			
		||||
             (_ (error "Unexpected URL: " url)))))
 | 
			
		||||
        (match (gem-recursive-import "foo" "2.0.0")
 | 
			
		||||
          ((('package
 | 
			
		||||
              ('name "ruby-bar")
 | 
			
		||||
              ('version "1.0.0")
 | 
			
		||||
              ('source
 | 
			
		||||
               ('origin
 | 
			
		||||
                 ('method 'url-fetch)
 | 
			
		||||
                 ('uri ('rubygems-uri "bar" 'version))
 | 
			
		||||
                 ('sha256
 | 
			
		||||
                  ('base32
 | 
			
		||||
                   "1a270mlajhrmpqbhxcqjqypnvgrq4pgixpv3w9gwp1wrrapnwrzk"))))
 | 
			
		||||
              ('build-system 'ruby-build-system)
 | 
			
		||||
              ('propagated-inputs ('list 'bundler))
 | 
			
		||||
              ('synopsis "Another cool gem")
 | 
			
		||||
              ('description "Another cool gem")
 | 
			
		||||
              ('home-page "https://example.com")
 | 
			
		||||
              ('license #f))                      ;no licensing info
 | 
			
		||||
            ('package
 | 
			
		||||
              ('name "ruby-bundler")
 | 
			
		||||
              ('version "1.14.2")
 | 
			
		||||
              ('source
 | 
			
		||||
               ('origin
 | 
			
		||||
                 ('method 'url-fetch)
 | 
			
		||||
                 ('uri ('rubygems-uri "bundler" 'version))
 | 
			
		||||
                 ('sha256
 | 
			
		||||
                  ('base32
 | 
			
		||||
                   "1446xiz7zg0bz7kgx9jv84y0s4hpsg61dj5l3qb0i00avc1kxd9v"))))
 | 
			
		||||
              ('build-system 'ruby-build-system)
 | 
			
		||||
              ('synopsis "Ruby gem bundler")
 | 
			
		||||
              ('description "Ruby gem bundler")
 | 
			
		||||
              ('home-page "https://bundler.io/")
 | 
			
		||||
              ('license 'license:expat))
 | 
			
		||||
            ('package
 | 
			
		||||
              ('name "ruby-foo")
 | 
			
		||||
              ('version "2.0.0")
 | 
			
		||||
              ('source
 | 
			
		||||
               ('origin
 | 
			
		||||
                 ('method 'url-fetch)
 | 
			
		||||
                 ('uri ('rubygems-uri "foo" 'version))
 | 
			
		||||
                 ('sha256
 | 
			
		||||
                  ('base32
 | 
			
		||||
                   "1a270mlajhrmpqbhxcqjqypnvgrq4pgixpv3w9gwp1wrrapnwrzk"))))
 | 
			
		||||
              ('build-system 'ruby-build-system)
 | 
			
		||||
              ('propagated-inputs ('list 'bundler 'ruby-bar))
 | 
			
		||||
              ('synopsis "A cool gem")
 | 
			
		||||
              ('description "This package provides a cool gem")
 | 
			
		||||
              ('home-page "https://example.com")
 | 
			
		||||
              ('license ('list 'license:expat 'license:asl2.0))))
 | 
			
		||||
           #t)
 | 
			
		||||
          (x
 | 
			
		||||
           (pk 'fail x #f)))))
 | 
			
		||||
 | 
			
		||||
(test-end "gem")
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,6 @@
 | 
			
		|||
;;; GNU Guix --- Functional package management for GNU
 | 
			
		||||
;;; Copyright © 2015, 2021 Ludovic Courtès <ludo@gnu.org>
 | 
			
		||||
;;; Copyright © 2022 Maxime Devos <maximedevos@telenet.be>
 | 
			
		||||
;;;
 | 
			
		||||
;;; This file is part of GNU Guix.
 | 
			
		||||
;;;
 | 
			
		||||
| 
						 | 
				
			
			@ -18,6 +19,10 @@
 | 
			
		|||
 | 
			
		||||
(define-module (test-gnu-maintenance)
 | 
			
		||||
  #:use-module (guix gnu-maintenance)
 | 
			
		||||
  #:use-module (guix tests)
 | 
			
		||||
  #:use-module (guix tests http)
 | 
			
		||||
  #:use-module (guix upstream)
 | 
			
		||||
  #:use-module (guix utils)
 | 
			
		||||
  #:use-module (srfi srfi-1)
 | 
			
		||||
  #:use-module (srfi srfi-64)
 | 
			
		||||
  #:use-module (ice-9 match))
 | 
			
		||||
| 
						 | 
				
			
			@ -55,4 +60,28 @@
 | 
			
		|||
             ("mpg321_0.3.2.orig.tar.gz" "0.3.2")
 | 
			
		||||
             ("bvi-1.4.1.src.tar.gz" "1.4.1")))))
 | 
			
		||||
 | 
			
		||||
(test-assert "latest-html-release, scheme-less URIs"
 | 
			
		||||
  (with-http-server
 | 
			
		||||
      `((200 "<html xmlns=\"http://www.w3.org/1999/xhtml\">
 | 
			
		||||
<head>
 | 
			
		||||
<title>Releases (on another domain)!</title>
 | 
			
		||||
</head>
 | 
			
		||||
<body
 | 
			
		||||
<a href=\"//another-site/foo-2.tar.gz\">version 1</a>
 | 
			
		||||
</body>
 | 
			
		||||
</html>"))
 | 
			
		||||
    (let ()
 | 
			
		||||
      (define package
 | 
			
		||||
        (dummy-package "foo"
 | 
			
		||||
          (source
 | 
			
		||||
           (dummy-origin
 | 
			
		||||
            (uri (string-append (%local-url) "/foo-1.tar.gz"))))
 | 
			
		||||
          (properties
 | 
			
		||||
           `((release-monitoring-url . ,(%local-url))))))
 | 
			
		||||
      (define update ((upstream-updater-latest %generic-html-updater) package))
 | 
			
		||||
      (define expected-new-url "http://another-site/foo-2.tar.gz")
 | 
			
		||||
      (and (pk 'u update)
 | 
			
		||||
           (equal? (upstream-source-version update) "2")
 | 
			
		||||
           (equal? (list expected-new-url) (upstream-source-urls update))))))
 | 
			
		||||
 | 
			
		||||
(test-end)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Reference in a new issue